id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc	lang	patch	platform
2182	argument assertion failure when quitting parrot_debugger	ligne		"start a debugger session attached to an arbitrary file.  type ""q"" or ""quit"" to exit, and you get a nice pretty assertion failure:

{{{
echo q | ./parrot_debugger pbc_to_exe.pbc
Parrot 3.7.0-devel Debugger
(Please note: the debugger is currently under reconstruction)

(pdb) q
src/embed.c:135: failed assertion 'p_unused'
Backtrace - Obtained 15 stack frames (max trace depth is 32).
/home/local/mlb/parrot/blib/lib/libparrot.so.3.7.0(+0x197a9f) [0x7f2558bc2a9f]
/home/local/mlb/parrot/blib/lib/libparrot.so.3.7.0(Parrot_confess+0x8b) [0x7f2558bc2a6b]
/home/local/mlb/parrot/blib/lib/libparrot.so.3.7.0(+0x18d611) [0x7f2558bb8611]
/home/local/mlb/parrot/blib/lib/libparrot.so.3.7.0(Parrot_x_exit+0x89) [0x7f2558bc3419]
/home/local/mlb/parrot/blib/lib/libparrot.so.3.7.0(Parrot_debugger_start+0x11f) [0x7f2558bb062f]
/home/local/mlb/parrot/blib/lib/libparrot.so.3.7.0(+0x1e926f) [0x7f2558c1426f]
/home/local/mlb/parrot/blib/lib/libparrot.so.3.7.0(+0x1e7fa7) [0x7f2558c12fa7]
/home/local/mlb/parrot/blib/lib/libparrot.so.3.7.0(+0x1bbe33) [0x7f2558be6e33]
/home/local/mlb/parrot/blib/lib/libparrot.so.3.7.0(Parrot_pcc_invoke_from_sig_object+0x1d2) [0x7f2558bdfa22]
/home/local/mlb/parrot/blib/lib/libparrot.so.3.7.0(Parrot_ext_call+0x1b2) [0x7f2558bc3c72]
/home/local/mlb/parrot/blib/lib/libparrot.so.3.7.0(Parrot_runcode+0x1b9) [0x7f2558bb89c9]
./parrot_debugger() [0x401830]
./parrot_debugger() [0x40178c]
/lib64/libc.so.6(__libc_start_main+0xfd) [0x310d41ee5d]
./parrot_debugger() [0x401289]
Attempting to get PIR backtrace.  No guarantees.  Here goes...
current instr.: 'main' pc 0 (tools/dev/pbc_to_exe.pir:21)
Aborted (core dumped)
}}}

{{{
(gdb) bt
#0  print_debug (interp=0x60a010, status_unused=0, p_unused=0x0) at src/embed.c:135
#1  0x00007ffff7adb419 in Parrot_x_exit (interp=0x60a010, status=0) at src/exit.c:115
#2  0x00007ffff7ac862f in Parrot_debugger_start (interp=0x60a010, cur_opcode=0x798ba0) at src/debug.c:1226
#3  0x00007ffff7b2c26f in runops_debugger_core (interp=0x60a010, runcore_unused=0x6f2290, pc=0x798ba0) at src/runcore/cores.c:702
#4  0x00007ffff7b2afa7 in runops_int (interp=0x60a010, offset=0) at src/runcore/main.c:218
#5  0x00007ffff7afee33 in runops (interp=0x60a010, offs=0) at src/call/ops.c:126
#6  0x00007ffff7af7a22 in Parrot_pcc_invoke_from_sig_object (interp=0x60a010, sub_obj=0x78d598, call_object=0x7a4ed8) at src/call/pcc.c:337
#7  0x00007ffff7adbc72 in Parrot_ext_call (interp=0x60a010, sub_pmc=0x78d598, signature=0x7ffff7c8d292 ""P->"") at src/extend.c:311
#8  0x00007ffff7ad09c9 in Parrot_runcode (interp=0x60a010, argc=1, argv=0x7fffffffe010) at src/embed.c:262
#9  0x0000000000401830 in PDB_run_code (interp=0x60a010, argc=1, argv=0x7fffffffe010) at frontend/parrot_debugger/main.c:277
#10 0x000000000040178c in main (argc=2, argv=0x7fffffffe008) at frontend/parrot_debugger/main.c:249
}}}

p_unused is required to be non-NULL.  this doesn't make much sense, seeing as it's unused :-)
"	bug	closed	normal		tools	master	medium	fixed					
