I wonder if anyone has any ideas how I can track down the source of a
problem that I am having. I have a pir file that runs fine under 0.4.0,
but under the latest svn fails with this message:

   parrot: src/string.c:448: string_append: Assertion `b->encoding &&
   b->charset && !(((b)->obj.flags) & b_PObj_on_free_list_FLAG)' failed.

If I insert print instructions into the pir file, the point at which the
program fails changes arbitrarily.

If I run the program with --no-gc, it runs normally.

If I run it with -t, it fails consistently right near the beginning:

$ parrot -t string_operations.pir
     3 warningson 255
     5 store_global "_argv", P0         - , P0=SArray=PMC(0x8ae4610)
     8 newclass P0, "ANY"       - P0=SArray=PMC(0x8ae4610),
    11 getclass P1, "Amber_INTEGER"     - P1=PMCNULL,
    14 getclass P1, "Amber_BOOLEAN"     - P1=parrot: src/string.c:448:
string_append: Assertion `b->encoding && b->charset
&& !(((b)->obj.flags) & b_PObj_on_free_list_FLAG)' failed.
Aborted

The program exercises a whole load of string functions (appending,
repeating, substringing etc)

If anyone wants to try running the pir, it's here:
http://xamber.org/temp/string_operations.pir
(first build the pmcs: cd languages/amber && make all)
but really I'd be grateful for any tips about how to locate the problem.

Regards,
Roger Browne

Reply via email to