Custom Query (132 matches)
Results (28 - 30 of 132)
|#157||invalid||pyyaml-3.09 dumps core||xi||rich@…|
I'm not sure how to provide a small demonstration here.
In the "spread" module, (SpreadModule? on pypi), there is a type spread.MembershipMsg? which contains a "group_id", spread.MembershipMsg?.group_id. The group_id is an opaque type. I'm not sure how to generate one of these easily aside from bringing up a spread system, which seems like overkill.
In any case, attempting to serialize this opaque type with pyyaml results in a python core dump.
I recognize that pyyaml can't possibly know how to serialize or unserialize this sort of object. However, I think that attempting to do so should result in a suitable exception rather than an interpreter core dump.
I'll find another way around my problem. But chasing down this dump took me a couple of days. If it had been an exception, I'd have found the problem in minutes.
|#156||fixed||libyaml fails to identify simple keys in very long files on 32-bit platforms||xi||ppelletier@…|
I have file which contains thousands of relatively short YAML documents, so the file is large (nearly a gigabyte) but the individual documents are not.
I can provide this file if necessary, but I'm not attaching it because it's so large (982M uncompressed, and still 45M when bzip2'ed).
I was getting this error:
Parser error: while parsing a block mapping at line 9259457, column 5 did not find expected key at line 9260367, column 5
This error occurs in both libyaml-0.1.2 and libyaml-0.1.3, but only on 32-bit machines (I tried Ubuntu 8.04 for x86-32, and Intel Mac OS X 10.5 with the compiler in 32-bit mode). If I parse the same file with libyaml on a 64-bit machine (e. g. Ubuntu 8.04 for x86-64), it parses successfully with no error.
I eventually tracked this problem down to an overflow in pointer arithmetic in yaml_parser_save_simple_key(), in yaml-0.1.3/src/scanner.c on line 1125. I changed this:
simple_key.token_number = parser->tokens_parsed + parser->tokens.tail - parser->tokens.head;
simple_key.token_number = parser->tokens_parsed + (parser->tokens.tail - parser->tokens.head);
which caused my file to be parsed successfully, even on 32-bit platforms. So, I would recommend adding this fix to libyaml-0.1.4. Thanks!
|#150||invalid||Typo in emitter.c||xi||spitzak@…|
In libyaml stable branch there appears to be a typo, here is a patch:
--- src/emitter.c (revision 369) +++ src/emitter.c (working copy) @@ -1154,7 +1154,7 @@ break; case YAML_MAPPING_START_EVENT: - if (!yaml_emitter_check_empty_sequence(emitter)) + if (!yaml_emitter_check_empty_mapping(emitter)) return 0; length += emitter->anchor_data.anchor_length + emitter->tag_data.handle_length