[comp.windows.x.motif] compiling Motif applications with C++

ken@csis.dit.csiro.au (Ken Yap) (10/29/90)

Has anybody encountered this problem with linking C++ programs with
Motif widgets? To be specific the program is Mri, from Widget Creation
Library.

Compiler: g++ 1.37.2
System: Sparcstation 1+, OS 4.1
Motif version: 1.0 binary only

Here's what happens when the program is run under gdb:

% gdb Mri
(gdb) r
Starting program: /proj/dbp/edss/v1/wcl/Mri

Program received signal 11, Segmentation fault
0xb8b70 in _XtLangExpand ()
(gdb) bt
#0  0xb8b70 in _XtLangExpand ()
#1  0xb9118 in XtLangExpand ()
#2  0xb68dc in XtToolkitInitialize ()
#3  0xb6c20 in XtToolkitInitialize ()
#4  0xb707c in _XtDisplayInitialize ()
#5  0xb132c in XtDisplayInitialize ()
#6  0xb1204 in XtOpenDisplay ()
#7  0xb744c in XtInitialize ()
#8  0x24f4 in main (...) (...)

Should I give up and wait for 1.1 with source? Thanks for any help.

tomt@paradise.coral.com (Tom Tulinsky) (10/31/90)

) Has anybody encountered this problem with linking C++ programs with
) Motif widgets? To be specific the program is Mri, from Widget Creation
) Library.
) 
 ... seg. fault on startup in gdb ...

I occasionally get segment faults starting our Motif 1.1 application
in gdb.  They are never repeatable in the same gdb session.  They
always happen the first time I do the run command in gdb for a given
executable.  Our config is Sun SS1, Sunos 4.03c, Mit X11r4. It doesn't
always happen in the same place.  Following are a couple of stack dumps:
 
Program received signal 11, Segmentation fault
0x15cf24 in XtGetGC ()
(gdb) w
#0  0x15cf24 in XtGetGC ()
#1  0xf1f50 in XmCreatePushButton ()
#2  0xf1bb0 in XmCreatePushButton ()
#3  0xf1b28 in XmCreatePushButton ()
#4  0xf026c in XmCreatePanedWindow ()
#5  0x163d70 in XtRemoveInput ()
#6  0x163f48 in XtAppNextEvent ()
#7  0x15c4a0 in XtAppMainLoop ()
#8  0x15c488 in XtMainLoop ()
#9  0x12d28 in Logon__8PmSystem ($this=(PmSystem *) 0x1d7c08) (/usr/tomt/nms/pobject/pmsystem.C line 164)
#10 0x3228 in main (argc=2, argv=(XmStringTable) 0xf7fff87c)
(/usr/tomt/nms/nms/nms.C line 51)

---------------------------------------------------------------------
Program received signal 11, Segmentation fault
0x145e3c in _XmFindTopMostShell ()
(gdb) w
#0  0x145e3c in _XmFindTopMostShell ()
#1  0x143968 in _XmNavigDestroy ()
#2  0x140174 in _XmSecondaryResourceData ()
#3  0x1594c0 in XtCreateApplicationShell ()
#4  0x1593b8 in XtCreateApplicationShell ()
#5  0x159348 in XtCreateApplicationShell ()
#6  0x159348 in XtCreateApplicationShell ()
#7  0x159668 in XtCreateApplicationShell ()
#8  0x1537e0 in _XtCallCallbacks ()
#9  0x159760 in XtDestroyWidget ()
#10 0x12d44 in OpenMap__8PmSystem ($this=(PmSystem *) 0x1d7c00) (/usr/tomt/nms/pobject/pmsystem.C line 171)
#11 0x2b58 in LogonOKActivateCb (...) (...)
#12 0x1537e0 in _XtCallCallbacks ()
#13 0x153a28 in XtCallCallbackList ()
#14 0xf01d4 in XmCreatePanedWindow ()
#15 0x163c28 in XtRemoveInput ()
#16 0x163e00 in XtAppNextEvent ()
#17 0x15c358 in XtAppMainLoop ()
#18 0x15c340 in XtMainLoop ()
#19 0x12d28 in Logon__8PmSystem ($this=(PmSystem *) 0x1d7c00) (/usr/tomt/nms/pobject/pmsystem.C line 164)
#20 0x3228 in main (argc=2, argv=(XmStringTable) 0xf7fff884) (/usr/tomt/nms/nms/nms.C line 51)


 Coral
     * **	Tom Tulinsky                508 460-6010
  *  **		Coral Network Corporation   fax 508 481-6258
*  ** 		734 Forest St               net: tomt@coral.com
 ***		   Marlboro, MA 01752		
  **		   U S A
*********	
NETWORKS	

nazgul@alphalpha.com (Kee Hinckley) (10/31/90)

I was just about to skip over this when I suddenly noticed a traceback which look
familiar.

That's a bug fixed (I'm pretty sure) in the Xt patches 15, 16 and 17.  Widgets were
getting deleted out of order and during deletion a child was tracing up through the
widget tree and passing through deleted parents.  Make sure you've applied those
patches and you shouldn't see this particular crash any more.