On Sat, Jul 4, 2009 at 1:24 AM, Paul Sijben<[email protected]> wrote: > I am investigating a core dump that I sometimes have when stopping my > complex multi-thread- multi-tasklet application. So I was running it in gdb > an ran into this one. The backtrace looks to me like it runs into an > infinite loop until it crashes. > > [Thread 0xb593db90 (LWP 23598) exited] > > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread 0xb613eb90 (LWP 23597)] > 0x080e7871 in impl_tasklet_kill (task=0xa36c6f4) at > Stackless/module/taskletobject.c:950 > 950 { > (gdb) bt > #0 0x080e7871 in impl_tasklet_kill (task=0xa36c6f4) at > Stackless/module/taskletobject.c:950 > #1 0x080e7164 in tasklet_clear (t=0xa36c6f4) at > Stackless/module/taskletobject.c:946
Well, one point of confusion is that in my source code for release26-maint, tasklet_clear is at line 101. Although perhaps this is some form of aggressive inlining. But this looks like a conflict between the use of slp_get_frame(t) and t->f.frame. Which is correct, I do not know offhand. I vaguely seem to recall Kristjan Valur switching the use of one form for the other at some point, maybe he has some insight? It might be a while before I can look into this. Cheers, Richard. _______________________________________________ Stackless mailing list [email protected] http://www.stackless.com/mailman/listinfo/stackless
