Re: SIGSEGV -- redisplay bug

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Re: SIGSEGV -- redisplay bug

Alex Schroeder-2
This old bug keeps hitting me every now and then.  I recently switched
from the pretest to Emacs CVS, and thought I'd mention it again.
Since Emacs is the only application that keeps crashing on me from
time to time, I don't assume that it is a hardware bug.  Compiler bug
maybe...  Perhaps it would be interesting to see if anybody uses the
same configuration as I do?  I have attached my config.log output, if
anybody is interested.  It seems that I am using gcc version 2.95.4
20011002 (Debian prerelease).  Perhaps I should use another one?  Or
perhaps I should not be using -O2?  I think this will be the next
thing to do -- to switch off optimization and see whether that
changes anything.


Richard Stallman <[hidden email]> writes:

> Since area is in a register, we know they cannot alias.
> At this point, I am almost convinced it has to be a hardware fault (or
> maybe a kernel bug that affects process switching).  However, I think
> someone would have to study the assembler language before really
> believing this conclusion, because there is also the chance it could
> be a compiler bug.

Program received signal SIGSEGV, Segmentation fault.
0x08050a2a in increment_row_positions (row=0x92bcb6c, delta=1, delta_bytes=1) at dispnew.c:1186
1186          if (BUFFERP (row->glyphs[area][i].object)
(gdb) bt
#0  0x08050a2a in increment_row_positions (row=0x92bcb6c, delta=1, delta_bytes=1) at dispnew.c:1186
#1  0x08050226 in increment_matrix_positions (matrix=0x8fc0f60, start=44, end=73, delta=1, delta_bytes=1) at dispnew.c:925
#2  0x0806b2b6 in redisplay_internal (preserve_echo_area=0) at xdisp.c:9828
#3  0x0806a59c in redisplay () at xdisp.c:9397
#4  0x080d8265 in read_char (commandflag=1, nmaps=4, maps=0xbffff540, prev_event=405470628, used_mouse_menu=0xbffff58c) at keyboard.c:2473
#5  0x080def20 in read_key_sequence (keybuf=0xbffff690, bufsize=30, prompt=405470628, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1)
    at keyboard.c:8585
#6  0x080d6744 in command_loop_1 () at keyboard.c:1502
#7  0x0812b71d in internal_condition_case (bfun=0x80d6430 <command_loop_1>, handlers=405567236, hfun=0x80d6034 <cmd_error>) at eval.c:1351
#8  0x080d62f8 in command_loop_2 () at keyboard.c:1290
#9  0x0812b295 in internal_catch (tag=405528540, func=0x80d62d4 <command_loop_2>, arg=405470628) at eval.c:1112
#10 0x080d62a3 in command_loop () at keyboard.c:1269
#11 0x080d5df8 in recursive_edit_1 () at keyboard.c:985
#12 0x080d5f20 in Frecursive_edit () at keyboard.c:1041
#13 0x080d4dc3 in main (argc=3, argv=0xbffffc54) at emacs.c:1659
(gdb) p area
$1 = 3935612
(gdb) p i
$2 = 158
(gdb) p row  
$3 = (struct glyph_row *) 0x92bcb6c
(gdb) p row->used
$4 = {0, 159, 0}
(gdb) i ad area
Symbol "area" is a variable in register edx.

In GNU Emacs (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2003-04-09 on confusibombus
Important settings:
  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.ISO-8859-1
  locale-coding-system: iso-latin-1
  default-enable-multibyte-characters: t

config.log (56K) Download Attachment