Subject: bug#9723: 24.0.50; Emacs Clipboard crash

From: Joseph Jones <[email-masked]>
Date: Sun, 12 Feb 2012 12:04:33 -0800

I have something better for you now that I can repro this reliably.

1) Make sure you have a text file > 6500 (do 7000 just to be sure) lines with lines > width of the display (i.e. would wrap normally)
2) Put ONLY this in your .emacs

;; linum
(setq-default truncate-lines t)
(require 'linum)
(global-linum-mode 1)

3) Open up a cmd shell and run Emacs -nw
4) M-x shell
5) run "type (your file from 1)"

Should crash around 6500 lines every time. Note this is on Win Server 2003 sp2 64bit running in a 64bit command shell.

-----Original Message-----
From: Eli Zaretskii [mailto:[email-masked]] 
Sent: Sunday, February 12, 2012 8:40 AM
To: Joseph Jones
Cc: [email-masked]
Subject: Re: bug#9723: 24.0.50; Emacs Clipboard crash

> From: Joseph Jones <[email-masked]>
> CC: "[email-masked]" <[email-masked]>
> Date: Sat, 11 Feb 2012 17:50:41 -0800
> 
> *** Open Emacs in an NT cmd shell prompt. In Emacs, open up a cmd shell prompt. Start something that will cause a huge amount of text and scrolling. I run a build in the command prompt and then just wait for it to crash.

Any estimation of the length of output that is needed to have a crash?
Also, would just "type LARGE_SOME_FILE" do, for example?

> > #0  0x01259f9f in append_glyph (it=0x82ad3c) at term.c:1491
> 
> In this frame #0 of thread 1, what do the following commands produce?
> 
>   (gdb) print glyph
>   (gdb) print i
>   (gdb) print it->area
>   (gdb) print it->glyph_row->used[it->area]
> 
> ***
> (gdb) f 0
> #0  0x01259f9f in append_glyph (it=0x82acec) at term.c:1491
> 1491    in term.c
> (gdb) print glyph
> $1 = (struct glyph *) 0x0
> (gdb) print i
> $2 = 0
> (gdb) print it->area
> $3 = LEFT_MARGIN_AREA

This doesn't make any sense.  Maybe again some snafu with frame dimensions?

Please type "source .gdbinit" (unless you started GDB from a directory where that file lives), and then go to this frame:

  #4  0x012125ec in display_line (it=0x82c890) at xdisp.c:19369

and type these commands:

  (gdb) pit
  (gdb) print *it->w
  (gdb) pmtxrows it->w->current_matrix