unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* GNU NT-Emacs crashes with longlines-mode and outline-mode
@ 2007-09-22  7:22 Rainer Thiel
  2007-09-23  0:19 ` Jason Rumney
  2007-09-23 22:11 ` GNU Emacs " Jason Rumney
  0 siblings, 2 replies; 16+ messages in thread
From: Rainer Thiel @ 2007-09-22  7:22 UTC (permalink / raw)
  To: emacs-pretest-bug

Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.

Your bug report will be posted to the emacs-pretest-bug@gnu.org mailing list.

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

I am using GNU Emacs 22.1.50.1 under Windows XP.  When I use
longlines-mode and outline-mode with invisible long lines in the same file,
Emacs crashes and the following message is displayed (by Windows, I
assume): 'GNU Emacs for Windows NT/95/98/ME/XP hat ein Problem
festgestellt und muss beendet werden.'  Which translates to about: 'GNU
Emacs for Windows NT/95/98/ME/XP has detected a problem and must be
closed.'

I can reproduce the problem with the following file:

----------,
-*- mode: text; mode: outline -*-

* One chapter

Some text. Some text that must be longer than one line, to test if
Emacs really fails to handle outline mode and longlines-mode together.
----------´

[last paragraph is supposed to be one long line, but may be wrapped by
my mail client.

When I load the file, I can only see

---,
-*- mode: text; mode: outline -*-

* One chapter...
---´

as expected.  When I now press M-x longlines-mode<RET>, the crash occurs.

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
c:/Programme/emacs/etc/DEBUG for instructions.


In GNU Emacs 22.1.50.1 (i386-mingw-nt5.1.2600)
 of 2007-07-07 on NEUTRINO
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4) --cflags
-Ic:/Programme/GnuWin32/include'

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: DEU
  locale-coding-system: cp1252
  default-enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  show-paren-mode: t
  recentf-mode: t
  partial-completion-mode: t
  global-auto-revert-mode: t
  display-time-mode: t
  shell-dirtrack-mode: t
  cua-mode: t
  encoded-kbd-mode: t
  tooltip-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  unify-8859-on-encoding-mode: t
  utf-translate-cjk-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-x 1 <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <menu-bar> <help-menu> <report-emacs-b
ug>

Recent messages:
Loading autorevert...done
Loading ido...done
Loading avoid...done
Loading complete...done
Loading recentf...done
Loading paren...done
Loading d:/Eigene-Dateien/.recentf...done
Cleaning up the recentf list...done (0 removed)
For information about the GNU Project and its goals, type C-h C-p. [2 times]
Loading emacsbug...done
-- 
Prof. Dr. Rainer Thiel
Institut für Altertumswissenschaften
07737 Jena, Germany (EU)
r.thiel@uni-jena.de

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU NT-Emacs crashes with longlines-mode and outline-mode
  2007-09-22  7:22 GNU NT-Emacs crashes with longlines-mode and outline-mode Rainer Thiel
@ 2007-09-23  0:19 ` Jason Rumney
  2007-09-23 22:11 ` GNU Emacs " Jason Rumney
  1 sibling, 0 replies; 16+ messages in thread
From: Jason Rumney @ 2007-09-23  0:19 UTC (permalink / raw)
  To: r.thiel; +Cc: emacs-pretest-bug

Rainer Thiel wrote:
> When I load the file, I can only see
>
> ---,
> -*- mode: text; mode: outline -*-
>
> * One chapter...
> ---´
>
> as expected.
What settings do you have that cause this behaviour? The default for
outline-mode is to show everything.

>   When I now press M-x longlines-mode<RET>, the crash occurs.
>
>
> In GNU Emacs 22.1.50.1 (i386-mingw-nt5.1.2600)
>  of 2007-07-07 on NEUTRINO
>   
I can't reproduce this bug on 21.1, the current Emacs 22 branch, or the
current trunk, even after adding an extra step to hide the body of "One
chapter" before enabling longlines-mode. It may have been a temporary
bug present in CVS around 7 July, or it may be due to your settings.
Please try to reproduce it after starting Emacs with the -Q option, and
document everything you need to do to trigger the bug.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs crashes with longlines-mode and outline-mode
  2007-09-22  7:22 GNU NT-Emacs crashes with longlines-mode and outline-mode Rainer Thiel
  2007-09-23  0:19 ` Jason Rumney
@ 2007-09-23 22:11 ` Jason Rumney
  2007-09-24  6:10   ` David Kastrup
  2007-09-24 23:17   ` Jason Rumney
  1 sibling, 2 replies; 16+ messages in thread
From: Jason Rumney @ 2007-09-23 22:11 UTC (permalink / raw)
  To: r.thiel; +Cc: emacs-pretest-bug

Rainer Thiel wrote:
> I can reproduce the problem with the following file:
>
> ----------,
> -*- mode: text; mode: outline -*-
>
> * One chapter
>
> Some text. Some text that must be longer than one line, to test if
> Emacs really fails to handle outline mode and longlines-mode together.
> ----------´
>
> [last paragraph is supposed to be one long line, but may be wrapped by
> my mail client.
>
> When I load the file, I can only see
>
> ---,
> -*- mode: text; mode: outline -*-
>
> * One chapter...
> ---
>   

To reproduce this, the following is required:
(setq longlines-show-hard-newlines t)

C-c l after the file above is visited.

> as expected.  When I now press M-x longlines-mode<RET>, the crash occurs.
>   

I can reproduce this crash on both Windows XP and GNU/Linux.

The crash occurs in next_element_from_display_vector in xdisp.c (line
5961 in my current trunk sandbox), because it->dpvec is NULL and we try
to take its address. There is an xassert at the beginning of the
function that should catch this, but it must be compiled out in my
build.     

Emacs crashes in the same place regardless of whether longlines-mode is
enabled before or after the C-c l in the outline buffer, and regardless
of whether there are long lines in the buffer (the important things seem
to be longlines-show-hard-newlines and hidden text containing a hard
newline).

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs crashes with longlines-mode and outline-mode
  2007-09-23 22:11 ` GNU Emacs " Jason Rumney
@ 2007-09-24  6:10   ` David Kastrup
  2007-09-24  6:53     ` Glenn Morris
  2007-09-24  7:03     ` Jason Rumney
  2007-09-24 23:17   ` Jason Rumney
  1 sibling, 2 replies; 16+ messages in thread
From: David Kastrup @ 2007-09-24  6:10 UTC (permalink / raw)
  To: Jason Rumney; +Cc: emacs-pretest-bug, r.thiel

Jason Rumney <jasonr@gnu.org> writes:

> To reproduce this, the following is required:
> (setq longlines-show-hard-newlines t)
>
> C-c l after the file above is visited.
>
>> as expected.  When I now press M-x longlines-mode<RET>, the crash occurs.
>>   
>
> I can reproduce this crash on both Windows XP and GNU/Linux.
>
> The crash occurs in next_element_from_display_vector in xdisp.c (line
> 5961 in my current trunk sandbox), because it->dpvec is NULL and we try
> to take its address. There is an xassert at the beginning of the
> function that should catch this, but it must be compiled out in my
> build.

Have you compiled with -fno-thread-jumps?  Because otherwise the stack
traceback from failed assertions will be nonsense since gcc will reuse
the same abort call for every assertion.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs crashes with longlines-mode and outline-mode
  2007-09-24  6:10   ` David Kastrup
@ 2007-09-24  6:53     ` Glenn Morris
  2007-09-24  7:52       ` David Kastrup
  2007-09-24  7:03     ` Jason Rumney
  1 sibling, 1 reply; 16+ messages in thread
From: Glenn Morris @ 2007-09-24  6:53 UTC (permalink / raw)
  To: David Kastrup; +Cc: emacs-pretest-bug, r.thiel, Jason Rumney

David Kastrup wrote:

> Have you compiled with -fno-thread-jumps?  Because otherwise the stack
> traceback from failed assertions will be nonsense since gcc will reuse
> the same abort call for every assertion.

Please could you document this incantation, together with an
explanation, somewhere in the information on debugging Emacs. Thanks.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs crashes with longlines-mode and outline-mode
  2007-09-24  6:10   ` David Kastrup
  2007-09-24  6:53     ` Glenn Morris
@ 2007-09-24  7:03     ` Jason Rumney
  2007-09-24 10:47       ` Jason Rumney
  1 sibling, 1 reply; 16+ messages in thread
From: Jason Rumney @ 2007-09-24  7:03 UTC (permalink / raw)
  To: David Kastrup; +Cc: emacs-pretest-bug, r.thiel

David Kastrup wrote:
> Have you compiled with -fno-thread-jumps?  Because otherwise the stack
> traceback from failed assertions will be nonsense since gcc will reuse
> the same abort call for every assertion.
>   

My development versions are unoptimised because of this and other
debugging problems.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs crashes with longlines-mode and outline-mode
  2007-09-24  6:53     ` Glenn Morris
@ 2007-09-24  7:52       ` David Kastrup
  2007-09-24 19:14         ` Glenn Morris
  0 siblings, 1 reply; 16+ messages in thread
From: David Kastrup @ 2007-09-24  7:52 UTC (permalink / raw)
  To: Glenn Morris; +Cc: emacs-pretest-bug, r.thiel, Jason Rumney

Glenn Morris <rgm@gnu.org> writes:

> David Kastrup wrote:
>
>> Have you compiled with -fno-thread-jumps?  Because otherwise the stack
>> traceback from failed assertions will be nonsense since gcc will reuse
>> the same abort call for every assertion.
>
> Please could you document this incantation, together with an
> explanation, somewhere in the information on debugging Emacs. Thanks.

Have you looked in etc/DEBUG?

    ** When you are trying to analyze failed assertions, it will be
    essential to compile Emacs either completely without optimizations or
    at least (when using GCC) with the -fno-crossjumping option.  Failure
    to do so may make the compiler recycle the same abort call for all
    assertions in a given function, rendering the stack backtrace useless
    for identifying the specific failed assertion.

Oops.  So I misremembered the option name: thread-jumping seems
actually harmless.  So replace my above question with the same using
-fno-crossjumping.  Sorry for the confusion.

-- 
David Kastrup

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs crashes with longlines-mode and outline-mode
  2007-09-24  7:03     ` Jason Rumney
@ 2007-09-24 10:47       ` Jason Rumney
  0 siblings, 0 replies; 16+ messages in thread
From: Jason Rumney @ 2007-09-24 10:47 UTC (permalink / raw)
  To: David Kastrup; +Cc: emacs-pretest-bug, r.thiel

Jason Rumney wrote:
> David Kastrup wrote:
>   
>> Have you compiled with -fno-thread-jumps?  Because otherwise the stack
>> traceback from failed assertions will be nonsense since gcc will reuse
>> the same abort call for every assertion.
>>   
>>     
>
> My development versions are unoptimised because of this and other
> debugging problems.
>   

In fact, xassert is defined to do nothing by default. When I define
XASSERTS and recompile xdisp.c, it fails on the xassert statement I
expected. I had hoped it might fail on an earlier xassert, which might
give us more information about what is going wrong, but that was not the
case.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs crashes with longlines-mode and outline-mode
  2007-09-24  7:52       ` David Kastrup
@ 2007-09-24 19:14         ` Glenn Morris
  0 siblings, 0 replies; 16+ messages in thread
From: Glenn Morris @ 2007-09-24 19:14 UTC (permalink / raw)
  To: David Kastrup; +Cc: emacs-pretest-bug, Jason Rumney, r.thiel

David Kastrup wrote:

> Glenn Morris <rgm@gnu.org> writes:
>
>> David Kastrup wrote:
>>
>>> Have you compiled with -fno-thread-jumps?
[...]
>> Please could you document this incantation, together with an
>> explanation, somewhere in the information on debugging Emacs.
>
> Have you looked in etc/DEBUG?

Yes, I just grepped for the option you originally mentioned...

> Oops. So I misremembered the option name: thread-jumping seems
> actually harmless. So replace my above question with the same using
> -fno-crossjumping.

...which is why I didn't find it. :)  Never mind then.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs crashes with longlines-mode and outline-mode
  2007-09-23 22:11 ` GNU Emacs " Jason Rumney
  2007-09-24  6:10   ` David Kastrup
@ 2007-09-24 23:17   ` Jason Rumney
  2007-10-01  1:37     ` Richard Stallman
  1 sibling, 1 reply; 16+ messages in thread
From: Jason Rumney @ 2007-09-24 23:17 UTC (permalink / raw)
  To: emacs-pretest-bug

A reduced test case below. I am still looking for what outline mode does
that triggers the crash. Setting up the invisibility spec to show
ellipses, creating an overlay at the end of the buffer and making it
invisible was not sufficient. Perhaps someone more familiar with outline
mode and/or the parts of redisplay that deal with invisibility and
ellipses might have an idea where to look?


-*- mode: text; mode: outline -*-
(put-text-property (- (point-max) 1) (point-max) 'display "X")
Evaluate the above line (C-x C-e), then hide the leaf node below (C-c C-l):

* One chapter

Some text. Some text that must be longer than one line, to test

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs crashes with longlines-mode and outline-mode
  2007-09-24 23:17   ` Jason Rumney
@ 2007-10-01  1:37     ` Richard Stallman
  2007-10-01  9:48       ` Jason Rumney
  0 siblings, 1 reply; 16+ messages in thread
From: Richard Stallman @ 2007-10-01  1:37 UTC (permalink / raw)
  To: Jason Rumney; +Cc: emacs-pretest-bug

Does this fail for you with the latest sources?

Date: Tue, 25 Sep 2007 00:17:25 +0100
From: Jason Rumney <jasonr@gnu.org>
MIME-Version: 1.0
To: emacs-pretest-bug@gnu.org
In-Reply-To: <46F6E479.3070309@gnu.org>
Content-Type: text/plain; charset=ISO-8859-1
Cc: 
Subject: Re: GNU Emacs crashes with longlines-mode and outline-mode

A reduced test case below. I am still looking for what outline mode does
that triggers the crash. Setting up the invisibility spec to show
ellipses, creating an overlay at the end of the buffer and making it
invisible was not sufficient. Perhaps someone more familiar with outline
mode and/or the parts of redisplay that deal with invisibility and
ellipses might have an idea where to look?


-*- mode: text; mode: outline -*-
(put-text-property (- (point-max) 1) (point-max) 'display "X")
Evaluate the above line (C-x C-e), then hide the leaf node below (C-c C-l):

* One chapter

Some text. Some text that must be longer than one line, to test



_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs crashes with longlines-mode and outline-mode
  2007-10-01  1:37     ` Richard Stallman
@ 2007-10-01  9:48       ` Jason Rumney
  2007-10-02  9:34         ` Johan Bockgård
  2007-10-08 18:04         ` Richard Stallman
  0 siblings, 2 replies; 16+ messages in thread
From: Jason Rumney @ 2007-10-01  9:48 UTC (permalink / raw)
  To: rms; +Cc: emacs-pretest-bug

Richard Stallman wrote:
> Does this fail for you with the latest sources?
>   

Yes. I've revised the test case below to make it clearer. The problem
seems to occur when the character at point-max is hidden by outline-mode
and has a display text property on it. There seems to be something
peculiar to the way outline-mode hides text that I have missed, as I
haven't managed to eliminate outline-mode from this by setting the
invisible property directly.

-*- mode: text; mode: outline -*-
(put-text-property (- (point-max) 1) (point-max) 'display "X")
Evaluate the above line (C-x C-e), then hide the leaf node below (C-c C-l):

* One chapter

Some text. This line must not end with a newline

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs crashes with longlines-mode and outline-mode
  2007-10-01  9:48       ` Jason Rumney
@ 2007-10-02  9:34         ` Johan Bockgård
  2007-10-02 10:05           ` Jason Rumney
  2007-10-08 18:04         ` Richard Stallman
  1 sibling, 1 reply; 16+ messages in thread
From: Johan Bockgård @ 2007-10-02  9:34 UTC (permalink / raw)
  To: emacs-devel; +Cc: emacs-pretest-bug

Jason Rumney <jasonr@gnu.org> writes:

> Richard Stallman wrote:
>> Does this fail for you with the latest sources?
>
> Yes. I've revised the test case below to make it clearer. The problem
> seems to occur when the character at point-max is hidden by outline-mode
> and has a display text property on it.

It occurs when the character before the display property is replaced
with an ellipsis.

(put-text-property (1- (point-max)) (point-max) 'display "X")
(setq buffer-invisibility-spec '((foo . t) t))
(setq o (make-overlay (- (point-max) 2) (1- (point-max))))
(overlay-put o 'invisible 'foo)
;;;

-- 
Johan Bockgård

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs crashes with longlines-mode and outline-mode
  2007-10-02  9:34         ` Johan Bockgård
@ 2007-10-02 10:05           ` Jason Rumney
  0 siblings, 0 replies; 16+ messages in thread
From: Jason Rumney @ 2007-10-02 10:05 UTC (permalink / raw)
  To: emacs-devel

Johan Bockgård wrote:
> It occurs when the character before the display property is replaced
> with an ellipsis.
>
> (put-text-property (1- (point-max)) (point-max) 'display "X")
> (setq buffer-invisibility-spec '((foo . t) t))
> (setq o (make-overlay (- (point-max) 2) (1- (point-max))))
> (overlay-put o 'invisible 'foo)
>   

I'd only tried the character the display property was on. Thanks!

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs crashes with longlines-mode and outline-mode
  2007-10-01  9:48       ` Jason Rumney
  2007-10-02  9:34         ` Johan Bockgård
@ 2007-10-08 18:04         ` Richard Stallman
  2007-10-09 10:17           ` Jason Rumney
  1 sibling, 1 reply; 16+ messages in thread
From: Richard Stallman @ 2007-10-08 18:04 UTC (permalink / raw)
  To: Jason Rumney; +Cc: emacs-pretest-bug

I think I have fixed this.  I will install a fix soon.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: GNU Emacs crashes with longlines-mode and outline-mode
  2007-10-08 18:04         ` Richard Stallman
@ 2007-10-09 10:17           ` Jason Rumney
  0 siblings, 0 replies; 16+ messages in thread
From: Jason Rumney @ 2007-10-09 10:17 UTC (permalink / raw)
  To: rms; +Cc: emacs-pretest-bug

Richard Stallman wrote:
> I think I have fixed this.  I will install a fix soon.
>   

I can confirm that it fixes the original reported problem on Windows too.

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2007-10-09 10:17 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-22  7:22 GNU NT-Emacs crashes with longlines-mode and outline-mode Rainer Thiel
2007-09-23  0:19 ` Jason Rumney
2007-09-23 22:11 ` GNU Emacs " Jason Rumney
2007-09-24  6:10   ` David Kastrup
2007-09-24  6:53     ` Glenn Morris
2007-09-24  7:52       ` David Kastrup
2007-09-24 19:14         ` Glenn Morris
2007-09-24  7:03     ` Jason Rumney
2007-09-24 10:47       ` Jason Rumney
2007-09-24 23:17   ` Jason Rumney
2007-10-01  1:37     ` Richard Stallman
2007-10-01  9:48       ` Jason Rumney
2007-10-02  9:34         ` Johan Bockgård
2007-10-02 10:05           ` Jason Rumney
2007-10-08 18:04         ` Richard Stallman
2007-10-09 10:17           ` Jason Rumney

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).