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 13:45:28 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

>>> 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).

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'.

>> I suspect that your browse-url.elc file is somehow corrupted because
>> this function is very small and simple, so there's not much opportunity
>> for the byte-compiler to mess it up.
> Why would it be corrupted ?

No idea, it was just a shot in the dark, but the disassembly seems to
indicate it's not corrupted.


        Stefan



reply via email to

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