Motifbased mozilla plugin broke after upgrading to SuSe 10.2

At University of Düsseldorf at the chair for IT-Management we developed a openmotif based mozilla plugin for visualizing 3d-Data. On OpenSuSe 10.0 the plugin run in konqueror as usual. But on a new machine using OpenSuSe 10.2 the plugin stoped working, when a popup should be created.

gdb gives the following hints:

<br />
Program received signal SIGSEGV, Segmentation fault.<br />
[Switching to Thread -1223821616 (LWP 13986)]<br />
0xb03be23d in _XmAddHashEntry () from /usr/lib/libXm.so.4<br />
(gdb) where<br />
#0  0xb03be23d in _XmAddHashEntry () from /usr/lib/libXm.so.4<br />
#1  0xb03b8245 in XmeTraitSet () from /usr/lib/libXm.so.4<br />
#2  0xb0300218 in _XmPopupSpringLoaded () from /usr/lib/libXm.so.4<br />
#3  0xb73f0767 in XtCvtStringToCommandArgArray () from /usr/lib/libXt.so.6<br />
#4  0xb73f0bb3 in XtInitializeWidgetClass () from /usr/lib/libXt.so.6<br />
#5  0xb73f0f08 in XtInitializeWidgetClass () from /usr/lib/libXt.so.6<br />
#6  0xb73f109f in _XtCreateHookObj () from /usr/lib/libXt.so.6<br />
#7  0xb73f1865 in _XtCreatePopupShell () from /usr/lib/libXt.so.6<br />
#8  0xb73f1a14 in XtCreatePopupShell () from /usr/lib/libXt.so.6<br />
#9  0xb031abb4 in XmOptionLabelGadget () from /usr/lib/libXm.so.4<br />
#10 0xb031acf2 in XmCreatePopupMenu () from /usr/lib/libXm.so.4<br />
#11 0xb0526909 in CreatePopupMenu (This=0xafffc000, parent=0x96739d0)<br />
    at ../npxwin.c:4125<br />
#12 0xb05273f9 in MouseEvent (w=0x96739d0, WndProp=0xb00270a0,<br />
    event=0xbf82c6d0, cont=0x0) at ../npxwin.c:4383<br />
#13 0xb052813f in GLinputCB (w=0x96739d0, client_data=0xb00270a0,<br />
    call_data=0xbf82c20c) at ../npxwin.c:4596<br />
#14 0xb73e882b in XtCallCallbackList () from /usr/lib/libXt.so.6<br />
#15 0xb0550b7f in glwInput () from /home/vetterm/.mozilla/plugins/npdvr-ogl.so<br />
#16 0xb741dd21 in _XtDestroyTMData () from /usr/lib/libXt.so.6<br />
#17 0xb741e0fa in _XtDestroyTMData () from /usr/lib/libXt.so.6<br />
#18 0xb741e6f4 in _XtTranslateEvent () from /usr/lib/libXt.so.6<br />
#19 0xb73f6731 in XtDispatchEventToWidget () from /usr/lib/libXt.so.6<br />

The last selfwritten routine in this errorstack is the following one:

<br />
static Widget CreatePopupMenu(PluginInstance *This, Widget parent)<br />
{<br />
  if (This == NULL)<br />
    return NULL;<br />
  else {<br />
    Widget popup;<br />
    Arg args[20];<br />
    int n;</p>
<p>    n = 0;<br />
    if (This->overlayVisual) {<br />
      XtSetArg(args[n],XmNcolormap,    This->overlayColormap); n++;<br />
      XtSetArg(args[n],XmNdepth,       This->overlayDepth);    n++;<br />
      XtSetArg(args[n],XmNvisual,      This->overlayVisual);   n++;<br />
    }<br />
    else {<br />
      n = GetVisualArgs(This->NetscapeWidget,args);<br />
    }<br />
    XtSetArg(args[n],XmNtearOffModel, XmTEAR_OFF_ENABLED);   n++;<br />
    LOG_MSG("create popup: %d %s\n",n,args[n-1]);<br />
    popup = XmCreatePopupMenu(parent,"DocShow-VR Popup",NULL,0);<br />
    if (popup != NULL) {<br />
       .....<br />
    }<br />
  }<br />
}<br />

Has anyone an idea, what has changed from Suse 10.0 to 10.2 so that this go wrong no?

With best regards,
Michael Vetter


Mark

Mark's picture

re: Motifbased mozilla plugin broke after upgrading to SuSe

Michael,

The first step here is to figure out which version of Motif you were using in the 10.0 vs 10.2 releases. (I am not familiar with how mozilla deals with Motif, but it if uses Motif, you will need to figure that out too.)

My memory is that the 10.0 release used Motif 2.2.3 or 2.2.4. And I *think* that the 10.2 release shipped Motif 2.3. But it is also possible that someone used Motif 2.1.30, and that is incompatible with 2.2.3+.

Take a look at that first, and then we can figure out the next step.

Mark


Michael Vetter

Michael Vetter's picture

Motifbased mozilla plugin broke after upgrading to SuSe 10.2

Hello Marc,

Thanks for answering so quickly. SuSe 10.0 uses openmotif 2.2.3, suse 10.2 uses 2.3beta2. I can't see any usage of motif in the konqueror but to be sure here is the ldd of that:

<br />
ldd /opt/kde3/bin/konqueror<br />
        linux-gate.so.1 =>  (0xffffe000)<br />
        libkdeinit_konqueror.so => /opt/kde3/lib/libkdeinit_konqueror.so (0xb7e6<br />
8000)<br />
        libc.so.6 => /lib/libc.so.6 (0xb7d3a000)<br />
        libkonq.so.4 => /opt/kde3/lib/libkonq.so.4 (0xb7cb6000)<br />
        libkparts.so.2 => /opt/kde3/lib/libkparts.so.2 (0xb7c70000)<br />
        libkutils.so.1 => /opt/kde3/lib/libkutils.so.1 (0xb7c0d000)<br />
        libkio.so.4 => /opt/kde3/lib/libkio.so.4 (0xb78c8000)<br />
        libkdeui.so.4 => /opt/kde3/lib/libkdeui.so.4 (0xb75e8000)<br />
        libkdecore.so.4 => /opt/kde3/lib/libkdecore.so.4 (0xb73a9000)<br />
        libDCOP.so.4 => /opt/kde3/lib/libDCOP.so.4 (0xb7375000)<br />
        libqt-mt.so.3 => /usr/lib/qt3/lib/libqt-mt.so.3 (0xb6c8a000)<br />
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb6b6d000)<br />
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb6a89000)<br />
        libm.so.6 => /lib/libm.so.6 (0xb6a63000)<br />
        /lib/ld-linux.so.2 (0xb7f7f000)<br />
        libkdefx.so.4 => /opt/kde3/lib/libkdefx.so.4 (0xb6a37000)<br />
        libz.so.1 => /lib/libz.so.1 (0xb6a23000)<br />
        libkdesu.so.4 => /opt/kde3/lib/libkdesu.so.4 (0xb6a0c000)<br />
        libkwalletclient.so.1 => /opt/kde3/lib/libkwalletclient.so.1 (0xb69fa000<br />
)<br />
        libpthread.so.0 => /lib/libpthread.so.0 (0xb69e2000)<br />
        libfam.so.0 => /usr/lib/libfam.so.0 (0xb69d8000)<br />
        libacl.so.1 => /lib/libacl.so.1 (0xb69d0000)<br />
        libattr.so.1 => /lib/libattr.so.1 (0xb69ca000)<br />
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb69be000)<br />
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb6993000)<br />
        libXext.so.6 => /usr/lib/libXext.so.6 (0xb6984000)<br />
        libart_lgpl_2.so.2 => /usr/lib/libart_lgpl_2.so.2 (0xb696c000)<br />
        libidn.so.11 => /usr/lib/libidn.so.11 (0xb693b000)<br />
        libSM.so.6 => /usr/lib/libSM.so.6 (0xb6931000)<br />
        libICE.so.6 => /usr/lib/libICE.so.6 (0xb6918000)<br />
        libdl.so.2 => /lib/libdl.so.2 (0xb6914000)<br />
        libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb68ef000)<br />
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb68e6000)<br />
        libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xb68e1000)<br />
        libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb68d7000)<br />
        libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xb68d3000)<br />
        libXft.so.2 => /usr/lib/libXft.so.2 (0xb68bf000)<br />
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb6850000)<br />
        libXau.so.6 => /usr/lib/libXau.so.6 (0xb684c000)<br />
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb6846000)<br />
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb6825000)<br />
        libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb681e000)<br />

The problem for me is, that the plugin is writen by a predecessor so I do not know much about it or writing such plugins in generall.

regards,
Michael Vetter


Mark

Mark's picture

Motifbased mozilla plugin broke after upgrading to SuSe 10.2

Michael,

Have you tried recompiling your plugin with Motif 2.3? V2.2.3 is *supposed* to be upwards compatible with 2.3. You could also try the 2.3 final that is on this site.

Mark


Michael Vetter

Michael Vetter's picture

Motifbased mozilla plugin broke after upgrading to SuSe 10.2

Hi Marc,

yes I've recompiled it with OpenMotif 2.3. The above descripted Error Stack was with 2.3. I've also tried a recompiled version with OpenMotif 2.2.3 and 2.2.2. The error was another one, there it occurs by use of XmProcessTraversal or so.

Michael


Yuriy Syrota

Yuriy Syrota's picture

Motifbased mozilla plugin broke after upgrading to SuSe 10.2

Michael,

Have you performed a memory-checking of your plugin? If no, I'd recommend valgrind for this.

-- yura