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

Package: emacs;

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):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Dmitry Antipov <dmantipov <at> yandex.ru>
Cc: raeburn <at> permabit.com, 17975 <at> debbugs.gnu.org
Subject: Re: bug#17975: 24.3.92;
 assertion failure deleting frames with varying names for the
 same	display (and, using multiple X11 connections in that case too)
Date: Sun, 13 Jul 2014 18:04:00 +0300
> 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.