Parrot 4.3.0 build failure on ia64

Andrew Whitworth wknight8111 at gmail.com
Mon Jun 11 12:25:51 UTC 2012


On the surface this seems nonsensical. The String PMC does not
implement the get_pointer VTABLE (as the error message points out) but
no place inside our build process should be attempting to use it that
way.

This suggests to me something GC-related. Somewhere a PMC is probably
not being marked and then the memory is being recycled to allocate a
String. When we try to call get_pointer on the old reference we get to
the String PMC and have problems.

Considering that the GC is one of the few places that relies on
hardware-specific code, and that code is not always well tested, this
doesn't surprise me.

Do we have any developers knowledgable about IA64 architecture or
access to a machine for testing?

Thanks,

--Andrew Whitworth


On Sun, Jun 10, 2012 at 7:00 AM, Alessandro Ghedini <al3xbio at gmail.com> wrote:
> Hi all,
>
> Parrot 4.3.0 failed (twice) to build on Debian's ia64 buildd [0] with the error:
>
>> ./parrot-nqp --target=pir --output=compilers/opsc/gen/Ops/Emitter.pir compilers/opsc/src/Ops/Emitter.pm
>> get_pointer() not implemented in class 'String'
>> current instr.: 'parrot;PAST;Compiler;post_children' pc 2489 (compilers/pct/src/PAST/Compiler.pir:508)
>> called from Sub 'parrot;PAST;Compiler;as_post' pc 3172 (compilers/pct/src/PAST/Compiler.pir:773)
>> called from Sub 'parrot;PAST;Compiler;as_post' pc 3275 (compilers/pct/src/PAST/Compiler.pir:821)
>> called from Sub 'parrot;PAST;Compiler;post_children' pc 2595 (compilers/pct/src/PAST/Compiler.pir:553)
>> called from Sub 'parrot;PAST;Compiler;as_post' pc 3172 (compilers/pct/src/PAST/Compiler.pir:773)
>> called from Sub 'parrot;PAST;Compiler;post_children' pc 2595 (compilers/pct/src/PAST/Compiler.pir:553)
>> called from Sub 'parrot;PAST;Compiler;pirop' pc 5280 (compilers/pct/src/PAST/Compiler.pir:1388)
>> called from Sub 'parrot;PAST;Compiler;post_children' pc 2595 (compilers/pct/src/PAST/Compiler.pir:553)
>> called from Sub 'parrot;PAST;Compiler;as_post' pc 4565 (compilers/pct/src/PAST/Compiler.pir:1176)
>> called from Sub 'parrot;PAST;Compiler;post_children' pc 2595 (compilers/pct/src/PAST/Compiler.pir:553)
>> called from Sub 'parrot;PAST;Compiler;as_post' pc 3172 (compilers/pct/src/PAST/Compiler.pir:773)
>> called from Sub 'parrot;PAST;Compiler;as_post' pc 3275 (compilers/pct/src/PAST/Compiler.pir:821)
>> called from Sub 'parrot;PAST;Compiler;post_children' pc 2595 (compilers/pct/src/PAST/Compiler.pir:553)
>> called from Sub 'parrot;PAST;Compiler;as_post' pc 3172 (compilers/pct/src/PAST/Compiler.pir:773)
>> called from Sub 'parrot;PAST;Compiler;post_children' pc 2595 (compilers/pct/src/PAST/Compiler.pir:553)
>> called from Sub 'parrot;PAST;Compiler;pirop' pc 5280 (compilers/pct/src/PAST/Compiler.pir:1388)
>> called from Sub 'parrot;PAST;Compiler;post_children' pc 2595 (compilers/pct/src/PAST/Compiler.pir:553)
>> called from Sub 'parrot;PAST;Compiler;as_post' pc 4565 (compilers/pct/src/PAST/Compiler.pir:1176)
>> called from Sub 'parrot;PAST;Compiler;to_post' pc 1931 (compilers/pct/src/PAST/Compiler.pir:215)
>> called from Sub 'parrot;PCT;HLLCompiler;compile' pc 464 (compilers/pct/src/PCT/HLLCompiler.pir:331)
>> called from Sub 'parrot;HLL;Compiler;eval' pc 24537 (ext/nqp-rx/src/stage0/HLL-s0.pir:8848)
>> called from Sub 'parrot;PCT;HLLCompiler;evalfiles' pc 1501 (compilers/pct/src/PCT/HLLCompiler.pir:764)
>> called from Sub 'parrot;PCT;HLLCompiler;command_line' pc 1726 (compilers/pct/src/PCT/HLLCompiler.pir:879)
>> called from Sub 'parrot;NQP;Compiler;main' pc 92462 (ext/nqp-rx/src/stage0/NQP-s0.pir:28374)
>> make[1]: *** [compilers/opsc/gen/Ops/Emitter.pir] Error 1
>
> The problem here is that I cannot reproduce the failure on Debian's ia64
> porterbox. Is anyone able to reliably reproduce it or is aware of any change
> between 4.0.0 and 4.3.0 that may be causing this?
>
> Cheers
>
> [0] https://buildd.debian.org/status/fetch.php?pkg=parrot&arch=ia64&ver=4.3.0-1&stamp=1339321350
>
> --
> perl -E '$_=q;$/= @{[@_]};and s;\S+;<inidehG ordnasselA>;eg;say~~reverse'
>
> _______________________________________________
> http://lists.parrot.org/mailman/listinfo/parrot-dev
>


More information about the parrot-dev mailing list