Ticket #2182 (closed bug: fixed)

Opened 3 years ago

Last modified 3 years ago

argument assertion failure when quitting parrot_debugger

Reported by: ligne Owned by:
Priority: normal Milestone:
Component: tools Version: master
Severity: medium Keywords:
Cc: Language:
Patch status: Platform:

Description

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 :-)

Change History

Changed 3 years ago by NotFound

  • status changed from new to closed
  • resolution set to fixed

Fixed in 865c88149b

Note: See TracTickets for help on using tickets.