Bug 131092 - XEmacs crashing using c++ mode
Summary: XEmacs crashing using c++ mode
Status: RESOLVED WORKSFORME
Alias: None
Product: SUSE LINUX 10.0
Classification: openSUSE
Component: X11 Applications (show other bugs)
Version: Final
Hardware: i686 SuSE Linux 10.0
: P5 - None : Normal
Target Milestone: ---
Assignee: Mike Fabian
QA Contact: Stefan Dirsch
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-10-27 17:47 UTC by Ulrich Müller
Modified: 2006-03-08 16:58 UTC (History)
0 users

See Also:
Found By: Customer
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ulrich Müller 2005-10-27 17:47:14 UTC
I can easily crash the XEmacs using this ~/.xemacs/custom.el

> (load "completion")
> (initialize-completions)
>
> (load "font-lock")

along with an empty ~/.xemacs/init.el

* Invoke xemacs (with or without -nw)
* Open a file (C-x C-f): foo.cc
* Now it should be in c++-mode 'C++ Font Abbrev'
* Now write: #include <iostream
* When typing the final '>' it crashes (classic SIGSEGV)


I can reproduce this behavior on all machines running SUSE 10.0 (all were clean installs)

Here are the the xemacs packages used (from the commercial german version)

61bd588eb50e945b8ada62b33c5bcdc8  xemacs-21.5.21.20050721-4.i586.rpm
4655f10ae35f0def59404709f9c9dd18  xemacs-el-21.5.21.20050721-4.i586.rpm
ef85ac87245b181dd106afd3dd742e18  xemacs-info-21.5.21.20050721-4.i586.rpm
14f53b08026a8adb0c1142b8d2f79754  xemacs-packages-20050715-3.noarch.rpm
d9b79ef49977e582b9249fe9bb89c819  xemacs-packages-el-20050715-3.noarch.rpm
8a8bca95841129ae1ebcd784034bba4d  xemacs-packages-info-20050715-3.noarch.rpm

This is the xemacs trace:


 # (unwind-protect ...)
  # (unwind-protect ...)
  # (unwind-protect ...)
  # (unwind-protect ...)
  # (unwind-protect ...)
  # (unwind-protect ...)
  # (unwind-protect ...)
  set-extent-properties(#<extent [14, 15) syntax-table 0x8812d98 in buffer foo.c
c> (syntax-table (4 . ?>) start-open t end-open t))
  # bind (ext value property pos)
  c-put-char-property-fun(14 syntax-table (4 . ?>))
  # bind (pos beg-pos end-pos limit)
  #<compiled-function (limit) "...(50)" [c->-as-paren-syntax c-<-as-paren-syntax
 ext beg-pos end-pos pos 8 ?> c-put-char-property-fun syntax-table extent-at nil
 delete-extent] 5>(16)
  # (unwind-protect ...)
  # bind (match-data matcher lowdarks highlights pre-match-value keywords limit 
highlights matcher keyword nkeywords iter old-progress progress bufname keywords
 case-fold-search loudly loudvar end start)
  font-lock-fontify-keywords-region(5 17 nil)
  # (unwind-protect ...)
  # bind (modified buffer-undo-list inhibit-read-only old-syntax-table buffer-fi
le-name buffer-file-truename loudly end beg)
  font-lock-default-fontify-region(5 17 nil)
  # bind (loudly end beg)
  font-lock-fontify-region(5 17)
  # bind (val end beg)
  #<compiled-function (beg end val) "...(5)" [end beg font-lock-fontify-region] 
3>(5 17 t)
  map-range-table(#<compiled-function (beg end val) "...(5)" [end beg font-lock-
fontify-region] 3> #<range-table [5 17) t 0x20cd>)
  # (unwind-protect ...)
  # (unwind-protect ...)
  # (unwind-protect ...)
  # bind (dummy buffer)
  #<compiled-function (buffer dummy) "...(47)" [font-lock-pending-buffer-table f
ont-lock-range-table buffer remhash buffer-live-p clear-range-table map-extents 
#<compiled-function (ex dummy-maparg) "...(32)" [font-lock-range-table ex end be
g extent-start-position extent-end-position 0 1 put-range-table t] 5> nil font-l
ock-pending t put-text-property map-range-table #<compiled-function (beg end val
) "...(5)" [end beg font-lock-fontify-region] 3>] 9>(#<buffer "foo.cc"> t)
  # (unwind-protect ...)
  maphash(#<compiled-function (buffer dummy) "...(47)" [font-lock-pending-buffer
-table font-lock-range-table buffer remhash buffer-live-p clear-range-table map-
extents #<compiled-function (ex dummy-maparg) "...(32)" [font-lock-range-table e
x end beg extent-start-position extent-end-position 0 1 put-range-table t] 5> ni
l font-lock-pending t put-text-property map-range-table #<compiled-function (beg
 end val) "...(5)" [end beg font-lock-fontify-region] 3>] 9> #<hash-table size 0
/29 weakness key 0x20cb>)
 # (unwind-protect ...)
  # bind (match-data)
  font-lock-fontify-pending-extents()
  #<compiled-function nil "...(10)" [font-lock-pending-buffer-table hash-table-c
ount 0 font-lock-fontify-pending-extents] 2>()
  # (unwind-protect ...)
  call-with-condition-handler(#<compiled-function (__call_trapping_errors_arg__)
 "...(17)" [__call_trapping_errors_arg__ errstr error-message-string lwarn gener
al warning "Error in %s: %s\n\nBacktrace follows:\n\n%s" "unknown" backtrace-in-
condition-handler-eliminating-handler] 8> #<compiled-function nil "...(10)" [fon
t-lock-pending-buffer-table hash-table-count 0 font-lock-fontify-pending-extents
] 2>)
  # (condition-case ... . ((error)))
  font-lock-pre-idle-hook()
  # (unwind-protect ...)
  # (catch #<INTERNAL OBJECT (XEmacs bug?) (opaque, size=0) 0x407f5ca8> ...)
  # (unwind-protect ...)
  # (unwind-protect ...)
  # bind (inhibit-quit)
  # (unwind-protect ...)
  # (unwind-protect ...)
  # bind (inhibit-quit)
  # (condition-case ... . error)
  # (catch top-level ...)

Segmentation fault
Comment 1 Ulrich Müller 2005-10-30 06:45:44 UTC

Here is the stack trace from the core dump:

#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb7941886 in kill () from /lib/tls/libc.so.6
#2  0x080be12b in fatal_error_signal ()
#3  <signal handler called>
#4  0x0814a739 in byte_marker_position ()
#5  0x081a572d in signal_syntax_table_extent_changed ()
#6  0x080e7198 in Fextent_property ()
#7  0x080ecdaf in Fset_extent_property ()
#8  0x080ed960 in Fset_extent_properties ()
#9  0x080c57e0 in Ffuncall ()
#10 0x080993ca in execute_optimized_program ()
#11 0x080c5b57 in Ffuncall ()
#12 0x080993ca in execute_optimized_program ()
#13 0x080c5b57 in Ffuncall ()
#14 0x080993ca in execute_optimized_program ()
#15 0x080c5b57 in Ffuncall ()
#16 0x080993ca in execute_optimized_program ()
#17 0x080c5b57 in Ffuncall ()
#18 0x080993ca in execute_optimized_program ()
#19 0x080c5b57 in Ffuncall ()
#20 0x080993ca in execute_optimized_program ()
#21 0x080c5b57 in Ffuncall ()
#22 0x0816f5ce in Fmap_range_table ()
#23 0x080c57e0 in Ffuncall ()
#24 0x080993ca in execute_optimized_program ()
#25 0x080c5b57 in Ffuncall ()
#26 0x080bcb7e in Fmaphash ()
#27 0x080c57e0 in Ffuncall ()
#28 0x080993ca in execute_optimized_program ()
#29 0x080c5b57 in Ffuncall ()
#30 0x080993ca in execute_optimized_program ()
#31 0x080c5b57 in Ffuncall ()
#32 0x080cacec in Fcall_with_condition_handler ()
#33 0x080c4b9c in Feval ()
#34 0x080c79a4 in condition_case_1 ()
#35 0x080ca6c4 in condition_case_3 ()
#36 0x08099014 in execute_rare_opcode ()
#37 0x08099ca3 in execute_optimized_program ()
#38 0x080c5b57 in Ffuncall ()
#39 0x080c61b3 in run_hook_with_args_in_buffer ()
#40 0x080c63d8 in run_hook_with_args ()
#41 0x080c63ff in run_hook ()
#42 0x080c6421 in run_hook ()
#43 0x080c7843 in call_with_condition_handler ()
#44 0x080c7886 in call_with_condition_handler ()
#45 0x080c228f in internal_catch ()
#46 0x080c8193 in call_trapping_problems ()
#47 0x080c867c in safe_run_hook_trapping_problems ()
#48 0x080d2634 in run_pre_idle_hook ()
#49 0x0818035b in redisplay ()
#50 0x080d6790 in Fnext_event ()
#51 0x080a441f in Fcommand_loop_1 ()
#52 0x080a44e9 in Fcommand_loop_1 ()
#53 0x080c79a4 in condition_case_1 ()
#54 0x080a40ac in Freally_early_error_handler ()
#55 0x080c228f in internal_catch ()
#56 0x080a41bd in initial_command_loop ()
#57 0x080bfd88 in xemacs_21_5_b21_i386_suse_linux ()
#58 0x080c09a4 in main ()
Comment 2 Mike Fabian 2006-03-08 16:58:43 UTC
I cannot reproduce this.

Neither with xemacs-21.5.21.20050721 (as distributed with SuSE Linux
10.0), nor with the updated packages from

   ftp://ftp.suse.com/pub/projects/m17n/10.0/RPMS/i586/xemacs-21.5.24-0.1.i586.rpm

(also tested on SuSE Linux 10.0) nor with XEmacs 21.5.25 tested on SuSE Linux 10.1 Beta.

As I cannot reproduce this at all, I have to close it as WORKSFORME.