Hi Tim,

On Wed, Apr 19, 2023 at 1:57 PM tim Rowledge <tim@rowledge.org> wrote:
I have some large json files that get parsed; we're talking 15Mb or so. They *should* result in large arrays of arrays of dictionaries of... you get the picture.

Almost always, they do. Again and again, parse fileA and it works perfectly. Except just every now and then - maybe 3 times out of several hundred, on disparate dates, in different working images - the result is 58. Not 58 items in the root array, just 58, the SmallInteger.

I can't see a code path that can result in that, which certainly makes it more interesting than usual. To make it bit more intriguing the subsequent code raises a dNU when this happens and so I get a debugger to look at. I can see the 58 that has been returned and put into the temp. I can retry the "open file, read as json" and it works perfectly. Fortunately that means I can proceed from there but the mystery remains. Whilst typing this my Pi has happily read & parsed that file 100 times without error.

I *think* this has only actually happened on my Big! Scary! Xeon! server and never on the Pi, Mac, or little x64 xubuntu server. So maybe it's some strange bug courtesy of those nice people that brought us the Pentium Divide Error etc.

Looks like a VM bug with MNU.  As always, fixing this depends on having a reproducible case.


So this is a shout into the void in hope of hearing an echo back that tells me somebody else has seen this and trapped an actual error. Or whatever. Oh, should probably point out I'm using the  JSON-ul.56 from http://www.squeaksource.com/PostgresV3in a 5.3 image

tim
--
tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim
M$ are grinning pigs in a sea of buggy code - The Inquirer







--
_,,,^..^,,,_
best, Eliot