Ticket #823 (closed bug: fixed)

Opened 5 years ago

Last modified 5 years ago

packfile pmc tests failing

Reported by: coke Owned by:
Priority: blocker Milestone:
Component: none Version: trunk
Severity: release Keywords:
Cc: Language:
Patch status: Platform:

Description

on feather, (having already applied the patch in TT #822), I'm getting the following failures in the packfile PMC tests:

t/pmc/packfile.t                          (Wstat: 6 Tests: 10 Failed: 0)
  Non-zero wait status: 6
  Parse errors: Bad plan.  You planned 34 tests but ran 10.
t/pmc/packfileannotations.t               (Wstat: 6 Tests: 1 Failed: 0)
  Non-zero wait status: 6
  Parse errors: Bad plan.  You planned 17 tests but ran 1.
t/pmc/packfileconstanttable.t             (Wstat: 6 Tests: 0 Failed: 0)
  Non-zero wait status: 6
  Parse errors: Bad plan.  You planned 14 tests but ran 0.
t/pmc/packfiledirectory.t                 (Wstat: 6 Tests: 4 Failed: 0)
  Non-zero wait status: 6
  Parse errors: Bad plan.  You planned 23 tests but ran 4.
t/pmc/packfilefixupentry.t                (Wstat: 6 Tests: 0 Failed: 0)
  Non-zero wait status: 6
  Parse errors: Bad plan.  You planned 3 tests but ran 0.
t/pmc/packfilefixuptable.t                (Wstat: 6 Tests: 0 Failed: 0)
  Non-zero wait status: 6
  Parse errors: Bad plan.  You planned 3 tests but ran 0.
t/pmc/packfilerawsegment.t                (Wstat: 6 Tests: 0 Failed: 0)
  Non-zero wait status: 6
  Parse errors: Bad plan.  You planned 2 tests but ran 0.
Files=396, Tests=12065, 119 wallclock secs ( 1.61 usr  1.30 sys + 64.59 cusr 32.77 csys = 100.27 CPU)
Result: FAIL

At least one of these is generating a parrot assertion, tripped by this code:

.sub 'test_elements' :main
    .local pmc pf, pio
    .local string contents
    pf   = new ['Packfile']
    pio  = open 't/native_pbc/number_1.pbc'
    contents  = pio.'readall'()
    close pio
    pf   = contents
.end

- the assertion is:

src/pmc_freeze.c:1329: failed assertion 'must_have_seen'
Backtrace - Obtained 27 stack frames (max trace depth is 32).
/home/coke/sandbox/parrot/blib/lib/libparrot.so.1.3.0 [0xb7d0d0f2]
/home/coke/sandbox/parrot/blib/lib/libparrot.so.1.3.0(Parrot_confess+0x9a) [0xb7d0d25a]
/home/coke/sandbox/parrot/blib/lib/libparrot.so.1.3.0 [0xb7d4e409]
/home/coke/sandbox/parrot/blib/lib/libparrot.so.1.3.0 [0xb7d4e5af]
/home/coke/sandbox/parrot/blib/lib/libparrot.so.1.3.0 [0xb7d4d901]
/home/coke/sandbox/parrot/blib/lib/libparrot.so.1.3.0 [0xb7d4f134]
/home/coke/sandbox/parrot/blib/lib/libparrot.so.1.3.0(Parrot_thaw+0x80) [0xb7d4f2e0]
/home/coke/sandbox/parrot/blib/lib/libparrot.so.1.3.0(PackFile_Constant_unpack_pmc+0x114) [0xb7d43b74]
/home/coke/sandbox/parrot/blib/lib/libparrot.so.1.3.0(PackFile_Constant_unpack+0x199) [0xb7d43d79]
/home/coke/sandbox/parrot/blib/lib/libparrot.so.1.3.0(PackFile_ConstTable_unpack+0x1b5) [0xb7d43f75]
/home/coke/sandbox/parrot/blib/lib/libparrot.so.1.3.0(PackFile_Segment_unpack+0xf1) [0xb7d46ec1]
/home/coke/sandbox/parrot/blib/lib/libparrot.so.1.3.0 [0xb7d477a2]
/home/coke/sandbox/parrot/blib/lib/libparrot.so.1.3.0(PackFile_Segment_unpack+0xf1) [0xb7d46ec1]
/home/coke/sandbox/parrot/blib/lib/libparrot.so.1.3.0(PackFile_unpack+0x42c) [0xb7d47d1c]
/home/coke/sandbox/parrot/blib/lib/libparrot.so.1.3.0 [0xb7f0c55b]
/home/coke/sandbox/parrot/blib/lib/libparrot.so.1.3.0 [0xb7cb14d6]
/home/coke/sandbox/parrot/blib/lib/libparrot.so.1.3.0 [0xb7d53f50]
/home/coke/sandbox/parrot/blib/lib/libparrot.so.1.3.0 [0xb7d52b4e]
/home/coke/sandbox/parrot/blib/lib/libparrot.so.1.3.0 [0xb7d2c195]
/home/coke/sandbox/parrot/blib/lib/libparrot.so.1.3.0 [0xb7d2c5a4]
/home/coke/sandbox/parrot/blib/lib/libparrot.so.1.3.0(Parrot_runops_fromc_args+0xc6) [0xb7d2d456]
/home/coke/sandbox/parrot/blib/lib/libparrot.so.1.3.0(Parrot_runcode+0x277) [0xb7d0a0e7]
/home/coke/sandbox/parrot/blib/lib/libparrot.so.1.3.0 [0xb7f49d7f]
/home/coke/sandbox/parrot/blib/lib/libparrot.so.1.3.0(imcc_run+0x39c) [0xb7f4a97c]
./parrot [0x8048978]
/lib/i686/nosegneg/libc.so.6(__libc_start_main+0xe5) [0xb7076775]
./parrot [0x8048811]
Aborted

Change History

Changed 5 years ago by coke

  • priority changed from normal to blocker
  • severity changed from medium to release

Test failures on a core platform just before a stable release. Bad.

Changed 5 years ago by coke

Failures also occuring on OSX/intel

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.4.11
BuildVersion:   8S2167

Changed 5 years ago by coke

And on strawberry/win32

Changed 5 years ago by allison

And on Ubuntu 9.04 and Ubuntu 9.10 (prerelease).

Changed 5 years ago by coke

These tests still failing as in OP at r40133 (r40126 didn't help - they failed in that rev also.)

Changed 5 years ago by coke

These tests are now passing in 'test', but failing in 'testb', 'testC', 'testf', 'testg', 'testj', 'testr', 'testS' (on the same linux box as the original post.)

This is a release blocker.

Changed 5 years ago by coke

  • status changed from new to closed
  • resolution set to fixed

bacek++ for diagnosing the root cause:

The reason these tests had been failing for me longer than anyone else is that I had a stray file in src/pmc/ from an 'svn switch' to another branch and back. Even though this new PMC isn't checked into the trunk (and therefore isn't in the manifest), it was being configured and built, which caused some of the enum_class numbers to get bumped, which broke PBC compatibility, which causes these tests to fail.

Changed 5 years ago by coke

  • status changed from closed to reopened
  • resolution fixed deleted

Changed 5 years ago by coke

Still failing as of r40476

 http://smolder.plusthree.com/app/public_projects/report_details/26001#first_failure

One thing from this report that looks interesting:

Architecture	i386
Perl Version	5.8.8 i686-linux

Note: 386 vs. 686.

I'd compare against the previously reported smolder failures, but I'm getting HTTP 500 errors trying to reach them.

Changed 5 years ago by coke

  • milestone 1.4 deleted

Changed 5 years ago by bacek

  • status changed from reopened to closed
  • resolution set to fixed

afair this tests were failing because of stalled PMC in src/pmc directory. Resolving ticket. Someone can open ticket for pmc2c to use PMC from MANIFEST instead of globing src/pmc/*.pmc.

-- Bacek

Note: See TracTickets for help on using tickets.