Bugzilla – Bug 131092
XEmacs crashing using c++ mode
Last modified: 2006-03-08 16:58:43 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
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 ()
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.