================================================================
Dear Bug Team!
[The System Info section is a mock up from xemacs -vanilla, since
ironically #'report-xemacs-bug combined with one of my packages throws
XEmacs into an infinite loop when creating the message buffer. Wouldn't
be surprising if that is related somehow to the bleeding edge version of
Gnus.]
* Background
I am working on a language mode, which uses syntactic highlighting to
locally modify the syntax-class of ?| (from ?$ to $w), so that
parenthesis matching would not get confused by interleaved sexps. The
below code snippet is from my actual testcase:
[ {ENDIAN} == "little"
SETEND LE
| ; <<< local syntax-table modification
SETEND BE
]
* Description
When parsing the buffer, I observe strange behavior once the parser gets
past the point where font-lock-syntactic-keywords matches this:
("^\\s-+\\(|\\)" 1 (3 . nil))
I was able to track this down to #'skip-syntax-forward, which would
return nil independent of its SYNTAX argument.
Unfortunately, this error occurs sporadically (but often enough to
trigger it reasonably quick) and seems to be related to moving point
across the critical line where the syntax-table gets modified. After
encountering the error, certain changes of point will reset the error
state, so that s-s-f will start behaving normally again.
It is perhaps worthwhile mentioning that on my Win32 (Windows 7) XEmacs
,----
| Microsoft Windows XP [Version 5.1.2600]
| OS: Windows_NT
|
| XEmacs 21.5-b29 "garbanzo" configured for `i586-pc-win32'.
`----
the error occurs rather frequently, while it is a lot harder (but
possible) to trigger on a more recent XEmacs whose information is
attached.
* Wild Guess
Is there a possibility of a race condition, between font-lock assigning
the new syntax-class and other code accessing this?
* Request
I have never debugged any XEmacs code on C level. Is there a "Getting
Started" document somewhere? Especially the macros seem scary. It
doesn't help that running my self-compiled XEmacs under GDB (Ubuntu)
will segfault in memset()...
,----
| (gdb) r
| Starting program: /usr/local/bin/xemacs
| [Thread debugging using libthread_db enabled]
|
| Program received signal SIGSEGV, Segmentation fault.
| memset () at ../sysdeps/x86_64/memset.S:337
| 337 ../sysdeps/x86_64/memset.S: No such file or directory.
| in ../sysdeps/x86_64/memset.S
| (gdb)
`----
Best regards
Marcus
================================================================
System Info to help track down your bug:
---------------------------------------
uname -a: Linux dipsy 2.6.35-24-generic #42-Ubuntu SMP Thu Dec 2 02:41:37 UTC 2010 x86_64
GNU/Linux
./configure '--with-pop' '--with-sound=alsa'
'--enable-menubars=lucid' '--enable-scrollbars=athena'
'--enable-dialogs=athena' '--enable-widgets=athena'
'--with-athena=3d' '--without-gpm' '--without-ldap'
'--without-postgresql' '--with-mule' '--without-xim'
'--without-canna' '--with-xft=emacs,tabs,gauges,menubars'
'--with-zlib' '--without-bignum' '--with-kkcc'
'--with-newgc' '--without-error-checking' '--with-modules'
'--with-database=berkdb' '--with-ncurses'
XEmacs 21.5-b29 "garbanzo" 317ebaee6e4f configured for
`x86_64-unknown-linux'.
Compilation Environment and Installation Defaults:
Source code location: /home/marcus/projekte/xemacs-beta-compile
Installation prefix: /usr/local
Not using any operating system description file
Not using any machine description file
Compiler version: gcc (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5
- GCC specs file: specs.
- Compiler command: gcc -Wall -Wno-switch -Wundef -Wsign-compare
-Wno-char-subscripts -Wpacked -Wshadow -Wmissing-declarations -Wmissing-prototypes
-Wstrict-prototypes -Wdeclaration-after-statement -Wunused-parameter -g
libc version: GNU libc 2.12.1-0ubuntu10 (Debian)
Relocating allocator for buffers: no
GNU version of malloc: yes
- Using Doug Lea's new malloc from the GNU C Library.
Window System:
Compiling in support for the X window system:
- X Windows headers location:
- X Windows libraries location:
- Handling WM_COMMAND properly.
- Using fontconfig to manage fonts.
- Compiling in support for Xft antialiased fonts (EXPERIMENTAL).
Compiling in support for the Athena widget set:
- Athena headers location: X11/Xaw3d
- Athena library to link: Xaw3d
Using Lucid menubars.
- Using Xft to render antialiased fonts in menubars.
WARNING: This Xft feature will be replaced with a face.
Using Athena scrollbars.
Using Athena dialog boxes.
Using Athena native widgets.
- Using Xft to render antialiased fonts in tab controls.
WARNING: This Xft feature will be replaced with a face.
- Using Xft to render antialiased fonts in progress bars.
WARNING: This Xft feature will be replaced with a face.
WARNING: This Xft feature not yet implemented; setting ignored.
TTY:
Compiling in support for ncurses.
Images:
Compiling in support for XPM images.
Compiling in support for PNG images.
Compiling in support for JPEG images.
Compiling in support for TIFF images.
Compiling in support for X-Face message headers.
Sound:
Compiling in support for sound (native).
Compiling in support for ALSA (Advanced Linux Sound Architecture).
Databases:
Compiling in support for Berkeley database.
Compiling in support for GNU DBM.
Internationalization:
Compiling in support for Mule (multi-lingual Emacs).
Mail:
Compiling in support for POP mail retrieval.
Compiling in support for "file" mail spool file locking method.
Other Features:
Inhibiting IPv6 canonicalization at startup.
Compiling in support for dynamic shared object modules.
Using the new GC mark algorithms (KKCC).
WARNING: ---------------------------------------------------------
WARNING: The new algorithms are experimental. They are enabled by
WARNING: default for this release. Use `--disable-kkcc' to
WARNING: turn it off.
WARNING: ---------------------------------------------------------
Using the new incremental garbage collector and the new allocator.
Using POSIX sigaction() to install fault handler.
Using the new portable dumper.
Compiling in support for extra debugging code.
Load-Path Lisp Shadows:
----------------------
(/usr/local/share/xemacs/site-packages/lisp/gnus/hex-util
/usr/local/share/xemacs/xemacs-packages/lisp/ecrypto/hex-util
/usr/local/share/xemacs/site-packages/lisp/gnus/md4
/usr/local/share/xemacs/xemacs-packages/lisp/ecrypto/md4
/usr/local/share/xemacs/site-packages/lisp/gnus/sha1
/usr/local/share/xemacs/xemacs-packages/lisp/ecrypto/sha1
/usr/local/share/xemacs/site-packages/lisp/gnus/rfc2104
/usr/local/share/xemacs/xemacs-packages/lisp/mail-lib/rfc2104
/usr/local/share/xemacs/site-packages/lisp/gnus/netrc
/usr/local/share/xemacs/xemacs-packages/lisp/mail-lib/netrc
/usr/local/share/xemacs/site-packages/lisp/gnus/tls
/usr/local/share/xemacs/xemacs-packages/lisp/mail-lib/tls
/usr/local/share/xemacs/site-packages/lisp/gnus/starttls
/usr/local/share/xemacs/xemacs-packages/lisp/mail-lib/starttls
/usr/local/share/xemacs/site-packages/lisp/gnus/pop3
/usr/local/share/xemacs/xemacs-packages/lisp/mail-lib/pop3
/usr/local/share/xemacs/site-packages/lisp/gnus/dns-mode
/usr/local/share/xemacs/xemacs-packages/lisp/net-utils/dns-mode
/usr/local/share/xemacs/site-packages/lisp/gnus/dig
/usr/local/share/xemacs/xemacs-packages/lisp/net-utils/dig
/usr/local/share/xemacs/site-packages/lisp/gnus/dns
/usr/local/share/xemacs/xemacs-packages/lisp/net-utils/dns
/usr/local/share/xemacs/site-packages/lisp/gnus/pgg-gpg
/usr/local/share/xemacs/xemacs-packages/lisp/pgg/pgg-gpg
/usr/local/share/xemacs/site-packages/lisp/gnus/pgg
/usr/local/share/xemacs/xemacs-packages/lisp/pgg/pgg
/usr/local/share/xemacs/site-packages/lisp/gnus/pgg-parse
/usr/local/share/xemacs/xemacs-packages/lisp/pgg/pgg-parse
/usr/local/share/xemacs/site-packages/lisp/gnus/pgg-def
/usr/local/share/xemacs/xemacs-packages/lisp/pgg/pgg-def
/usr/local/share/xemacs/site-packages/lisp/gnus/pgg-pgp5
/usr/local/share/xemacs/xemacs-packages/lisp/pgg/pgg-pgp5
/usr/local/share/xemacs/site-packages/lisp/gnus/pgg-pgp
/usr/local/share/xemacs/xemacs-packages/lisp/pgg/pgg-pgp
/usr/local/share/xemacs/site-packages/lisp/gnus/sasl-ntlm
/usr/local/share/xemacs/xemacs-packages/lisp/sasl/sasl-ntlm
/usr/local/share/xemacs/site-packages/lisp/gnus/sasl-digest
/usr/local/share/xemacs/xemacs-packages/lisp/sasl/sasl-digest
/usr/local/share/xemacs/site-packages/lisp/gnus/hmac-md5
/usr/local/share/xemacs/xemacs-packages/lisp/sasl/hmac-md5
/usr/local/share/xemacs/site-packages/lisp/gnus/sasl-cram
/usr/local/share/xemacs/xemacs-packages/lisp/sasl/sasl-cram
/usr/local/share/xemacs/site-packages/lisp/gnus/sasl
/usr/local/share/xemacs/xemacs-packages/lisp/sasl/sasl
/usr/local/share/xemacs/site-packages/lisp/gnus/hmac-def
/usr/local/share/xemacs/xemacs-packages/lisp/sasl/hmac-def
/usr/local/share/xemacs/site-packages/lisp/gnus/ntlm
/usr/local/share/xemacs/xemacs-packages/lisp/sasl/ntlm
/usr/local/share/xemacs/mule-packages/lisp/mule-base/japan-util
/usr/local/share/xemacs-21.5-b29/lisp/mule/japan-util
/usr/local/share/xemacs/mule-packages/lisp/mule-base/china-util
/usr/local/share/xemacs-21.5-b29/lisp/mule/china-util
/usr/local/share/xemacs/mule-packages/lisp/mule-base/ethio-util
/usr/local/share/xemacs-21.5-b29/lisp/mule/ethio-util
/usr/local/share/xemacs/mule-packages/lisp/mule-base/korea-util
/usr/local/share/xemacs-21.5-b29/lisp/mule/korea-util
/usr/local/share/xemacs/mule-packages/lisp/mule-base/viet-util
/usr/local/share/xemacs-21.5-b29/lisp/mule/viet-util
/usr/local/share/xemacs/xemacs-packages/lisp/xemacs-base/regexp-opt
/usr/local/share/xemacs-21.5-b29/lisp/regexp-opt
/usr/local/share/xemacs/xemacs-packages/lisp/xemacs-base/easy-mmode
/usr/local/share/xemacs-21.5-b29/lisp/easy-mmode
/usr/local/share/xemacs/xemacs-packages/lisp/apel/alist
/usr/local/share/xemacs-21.5-b29/lisp/alist)
Internationalization Settings:
-------------------------
Environment:
Value of LC_ALL : nil
Value of LC_COLLATE : nil
Value of LC_CTYPE : nil
Value of LC_MESSAGES : nil
Value of LC_MONETARY : nil
Value of LC_NUMERIC : nil
Value of LC_TIME : nil
Value of LANG : en_US.UTF-8
Lisp locale settings:
current-language-environment => "English (UTF-8)"
default-buffer-file-coding-system => utf-8
default-process-coding-system => (undecided . utf-8)
(current-locale) => "en_US.UTF-8"
keyboard-coding-system => utf-8
terminal-coding-system => utf-8
(coding-priority-list) =>
(utf-8 iso-8-1 utf-16-little-endian-bom utf-16-bom utf-8-bom iso-7
no-conversion iso-8-2 iso-8-designate iso-lock-shift shift-jis
big5 utf-16-little-endian utf-16 ucs-4)
Coding system aliases:
'native is aliased to utf-8
'file-name is aliased to utf-8
'mswindows-multibyte-system-default is not a coding system alias
Installed XEmacs Packages:
-------------------------
(xwem ver: 1.23 upstream: lg(a)xwem.org--2005/xwem--main--2.1--versionfix-1)
(xslt-process ver: 1.12 upstream: 1.2.1)
(xslide ver: 1.09 upstream: 0.2.2)
(xlib ver: 1.14 upstream: lg(a)xwem.org--2005/xlib--main--2.1--version-0)
(xemacs-devel ver: 1.8 upstream: No-Upstream-Ver)
(xemacs-base ver: 2.27 upstream: No-Upstream-Ver)
(w3 ver: 1.35 upstream: 4.0pre47)
(vhdl ver: 1.22 upstream: 3.33.12)
(vc ver: 1.48 upstream: No-Upstream-Ver)
(tramp ver: 1.4 upstream: 2.0.56)
(time ver: 1.14 upstream: 1.17)
(text-modes ver: 1.98 upstream: No-Upstream-Ver)
(texinfo ver: 1.3 upstream: No-Upstream-Ver)
(supercite ver: 1.21 upstream: 3.55x3)
(strokes ver: 1.1 upstream: No-Upstream-Ver)
(sounds-wav ver: 1.12 upstream: No-Upstream-Ver)
(sounds-au ver: 1.12 upstream: No-Upstream-Ver)
(slider ver: 1.16 upstream: 0.3x1)
(sh-script ver: 1.24 upstream: 2.0f)
(sasl ver: 1.16 upstream: 1.14.4)
(rmail ver: 1.14 upstream: No-Upstream-Ver)
(reftex ver: 1.34 upstream: 4.21)
(re-builder ver: 1.05 upstream: 1.20)
(python-modes ver: 1.14 upstream: 5.0.0)
(psgml ver: 1.45 upstream: 1.3.2)
(ps-print ver: 1.12 upstream: 6.5.6)
(pgg ver: 1.07 upstream: 0.1)
(perl-modes ver: 1.14 upstream: No-Upstream-Ver)
(pcomplete ver: 1.06 upstream: 1.1.6)
(pcl-cvs ver: 1.7 upstream: R-2_9_9)
(pc ver: 1.28 upstream: No-Upstream-Ver)
(os-utils ver: 1.41 upstream: No-Upstream-Ver)
(net-utils ver: 1.56 upstream: N/A)
(mmm-mode ver: 1.05 upstream: 0.4.8)
(misc-games ver: 1.22 upstream: No-Upstream-Ver)
(mine ver: 1.16 upstream: 1.9)
(mailcrypt ver: 2.14 upstream: 3.5.8)
(mail-lib ver: 1.8 upstream: No-Upstream-Ver)
(ilisp ver: 1.36 upstream: 5.12.0)
(igrep ver: 1.16 upstream: 2.111)
(idlwave ver: 1.32 upstream: 5.1)
(ibuffer ver: 1.1 upstream: No-Upstream-Ver)
(hm--html-menus ver: 1.24 upstream: 5.9)
(gnats ver: 1.17 upstream: 3.101)
(general-docs ver: 1.06 upstream: No-Upstream-Ver)
(games ver: 1.2 upstream: 2.00)
(fsf-compat ver: 1.19 upstream: No-Upstream-Ver)
(footnote ver: 1.16 upstream: 0.18x)
(eudc ver: 1.4 upstream: 1.32)
(eterm ver: 1.18 upstream: No-Upstream-Ver)
(eshell ver: 1.18 upstream: 0fc80a3f6bb3bb59f42e9ff83cc8b89bf90fe658)
(elib ver: 1.13 upstream: 1.0)
(efs ver: 1.34 upstream: 1.24)
(edit-utils ver: 2.43 upstream: No-Upstream-Ver)
(ediff ver: 1.81 upstream: 2.75)
(edebug ver: 1.22 upstream: No-Upstream-Ver)
(ecrypto ver: 0.21 upstream: 2.0)
(ecb ver: 1.22 upstream: 2.31)
(docbookide ver: 0.08 upstream: 0.1)
(dired ver: 1.2 upstream: 7.17)
(debug ver: 1.18 upstream: No-Upstream-Ver)
(cookie ver: 1.15 upstream: No-Upstream-Ver)
(cc-mode ver: 1.45 upstream: 5.30.10)
(calendar ver: 1.38 upstream: No-Upstream-Ver)
(calc ver: 1.26 upstream: 2.02fX3)
(c-support ver: 1.22 upstream: No-Upstream-Ver)
(bbdb ver: 1.32 upstream: 2.35)
(auctex ver: 1.51 upstream: 11.84)
(apel ver: 1.34 upstream: 10.7)
(mule-base ver: 1.56 upstream: No-Upstream-Ver)
(leim ver: 1.31 upstream: No-Upstream-Ver)
(latin-euro-standards ver: 1.09 upstream: 1.09)
Installed Modules:
-----------------
Features:
--------
(mail-abbrevs xemacsbug shadow sendmail rfc822 xwem-autoloads
xslt-process-autoloads xslide-autoloads xlib-autoloads
xemacs-devel-autoloads xemacs-base-autoloads w3-autoloads
vhdl-autoloads vc-autoloads tramp-autoloads time-autoloads
text-modes-autoloads texinfo-autoloads supercite-autoloads
strokes-autoloads sounds-wav-autoloads sounds-au-autoloads
slider-autoloads sh-script-autoloads sasl-autoloads rmail-autoloads
reftex-autoloads re-builder-autoloads python-modes-autoloads
psgml-autoloads ps-print-autoloads prog-modes-autoloads pgg-autoloads
perl-modes-autoloads pcomplete-autoloads pcl-cvs-autoloads
pc-autoloads os-utils-autoloads net-utils-autoloads mmm-mode-autoloads
misc-games-autoloads mine-autoloads mailcrypt-autoloads
mail-lib-autoloads ilisp-autoloads igrep-autoloads idlwave-autoloads
ibuffer-autoloads hm--html-menus-autoloads gnats-autoloads
general-docs-autoloads games-autoloads fsf-compat-autoloads
footnote-autoloads eudc-autoloads eterm-autoloads eshell-autoloads
elib-autoloads efs-autoloads edit-utils-autoloads ediff-autoloads
edebug-autoloads ecrypto-autoloads ecb-autoloads docbookide-autoloads
dired-autoloads debug-autoloads cookie-autoloads cc-mode-autoloads
calendar-autoloads calc-autoloads c-support-autoloads bbdb-autoloads
tex-site auctex-autoloads apel-autoloads mule-base-autoloads
leim-autoloads latin-euro-standards-autoloads w3m-autoloads w3m-load
gnus-autoloads modules-autoloads mule-autoloads auto-autoloads
auto-show fontl-hooks canna-leim tibetan slovenian czech romanian lao
devanagari indian cyrillic code-cmds gutter-items menubar-items
x-menubar mode-motion mouse behavior itimer auto-save lisp-mode
easymenu easy-mmode iso8859-1 page buff-menu lib-complete loadhist
cus-file derived newcomment rsz-minibuf env text-props fontconfig
frame obsolete packages cus-start widget custom cl-extra cl cl-19
backquote unicode font-mgr athena-scrollbars cut-buffer xft-fonts
lucid-menubars athena-dialogs x c-balloon-help tty-frames tty toolbar
native-sound alsa-sound scrollbar unix-processes multicast
network-streams subprocesses modules menu-accelerator-support menubar
berkeley-db dbm md5 xemacs mule gutter tiff png jpeg xface xpm xbm
lisp-float-type file-coding linux dialog devices debug-xemacs
window-system base64)
Recent keystrokes:
-----------------
M-x r e p o r t TAB x e TAB RET
Recent messages (most recent first):
-----------------------------------
Loading xemacsbug...done
Loading xemacsbug...
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-beta