I have datatable.alloccol set in my options (not even sure why any more, probably from helping with a rare segfault debug in an earlier version). When I make a DT with more than that many columns it segfaults. With the latest dev version and R 3.0.2:
options(datatable.verbose=TRUE)
options(datatable.alloccol=100)
library(data.table)
a=data.frame(matrix(1,ncol=100))
data.table(a) # Works fine
a=data.frame(matrix(1,ncol=101))
data.table(a) # Segfaults
The output when it segfaults (with things in {} removed):
> data.table(a)
*** glibc detected *** {path to R}/R: malloc(): memory corruption: {memory address} ***
I can just remove alloccol for now as I'm not sure it is still necessary. No alloccol and it works fine.