GNU bug report logs -
#17975
24.3.92; assertion failure deleting frames with varying names for the same display (and, using multiple X11 connections in that case too)
Previous Next
Reported by: Ken Raeburn <raeburn <at> permabit.com>
Date: Wed, 9 Jul 2014 01:57:01 UTC
Severity: normal
Tags: moreinfo
Found in version 24.3.92
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
Message #23 received at 17975 <at> debbugs.gnu.org (full text, mbox):
> Date: Sun, 13 Jul 2014 14:56:26 +0400
> From: Dmitry Antipov <dmantipov <at> yandex.ru>
> Cc: Ken Raeburn <raeburn <at> permabit.com>
>
> Just for the record: running Motif build with the same args, i.e.
>
> ./src/emacs -Q --eval '(let ((f (selected-frame))) (make-frame-on-display ":0") (delete-frame f))'
>
> produces a hard crash caused by an attempt to dereference NULL
> 'Display *' pointer somewhere in Motif's libXm.so library:
>
> Program received signal SIGSEGV, Segmentation fault.
> XFindContext (display=display <at> entry=0x0, rid=14237104, context=context <at> entry=-5, data=data <at> entry=0x7ffffffecc80) at Context.c:245
> 245 LockDisplay(display);
> (gdb) bt
> #0 XFindContext (display=display <at> entry=0x0, rid=14237104, context=context <at> entry=-5, data=data <at> entry=0x7ffffffecc80) at Context.c:245
> #1 0x00000037da3a92d8 in _XmRCColorHook (w=w <at> entry=0x14bb6a0, alIn=alIn <at> entry=0x7ffffffed340, acPtrIn=acPtrIn <at> entry=0x7ffffffecd7c)
> at RCHook.c:73
> #2 0x00000037dbc1bed7 in CallInitialize (class=<optimized out>, req_widget=req_widget <at> entry=0x7ffffffecec0,
> new_widget=new_widget <at> entry=0x14bb6a0, args=args <at> entry=0x7ffffffed340, num_args=num_args <at> entry=1) at Create.c:231
> #3 0x00000037dbc1c867 in xtCreate (name=name <at> entry=0xd60490 "Line Wrapping in This Buffer", class=class <at> entry=0x0,
> widget_class=widget_class <at> entry=0x37da6b8800 <xmRowColumnClassRec>, parent=parent <at> entry=0x157b060, default_screen=0x133b0a0,
> args=args <at> entry=0x7ffffffed340, num_args=num_args <at> entry=1, typed_args=typed_args <at> entry=0x0,
> num_typed_args=num_typed_args <at> entry=0, parent_constraint_class=0x0, post_proc=post_proc <at> entry=0x37dbc1bef0 <widgetPostProc>)
> at Create.c:416
> #4 0x00000037dbc1cc90 in _XtCreateWidget (name=name <at> entry=0xd60490 "Line Wrapping in This Buffer",
> widget_class=widget_class <at> entry=0x37da6b8800 <xmRowColumnClassRec>, parent=parent <at> entry=0x157b060,
> args=args <at> entry=0x7ffffffed340, num_args=num_args <at> entry=1, typed_args=typed_args <at> entry=0x0,
> num_typed_args=num_typed_args <at> entry=0) at Create.c:570
> #5 0x00000037dbc1cf7e in XtCreateWidget (name=name <at> entry=0xd60490 "Line Wrapping in This Buffer",
> widget_class=0x37da6b8800 <xmRowColumnClassRec>, parent=0x157b060, args=args <at> entry=0x7ffffffed340, num_args=num_args <at> entry=1)
> at Create.c:589
> #6 0x00000037da2f5a02 in create (p=p <at> entry=0x16c7300, name=name <at> entry=0xd60490 "Line Wrapping in This Buffer",
> old_al=old_al <at> entry=0x0, old_ac=old_ac <at> entry=0, type=type <at> entry=2, is_radio=is_radio <at> entry=0) at RowColumn.c:3246
> #7 0x00000037da2f7cbe in XmCreatePulldownMenu (p=0x16c7300, name=0xd60490 "Line Wrapping in This Buffer", al=0x0, ac=0)
> at RowColumn.c:3485
> #8 0x00000000006d07a1 in update_one_menu_entry (instance=0xe22a00, widget=0x16c88c0, val=0xd60420, deep_p=1 '\001')
> at ../../trunk/lwlib/lwlib-Xm.c:695
> #9 0x00000000006d0b40 in xm_update_menu (instance=0xe22a00, widget=0x16c7300, val=0xd56a30, deep_p=1 '\001')
> at ../../trunk/lwlib/lwlib-Xm.c:783
> #10 0x00000000006d09c8 in update_one_menu_entry (instance=0xe22a00, widget=0x171ad50, val=0xd56a30, deep_p=1 '\001')
> at ../../trunk/lwlib/lwlib-Xm.c:726
> #11 0x00000000006d0b40 in xm_update_menu (instance=0xe22a00, widget=0x156e1e0, val=0xc53ed0, deep_p=1 '\001')
> at ../../trunk/lwlib/lwlib-Xm.c:783
> #12 0x00000000006d0ec3 in xm_update_one_widget (instance=0xe22a00, widget=0x156e1e0, val=0xc53ed0, deep_p=1 '\001')
> at ../../trunk/lwlib/lwlib-Xm.c:879
> #13 0x00000000006ce0b1 in set_one_value (instance=0xe22a00, val=0xc53ed0, deep_p=1 '\001') at ../../trunk/lwlib/lwlib.c:534
> #14 0x00000000006ce106 in update_one_widget_instance (instance=0xe22a00, deep_p=1 '\001') at ../../trunk/lwlib/lwlib.c:554
> #15 0x00000000006ce14c in update_all_widget_values (info=0xce4bd0, deep_p=1 '\001') at ../../trunk/lwlib/lwlib.c:564
> #16 0x00000000006ce370 in lw_modify_all_widgets (id=2, val=0x1384670, deep_p=1 '\001') at ../../trunk/lwlib/lwlib.c:618
> #17 0x00000000004a5413 in set_frame_menubar (f=0x11b59e0, first_time=false, deep_p=true) at ../../trunk/src/xmenu.c:973
> #18 0x000000000045c90e in update_menu_bar (f=0x11b59e0, save_match_data=0, hooks_run=1) at ../../trunk/src/xdisp.c:11818
> #19 0x000000000045c552 in prepare_menu_bars () at ../../trunk/src/xdisp.c:11701
Does it help to avoid calling update_menu_bar for frames that don't
pass the FRAME_LIVE_P test?
This bug report was last modified 4 years and 253 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.