oh the actual break message
Process 53817 stopped
* thread #5: tid = 0x1c027f, 0x0000000100ea30a3 Python`PyStackless_Schedule
+ 51, stop reason = EXC_BAD_ACCESS (code=1, address=0xd8)
frame #0: 0x0000000100ea30a3 Python`PyStackless_Schedule + 51
Python`PyStackless_Schedule + 51:
-> 0x100ea30a3: movq 0xd8(%r13), %rbx
0x100ea30aa: movq 0x10(%rbx), %r12
0x100ea30ae: movq $0x0, -0x30(%rbp)
0x100ea30b6: cmpq $0x0, 0xd0(%r13)
On Tue, Sep 9, 2014 at 9:57 PM, Robert Babiak <[email protected]> wrote:
> I took the Receive out and replaced it with a simple call to
> PyStackless_Schedule.
>
> static int EventHook(void)
> {
> PyStackless_Schedule(Py_None, 0);
> return 0;
> }
> ...
> Py_SetProgramName(argv[0]);
> Py_InitializeEx(0);
> if (!Py_IsInitialized())
> {
> std::cerr << "Python initialization failed" << std::endl;
> return;
> }
> PySys_SetArgv(argc, argv);
> PyOS_InputHook = EventHook;
> ...
> // stacklessMain returns when program is shutdown.
> PyStackless_CallMethod_Main(oMainModule.ptr(), "stacklessMain", 0);
> ...
>
> This is the lldb stacktrace
>
> frame #0: 0x0000000100ea30a3 Python`PyStackless_Schedule + 51
>
> frame #1: 0x0000000100155fd9 main`EventHook() + 25 at
> pythonInterperter.cpp:472
>
> frame #2: 0x0000000103dd5e25 readline.so`call_readline + 293
>
> frame #3: 0x0000000100dfa3c3 Python`PyOS_Readline + 179
>
> frame #4: 0x0000000100e92882 Python`builtin_raw_input + 434
>
> frame #5: 0x0000000100e95d88 Python`PyEval_EvalFrame_value + 3832
>
> frame #6: 0x0000000100e94d38 Python`PyEval_EvalFrameEx_slp + 376
>
> frame #7: 0x0000000100e9744c Python`PyEval_EvalFrame_value + 9660
>
> frame #8: 0x0000000100e94d38 Python`PyEval_EvalFrameEx_slp + 376
>
> frame #9: 0x0000000100e9744c Python`PyEval_EvalFrame_value + 9660
>
> frame #10: 0x0000000100e94d38 Python`PyEval_EvalFrameEx_slp + 376
>
> frame #11: 0x0000000100e9e9e1 Python`slp_frame_dispatch_top + 49
>
> frame #12: 0x0000000100ea2772 Python`slp_run_tasklet + 226
>
> frame #13: 0x0000000100e9e0fc Python`slp_eval_frame + 348
>
> frame #14: 0x0000000100e9e083 Python`slp_eval_frame + 227
>
> frame #15: 0x0000000100e9e083 Python`slp_eval_frame + 227
>
> .....
>
> frame #719: 0x0000000100e9e083 Python`slp_eval_frame + 227
>
> frame #720: 0x0000000100e9e083 Python`slp_eval_frame + 227
>
> frame #721: 0x0000000100ea3801 Python`PyStackless_CallMethod_Main + 433
>
> frame #722: 0x00000001001588e3
> main`PythonThread::operator(this=0x0000000101506940)() + 1187 at
> pythonInterperter.cpp:555
>
> frame #723: 0x000000010015761c
> main`boost::detail::thread_data<PythonThread>::run(this=0x0000000101506740)
> + 28 at thread.hpp:117
>
> frame #724: 0x00000001010ff24a libboost_thread-mt.dylib`thread_proxy +
> 186
>
> frame #725: 0x00007fff863fb899 libsystem_pthread.dylib`_pthread_body +
> 138
>
> frame #726: 0x00007fff863fb72a libsystem_pthread.dylib`_pthread_start
> + 137
>
> On Tue, Sep 9, 2014 at 9:17 PM, Richard Tew <[email protected]>
> wrote:
>
>> If you have a crash when you call receive, then you likely have larger
>> problems than when the right time to call schedule is.
>>
>> I don't think it's possible to divine what is going wrong, and expect
>> you need to provide a reproduction case.
>>
>> Cheers
>>
>> On 9/10/14, Robert Babiak <[email protected]> wrote:
>> > Dear wise stackless list, I need some of your wisdom.
>> >
>> > I am trying to make raw_input play nice with the stackless scheduler and
>> > not block with my embedded stackless.
>> >
>> > I set the PyOS_InputHook to get what amounts to an idle event but when I
>> > call PyStackless_Schedule(PY_None, 0) it crashes (no stackless
>> symbols...)
>> >
>> > Is there something I need to check to know if it is safe to call the
>> > scheduler from C?
>> >
>> > In general when is it safe to call PyStackless_Schedule?
>> >
>> > I tried to call my BeNice to block and get woken up later, but this also
>> > crashes when trying to receive on my BeNice channel.
>> >
>> > - Thanks Rob.
>> > --
>> > Life: Bah, I will worry about it when it is over.
>> >
>>
>> _______________________________________________
>> Stackless mailing list
>> [email protected]
>> http://www.stackless.com/mailman/listinfo/stackless
>>
>
>
>
> --
> Life: Bah, I will worry about it when it is over.
>
--
Life: Bah, I will worry about it when it is over.
_______________________________________________
Stackless mailing list
[email protected]
http://www.stackless.com/mailman/listinfo/stackless