That bug that no-one else was able to reproduce came back for long enough for me to investigate it. I think that's good... :-p
The issue: when reading a trailing field, on my particular system (java 1.4.1_01, linux), in ReceiveInputStream.read(Byte[], int, int) the call to in.read(Byte[], int, int) will hang if the accumulator is empty, but more data is still to come, and of course die when the stream is ripped away from it when it times out. This, of course, only manifests itself in certain situations, but I'm not sure of exactly which race is happening... it seems to be that python is feeding the node too slowly, or java is processing the data too fast (I assume the former, since it doesn't occour if you have a faster system than mine, it seems, and python seems to buffer sends in weird ways that I don't really undersatnd). The weird thing: adding Thread.sleep(100) after the aforementioned read() causes it to work, but of course this si a stupid fix, and so I've been attemption to chase up a real fix, until I realised that I'm too tired to care right now, and I just want to insert my site and go to sleep :-p. I suspect, tho, someone who actually understands the code in question, as opposed to me just sorta pretending to and hoping that my hacks help, should be able to fix this relatively quickly, or at least suggest one for me to implent :) -- fish -- I can me your wish come true
pgp00000.pgp
Description: PGP signature