# New Ticket Created by Jarkko Hietaniemi # Please include the string: [perl #30997] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=30997 >
The PDB labels are somehow b0rked in tru64/alpha: (make pdb) kosh:/tmp/jhi/parrot ; ./parrot -o foo.pbc t/op/basic_1.pasm kosh:/tmp/jhi/parrot ; ./pdb foo.pbc Parrot Debugger 0.0.2 (pdb) l 1 zsh: 437293 segmentation fault (core dumped) ./pdb foo.pbc kosh:/tmp/jhi/parrot ; dbx ./pdb core.pdb.kosh.0 dbx version 5.1 Type 'help' for help. Core file created by program "pdb" thread 0xf signal Segmentation fault at >*[__nxm_thread_kill, 0x3ff805c1ac8] ret zero, (ra), 1 (dbx) where > 0 __nxm_thread_kill(0xb, 0x3ffc01b6000, 0x3ff805ba108, 0x3ffc01b6000, 0x3ffc01b6000) [0x3ff805c1ac8] 1 pthread_kill(0x0, 0x11fffb438, 0x0, 0x11fffc010, 0x3ff00000001) [0x3ff805ba120] 2 (unknown)() [0x3ff805c62a8] 3 (unknown)() [0x3ff80633994] 4 exc_raise_signal_exception(0xb0ffe0003, 0x86, 0x0, 0x1200d04a4, 0x1) [0x3ff80633d80] 5 PDB_list(interpreter = 0x1400c4e00, command = 0x1403cb5c1 = "") ["src/debug.c":1973, 0x1200d04a4] 6 PDB_run_command(interpreter = 0x1400c4e00, command = 0x1403cb5c1 = "") ["src/debug.c":348, 0x1200cc370] 7 Parrot_debug(interpreter = 0x1400c4e00, argc = 1, argv = 0x11fffc020) ["src/embed.c":766, 0x1200c9c10] 8 main(argc = 2, argv = 0x11fffc018) ["src/pdb.c":158, 0x1200c8850] (dbx) up (dbx) up (dbx) up (dbx) up (dbx) up PDB_list:1973 PIO_eprintf(interpreter, "L%li:\t",line->label->number); (dbx) p *line struct { opcode = 0x822120 source_offset = 0 number = 1 label = 0x6d73 next = 0x14039f7f0 } (dbx) l 1970 PIO_eprintf(interpreter, "%li ",pdb->file->list_line + i); 1971 /* If it has a label print it */ 1972 if (line->label) > 1973 PIO_eprintf(interpreter, "L%li:\t",line->label->number); 1974 c = pdb->file->source + line->source_offset; 1975 while (*c != '\n') 1976 PIO_eprintf(interpreter, "%c",*(c++)); 1977 PIO_eprintf(interpreter, "\n"); 1978 line = line->next; 1979 if (i++ == n) 1980 break; 1981 } 1982 1983 if (--i != n) 1984 pdb->file->list_line = 0; 1985 else 1986 pdb->file->list_line += n; 1987 } 1988 1989 /* (dbx) The line->label is an impossible pointer, so deferencing causes promptly a bus error. -- Jarkko Hietaniemi <[EMAIL PROTECTED]> http://www.iki.fi/jhi/ "There is this special biologist word we use for 'stable'. It is 'dead'." -- Jack Cohen