# New Ticket Created by  Alberto Simoes 
# Please include the string:  [perl #37462]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/rt3/Ticket/Display.html?id=37462 >


Sorry for sending the details this way, but to reorganizing these emails 
would take too much time :)

Alberto

Alberto Simões wrote:
> Ok, more details on this bug...
> on src/dynext.c...
> 
> PMC *Parrot_init_lib(Interp *interpreter,
>                 PMC *(*load_func)(Interp *),
>                 void (*init_func)(Interp *, PMC *))
> {
>     PMC *lib_pmc = NULL;
> 
>     fprintf(stderr, "Called..\n");
> 
>     if (load_func)
>         lib_pmc = (*load_func)(interpreter);
> 
>     if (!load_func || !lib_pmc) {
>         /* seems to be a native/NCI lib */
>         [...]
>         lib_pmc = pmc_new(interpreter, enum_class_ParrotLibrary);
>     }
> 
> Basically, 'load_func' is true, but loading fails (twice, don't know why 
> yet). Then, code enter in the second if, and it *seems* to work.
> 
> Now, if there are two different options to load the library, the code 
> used to load it can't just write to stdout the error message.
> 
> 
> 
> Cheers
> The newby-bug-hunter.
> 
> Alberto Simões wrote:
>> gdbmhash.pmc class_init is being called more than once... first time 
>> the load fails, second time it fails... and is not called any more. 
>> Something very weird around :)
>>
>> Alberto Simões wrote:
>>> It's me again. Linked with gdbm (compiled with fink) and got these 
>>> errors.
>>>
>>> They are kind weird because they complain about not being able to 
>>> load the library, but the tests run correctly. If they run correctly 
>>> without loading the library one of two things happens:
>>>  1) the tests do not test the library
>>>  2) the error message should not be issued because the library is 
>>> being loaded
>>>
>>> Well, kind of :)
>>>
>>> Cheers
>>> Alberto
>>>
>>>
>>>
>>> t/dynclass/gdbmhash............NOK 1
>>> #     Failed test (t/dynclass/gdbmhash.t at line 43)
>>> #          got: 'Couldn't load 'libgdbm': unknown reason
>>> # Couldn't load 'libgdbm': unknown reason
>>> # GDBMHash
>>> # '
>>> #     expected: 'GDBMHash
>>> # '
>>> t/dynclass/gdbmhash............NOK 2
>>> #     Failed test (t/dynclass/gdbmhash.t at line 56)
>>> #          got: 'Couldn't load 'libgdbm': unknown reason
>>> # Couldn't load 'libgdbm': unknown reason
>>> # 0
>>> # 1
>>> # 0
>>> # '
>>> #     expected: '0
>>> # 1
>>> # 0
>>> # '
>>> t/dynclass/gdbmhash............NOK 3
>>> #     Failed test (t/dynclass/gdbmhash.t at line 76)
>>> #          got: 'Couldn't load 'libgdbm': unknown reason
>>> # Couldn't load 'libgdbm': unknown reason
>>> # An unitialized GDBMHash has size 0.
>>> # An GDBMHash for a new file has size 0.
>>> # After one assignment GDBMHash has size 1.
>>> # After two assignments GDBMHash has size 2.
>>> # After 15 assignments GDBMHash has size 15.
>>> # '
>>> #     expected: 'An unitialized GDBMHash has size 0.
>>> # An GDBMHash for a new file has size 0.
>>> # After one assignment GDBMHash has size 1.
>>> # After two assignments GDBMHash has size 2.
>>> # After 15 assignments GDBMHash has size 15.
>>> # '
>>> t/dynclass/gdbmhash............NOK 4
>>> #     Failed test (t/dynclass/gdbmhash.t at line 129)
>>> #          got: 'Couldn't load 'libgdbm': unknown reason
>>> # Couldn't load 'libgdbm': unknown reason
>>> # An uninitialized GDBMHash is not.
>>> # An GDBMHash for a new file is not.
>>> # After one insert the GDBMHash is.
>>> # '
>>> #     expected: 'An uninitialized GDBMHash is not.
>>> # An GDBMHash for a new file is not.
>>> # After one insert the GDBMHash is.
>>> # '
>>> t/dynclass/gdbmhash............NOK 5
>>> #     Failed test (t/dynclass/gdbmhash.t at line 161)
>>> #          got: 'Couldn't load 'libgdbm': unknown reason
>>> # Couldn't load 'libgdbm': unknown reason
>>> # Wert urspruenglich
>>> # Wert geaendert
>>> # Wert nocheinmal geaendert
>>> # Wert urspruenglich
>>> # '
>>> #     expected: 'Wert urspruenglich
>>> # Wert geaendert
>>> # Wert nocheinmal geaendert
>>> # Wert urspruenglich
>>> # '
>>> t/dynclass/gdbmhash............NOK 6
>>> #     Failed test (t/dynclass/gdbmhash.t at line 189)
>>> #          got: 'Couldn't load 'libgdbm': unknown reason
>>> # Couldn't load 'libgdbm': unknown reason
>>> # 0
>>> # 1
>>> # 0
>>> # 1
>>> # '
>>> #     expected: '0
>>> # 1
>>> # 0
>>> # 1
>>> # '
>>> t/dynclass/gdbmhash............NOK 7
>>> #     Failed test (t/dynclass/gdbmhash.t at line 223)
>>> #          got: 'Couldn't load 'libgdbm': unknown reason
>>> # Couldn't load 'libgdbm': unknown reason
>>> # Wert
>>> # Wert
>>> # Wert
>>> # Wert
>>> # '
>>> #     expected: 'Wert
>>> # Wert
>>> # Wert
>>> # Wert
>>> # '
>>> t/dynclass/gdbmhash............NOK 8
>>> #     Failed test (t/dynclass/gdbmhash.t at line 254)
>>> #          got: 'Couldn't load 'libgdbm': unknown reason
>>> # Couldn't load 'libgdbm': unknown reason
>>> # Wert
>>> # Wert
>>> # Wert
>>> # Wert
>>> # '
>>> #     expected: 'Wert
>>> # Wert
>>> # Wert
>>> # Wert
>>> # '
>>> t/dynclass/gdbmhash............NOK 9
>>> #     Failed test (t/dynclass/gdbmhash.t at line 288)
>>> #          got: 'Couldn't load 'libgdbm': unknown reason
>>> # Couldn't load 'libgdbm': unknown reason
>>> # Wert
>>> # Wert
>>> # Wert
>>> # Wert
>>> # '
>>> #     expected: 'Wert
>>> # Wert
>>> # Wert
>>> # Wert
>>> # '
>>> t/dynclass/gdbmhash............NOK 10
>>> #     Failed test (t/dynclass/gdbmhash.t at line 321)
>>> #          got: 'Couldn't load 'libgdbm': unknown reason
>>> # Couldn't load 'libgdbm': unknown reason
>>> # Wert
>>> # Wert
>>> # Wert
>>> # Wert
>>> # '
>>> #     expected: 'Wert
>>> # Wert
>>> # Wert
>>> # Wert
>>> # '
>>> t/dynclass/gdbmhash............NOK 11
>>> #     Failed test (t/dynclass/gdbmhash.t at line 358)
>>> #          got: 'Couldn't load 'libgdbm': unknown reason
>>> # Couldn't load 'libgdbm': unknown reason
>>> # -11012005
>>> # -11012005
>>> # -11012005
>>> # -11012005
>>> # '
>>> #     expected: '-11012005
>>> # -11012005
>>> # -11012005
>>> # -11012005
>>> # '
>>> t/dynclass/gdbmhash............NOK 12
>>> #     Failed test (t/dynclass/gdbmhash.t at line 393)
>>> #          got: 'Couldn't load 'libgdbm': unknown reason
>>> # Couldn't load 'libgdbm': unknown reason
>>> # -1101.2
>>> # -1101.2
>>> # -1101.2
>>> # -1101.2
>>> # '
>>> #     expected: '-1101.2
>>> # -1101.2
>>> # -1101.2
>>> # -1101.2
>>> # '
>>> t/dynclass/gdbmhash............NOK 13
>>> #     Failed test (t/dynclass/gdbmhash.t at line 428)
>>> #          got: 'Couldn't load 'libgdbm': unknown reason
>>> # Couldn't load 'libgdbm': unknown reason
>>> # "a" exists: 0
>>> # "a" exists: 1
>>> # "a" exists: 0
>>> # '
>>> #     expected: '"a" exists: 0
>>> # "a" exists: 1
>>> # "a" exists: 0
>>> # '
>>> # Looks like you failed 13 tests of 13.
>>> t/dynclass/gdbmhash............dubious
>>>         Test returned status 13 (wstat 3328, 0xd00)
>>> DIED. FAILED tests 1-13
>>>         Failed 13/13 tests, 0.00% okay
>>>
>>
> 

-- 
Alberto Simões - Departamento de Informática - Universidade do Minho
                   Campus de Gualtar - 4710-057 Braga - Portugal

Reply via email to