emacs-devel
[Top][All Lists]
Advanced

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

Re: Emacs-24.3 crash when browse-url


From: Stefan Monnier
Subject: Re: Emacs-24.3 crash when browse-url
Date: Tue, 04 Dec 2012 16:21:56 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Paul, can you take a look at this?

>>>>> Debugger entered--Lisp error: (error "binding stack not balanced (serious 
>>>>> byte compiler bug)")
>>>>> browse-url-xdg-open("http://www.google.fr"; nil)
>>>> M-x disassemble RET browse-url-xdg-open RET
>>> --8<---------------cut here---------------start------------->8---
>>> byte code for browse-url-xdg-open:
>>> doc:  Pass the specified URL to the "xdg-open" command. ...
>>> args: (url &optional ignored)
>>> interactive: (browse-url-interactive-arg "URL: ")
>>> 0   constant  call-process
>>> 1   constant  "xdg-open"
>>> 2   constant  nil
>>> 3   constant  0
>>> 4   constant  nil
>>> 5   varref    url
>>> 6   call      5
>>> 7   return    
>>> --8<---------------cut here---------------end--------------->8---
>> 
>> Hmm... "binding stack not balanced (serious byte compiler bug)" means
>> that the specpdl stack (the stack of things that need to be unwound,
>> such as unwind-protects and dynamic let bindings) does not have the same
>> height at the end of (presumably) browse-url-xdg-open as it had at
>> the beginning.  But as we see above, browse-url-xdg-open does not push
>> nor pop anything to/from that stack (it does push constants onto the
>> bytecode's execution stack, but that's a completely different stack).
> Thanks for explanation.

My pleasure.

>> So, the specpdl stack was somehow messed up, presumably during the
>> execution of browse-url-xdg-open but apparently not by the byte code of
>> browse-url-xdg-open.  It could be a problem in `call-process'.
> Ok, here the last working revision:
> --8<---------------cut here---------------start------------->8---
> changeset:   123952:4d87702c495a
> user:        Paul Eggert <address@hidden>
> date:        Mon Dec 03 13:07:47 2012 -0800
> summary:     * bytecode.c, lisp.h (Qbytecode): Remove.
> --8<---------------cut here---------------end--------------->8---
> And the crash reappear when I compile from here:
> --8<---------------cut here---------------start------------->8---
> changeset:   123953:342630a53fea
> user:        Paul Eggert <address@hidden>
> date:        Mon Dec 03 13:42:12 2012 -0800
> summary:     Don't let call-process be a zombie factory.
> --8<---------------cut here---------------end--------------->8---

Aha!


        Stefan



reply via email to

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