[Stackless] Bug Report: Bus error on Mac OS X Snow Leopard (x86_64)
senn at maya.com
Wed Dec 8 15:28:53 CET 2010
On Dec 7, 2010, at 10:08 PM, Richard Tew wrote:
> On Mon, Dec 6, 2010 at 6:55 AM, Daniel Norberg <daniel.norberg at gmail.com> wrote:
>> I've discovered a possible bug in Stackless 2.6 on Mac OS X Snow Leopard.
>> Running the following script using a x86_64 stackless on Mac OS X Snow Leopard produces a bus error.
>> import stackless
>> Compiling stackless using CC="gcc -arch i386" makes the problem go away so it seems to be x86_64 specific.
> Hi Daniel,
> This just involves us trying to reproduce and debug it on a non-MacOS
> computer (none of us have one), or getting shell access to one to do
> so if we cannot.
> A solid reproduction case and a clear description of what code you are
> seeing the problem in, is more than sufficient. I expect the call
> stack would be partly gibberish and not that helpful anyway.
Richard - I suspect you meant you don't have a MacOS machine...
I do, and I verified this does occur in 2.6.5 and (since I happened to have a version built with some debugging)
quickly concluded that it happens during Py_Finalize (in particular when the dance
to do tasklet stack cleanup happens with the "main" tasklet). Someone's stack is corrupt after
However, this does NOT occur in the branch of Stackless 2.7 that I have around,
so my interest in pursuing this is pretty low... (if someone has an idea where
to look specifically I could devote a bit of time to it -- but not much...)
Python 2.6.5 Stackless 3.1b3 060516 (release26-maint:87131M, Dec 8 2010, 08:37:00)
> climb_stack_and_transfer (cstprev=<value temporarily unavailable, due to optimizations>,
> cst=<value temporarily unavailable, due to optimizations>, prev=<value temporarily
> unavailable, due to optimizations>) at ./Stackless/core/slp_transfer.c:104
> 104 }
> (gdb) n
> 0x000000010011499e in dyld_stub___stack_chk_fail ()
> (gdb) s
> Single stepping until exit from function dyld_stub___stack_chk_fail,
> which has no line number information.
> Program received signal SIGABRT, Aborted.
> 0x00007fff868b0616 in __kill ()
More information about the Stackless