Red Hat Bugzilla – Bug 244419
Crash when deleting last list item in selection callback of XmList widget
Last modified: 2009-05-18 16:22:52 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:220.127.116.11) Gecko/20070515 Firefox/18.104.22.168
Description of problem:
Using the attached sample program (which is basically a copy of an example in the Motif programmer manual plus an event handler), the compiled binary crashes when clicking the last two list items in rapid succession. Using a debug version of libXm.so gives the following callstack:
Program received signal SIGSEGV, Segmentation fault.
0x002555f9 in DefaultAction (lw=0x892a200, event=0xbfed1430) at List.c:5582
5582 if (lw->list.InternalList[item]->length == UNKNOWN_LENGTH)
#0 0x002555f9 in DefaultAction (lw=0x892a200, event=0xbfed1430) at List.c:5582
#1 0x00256628 in UnSelectElement (wid=0x892a200, event=0xbfed1430, params=0x89298e0, num_params=0xbfed0fc0) at List.c:4878
#2 0x0014a56e in XtCallActionProc () from /usr/X11R6/lib/libXt.so.6
#3 0x00259027 in ListProcessBtn1 (wid=0x892a200, event=0xbfed1430, params=0x89298e0, num_params=0x89298b8) at List.c:7202
#4 0x0015249c in _XtMatchAtom () from /usr/X11R6/lib/libXt.so.6
#5 0x00152a3d in _XtMatchAtom () from /usr/X11R6/lib/libXt.so.6
#6 0x001531b5 in _XtTranslateEvent () from /usr/X11R6/lib/libXt.so.6
#7 0x0012c627 in XtDispatchEventToWidget () from /usr/X11R6/lib/libXt.so.6
#8 0x0012ce8a in _XtOnGrabList () from /usr/X11R6/lib/libXt.so.6
#9 0x0012d0c9 in XtDispatchEvent () from /usr/X11R6/lib/libXt.so.6
#10 0x0012d5d1 in XtAppMainLoop () from /usr/X11R6/lib/libXt.so.6
#11 0x08048a2a in main ()
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Compile, link, and execute attached source file.
2. Click on the last item ('December') in the list. It is removed.
3. Very rapidly click on the now last item ('November') in the list.
Note that it is a little difficult to reproduce the crash, as the time between the two clicks must be somewhere in the milliseconds range. The time is possibly related to the double clock interval, but I can't say for sure.
List item should have been deleted.
Created attachment 157122 [details]
Sample program to reproduce the crash.
To compile and link:
cc -c -o simple_list.o simple_list.c
cc simple_list.o -L/usr/X11R6/lib -lX11 -lXm -o simple_list
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release. Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products. This request is not yet committed for inclusion in an Update
Proposing for RHEL-4.8 and granting Devel ACK.
Read ya, Phil
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.