[maemo-developers] [maemo-developers] weird crashing... (X server badmatch)

From: Antônio Gomes antonio.gomes at indt.org.br
Date: Tue Nov 22 17:56:02 EET 2005
Hummm ... very clarifying, Thanks.

But the point is:

why does it work on the scratchbox/xvnc/x86 through ? (i know there are 
many diffences in pratical terms, but in theory the behaviour should be 
the same, right ?)

regards

>
>>The program 'testing-xul' received an X Window Systemerror.
>>This probably reflects a bug in the program. The error was 'BadMatch'.
>>(Details:
>>serial 2527
>>error_code 8
>>request_code 56
>>minor_code 0)
>>    
>>
>
>Request code 56 is X_ChangeGC.
>
>(Request codes are listed in X books like
>"Introduction to X Window System" by Oliver Jones.)
>
>
>  
>
>>(Note to programmers: normally, X errors are reported asynchronously;
>>that is, you will receive the error a while after causing it.   To debug
>>your program, run it with the --sync command line option to change this
>>behavior. You can then get ameaningful backtrace from your debugger if
>>you break on thegdk_x_error() function.)
>>    
>>
>
>This error means that your application tried to access an X server
>resource that doesn't exist (anymore), either directly or through
>the libraries it used.  For example you removed a window as a response
>to a button click, but you had an event callback for the window that
>handled some event for the window only after you had removed the window.
>
>In this case the resource was (down below) an X server graphics context,
>not a window.
>
>
>  
>
>>It starts up, but after some time, it just crash, printing as above.
>>The '--sync' suggested option has no effect.
>>    
>>
>
>Your stacktrace in GDB is not more readable?
>
>Normally --sync just forces the error to manifest immediately when
>it's done instead of later.
>
>
>If --sync option helps to fix the problem, in the above example it
>would mean that the two operations were not properly synchronized
>(X server works asynchronously to your program and events & requests
>are buffered) and you can fix the problem with correctly placed XSync().
>Or preferably, with the corresponding Gdk alternative.
>  
>
>>Any special reason for that ?
>>    
>>
>The code is broken.
>
>
>	- Eero
>
>PS. In some very rare cases (if you're writing a window manager),
>application needs to access X server resources which it doesn't
>control itself.  In these cases it can trap the X error while
>accessing such a resource.
>  
>


More information about the maemo-developers mailing list