[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sc-dev] s_recvoscmsg bug causes crashes - heureka - [commit?]



On Nov 26, 2004, at 9:24 AM, Julian Rohrhuber wrote:

 Problem: osc responder crashes sclang on recieving a string larger than 255.

Reason: This is due to the fact that an incoming string is converted into a Symbol by sclang. When creating a symbol from a string, the string normally is truncated to 255 characters.

is it? where?


this line results in 255 for me:

String.fill(300, $u).asSymbol.asString(500).size;


Seemingly the attempt to create a symbol larger than this causes the sclang to crash.

I'm not sure this diagnosis is correct, and so perhaps neither is the solution.
Symbols can be longer than 256 bytes.

ok, then something else is wrong maybe.
Nevertheless my change did result in disappearance of the error.

 // this crashes (bundle size 320 bytes)

 (
 x = String.fill(280, $_);
 b = ["/client", "ok", x];
 [b].bundleSize;
 )

 n.sendMsg(*b);
 n.sendBundle(nil, b); // same here

this doesn't reliably crash for me. it did once and then not again.

hm. it has been reliably crashing for me since about half a year, with different versions and different computers. But during network workshops this was very hard to determine until I found out that it has to do with string sizes.
--








.