<div dir="ltr">I'm pretty sure it is some issue of a column that thinks it is bigger than it actually is.  I have tried, so far in vain, to make a reproducible example that I can share.  I have one, but can't share it.<div>

<br></div><div>What happens is this: </div><div><br></div><div>A data.frame is made:</div><div><br></div><div>> d = data.frame(...)</div><div><br></div><div>Then I call apply over every row, calling a different function that takes in a DT as well:</div>

<div><br></div><div>l = apply(d, 1, function(x) func(x[1], x[2], DT))</div><div><br></div><div>This returns a data.frame.  If I rbindlist this:</div><div><br></div><div>a = rbindlist(l)</div><div><br></div><div>I can print a just fine, and it will show me all data like normal. but if I try to just do </div>

<div><br></div><div>a$x</div><div><br></div><div>x is one of the columns that was a key in DT, then it segfaults.  If I ask for a column that was made by "func" and wasn't a column in DT, it works fine.  If I ask for only the first 10 rows and then ask for x:</div>

<div><br></div><div>a[1:10]$x</div><div><br></div><div>it works fine.</div><div><br></div><div>So somewhere these key columns think they are different lengths than they really are, and when I try to access it I go into memory I shouldn't so I segfault.  How can I verify this? Is there something about the DT I can check to see what DT thinks these columns are?</div>

<div><br></div><div><br></div><div>Also, if instead of apply when making the list, I do</div><div><br></div><div>l = lapply(1:nrow(d), function(i) func(x[i,1],x[i,2],DT))</div><div><br></div><div>and rbindlist that, it works fine too.<br>

<br></div></div>