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

ByteLoader and MSWin32

Thread Next
Marcus Holland-Moritz
August 31, 2003 14:39
ByteLoader and MSWin32
Message ID:
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 Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About