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.