Ticket #1982 (closed bug: fixed)
Parrot_PMC_thaw and Parrot_PMC_freeze broken
| Reported by: | dukeleto | Owned by: | whiteknight |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | embed/extend | Version: | 3.0.0 |
| Severity: | medium | Keywords: | |
| Cc: | Language: | ||
| Patch status: | Platform: | all |
Description
From t/src/extend_vtable.t :
not ok 1 - Parrot_PMC_(freeze|thaw|thawfinish) # TODO freeze + thaw are borked # Failed (TODO) test 'Parrot_PMC_(freeze|thaw|thawfinish)' # at t/src/extend_vtable.t line 75. # Exited with error code: 1 # Received:
where the test that is failing is :
extend_vtable_output_is(<<'CODE', <<'OUTPUT', "Parrot_PMC_(freeze|thaw|thawfinish)", todo => 'freeze + thaw are borked');
Parrot_PMC_set_integer_native(interp, pmc, 42);
Parrot_PMC_set_integer_native(interp, pmc2, 99);
Parrot_PMC_freeze(interp, pmc, pmc2);
Parrot_PMC_thaw(interp, pmc, pmc2);
Parrot_printf(interp,"%d\n", 42);
CODE
42
Done!
OUTPUT
If you run the test with
POSTMORTEM=1 prove -v t/src/extend_vtable.t
the binary and C source file will be left behind. By running strace on the binary, I found this interesting output at the end:
open("/usr/lib/locale/en_CA.utf8/LC_CTYPE", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=256324, ...}) = 0
mmap(NULL, 256324, PROT_READ, MAP_PRIVATE, 4, 0) = 0x7fe269d2c000
close(4) = 0
open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=26048, ...}) = 0
mmap(NULL, 26048, PROT_READ, MAP_SHARED, 4, 0) = 0x7fe269d25000
close(4) = 0
futex(0x7fe2669b7f60, FUTEX_WAKE_PRIVATE, 2147483647) = 0
brk(0x1af6000) = 0x1af6000
brk(0x1b17000) = 0x1b17000
brk(0x1b38000) = 0x1b38000
brk(0x1b59000) = 0x1b59000
brk(0x1b7a000) = 0x1b7a000
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
fsync(1) = -1 EINVAL (Invalid argument)
fsync(2) = -1 EINVAL (Invalid argument)
exit_group(1) = ?
Attachments
Change History
Note: See
TracTickets for help on using
tickets.

