Not sure if I should put this into here or TWBT thread, but...
Noticed few very weird things with my custom TWBT. It's not behaving as it used to.
...
My question is then: Is it possible that one of the linux updates changed my setup? If not, any other known ways ➂ could happen?
What Linux updates are you referring to? We haven't changed our toolchain or build machine recently, as far as I know (and aren't you running this on an old DF version anyway?), and OS upgrades on your end would be out of our control.
My instinct in this sort of situation is to suspect either a binary produced from unexpected source code or unexpected modifications to source code. Unfortunately, these sorts of questions are hard to answer without version control, so I would definitely recommend using git (or some other version control system) for your development if you aren't already.
Note: Solved.
Was talking of regular software updates to whole system. I don't really keep track of system updates for, say, past month, though there's probably a way to find the log for them somewhere - but I'm unsure how I could tell something is meaningful. And yeah, I can imagine introducing a bug - ah what the heck, let me recompile with debug setting on, see what I find....
...Well never mind, I find PEBCAK for ➂ >///< - When I was narrowing down what was causing the crash, one of the first things I did was removing init files. These init files which included things like workshop transparency. Which I forgot isn't enabled by default and is required to keep track of workshop building tiles. Oops.
As for crash issue, seems it's been lurking in code since May 2020 going by testing. Pretty rare, but I do know what code I added back then -
"While your at it, make it not randomly crash
" - Rose, back then.
- but a better solution was using
the tip you provided some months ago to run with -g. Turns out, this time it told me exactly in which function the crash was in.
Anyway, 1/2 turned out to have been caused by rare plant_growth items (a cherry, a desert lime, a bayberry - harvested after falling, perhaps?) had anon_1/print_type set to -1 (which makes them take the withered leaf symbol). Since this was used as an array index that would ordinarily start from zero, well....it'd hit undefined behaviour whenever unit walked on a tile where freshest item was one of those.
Anyway, seems that was it. Ah, DF, will you ever stop providing new things to learn about you?