Skip Menu |

This queue is for tickets about the YAML-Syck CPAN distribution.

Report information
The Basics
Id: 23916
Status: resolved
Priority: 0/
Queue: YAML-Syck

People
Owner: Nobody in particular
Requestors: miyagawa [...] bulknews.net
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Segmentation fault with circular references
Date: Wed, 13 Dec 2006 14:05:14 -0800
To: bug-JSON-Syck [...] rt.cpan.org
From: "Tatsuhiko Miyagawa" <miyagawa [...] bulknews.net>
The following code gives segmentation faults with perl 5.8.4, 5.8.5 and 5.8.8. use JSON::Syck; my $foo = bless { }, "Foo"; my $bar = bless { foo => $foo }, "Bar"; $foo->{bar} = $bar; JSON::Syck::Dump($foo); -- Tatsuhiko Miyagawa
Subject: Re: [rt.cpan.org #23916] Segmentation fault with circular references
Date: Wed, 13 Dec 2006 14:12:51 -0800
To: bug-JSON-Syck [...] rt.cpan.org
From: "Tatsuhiko Miyagawa" <miyagawa [...] gmail.com>
Here's a trace from Nicholas. http://paste.husk.org/7347 #53700 0x0041ffbd in syck_emit_item (e=0x1100aa0, n=25170736) at emitter.c:1171 #53701 0x004330be in json_syck_emitter_handler (e=0x1100aa0, data=25167600) at perl_syck.h:717 #53702 0x0043290f in json_syck_emitter_handler (e=0x1100aa0, data=25170752) at perl_syck.h:596 #53703 0x0041e0ac in syck_emit (e=0x1100aa0, n=25170752) at emitter.c:431 #53704 0x0041ffbd in syck_emit_item (e=0x1100aa0, n=25170752) at emitter.c:1171 #53705 0x004330be in json_syck_emitter_handler (e=0x1100aa0, data=25167296) at perl_syck.h:717 #53706 0x0043290f in json_syck_emitter_handler (e=0x1100aa0, data=25170736) at perl_syck.h:596 #53707 0x0041e0ac in syck_emit (e=0x1100aa0, n=25170736) at emitter.c:431 #53708 0x0041ffbd in syck_emit_item (e=0x1100aa0, n=25170736) at emitter.c:1171 #53709 0x004330be in json_syck_emitter_handler (e=0x1100aa0, data=25167600) at perl_syck.h:717 #53710 0x0043290f in json_syck_emitter_handler (e=0x1100aa0, data=25170752) at perl_syck.h:596 #53711 0x0041e0ac in syck_emit (e=0x1100aa0, n=25170752) at emitter.c:431 #53712 0x0041ffbd in syck_emit_item (e=0x1100aa0, n=25170752) at emitter.c:1171 #53713 0x004330be in json_syck_emitter_handler (e=0x1100aa0, data=25167296) at perl_syck.h:717 #53714 0x0043290f in json_syck_emitter_handler (e=0x1100aa0, data=25170736) at perl_syck.h:596 #53715 0x0041e0ac in syck_emit (e=0x1100aa0, n=25170736) at emitter.c:431 #53716 0x0041ffbd in syck_emit_item (e=0x1100aa0, n=25170736) at emitter.c:1171 #53717 0x004330be in json_syck_emitter_handler (e=0x1100aa0, data=25167600) at perl_syck.h:717 #53718 0x0043290f in json_syck_emitter_handler (e=0x1100aa0, data=25170752) at perl_syck.h:596 #53719 0x0041e0ac in syck_emit (e=0x1100aa0, n=25170752) at emitter.c:431 #53720 0x0041ffbd in syck_emit_item (e=0x1100aa0, n=25170752) at emitter.c:1171 #53721 0x004330be in json_syck_emitter_handler (e=0x1100aa0, data=25167296) at perl_syck.h:717 #53722 0x0043290f in json_syck_emitter_handler (e=0x1100aa0, data=25170736) at perl_syck.h:596 #53723 0x0041e0ac in syck_emit (e=0x1100aa0, n=25170736) at emitter.c:431 #53724 0x0041ffbd in syck_emit_item (e=0x1100aa0, n=25170736) at emitter.c:1171 #53725 0x004330be in json_syck_emitter_handler (e=0x1100aa0, data=25167600) at perl_syck.h:717 #53726 0x0043290f in json_syck_emitter_handler (e=0x1100aa0, data=25170752) at perl_syck.h:596 #53727 0x0041e0ac in syck_emit (e=0x1100aa0, n=25170752) at emitter.c:431 #53728 0x0041ffbd in syck_emit_item (e=0x1100aa0, n=25170752) at emitter.c:1171 #53729 0x004330be in json_syck_emitter_handler (e=0x1100aa0, data=25167296) at perl_syck.h:717 #53730 0x0043290f in json_syck_emitter_handler (e=0x1100aa0, data=25170736) at perl_syck.h:596 #53731 0x0041e0ac in syck_emit (e=0x1100aa0, n=25170736) at emitter.c:431 #53732 0x0041ffbd in syck_emit_item (e=0x1100aa0, n=25170736) at emitter.c:1171 #53733 0x004330be in json_syck_emitter_handler (e=0x1100aa0, data=25167600) at perl_syck.h:717 #53734 0x0043290f in json_syck_emitter_handler (e=0x1100aa0, data=25170752) at perl_syck.h:596 #53735 0x0041e0ac in syck_emit (e=0x1100aa0, n=25170752) at emitter.c:431 #53736 0x0041ffbd in syck_emit_item (e=0x1100aa0, n=25170752) at emitter.c:1171 #53737 0x004330be in json_syck_emitter_handler (e=0x1100aa0, data=25167296) at perl_syck.h:717 #53738 0x0043290f in json_syck_emitter_handler (e=0x1100aa0, data=25170784) at perl_syck.h:596 #53739 0x0041e0ac in syck_emit (e=0x1100aa0, n=25170784) at emitter.c:431 #53740 0x00434e09 in DumpJSON (sv=0x1801360) at perl_syck.h:873 #53741 0x0043e03a in XS_YAML__Syck_DumpJSON (cv=0x1817300) at Syck.c:109 #53742 0x000bcc23 in Perl_pp_entersub () at pp_hot.c:2900 #53743 0x00063a9e in Perl_runops_debug () at dump.c:1870 #53744 0x0009b687 in S_run_body (oldscope=1) at perl.c:2404 #53745 0x0009aa90 in perl_run (my_perl=0x11000f0) at perl.c:2324 #53746 0x00002083 in main (argc=2, argv=0xbffff0ac, env=0xbffff0b8) at perlmain.c:113 (gdb) -- Tatsuhiko Miyagawa
Subject: Re: [rt.cpan.org #23916] Segmentation fault with circular references
Date: Sun, 17 Dec 2006 11:17:40 -0800
To: bug-JSON-Syck [...] rt.cpan.org, "Audrey Tang" <autrijus [...] gmail.com>
From: "Tatsuhiko Miyagawa" <miyagawa [...] gmail.com>
Added a failing test case for this. -- Tatsuhiko Miyagawa
RT-Send-CC: autrijus [...] gmail.com, miyagawa [...] gmail.com
This ticket was found in JSON::Syck's queue (not YAML::Syck). At this time, JSON::Syck dies with a sane message. I think this is good for now: Dumping circular structures is not supported with JSON::Syck at ...