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/