Failure of XtGetApplicationResources() in X11R7.

Jon TURNEY jon.turney@dronecode.org.uk
Sat Dec 20 00:12:00 GMT 2008


Rodrigo Medina wrote:
> To the X11 mantainer:
> I am trying to compile the last version of
> xdvik (22.84.14) with X11R7.
> 
> The execution of xdvi-xaw3d stops with Segmentation fault.
> 
> Using gdb I have determined that the failure is due to the
> function XtGetApplicationResources() of the Xt library.

Thanks very much for looking into this...

> Warning: No type converter registered for '' to '<81>ìÀ' conversion.
[...]
> Warning: No type converter registered for '<90>' to '' conversion.

I took a quick look at this, there's definitely something strange going on here.

I think those strings between '' are supposed to be type names like "String",
via the defines in /usr/include/X11/StringDefs.h, but for some reason
XtString[] doesn't seem to get linked from the Xt libary, so we use a local,
uninitialized instance, with, as they say, hilarious consequences.  You can
see this quite clearly if you set a breakpoint on the call to
XtSetTypeConverter() in main.c.

You can work around this by building with CFLAGS="-DXTSTRINGDEFINES", which
makes the strings constants rather than references to elements in an imported
array.

But then it fails with a different segv, but this looks to be due to a similar 
problem with transientShellWidgetClass

This really needs some digging into how this used to work and what's changed....

> The function XtGetApplicationResources()  gives a lot of warnings about
> type conversion and yields a pointer resource.paper which is out of bounds.
> 
> I am sorry of not being able to give you a simpler example of failure,
> but I am not an expert on libXt.


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://x.cygwin.com/docs/
FAQ:                   http://x.cygwin.com/docs/faq/



More information about the Cygwin-xfree mailing list