Am Freitag, den 09.10.2009, 22:05 +0200 schrieb Janek Kozicki: > Timo Korvola said: (by the date of Thu, 8 Oct 2009 00:52:51 +0300) > > > My approach there is not mutually exclusive with Janek's, which > > consisted of adding more error checking to add_window. To test my patch > > one should try to trip Sawfish on errors as hard as possible, so it is > > best not to add any error checking before gaining reasonable confidence > > that my patch works. However, eventually some more intermediate error > > checking in add_window would perhaps be good, although not quite as much > > as in Janek's patch should be necessary. > > > Hi, so I did extensive testing. > > > With Timo's patch I did 130 tries and no crash! However Following valgrind error > occurs once, at the FIRST try: > > ==11117== Conditional jump or move depends on uninitialised value(s) > ==11117== at 0x4E5EFE3: vm (lispmach.h:850) lispmach.h ... bah, I hate this file. Just get a look on it (or even worser: try to compile with it using -ansi -Wall) XXX needs rewrite before 1.0.0 > ==11117== by 0x4E5DE8C: inline_apply_bytecode (lispmach.h:505) > ==11117== by 0x4E5EC2B: vm (lispmach.h:751) > ==11117== by 0x4E5DE8C: inline_apply_bytecode (lispmach.h:505) > ==11117== by 0x4E646F0: rep_apply_bytecode (lispmach.c:81) > ==11117== by 0x4E53CE9: apply (lisp.c:1710) > ==11117== by 0x4E53F98: Ffuncall (lisp.c:1776) > ==11117== by 0x4E5CC27: Fcall_hook (lispcmds.c:1934) > ==11117== by 0x42A121: Fcall_window_hook (windows.c:1374) > ==11117== by 0x42B03F: add_window (windows.c:534) > ==11117== by 0x415B0F: map_request (events.c:751) > ==11117== by 0x414501: inner_handle_input (events.c:1406) > ==11117== > > We can see that windows.c:534 calls Fcall_window_hook() with > an uninitialised argument. So I tired adding my safegueard just before > this call, and so then I tried 130 times, and valgrind didn't produce > any error at all! And no crash too. Instead sawfish was printing this > error message: > > warning: failed to allocate a window squashing this one would be good, too, but it's just a warning, so it's not that tragic. > Which is much better than valgrind reporting errors :) > > So I guess that attached patch against 1.5.0 is the best option. > > > > PS: As a side note - the XGrabServer method didn't work at all. > Instant crash on first try, even though XGrabServer() indeed grabs > server! I tested that it indeed grabs server with simple attached program :) > will apply to sawfish-1.5 [BRANCH] and 1.6.0 [HEAD]. Btw 1.5.3 (the last planned 1.5x release) will be in stores around beginning of November. Chris
Attachment:
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil