# New Ticket Created by Leopold Toetsch # Please include the string: [perl #17931] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt2/Ticket/Display.html?id=17931 > I send this to the list first, because it's probably not a final solution and people might have something better. With this changes: - tracing works now most of the time again - "parrot befunge.pbc test.bef" doesn't loop anymore - tests still succeed (but they barely cover DOD/GC related bugs) Broken e.g.: - parrot -d languages/perl6/examples/life.pbc (only with LEA allocator, w/o -d it runs) - parrot -t languages/perl6/examples/life.pbc SIGSEGVs with both allocator schemes in/after DOD runs. We still have DOD/GC related bugs. Detailled list of changes: embed.c: - br0ken format in -d statistics headers.c: - set PMCs and Buffers initially to "live". This helps somwhat, that initially created objects are not killed immediately by a DOD run e.g. in midst of string_make misc.c (again): - copied one byte too much. string.c: - block GC/DOD in string_transcode. BTW is there any reason, that the default chartype is unicode? I.e. almost all the current mess starts out here - string-constants, read from packfile are considered unicode and the trans_coded numerous times in string_compare. - set the C-String in string_to_cstring to immobile trace.c: - removed some SIGSEGVs due to printing strings e.g. for PerlArray or printing null strings. - removed SIGSEGV related to width (when too small ~ULONG_MAX bytes where allocated). res_lea.c: - pad string leo -- attachment 1 ------------------------------------------------------ url: http://rt.perl.org/rt2/attach/39819/32240/ca3e48/gc-bugs.patchThread Next