core dump after 2006-11-06

Ilya N. Golubev gin
Tue Nov 7 14:28:49 EST 2006


Observing what is described in <82y7qnfa4w.fsf at mo.msk.ru> (<unicode
jit emchars broken>) even to induce crash as follows.

Fatal error: assertion failed, file xemacs-local-21.5/src/eval.c, line 2242, !gc_in_progress

#6  0x080ead01 in assert_failed (
    file=0x8311520 "xemacs-local-21.5/src/eval.c", line=2242, 
    expr=0x830445c "!gc_in_progress")
    at xemacs-local-21.5/src/emacs.c:4000
#7  0x080f0079 in Fsignal (error_symbol=138012176, data=147893796)
    at xemacs-local-21.5/src/eval.c:2242
#8  0x080f04f9 in signal_error_1 (sig=138012176, data=147893796)
    at xemacs-local-21.5/src/eval.c:2420
#9  0x080f06bf in signal_error (type=138012176, 
    reason=0x8326b40 "Invalid value for `ccl-program'", frob=137772656)
    at xemacs-local-21.5/src/eval.c:2531
#10 0x080f0d29 in invalid_argument (
    reason=0x8326b40 "Invalid value for `ccl-program'", frob=137772656)
    at xemacs-local-21.5/src/eval.c:2887
#11 0x081e6492 in Fmake_charset (name=148796932, doc_string=148382252, 
    props=147879268)
    at xemacs-local-21.5/src/mule-charset.c:595
#12 0x082a864e in unicode_to_ichar (code=4315, charsets=0x85fee80)
    at xemacs-local-21.5/src/lisp.h:2917
#13 0x082a9bdf in decode_unicode_char (ch=6, dst=0x90c5110, data=0x90c6778, 
    ignore_bom=0) at xemacs-local-21.5/src/unicode.c:1712
#14 0x082abb92 in unicode_convert (str=0x8eac8c8, src=0x90c496b "@\210\"`@", 
    dst=0x90c5110, n=0) at xemacs-local-21.5/src/unicode.c:1911
#15 0x08141888 in coding_writer (stream=0x8eac880, 
    data=0x90c4968 "\341\203\233", size=3)
    at xemacs-local-21.5/src/file-coding.h:211
#16 0x081d42cb in Lstream_really_write (lstr=0x8eac880, 
    data=0x90c4968 "\341\203\233", size=3)
    at xemacs-local-21.5/src/lstream.c:380
#17 0x081d4457 in Lstream_flush_out (lstr=0x8eac880)
    at xemacs-local-21.5/src/lstream.c:418
#18 0x081d44b0 in Lstream_flush (lstr=0x8eac880)
    at xemacs-local-21.5/src/lstream.c:443
#19 0x081d4e19 in Lstream_close (lstr=0x8eac880)
    at xemacs-local-21.5/src/lstream.c:816
#20 0x081d3e7e in finalize_lstream (header=0x8eac880, for_disksave=0)
    at xemacs-local-21.5/src/lstream.c:95
#21 0x08095f84 in sweep_lcrecords_1 (prev=0x87afe10, used=0xbfffeb84)
    at xemacs-local-21.5/src/alloc.c:3495
#22 0x08097e24 in gc_sweep_1 ()
    at xemacs-local-21.5/src/alloc.c:4267
#23 0x08172003 in garbage_collect_1 ()
    at xemacs-local-21.5/src/gc.c:2024
#24 0x0809855a in Fgarbage_collect ()
    at xemacs-local-21.5/src/alloc.c:4608

  # (unwind-protect ...)
  # (unwind-protect ...)
  # (unwind-protect ...)
  # (unwind-protect ...)
  # (unwind-protect ...)
  # (unwind-protect ...)
  # (unwind-protect ...)
  ("(in garbage collection)" "[internal]")
  # (unwind-protect ...)
  garbage-collect()
  # bind (idle-time buf-size delay-level now delay)
  auto-save-itimer()
  # bind (time-elapsed itimers itimer next-wakeup last-event-time this-command inhibit-quit quit-flag current-itimer)
  # (unwind-protect ...)
  # bind (match-data)
  byte-code("..." [this-command inhibit-quit quit-flag match-data itimer current-itimer match-data ((store-match-data match-data)) nil itimer-uses-arguments apply itimer-function itimer-function-arguments last-event-time next-wakeup itimers time-elapsed] 5)
  # (condition-case ... . ((error (byte-code "" [condition-data itimer message "itimer \"%s\" signaled: %s" itimer-name prin1-to-string] 5)) (quit (byte-code "" [itimer message "itimer \"%s\" quit" itimer-name] 4))))
  # (unwind-protect ...)
  # bind (itimers itimer next-wakeup idle-time last-event-time recorded-run-time inhibit-quit time-elapsed)
  itimer-run-expired-timers(0.001929)
  # bind (sleep elapsed now itimer-inside-driver inhibit-quit ignored)
  itimer-timer-driver(nil)
  ("execute_internal_event()" "[internal]")
  (dispatch-event "[internal]")
  # (condition-case ... . error)
  # (catch top-level ...)

That is, unconverted utf-8 representation remains in internal buffer
of coding lstream.  When gc occurs, it tries to finalize that lstream,
that tries to complete conversion, that signals the same error.
Signalling error while gc is considered assertion failure.

Please fix as described in <unicode jit emchars broken>.

Still having core file.  Will send additional details on request.



More information about the XEmacs-Beta mailing list