Bug 62794

Summary: xemacs-21.4.22 crashes if syntax highlighting in current buffer is used
Product: xorg Reporter: Johannes Geiss <johannes.geiss>
Component: Lib/XtAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED MOVED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium Keywords: have-backtrace
Version: unspecified   
Hardware: All   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Johannes Geiss 2013-03-27 07:12:50 UTC
XEmacs crashes if a file is loaded witch can be syntax highlighted and this feature is active.

Steps To Reproduce:

1. xemacs .bashrc
2. Activate syntax highlighting in this buffer.

This happened at least on both Linux PPC and MacOS 10.8 x86.
Comment 1 Johannes Geiss 2013-03-27 07:13:10 UTC
See also https://bugs.gentoo.org/show_bug.cgi?id=435750
Comment 2 Johannes Geiss 2013-03-27 07:13:38 UTC
Program received signal SIGSEGV, Segmentation fault.
XDrawLine (dpy=0x10a25508, d=50331810, gc=0x32, x1=4262, y1=36319, x2=-4013, y2=36319)
    at /usr/src/debug/x11-libs/libX11-1.5.0/libX11-1.5.0/src/DrLine.c:56
56 FlushGC(dpy, gc);

Expected Results:
xemacs works

Program received signal SIGSEGV, Segmentation fault.
XDrawLine (dpy=0x10a25508, d=50331810, gc=0x32, x1=4262, y1=36319, x2=-4013, y2=36319)
    at /usr/src/debug/x11-libs/libX11-1.5.0/libX11-1.5.0/src/DrLine.c:56
56 FlushGC(dpy, gc);

#0 XDrawLine (dpy=0x10a25508, d=50331810, gc=0x32, x1=4262, y1=36319, x2=-4013, y2=36319)
    at /usr/src/debug/x11-libs/libX11-1.5.0/libX11-1.5.0/src/DrLine.c:56
0000001 0x101cc15c in GaugeExpose (w=0x10e8ab38, event=<optimized out>, region=<optimized out>) at xlwgauge.c:427
0000002 0x0fd7d244 in SendExposureEvent (event=0xbfffceb4, widget=0x10e8ab38, pd=<optimized out>)
    at /usr/src/debug/x11-libs/libXt-1.1.3/libXt-1.1.3/src/Event.c:1128
0000003 0x0fd7f4c4 in CompressExposures (widget=0x10e8ab38, event=0xbfffceb4)
    at /usr/src/debug/x11-libs/libXt-1.1.3/libXt-1.1.3/src/Event.c:1028
0000004 XtDispatchEventToWidget (widget=0x10e8ab38, event=0xbfffceb4)
    at /usr/src/debug/x11-libs/libXt-1.1.3/libXt-1.1.3/src/Event.c:821
0000005 0x0fd7fa14 in _XtDefaultDispatcher (event=0xbfffceb4) at /usr/src/debug/x11-libs/libXt-1.1.3/libXt-1.1.3/src/Event.c:1344
0000006 0x0fd7fea8 in XtDispatchEvent (event=0xbfffceb4) at /usr/src/debug/x11-libs/libXt-1.1.3/libXt-1.1.3/src/Event.c:1423
0000007 0x0fd8e23c in XtAppProcessEvent (app=0x1031b9f8, mask=<optimized out>)
    at /usr/src/debug/x11-libs/libXt-1.1.3/libXt-1.1.3/src/NextEvent.c:1400
0000008 0x1019a778 in drain_X_queue () at event-Xt.c:2992
0000009 emacs_Xt_event_pending_p (user_p=<optimized out>) at event-Xt.c:3117
0000010 0x100ce130 in event_stream_event_pending_p (user=0) at event-stream.c:438
0000011 Fdispatch_non_command_events () at event-stream.c:2369
0000012 0x100829ec in Feval (form=1209379352) at eval.c:3335
0000013 0x1007e7cc in condition_case_1 (handlers=<optimized out>, bfun=0x10082350 <Feval>, barg=1209379352,
    hfun=0x10084a60 <run_condition_case_handlers>, harg=1208403824) at eval.c:1652
0000014 0x1007ff34 in condition_case_3 (bodyform=<optimized out>, var=<optimized out>, handlers=<optimized out>) at eval.c:1730
0000015 0x1004f068 in execute_rare_opcode (stack_ptr=0xbfffd444, program_ptr=<optimized out>, opcode=<optimized out>)
    at bytecode.c:1273
0000016 0x10050298 in execute_optimized_program (program=<optimized out>, stack_depth=<optimized out>, constants_data=0x481ae5ac)
    at bytecode.c:658
0000017 0x1005086c in funcall_compiled_function (fun=1209940832, nargs=<optimized out>, args=0xbfffd5b8) at bytecode.c:517
0000018 0x100805e0 in Ffuncall (nargs=1, args=0xbfffd5b4) at eval.c:3572
0000019 0x10050100 in execute_optimized_program (program=<optimized out>, stack_depth=<optimized out>, constants_data=0x481a5e4c)
    at bytecode.c:748
0000020 0x1005086c in funcall_compiled_function (fun=1209929212, nargs=<optimized out>, args=0xbfffd738) at bytecode.c:517
0000021 0x100805e0 in Ffuncall (nargs=5, args=0xbfffd734) at eval.c:3572

0000022 0x10050100 in execute_optimized_program (program=<optimized out>, stack_depth=<optimized out>, constants_data=0x481a5f74)
    at bytecode.c:748
0000023 0x1005086c in funcall_compiled_function (fun=1209929268, nargs=<optimized out>, args=0xbfffd8b8) at bytecode.c:517
0000024 0x100805e0 in Ffuncall (nargs=4, args=0xbfffd8b4) at eval.c:3572
0000025 0x10050100 in execute_optimized_program (program=<optimized out>, stack_depth=<optimized out>, constants_data=0x4819f638)
    at bytecode.c:748
0000026 0x1005086c in funcall_compiled_function (fun=1209922800, nargs=<optimized out>, args=0xbfffda38) at bytecode.c:517
0000027 0x100805e0 in Ffuncall (nargs=5, args=0xbfffda34) at eval.c:3572

0000028 0x10050100 in execute_optimized_program (program=<optimized out>, stack_depth=<optimized out>, constants_data=0x10e209e0)
    at bytecode.c:748
0000029 0x1005086c in funcall_compiled_function (fun=290745832, nargs=<optimized out>, args=0xbfffdbb8) at bytecode.c:517
0000030 0x100805e0 in Ffuncall (nargs=4, args=0xbfffdbb4) at eval.c:3572
0000031 0x10050100 in execute_optimized_program (program=<optimized out>, stack_depth=<optimized out>, constants_data=0x10ea08f8)
    at bytecode.c:748
0000032 0x1005086c in funcall_compiled_function (fun=290745720, nargs=<optimized out>, args=0xbfffdd38) at bytecode.c:517
0000033 0x100805e0 in Ffuncall (nargs=4, args=0xbfffdd34) at eval.c:3572
0000034 0x10050100 in execute_optimized_program (program=<optimized out>, stack_depth=<optimized out>, constants_data=0x10e20908)
    at bytecode.c:748
0000035 0x1005086c in funcall_compiled_function (fun=290745748, nargs=<optimized out>, args=0xbfffdeb8) at bytecode.c:517
0000036 0x100805e0 in Ffuncall (nargs=1, args=0xbfffdeb4) at eval.c:3572
0000037 0x10050100 in execute_optimized_program (program=<optimized out>, stack_depth=<optimized out>, constants_data=0x10ea0718)
    at bytecode.c:748
0000038 0x1005086c in funcall_compiled_function (fun=290745636, nargs=<optimized out>, args=0xbfffe028) at bytecode.c:517
0000039 0x100805e0 in Ffuncall (nargs=1, args=0xbfffe024) at eval.c:3572
0000040 0x10050100 in execute_optimized_program (program=<optimized out>, stack_depth=<optimized out>, constants_data=0x10a85bb0)
    at bytecode.c:748
0000041 0x1005086c in funcall_compiled_function (fun=290745440, nargs=<optimized out>, args=0xbfffe120) at bytecode.c:517
0000042 0x10082a98 in Feval (form=1209420188) at eval.c:3392
0000043 0x10083128 in Fprogn (args=1209420200) at eval.c:775
0000044 0x10082b98 in Feval (form=1209420212) at eval.c:3308
0000045 0x10080734 in Ffuncall (nargs=2, args=<optimized out>) at eval.c:3536
0000046 0x1008143c in call1 (fn=<optimized out>, arg0=<optimized out>) at eval.c:4190
0000047 0x100cfa90 in execute_command_event (command_builder=0x1097a1b0, event=278153944) at event-stream.c:3919
0000048 0x100cfc9c in Fdispatch_event (event=<optimized out>) at event-stream.c:4258
0000049 0x1005ad54 in Fcommand_loop_1 () at cmdloop.c:583
0000050 0x1005ae38 in command_loop_1 (dummy=<optimized out>) at cmdloop.c:494
0000051 0x1007e7cc in condition_case_1 (handlers=<optimized out>, bfun=0x1005ae00 <command_loop_1>, barg=1208405240,
    hfun=0x1005b0b0 <cmd_error>, harg=1208405240) at eval.c:1652
0000052 0x1005b088 in command_loop_3 () at cmdloop.c:256
0000053 command_loop_2 (dummy=<optimized out>) at cmdloop.c:267
0000054 0x1007ca20 in internal_catch (tag=value has been optimized out
) at eval.c:1318
0000055 0x1005b618 in initial_command_loop (load_me=<optimized out>) at cmdloop.c:305
0000056 0x1007a59c in xemacs_21_4_22_powerpc_unknown_linux (argc=2, argv=0xbfffeda4, envp=<optimized out>, restart=<optimized out>)
    at emacs.c:2460
0000057 0x1007aed4 in main (argc=2, argv=0xbfffeda4, envp=0xbfffedb0) at emacs.c:2829
Comment 3 Johannes Geiss 2013-03-27 07:13:52 UTC
The problem seems to be in libXt-1.1.3/Resources.c:976.

If I set a breakpoint at lwlib-Xaw.c:831 and choose Syntax Highlighting via menu, I can step into libXt/Resources:976. Near this point the current widget (GaugeWidget)w gets an impossible pointer w->threeD.top_shadow_GC = 0x32.

I will invesitage further when I have some time to spare.
Comment 4 Johannes Geiss 2013-03-27 07:14:01 UTC
The GC threeD.top_shadow_GC = 0x32 seems to come from a resource value "50" at Resources.c:767. The XrmResourceList rx has the following values: xrm_name = 336, xrm_class = 824, xrm_type = 21, xrm_size = 4, xrm_offset = -165. What resource this is, I cannot determine. But building XEmacs with Use-Flag Xaw3d disabled resolves the problem so far.

So it must have something to do with the 3d athena widget set.
Comment 5 Johannes Geiss 2013-03-27 07:17:39 UTC
I forgot to mention: The MacOS 10.8 version is from http://www.macports.org. I managed to get it working compiling it without Athena3D widgets.
Comment 6 GitLab Migration User 2018-08-10 20:01:52 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xorg/lib/libxt/issues/4.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.