#473: Data Execution Prevention breaks "perl Configure.pl"
-----------------------+----------------------------------------------------
Reporter: davew | Owner: jkeenan
Type: bug | Status: assigned
Priority: normal | Milestone:
Component: configure | Version: trunk
Severity: medium | Keywords: DEP Configure
Lang: | Patch:
Platform: |
-----------------------+----------------------------------------------------
Changes (by jkeenan):
* cc: mikehh (added)
* platform: win32 =>
Comment:
Today I again tried to merge this branch into trunk. The failure in
''t/library/test_more.t'' somehow cleared itself up -- but I got a
different failure in ''t/compilers/pct/complete_workflow.t''.
{{{
[li11-226:formerge] 543 $ perl t/harness --gc-debug
t/compilers/pct/complete_workflow.t
t/compilers/pct/complete_workflow.t .. 48/54 src/gc/api.c:245: failed
assertion 'PObj_is_PMC_TEST(obj)'
Backtrace - Obtained 31 stack frames (max trace depth is 32).
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0 [0x400e4572]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0(Parrot_confess+0x9a)
[0x400e46da]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0(Parrot_gc_mark_PMC_alive_fun+0x89)
[0x400f2b89]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0 [0x40287dcf]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0(Parrot_gc_mark_PMC_alive_fun+0x116)
[0x400f2c16]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0 [0x40287fe7]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0(Parrot_gc_mark_PMC_alive_fun+0x116)
[0x400f2c16]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0 [0x400f6dd9]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0 [0x400f50e2]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0 [0x400f53a5]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0 [0x400f28a8]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0 [0x400f4f7d]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0 [0x400f4df4]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0 [0x400f292b]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0 [0x400f32a8]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0(Parrot_str_new_COW+0x161)
[0x40053a81]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0(Parrot_str_copy+0x78)
[0x40053bb8]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0 [0x402730dd]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0 [0x4027329d]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0 [0x4006894e]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0 [0x4015fc2e]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0 [0x4015e18f]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0 [0x401077bf]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0(Parrot_pcc_invoke_from_sig_object+0x1e9)
[0x400fdcc9]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0(Parrot_pcc_invoke_sub_from_c_args+0xd3)
[0x400fddd3]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0(Parrot_runcode+0x15e)
[0x400e11de]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0 [0x402f5c69]
/home/jimk/work/formerge/blib/lib/libparrot.so.1.9.0(imcc_run+0x39c)
[0x402f685c]
/home/jimk/work/formerge/parrot [0x8048988]
/lib/libc.so.6(__libc_start_main+0xe5) [0x40f57455]
/home/jimk/work/formerge/parrot [0x8048821]
# Failed test 'our and key: generated PIR successfully'
# at t/compilers/pct/complete_workflow.t line 408.
# got: '[SIGNAL 6]'
# expected: '0'
# Failed test 'our and key: generated actions file exists'
# at t/compilers/pct/complete_workflow.t line 409.
open '/home/jimk/work/formerge/t/compilers/pct/GJRUIqlWy7.pir': No such
file or directory at lib/Parrot/BuildUtil.pm line 88.
# Looks like you planned 54 tests but ran 53.
# Looks like you failed 2 tests of 53 run.
# Looks like your test exited with 2 just after 53.
t/compilers/pct/complete_workflow.t .. Dubious, test returned 2 (wstat
512, 0x200)
Failed 3/54 subtests
Test Summary Report
-------------------
t/compilers/pct/complete_workflow.t (Wstat: 512 Tests: 53 Failed: 2)
Failed tests: 52-53
Non-zero exit status: 2
Parse errors: Bad plan. You planned 54 tests but ran 53.
Files=1, Tests=53, 6 wallclock secs ( 0.02 usr 0.00 sys + 3.27 cusr
0.22 csys = 3.51 CPU)
Result: FAIL
}}}
This error is shockingly similar to the one I have reported in TT #1393,
wherein, since r43211, ''t/compilers/pge/pge_examples.t'' fails when run
through the harness with `--gc-debug`. Both errors start out with:
{{{
# src/gc/api.c:245: failed assertion 'PObj_is_PMC_TEST(obj)'
}}}
The first 16 frames in their backtraces show Parrot calls in the same
sequences:
{{{
# /libparrot.so.1.9.0 [0x400e45b2]
# /libparrot.so.1.9.0 (Parrot_confess+0x9a) [0x400e471a]
# /libparrot.so.1.9.0 (Parrot_gc_mark_PMC_alive_fun+0x89) [0x400f2c99]
# /libparrot.so.1.9.0 [0x40287f7f]
# /libparrot.so.1.9.0 (Parrot_gc_mark_PMC_alive_fun+0x116) [0x400f2d26]
# /libparrot.so.1.9.0 [0x40288197]
# /libparrot.so.1.9.0 (Parrot_gc_mark_PMC_alive_fun+0x116) [0x400f2d26]
# /libparrot.so.1.9.0 [0x400f6ee9]
# /libparrot.so.1.9.0 [0x400f51f2]
# /libparrot.so.1.9.0 [0x400f54b5]
# /libparrot.so.1.9.0 [0x400f29b8]
# /libparrot.so.1.9.0 [0x400f508d]
# /libparrot.so.1.9.0 [0x400f4f04]
# /libparrot.so.1.9.0 [0x400f2a3b]
# /libparrot.so.1.9.0 [0x400f33b8]
# /libparrot.so.1.9.0 (Parrot_str_new_COW+0x8f) [0x400539ef]
}}}
... and there are plenty of similarities in the remaining 16 frames. The
branch I am attempting to merge into trunk was forked from trunk at
r43163, ''i.e.,'' before r43211. The branch passes all its own tests, so
the errors reported above are almost certainly due to recent changes in
trunk, with r43211 again a likely culprit.
Thank you very much.[[BR]]
kid51
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/473#comment:8>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets