Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 435750

Summary: app-editors/xemacs-21.4.22-r2 crashes if syntax highlighting in current buffer is used
Product: Gentoo Linux Reporter: Johannes Geiss <johannes.geiss>
Component: Current packagesAssignee: XEmacs team <xemacs>
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: PPC   
OS: Linux   
Package list:
Runtime testing required: ---

Description Johannes Geiss 2012-09-21 14:50:52 UTC
XEmacs crashes is a file is loaded with can be syntax highlighted and this feature is active.

Reproducible: Always

Steps to Reproduce:
1. xemacs .bashrc
2. Activate syntax highlighting in this buffer.

Actual Results:  
xemacs crashes with

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 1 Johannes Geiss 2012-09-21 14:51:10 UTC
Portage (default/linux/powerpc/ppc32/10.0/desktop, gcc-4.5.3, glibc-2.14.1-r3, 3.2.1-gentoo-r2-polaris ppc)
System uname: Linux-3.2.1-gentoo-r2-polaris-ppc-7447-7457,_altivec_supported-with-gentoo-2.1
Timestamp of tree: Mon, 23 Jul 2012 06:15:01 +0000
app-shells/bash: 4.2_p20
dev-java/java-config: 2.1.11-r3
dev-lang/python: 2.7.3-r2, 3.2.3
dev-util/cmake: 2.8.6-r4
dev-util/pkgconfig: 0.26
sys-apps/baselayout: 2.1-r1
sys-apps/sandbox: 2.5
sys-devel/autoconf: 2.13, 2.68
sys-devel/automake: 1.11.1
sys-devel/binutils: 2.21.1-r1
sys-devel/gcc: 3.4.6-r2, 4.5.3-r2
sys-devel/gcc-config: 1.6
sys-devel/libtool: 2.4-r1
sys-devel/make: 3.82-r1
sys-kernel/linux-headers: 3.4 (virtual/os-headers)
sys-libs/glibc: 2.14.1-r3
Repositories: gentoo private-overlay armagetron x-m68k sabayon java-overlay
CFLAGS="-g -O2 -fPIC -fno-strict-aliasing -pipe"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-g -O2 -fPIC -fno-strict-aliasing -pipe"
EMERGE_DEFAULT_OPTS="--alphabetical --nospinner --quiet-build --usepkg --binpkg-respect-use=y"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs buildpkg config-protect-if-modified distlocks ebuild-locks fixlafiles installsources news parallel-fetch parse-eapi-ebuild-head protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS=" [^] [^] [^] "
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en de"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTDIR_OVERLAY="/usr/local/portage /var/lib/layman/armagetron /var/lib/layman/m68k /var/lib/layman/sabayon /var/lib/layman/java-overlay"
SYNC="rsync://" [^]
USE="X Xaw3d a52 aac acl alsa altivec berkdb bluetooth branding bzip2 cairo cdda cdr cgi cjk cli consolekit cracklib crypt css cups cxx dbus device-mapper dri dts dvd dvdr dvi emboss encode esd exif extensions extras fam fastcgi fat ffmpeg firefox flac fontconfig fortran fuse gd gdbm gif gnutls gpm gtk hfs iconv icu id3tag imagemagick imap ipv6 jfs joystick jpeg jpeg2k kpathsea lcms ldap libnotify mad midi mikmod minizip mng mod modules mp3 mp4 mpeg mudflap mule musicbrainz mysql ncurses nls nptl ntfs ntfsprogs objc odbc ogg opengl openmp pam pango pcre pdf png policykit ppc ppds pppd private-headers qt3support qt4 readline reiserfs sasl sdl server session sid sieve spell sqlite srt ssl startup-notification stream svg tcpd theora threads tiff timidity truetype twolame udev udisks unicode upower usb vamp videos vorbis wxwidgets xcb xfs xml xorg xulrunner xv xvid zlib" ALSA_CARDS="via82xx" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en de" PHP_TARGETS="php5-3" PYTHON_TARGETS="python3_2 python2_7" QEMU_SOFTMMU_TARGETS="arm i386 ppc" QEMU_USER_TARGETS="arm i386 ppc" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="radeon" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Comment 2 Johannes Geiss 2012-09-24 05:59:57 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 3 Johannes Geiss 2012-09-28 09:57:26 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 4 Johannes Geiss 2013-03-27 07:16:04 UTC
See also
Comment 5 Mats Lidell gentoo-dev 2016-08-27 21:29:18 UTC
I can't reproduce this with the xemacs-21.4.24-ebuild. I'll close this issue.