bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GC crash (compact_small_strings)


From: Steven Augart
Subject: GC crash (compact_small_strings)
Date: Wed, 27 Apr 2005 11:37:48 -0700 (PDT)

This bug report will be sent to the Free Software Foundation,
not to your local site managers!
Please write in English, because the Emacs maintainers do not have
translators to read other languages for them.

Your bug report will be posted to the bug-gnu-emacs@gnu.org mailing list,
and to the gnu.emacs.bug news group.

In GNU Emacs 21.4.1 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2005-04-26 on ucentric03_HD
configured using `configure  --with-x'
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: C
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8
  default-enable-multibyte-characters: t

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:

I've been running an Emacs 21.4 that I built myself on an x86 PC
running the Fedora Core variant of GNU/Linux.  In the course of
running a recursive Ediff, I seem to be repeatedly triggering a crash
with the following stack trace:

----begin trace
#2  0x080cdce4 in fatal_error_signal (sig=14734)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/emacs.c:354
#3  <signal handler called>
#4  compact_small_strings ()
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/alloc.c:1610
#5  0x0811372b in gc_sweep ()
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/alloc.c:4928
#6  0x081128b8 in Fgarbage_collect ()
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/alloc.c:4194
#7  0x081252b0 in Ffuncall (nargs=4, args=0xbfe6dd40)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2599
#8  0x0814c394 in Fbyte_code (bytestr=941798452, vector=3, 
    maxdepth=-1075389120)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/bytecode.c:716
#9  0x081254e9 in funcall_lambda (fun=1210233840, nargs=5, 
    arg_vector=0xbfe6de64)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2851
#10 0x081250ea in Ffuncall (nargs=6, args=0xbfe6de60)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2716
#11 0x0814c394 in Fbyte_code (bytestr=137121452, vector=5, 
    maxdepth=-1075388832)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/bytecode.c:716
#12 0x081254e9 in funcall_lambda (fun=1210234368, nargs=2, 
    arg_vector=0xbfe6df84)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2851
#13 0x081250ea in Ffuncall (nargs=3, args=0xbfe6df80)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2716
#14 0x0814c394 in Fbyte_code (bytestr=941799212, vector=2, 
    maxdepth=-1075388544)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/bytecode.c:716
#15 0x081254e9 in funcall_lambda (fun=1210234616, nargs=2, 
    arg_vector=0xbfe6e094)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2851
#16 0x081250ea in Ffuncall (nargs=3, args=0xbfe6e090)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2716
#17 0x0814c394 in Fbyte_code (bytestr=136772268, vector=2, 
    maxdepth=-1075388272)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/bytecode.c:716
#18 0x081254e9 in funcall_lambda (fun=1210253116, nargs=1, 
    arg_vector=0xbfe6e1d4)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2851
#19 0x081250ea in Ffuncall (nargs=2, args=0xbfe6e1d0)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2716
#20 0x08124eb0 in call1 (fn=-1742042636, arg1=-919783608)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2456
#21 0x080c5798 in x_create_tip_frame (dpyinfo=0x8f68920,
parms=1493283068, 
    text=958812084)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/xfns.c:10812
#22 0x080c5d3b in Fx_show_tip (string=958812084, frame=1224756896, 
    parms=1493283068, timeout=10, dx=5, dy=268435446)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/xfns.c:11007
#23 0x0812520e in Ffuncall (nargs=7, args=0xbfe6e3d4)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2675
#24 0x0814c394 in Fbyte_code (bytestr=137089556, vector=6, 
    maxdepth=-1075387440)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/bytecode.c:716
#25 0x081247ce in Feval (form=135796192)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2013
#26 0x0812359c in Fcondition_case (args=405207364)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:1211
#27 0x0814d36d in Fbyte_code (bytestr=943900260, vector=143, 
    maxdepth=-1075386816)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/bytecode.c:898
#28 0x081254e9 in funcall_lambda (fun=1212347216, nargs=1, 
    arg_vector=0xbfe6e754)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2851
#29 0x081250ea in Ffuncall (nargs=2, args=0xbfe6e750)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2716
#30 0x0814c394 in Fbyte_code (bytestr=943901292, vector=1, 
    maxdepth=-1075386544)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/bytecode.c:716
#31 0x081254e9 in funcall_lambda (fun=1212420752, nargs=1, 
    arg_vector=0xbfe6e958)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2851
#32 0x081250ea in Ffuncall (nargs=2, args=0xbfe6e954)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2716
#33 0x08124ccd in run_hook_with_args (nargs=2, args=0xbfe6e954, 
    cond=until_success)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2330
#34 0x08124bdb in Frun_hook_with_args_until_success (nargs=2,
args=0xbfe6e954)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2242
#35 0x08125290 in Ffuncall (nargs=3, args=0xbfe6e950)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2640
#36 0x0814c394 in Fbyte_code (bytestr=943900436, vector=2, 
    maxdepth=-1075386032)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/bytecode.c:716
#37 0x081254e9 in funcall_lambda (fun=1212412096, nargs=1, 
    arg_vector=0xbfe6eb18)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2851
#38 0x081250ea in Ffuncall (nargs=2, args=0xbfe6eb14)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2716
#39 0x08124aa9 in Fapply (nargs=2, args=0xbfe6eb14)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2169
#40 0x08125290 in Ffuncall (nargs=3, args=0xbfe6eb10)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2640
#41 0x0814c394 in Fbyte_code (bytestr=941889784, vector=2, 
    maxdepth=-1075385584)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/bytecode.c:716
#42 0x081247ce in Feval (form=135796192)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2013
#43 0x0812359c in Fcondition_case (args=405207364)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:1211
#44 0x0814d36d in Fbyte_code (bytestr=138601988, vector=143, 
    maxdepth=-1075384976)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/bytecode.c:898
#45 0x081254e9 in funcall_lambda (fun=1210324964, nargs=1, 
    arg_vector=0xbfe6eeb4)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2851
#46 0x081250ea in Ffuncall (nargs=2, args=0xbfe6eeb0)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2716
#47 0x08124eb0 in call1 (fn=-1742221804, arg1=-920505880)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:2456
#48 0x080d438c in timer_check (do_it_now=1)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/keyboard.c:4103
#49 0x080d32a5 in readable_events (do_timers_now=1766596640)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/keyboard.c:3181
#50 0x080d6081 in get_input_pending (addr=0x8267e04, do_timers_now=1)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/keyboard.c:6060
#51 0x080da987 in detect_input_pending_run_timers (do_display=1)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/keyboard.c:9473
#52 0x08150ad5 in wait_reading_process_input (time_limit=30, microsecs=0,

    read_kbd=268435455, do_display=1)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/process.c:2687
#53 0x0805680c in sit_for (sec=30, usec=0, reading=1, display=1, 
    initial_display=0)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/dispnew.c:6240
#54 0x080d2928 in read_char (commandflag=1, nmaps=2, maps=0xbfe6f340, 
    prev_event=405207364, used_mouse_menu=0xbfe6f378)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/keyboard.c:2518
#55 0x080d8601 in read_key_sequence (keybuf=0xbfe6f4a0, bufsize=30, 
    prompt=405207364, dont_downcase_last=0, can_return_switch_frame=1, 
    fix_current_buffer=1)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/keyboard.c:8209
#56 0x080d0584 in command_loop_1 ()
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/keyboard.c:1451
#57 0x08123696 in internal_condition_case (bfun=0x80d039c
<command_loop_1>, 
    handlers=405303708, hfun=0x80cffc0 <cmd_error>)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:1267
#58 0x080d0272 in command_loop_2 ()
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/keyboard.c:1245
#59 0x08123251 in internal_catch (tag=208, func=0x80d0254
<command_loop_2>, 
    arg=405207364) at
/home/saugart/Downloads/Emacs/emacs-21.4/src/eval.c:1030
#60 0x080d0228 in command_loop ()
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/keyboard.c:1224
#61 0x080cfd90 in recursive_edit_1 ()
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/keyboard.c:950
#62 0x080cfeac in Frecursive_edit ()
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/keyboard.c:1006
#63 0x080ce969 in main (argc=2, argv=0xbfe6faa4, envp=0xbfe6fab0)
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/emacs.c:1547
-----end trace

When I go back to the same spot to run "Ediff" again, I get the crash
again.  Similar crashes were happening to me under Emacs 21.3, as well
(although the build of Emacs I was running did not have enough
debugging symbols for me to be able to look at the source code and
confirm that it was crashing in the same place), so I build Emacs 21.4
from scratch in the hope that I could at least send some useful
debugging info.

I expect that I could easily re-trigger the bug if I'd be able to grab
additional helpful information from doing so.

Here's some more info from my interaction with GDB:

----- begin GDB interactin
(gdb) up
#4  compact_small_strings ()
    at /home/saugart/Downloads/Emacs/emacs-21.4/src/alloc.c:1610
1610                nbytes = GC_STRING_BYTES (from->string);
(gdb) list
1605                  && GC_STRING_BYTES (from->string) != SDATA_NBYTES
(from))
1606                abort ();
1607    #endif /* GC_CHECK_STRING_BYTES */
1608              
1609              if (from->string)
1610                nbytes = GC_STRING_BYTES (from->string);
1611              else
1612                nbytes = SDATA_NBYTES (from);
1613              
1614              nbytes = SDATA_SIZE (nbytes);
(gdb) print from
$1 = (struct sdata *) 0x93210cc
(gdb) print from->string
$2 = (struct Lisp_String *) 0x694c2020
(gdb) print from->string->size_byte
Cannot access memory at address 0x694c2024
(gdb) print from->string->size
Cannot access memory at address 0x694c2020
(gdb) print end
$3 = (struct sdata *) 0x9322654
(gdb) print b
$4 = (struct sblock *) 0x9320668
(gdb) print b->first_data
$5 = {string = 0x0, u = {data = "\031", nbytes = 25}}
(gdb) print &b->first_data
$6 = (struct sdata *) 0x9320670
(gdb) 

----- end GDB interaction

I have defined GC_CHECK_STRING_BYTES in lisp.h and am recompiling
Emacs.  If someone wants to take this bug on, please let me know, and
I'll be glad to help work on it however I can.

Thanks for your work on Emacs.

--Steven Augart


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]