# New Ticket Created by  Mark Glines 
# Please include the string:  [perl #60042]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=60042 >


This GDB was configured as "i686-pc-linux-gnu"...
Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) break src/headers.c:110 if buffer == 0x80f9e30
No source file named src/headers.c.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (src/headers.c:110 if buffer == 0x80f9e30) pending.
(gdb) run examples/library/pcre.pir asdf as
Starting program: /home/infinoid/parrot/parrot examples/library/pcre.pir
asdf as
[Thread debugging using libthread_db enabled]
[New Thread 0xb723e900 (LWP 25750)]
Breakpoint 2 at 0xb7b44255: file src/headers.c, line 110.
Pending breakpoint "src/headers.c:110 if buffer == 0x80f9e30" resolved
asdf =~ /as/
[Switching to Thread 0xb723e900 (LWP 25750)]

Breakpoint 2, get_free_buffer (interp=0x8050040, pool=0x8070b60) at
src/headers.c:110
110         return buffer;
(gdb) print *buffer
$1 = {cache = {_b = {_bufstart = 0x0, _buflen = 0}, _ptrs = {_struct_val
= 0x0, _pmc_val = 0x0}, _i = {_int_val = 0, _int_val2 = 0}, _num_val =
0, _string_val = 0x0}, flags = 0}
(gdb) print buffer->cache._b._bufstart
$2 = (void *) 0x0
(gdb) watch *(void**)0x80f9e30
Hardware watchpoint 3: *(void **) 135241264
(gdb) cont
Continuing.
Hardware watchpoint 3: *(void **) 135241264

Old value = (void *) 0x0
New value = (void *) 0xb7212904
Parrot_allocate_string (interp=0x8050040, str=0x80f9e30, size=500) at
src/gc/resources.c:914
914         PObj_buflen(str)   = new_size - sizeof (void*);
(gdb) bt
#0  Parrot_allocate_string (interp=0x8050040, str=0x80f9e30, size=500)
at src/gc/resources.c:914
#1  0xb7ac4ee6 in string_make_direct (interp=0x8050040, buffer=0x0,
len=500, encoding=0x8070d88, charset=0x8072328, flags=0) at src/string.c:750
#2  0xb7ac5481 in string_repeat (interp=0x8050040, s=0x812e8dc, num=500,
d=0x0) at src/string.c:1050
#3  0xb7aeaa04 in Parrot_repeat_s_sc_i (cur_opcode=0x81326e8,
interp=0x8050040) at src/ops/string.ops:142
#4  0xb7b8d67c in runops_slow_core (interp=0x8050040, pc=0x81326e8) at
src/runops_cores.c:222
#5  0xb7b4d079 in runops_int (interp=0x8050040, offset=263) at
src/interpreter.c:937
#6  0xb7b4d91f in runops (interp=0x8050040, offs=263) at src/inter_run.c:101
#7  0xb7b4dbc4 in runops_args (interp=0x8050040, sub=0x80dd63c,
obj=0x80b8e28, meth_unused=0x0, sig=0xb7e2ba27 "vP", ap=0xbfa7f6cc "
\r\b\b") at src/inter_run.c:236
#8  0xb7b4dcfc in Parrot_runops_fromc_args (interp=0x8050040,
sub=0x80dd63c, sig=0xb7e2ba27 "vP") at src/inter_run.c:300
#9  0xb7b33a67 in Parrot_runcode (interp=0x8050040, argc=3,
argv=0xbfa7f838) at src/embed.c:959
#10 0xb7e05454 in imcc_run_pbc (interp=0x8050040, obj_file=0,
output_file=0x0, argc=3, argv=0xbfa7f838) at compilers/imcc/main.c:791
#11 0xb7e05f02 in imcc_run (interp=0x8050040, sourcefile=0xbfa7ff47
"examples/library/pcre.pir", argc=3, argv=0xbfa7f838) at
compilers/imcc/main.c:1079
#12 0x080489c8 in main (argc=3, argv=0xbfa7f838) at src/main.c:61
(gdb) cont
Continuing.
Hardware watchpoint 3: *(void **) 135241264

Old value = (void *) 0xb7212904
New value = (void *) 0x0
0xb784859e in pcre_compile2 () from /usr/lib/libpcre.so.0
(gdb) bt
#0  0xb784859e in pcre_compile2 () from /usr/lib/libpcre.so.0
#1  0xb7848e4f in pcre_compile () from /usr/lib/libpcre.so.0
#2  0xb7b5f2b5 in pcf_p_tiB3P (interp=0x8050040, self=0x80e0480) at
src/nci.c:3002
#3  0xb7cf1ca2 in Parrot_NCI_invoke (interp=0x8050040, pmc=0x80e0480,
next=0x8132738) at ./src/pmc/nci.pmc:308
#4  0xb7ac9196 in Parrot_invokecc_p (cur_opcode=0x8132730,
interp=0x8050040) at src/ops/core.ops:463
#5  0xb7b8d67c in runops_slow_core (interp=0x8050040, pc=0x8132730) at
src/runops_cores.c:222
#6  0xb7b4d079 in runops_int (interp=0x8050040, offset=263) at
src/interpreter.c:937
#7  0xb7b4d91f in runops (interp=0x8050040, offs=263) at src/inter_run.c:101
#8  0xb7b4dbc4 in runops_args (interp=0x8050040, sub=0x80dd63c,
obj=0x80b8e28, meth_unused=0x0, sig=0xb7e2ba27 "vP", ap=0xbfa7f6cc "
\r\b\b") at src/inter_run.c:236
#9  0xb7b4dcfc in Parrot_runops_fromc_args (interp=0x8050040,
sub=0x80dd63c, sig=0xb7e2ba27 "vP") at src/inter_run.c:300
#10 0xb7b33a67 in Parrot_runcode (interp=0x8050040, argc=3,
argv=0xbfa7f838) at src/embed.c:959
#11 0xb7e05454 in imcc_run_pbc (interp=0x8050040, obj_file=0,
output_file=0x0, argc=3, argv=0xbfa7f838) at compilers/imcc/main.c:791
#12 0xb7e05f02 in imcc_run (interp=0x8050040, sourcefile=0xbfa7ff47
"examples/library/pcre.pir", argc=3, argv=0xbfa7f838) at
compilers/imcc/main.c:1079
#13 0x080489c8 in main (argc=3, argv=0xbfa7f838) at src/main.c:61
(gdb) cont
Continuing.
1 match(es):

Program received signal SIGSEGV, Segmentation fault.
0xb7c9c6bb in compact_pool (interp=0x8050040, pool=0x8050a40) at
src/gc/resources.c:475
475                             memcpy(cur_spot, PObj_bufstart(b),
PObj_buflen(b));
(gdb) bt
#0  0xb7c9c6bb in compact_pool (interp=0x8050040, pool=0x8050a40) at
src/gc/resources.c:475
#1  0xb7c9c91d in Parrot_go_collect (interp=0x8050040) at
src/gc/resources.c:566
#2  0xb7b3f864 in Parrot_dod_ms_run (interp=0x8050040, flags=1) at
src/gc/dod.c:1136
#3  0xb7b3f97a in Parrot_do_dod_run (interp=0x8050040, flags=1) at
src/gc/dod.c:1189
#4  0xb7b413d8 in more_traceable_objects (interp=0x8050040,
pool=0x8070b60) at src/gc/smallobject.c:163
#5  0xb7b414ba in gc_ms_get_free_object (interp=0x8050040,
pool=0x8070b60) at src/gc/smallobject.c:245
#6  0xb7b4421c in get_free_buffer (interp=0x8050040, pool=0x8070b60) at
src/headers.c:101
#7  0xb7b4485e in new_string_header (interp=0x8050040, flags=459008) at
src/headers.c:444
#8  0xb7ac3e67 in Parrot_make_COW_reference (interp=0x8050040,
s=0x812e900) at src/string.c:141
#9  0xb7ac5364 in string_copy (interp=0x8050040, s=0x812e900) at
src/string.c:975
#10 0xb7ae6db1 in Parrot_set_s_sc (cur_opcode=0x8132858,
interp=0x8050040) at src/ops/set.ops:156
#11 0xb7b8d67c in runops_slow_core (interp=0x8050040, pc=0x8132858) at
src/runops_cores.c:222
#12 0xb7b4d079 in runops_int (interp=0x8050040, offset=263) at
src/interpreter.c:937
#13 0xb7b4d91f in runops (interp=0x8050040, offs=263) at src/inter_run.c:101
#14 0xb7b4dbc4 in runops_args (interp=0x8050040, sub=0x80dd63c,
obj=0x80b8e28, meth_unused=0x0, sig=0xb7e2ba27 "vP", ap=0xbfa7f6cc "
\r\b\b") at src/inter_run.c:236
#15 0xb7b4dcfc in Parrot_runops_fromc_args (interp=0x8050040,
sub=0x80dd63c, sig=0xb7e2ba27 "vP") at src/inter_run.c:300
#16 0xb7b33a67 in Parrot_runcode (interp=0x8050040, argc=3,
argv=0xbfa7f838) at src/embed.c:959
#17 0xb7e05454 in imcc_run_pbc (interp=0x8050040, obj_file=0,
output_file=0x0, argc=3, argv=0xbfa7f838) at compilers/imcc/main.c:791
#18 0xb7e05f02 in imcc_run (interp=0x8050040, sourcefile=0xbfa7ff47
"examples/library/pcre.pir", argc=3, argv=0xbfa7f838) at
compilers/imcc/main.c:1079
#19 0x080489c8 in main (argc=3, argv=0xbfa7f838) at src/main.c:61
(gdb) print *b
$3 = {cache = {_b = {_bufstart = 0x0, _buflen = 500}, _ptrs =
{_struct_val = 0x0, _pmc_val = 0x1f4}, _i = {_int_val = 0, _int_val2 =
500}, _num_val = 1.0609978954826362e-311, _string_val = 0x0}, flags =
393472}
(gdb)

Reply via email to