develooper Front page | perl.perl5.porters | Postings from August 2003

ByteLoader and MSWin32

Thread Next
From:
Marcus Holland-Moritz
Date:
August 31, 2003 14:39
Subject:
ByteLoader and MSWin32
Message ID:
007b01c37008$4474cb20$0c2f1fac@R2D2
When running the bleadperl tests on MSWin32, there are problems
with ext/B/t/bytecode.t. In the default build, the test crashes
for each individual subtest. In a debugging build, assertions
fail for each subtest, like:

  Assertion ptr < ( (I32 **) slab + 2048) failed: file "..\op.c", line 83.

The problem seems to be that OP's are allocated using safemalloc()
in byterun.c, but during perl_destruct() are attempted to be freed
using S_Slab_Free(). This fails because they weren't allocated
using S_Slab_Alloc().

Windows uses the slab allocator because PERL_IMPLICIT_SYS is
defined by default. I guess a fix would incorporate turning
S_Slab_Alloc() into a globally accessible function and using
it instead of safemalloc() when PL_OP_SLAB_ALLOC is defined.

Please tell me if I can help out with testing/implementing.

-- Marcus


Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About