Hi, On Tue, 2012-08-28 at 22:21 +0200, Petr Koupý wrote: > If there is no crash, then something is probably (infinitely) looping. > While it could be anything, I would like to mention one particular > case which I encountered and debugged few times during the development. > Since coordinates are represented as unsigned integer, there could be > underflow error causing some for loop to traverse whole integer range. > However, when such thing happened, GUI did not freeze completely, it > was just extremely slow but still alive (e.g. cursor movement was > sluggish but visible). I've actually changed (some) of the coordinates to use signed integers of native size in mainline,1631 (those are especially handy when representing differences between coordinates). I did not try running HelenOS on ia32 though. Now I see that the problem may be caused by the 32 signed integer overflowing (as the coordinate origin is set to UINT32_MAX / 2): http://trac.helenos.org/browser/mainline/uspace/srv/hid/compositor/compositor.c#L1708
It should probably be sufficient to change this to UINT32_MAX / 4 this time (and when we use signed integers at all necessary places, we could change the coordinate origin to zero). Let me check if I can reproduce the problem on ia32 and whether this change fixes it. Martin Sucha _______________________________________________ HelenOS-devel mailing list [email protected] http://lists.modry.cz/cgi-bin/listinfo/helenos-devel
