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