2008/9/16 via RT Reini Urban <[EMAIL PROTECTED]>:
> # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=58938 >

If you don't spot the error immediately, here's a hint:
> #5  0x639518e0 in pmc_type () from /usr/bin/cygparrot0_7_0.dll

wrong lib. caused by what?
the lib should be called
/usr/src/parrot/parrot-svn/blib/lib/libparrot.dll but an installed
only config lib and /bin/parrot points to this new name: cygparrot0_7_0.dll

So it's related to the RT#39742 installed-conflict bug, but
I keep this ticket open for this subtle problem until I find the
reason for the mismatch after loadlib.

> Since a few days loadlib initialization causes an
> src/string.c:2241: failed assertion '(s)->encoding'
>
> See http://nopaste.snit.ch/14072
> gdb backtrace:
>
> src/string.c:2241: failed assertion '(s)->encoding'
> $ cat encoding-bug.pir
> loadlib 'rotest'
>
> $ gdb ./parrot encoding-bug.pir
>
> (gdb) s
>
> Breakpoint 7, string_hash (interp=0x1ef2328, s=0x1f41278, seed=3793)
>    at src/string.c:2241
> 2241        saneify_string(s);
> (gdb) p *s
> $1 = {cache = {_b = {_bufstart = 0x69205def, _buflen = 6}, _ptrs = {
>      _struct_val = 0x69205def, _pmc_val = 0x6}, _i = {_int_val = 1763728879,
>      _int_val2 = 6}, _num_val = 1.3603372593483627e-313,
>    _string_val = 0x69205def}, flags = 405760, strstart = 0x69205def "ROTest",
>  bufused = 6, strlen = 6, hashval = 0, encoding = 0x0, charset = 0x0}
> (gdb) bt
> #0  string_hash (interp=0x1ef2328, s=0x1f41278, seed=3793) at 
> src/string.c:2241
> #1  0x66fa9aa3 in key_hash_STRING (interp=0x1ef2328, s=0x1f41278, seed=3793)
>    at src/hash.c:153
> #2  0x66faaa5e in parrot_hash_get_bucket (interp=0x1ef2328, hash=0x1f6ce88,
>    key=0x1f41278) at src/hash.c:1093
> #3  0x66faaaef in parrot_hash_get (interp=0x1ef2328, hash=0x1f6ce88,
>    key=0x1f41278) at src/hash.c:1123
> #4  0x67166491 in Parrot_NameSpace_get_pointer_keyed_str (interp=0x1ef2328,
>    pmc=0x1f67d48, key=0x1f41278) at ./src/pmc/namespace.pmc:434
> #5  0x639518e0 in pmc_type () from /usr/bin/cygparrot0_7_0.dll
> #6  0x63951971 in pmc_register () from /usr/bin/cygparrot0_7_0.dll
> #7  0x69203d6a in Parrot_lib_rotest_load (interp=0x1ef2328) at ./rotest.c:1166
> #8  0x66f9c9ee in Parrot_init_lib (interp=0x1ef2328,
>    load_func=0x69203d20 <Parrot_lib_rotest_load>, init_func=0)
>    at src/dynext.c:317
> #9  0x66f9cb21 in run_init_lib (interp=0x1ef2328, handle=0x69200000,
>    lib_name=0x20e4b78, wo_ext=0x20e4b78) at src/dynext.c:384
> #10 0x66f9d0d9 in Parrot_load_lib (interp=0x1ef2328, lib=0x1f412a0,
>    initializer_unused=0x0) at src/dynext.c:583
> #11 0x671a7f46 in do_loadlib (interp=0x1ef2328, lib=0x21066f8 "'rotest'")
>    at compilers/imcc/imcc.y:602
> #12 0x671a8d0b in yyparse (yyscanner=0x20f2078, interp=0x1ef2328)
>    at compilers/imcc/imcc.y:737
> #13 0x671b5281 in compile_to_bytecode (interp=0x1ef2328,
>    sourcefile=0xc3cce4 "encoding-bug.pir", output_file=0x0)
>    at compilers/imcc/main.c:955
> #14 0x671b562c in imcc_run (interp=0x1ef2328,
>    sourcefile=0xc3cce4 "encoding-bug.pir", argc=1, argv=0x1ef213c)
>    at compilers/imcc/main.c:1058
> #15 0x00401120 in main (argc=1, argv=0x1ef213c) at src/main.c:61
> (gdb)
>
>
>
>
> --
> Reini Urban
> http://phpwiki.org/ http://murbreak.at/
>



-- 
Reini Urban
http://phpwiki.org/ http://murbreak.at/

Reply via email to