Re: parrot crash...

2004-03-26 Thread Will Coleda
Ah, good call.

Adding -G causes the code to complete with no crash. (This also clears 
the two hurdles in the test suite I mentioned elsewhere.)

(debugger) - I'm not sure I can get anything more helpful out of the 
debugger than the crash log (with stack trace) from an earlier post - 
Here's the backtrace, though (when run without -G)

(gdb) backtrace
#0  0x0002d310 in pobject_lives (interpreter=0x923400, obj=0x) 
at src/dod.c:179
#1  0x001067ec in mark_pmc_register_stack (interpreter=0x923400, 
chunk=0x9afb80) at src/register.c:129
#2  0x0010f294 in mark_context (interpreter=0x923400, ctx=0x947350) at 
src/sub.c:102
#3  0x001a8c6c in Parrot_Continuation_mark (interpreter=0x923400, 
pmc=0x984588) at continuation.c:53
#4  0x0002e38c in mark_special (interpreter=0x923400, obj=0x984588) at 
src/dod.c:114
#5  0x0002d358 in pobject_lives (interpreter=0x923400, obj=0x984588) at 
src/dod.c:199
#6  0x0002de74 in trace_mem_block (interpreter=0x923400, 
lo_var_ptr=3221223824, hi_var_ptr=3221221840) at src/dod.c:889
#7  0x001946f4 in trace_system_stack (interpreter=0x923400) at 
src/cpu_dep.c:117
#8  0x001946ac in trace_system_areas (interpreter=0x923400) at 
src/cpu_dep.c:98
#9  0x0002d578 in trace_active_PMCs (interpreter=0x923400, 
trace_stack=1) at src/dod.c:297
#10 0x0002e04c in Parrot_do_dod_run (interpreter=0x923400, flags=1) at 
src/dod.c:1028
#11 0x0010aef0 in more_traceable_objects (interpreter=0x923400, 
pool=0x923dc0) at src/smallobject.c:110
#12 0x0010b028 in get_free_object (interpreter=0x923400, pool=0x923dc0) 
at src/smallobject.c:176
#13 0xef0c in get_free_pmc (interpreter=0x923400, pool=0x923dc0) at 
src/headers.c:53
#14 0x00029ca0 in get_new_pmc_header (interpreter=0x923400, 
base_type=46, constant=0) at src/pmc.c:104
#15 0x00029fd0 in pmc_new_noinit (interpreter=0x923400, base_type=46) 
at src/pmc.c:208
#16 0x0003af64 in Parrot_newsub_p_ic_ic (cur_opcode=0x9c61b8, 
interpreter=0x923400) at ops/core.ops:508
#17 0x00111ddc in runops_slow_core (interpreter=0x923400, pc=0x9c61b8) 
at src/runops_cores.c:146
#18 0xaa10 in runops_int (interpreter=0x923400, offset=689) at 
src/interpreter.c:833
#19 0xaad8 in runops_ex (interpreter=0x923400, offset=689) at 
src/interpreter.c:863
#20 0xad04 in runops (interpreter=0x923400, offset=689) at 
src/interpreter.c:935
#21 0xea20 in Parrot_runcode (interpreter=0x923400, argc=2, 
argv=0xbcd8) at src/embed.c:692
#22 0x378c in main (argc=2, argv=0xbcd8) at imcc/main.c:556
#23 0x1d60 in _start (argc=3, argv=0xbcd4, envp=0xbce4) at 
/SourceCache/Csu/Csu-45/crt.c:267
#24 0x1be0 in start ()

On Friday, March 26, 2004, at 03:39  AM, Leopold Toetsch wrote:

Will Coleda [EMAIL PROTECTED] wrote:
I'm still seeing both bugs, with a cvs update, make realclean; perl
Configure.pl, make. (if I do a cvs diff in my repo, the only changed
files are tcl related.)

What other intel do you need to help duplicate the bugs?
Try with -G to turn off DOD/GC. Run it in the debugger ...

leo


--
Will Coke Coledawill at coleda 
dot com



Re: parrot crash...

2004-03-26 Thread Leopold Toetsch
Will Coleda [EMAIL PROTECTED] wrote:
 #3  0x001a8c6c in Parrot_Continuation_mark (interpreter=0x923400,
 pmc=0x984588) at continuation.c:53

Seems to be dead context.

Does this help?


--- parrot/classes/continuation.pmc Mon Mar 22 13:38:09 2004
+++ parrot-leo/classes/continuation.pmc Fri Mar 26 21:04:51 2004
@@ -52,8 +52,10 @@
 */

 void mark () {
+#if 0
 struct Parrot_Sub * cc = (struct Parrot_Sub*)PMC_sub(SELF);
 mark_context(INTERP, cc-ctx);
+#endif
 }

 /*
--- parrot/classes/coroutine.pmcWed Mar 24 18:02:16 2004
+++ parrot-leo/classes/coroutine.pmcFri Mar 26 21:08:45 2004
@@ -74,7 +74,7 @@
 struct Parrot_Coroutine *c = (struct Parrot_Coroutine *)PMC_sub(SELF);
 mark_stack(INTERP, c-co_control_stack);
 /* mark_stack(INTERP, c-co_pad_stack); */
-SUPER();/* mark rest */
+mark_context(INTERP, c-ctx);
 }
 }



Re: parrot crash...

2004-03-25 Thread Will Coleda
Ah. this appears to be the same stack trace already noted by: Mitchell 
N Charity

On Thursday, March 25, 2004, at 11:56  PM, Will Coleda wrote:

I knew I should have updated to cvs latest before issuing a tcl 
release. =)

(go ahead and apply that patch, I'll get things fixed as soon as I 
can.)

If I run a very short tcl program, ala:

set a(b) whee
puts -
I get a crash in parrot, ala:

Exception:  EXC_BAD_ACCESS (0x0001)
Codes:  KERN_PROTECTION_FAILURE (0x0002) at 0x0007
Thread 0 Crashed:
 #0   0x0002d310 in pobject_lives (dod.c:179)
 #1   0x001067ec in mark_pmc_register_stack (register.c:126)
 #2   0x0010f294 in mark_context (sub.c:103)
 #3   0x001a8c6c in Parrot_Continuation_mark (continuation.c:54)
 #4   0x0002e38c in mark_special (dod.c:115)
 #5   0x0002d358 in pobject_lives (dod.c:211)
 #6   0x0002de74 in trace_mem_block (dod.c:889)
 #7   0x001946f4 in trace_system_stack (cpu_dep.c:119)
 #8   0x001946ac in trace_system_areas (cpu_dep.c:99)
 #9   0x0002d578 in trace_active_PMCs (dod.c:300)
 #10  0x0002e04c in Parrot_do_dod_run (dod.c:1028)
 #11  0x0010aef0 in more_traceable_objects (smallobject.c:111)
 #12  0x0010b028 in get_free_object (smallobject.c:177)
 #13  0xef0c in get_free_pmc (headers.c:53)
 #14  0x00029ca0 in get_new_pmc_header (pmc.c:104)
 #15  0x00029fd0 in pmc_new_noinit (pmc.c:208)
 #16  0x0003af64 in Parrot_newsub_p_ic_ic (core_ops.c:508)
 #17  0x00111ddc in runops_slow_core (runops_cores.c:146)
 #18  0xaa10 in runops_int (interpreter.c:838)
 #19  0xaad8 in runops_ex (interpreter.c:865)
 #20  0xad04 in runops (interpreter.c:941)
 #21  0xea20 in Parrot_runcode (embed.c:693)
 #22  0x378c in main (main.c:559)
 #23  0x1d60 in _start (crt.c:267)
 #24  0x1be0 in start
Thread 1:
 #0   0x9003e9a8 in semaphore_wait_signal_trap
 #1   0x9003e7c4 in _pthread_cond_wait
 #2   0x0019a988 in queue_wait (tsq.c:319)
 #3   0x00108c24 in event_thread (events.c:905)
 #4   0x90020c28 in _pthread_body
Thread 2:
 #0   0x9002568c in select
 #1   0x001085a0 in io_thread (events.c:647)
 #2   0x90020c28 in _pthread_body
The crash is fragile - doesn't happen if you change the puts to puts 
{}, or delete the second line entirely.

I'll try to find a smaller test case.

--
Will Coke Coledawill at coleda 
dot com


--
Will Coke Coledawill at coleda 
dot com



Re: parrot crash...

2004-03-25 Thread Leopold Toetsch
Will Coleda [EMAIL PROTECTED] wrote:
 I knew I should have updated to cvs latest before issuing a tcl
 release. =)

... and before sending bug reports ;)

The hash/_dumper interaction bug vanished ...

$ parrot hash-bug.imc 1000 | tail -3
998 = undef,
999 = undef
}

... as very likely the bug below:

   #3   0x001a8c6c in Parrot_Continuation_mark (continuation.c:54)

leo