Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[perl #38957] hash test failures

5 views
Skip to first unread message

Will Coleda

unread,
Apr 21, 2006, 8:40:52 AM4/21/06
to bugs-bi...@rt.perl.org
# New Ticket Created by Will Coleda
# Please include the string: [perl #38957]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/rt3/Ticket/Display.html?id=38957 >


OSX 10.4.6, PPC

This failure has been pretty persistent the past few weeks:

t/src/hash.t 1 256 11 1 9.09% 6

# got: '42
# hash_6(4373,0xa000ed98) malloc: *** error for object 0x1d14140:
incorrect checksum for freed object - object was probably modified
after being freed, break at szone_error to debug
# hash_6(4373,0xa000ed98) malloc: *** set a breakpoint in szone_error
to debug
# hash_6(4373,0xa000ed98) malloc: *** error for object 0x1d14140:
incorrect checksum for freed object - object was probably modified
after being freed, break at szone_error to debug
# hash_6(4373,0xa000ed98) malloc: *** set a breakpoint in szone_error
to debug
# '
# expected: '42


Andy Dougherty

unread,
Apr 21, 2006, 3:42:23 PM4/21/06
to Perl6 Internals
On Fri, 21 Apr 2006, Will Coleda wrote:

> OSX 10.4.6, PPC
>
> This failure has been pretty persistent the past few weeks:
>
> t/src/hash.t 1 256 11 1 9.09% 6
>
> # got: '42
> # hash_6(4373,0xa000ed98) malloc: *** error for object 0x1d14140:
> incorrect checksum for freed object - object was probably modified
> after being freed, break at szone_error to debug
> # hash_6(4373,0xa000ed98) malloc: *** set a breakpoint in szone_error
> to debug
> # hash_6(4373,0xa000ed98) malloc: *** error for object 0x1d14140:
> incorrect checksum for freed object - object was probably modified
> after being freed, break at szone_error to debug
> # hash_6(4373,0xa000ed98) malloc: *** set a breakpoint in szone_error
> to debug
> # '
> # expected: '42

That test has been dumping core for me (Solaris 8/SPARC) for quite a long
time (since last summer at least, I think). I tried to see if it's still
there in the current code, but my build & test script aborted at the
Configure.pl stage (due to the changed perl version requirements).

--
Andy Dougherty doug...@lafayette.edu

Matt Diephouse

unread,
Apr 21, 2006, 5:50:00 PM4/21/06
to perl6-i...@perl.org, bugs-bi...@rt.perl.org

The test passes for me on 10.4.6 Intel.

--
matt diephouse
http://matt.diephouse.com

Will Coleda

unread,
Apr 22, 2006, 1:21:33 AM4/22/06
to ma...@diephouse.com, perl6-i...@perl.org, bugs-bi...@netlabs.develooper.com
I'm using gcc 4.0.1, an '--optimized' Configure, and perl 5.8.6

Matt Diephouse

unread,
Apr 22, 2006, 11:30:27 AM4/22/06
to Will Coleda, perl6-i...@perl.org, bugs-bi...@netlabs.develooper.com
Will Coleda <wi...@coleda.com> wrote:
> I'm using gcc 4.0.1, an '--optimized' Configure, and perl 5.8.6

Ahh. When I do an '--optimized' Configure, I get a bunch of failed
tests. The hash tests are still passing, but that may be coincidental.

Andy Dougherty

unread,
Apr 27, 2006, 2:57:02 PM4/27/06
to Perl6 Internals

This test still core dumps for me. I've traced it down a good bit -- it's
a garbage collection problem.

Specifically, in t/src/hash_6.c, the variable 'hash' is declared in
the function 'the_test', and memory allocated with
hash = PMC_struct_val(h);
A big string 'big' is then created. The program then calls
string_from_cstring(). The ensuing sequence is something like (This is
all from printf() statements -- the debugger gets confused, as do I!):

string_from_cstring() -> string_make_direct() ->
Parrot_allocate_string() -> mem_allocate() -> Parrot_dod_ms_run() ->
Parrot_forall_header_pools() -> sweep_cb() ->
Parrot_dod_sweep() ... ??? ... mem_sys_free() -> free(from)

where from == hash. (At the ??? point, I lose track of what's happening)

Not surprisingly, the program crashes later on at

hash_put(interpreter, hash, key, i);

Unfortunately, this failure is in the dod_sweep() stuff, which I
really don't understand at all, so I don't know how to proceed from
here.

--
Andy Dougherty doug...@lafayette.edu

0 new messages