Hi, LibXML::XML::LIBXML_VERSION reports 2.6.16 but ports reports
libxml2 @2.7.2 textproc/libxml2 something is not quite right here. Thanks for the tip about the validation call-back! Cheers, Jacob On 21/02/2009, at 05.56, Norihito YAMAKAWA wrote:
Hi. I tested on OSX 10.4.11 with LibXML 2.7.2 from Darwin ports, but just works fine. Validation error printed same as your Ubuntsu one, no segmentation fault. This might be Leopard or LibXML2 issue. Which LibXML version does you use ? It can be given by LibXML::XML::LIBXML_VERSION. In addition, validate_schema's callback seems not work currently. Though LibXML2 has error call back API on Schema validation, ruby-libxml also use it, but never invoked. It would be LibXML2 bug. You can use global error handler to capture validation errors, set by XML::Error#set_handler. 2009/2/20 Jacob Lauemøller <jacob.lauemoel...@iteray.com>:Hi guysI'm having major problems with libxml-ruby version 0.9.8 on Mac OS X 10.5.6. The gem installs without problems, but schema validation errors result in aBus Error or Segmentation Fault.The problem doesn't occur when the same code is run against 0.9.7, nor doesit occur with 0.9.8. on Ubuntu. I have constructed the following sample program which illustrates the problem: -----------------------[ validate.rb ]---------------- require 'rubygems' require 'libxml' include LibXML if ARGV.length < 2 puts 'Wrong number of arguments' puts 'ruby validate.rb path/to/schema/file path/to/xml/file...' exit 1 end schema = XML::Schema.document(XML::Document.file(ARGV.shift)) ARGV.each do | xml_file_name | instance = XML::Document.file(xml_file_name) result = instance.validate_schema(schema) do |message, is_error|puts "#{is_error ? 'ERROR' : 'WARNING'}: #{xml_file_name}: #{message}"end puts "#{xml_file_name} is #{result ? 'VALID' : 'INVALID'}" end -------------------------------------------------- -----------------------[ schema.rb ]---------------- <?xml version="1.0" encoding="UTF-8"?> <xs:schema targetNamespace="http://not.important/status" xmlns:tns="http://not.important/status" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:complexType name="Release"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="state" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:element name="release" type="tns:Release"/> </xs:schema> --------------------------------------------------- -----------------------[ sample1.xml ]--------------- <?xml version="1.0" encoding="UTF-8"?> <release xmlns="http://not.important/status"> <Name>release</Name> <state>Ready</state> </release> ---------------------------------------------------Running validate.rb with the schema and sample xml file should generate a validation error since the 'name' element is misspelled. But instead (onMac OS X) I get $ ruby validate.rb schema.xsd sample1.xml validate.rb:16: [BUG] Segmentation fault ruby 1.8.6 (2008-03-03) [universal-darwin9.0] Abort trap With 0.9.7 I getError: Element 'release' [CT 'Release']: The element content is not valid.at sample1.xml:0. validate.rb:16:in `validate_schema': Error: Element 'release' [CT 'Release']: The element content is not valid. at sample1.xml:0. (LibXML::XML::Error) from validate.rb:16 from validate.rb:14:in `each' from validate.rb:14 On Ubuntu, 0.9.8 gives meError: Element '{http://not.important/status}Name': This element is notexpected. Expected is ( {http://not.important/status}name ). at sample1.xml:3. validate.rb:16:in `validate_schema': Error: Element'{http://not.important/status}Name': This element is not expected. Expectedis ( {http://not.important/status}name ). at sample1.xml:3. (LibXML::XML::Error) from validate.rb:16 from validate.rb:14:in `each' from validate.rb:14 which is spot on. ruby --version on the Mac yields ruby 1.8.6 (2008-03-03 patchlevel 114) [universal-darwin9.0] and on Ubuntu ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux] The Mac OS X Problem Report for the 0.9.8 case looks like this: Process: ruby [26788] Path: /usr/bin/ruby Identifier: ruby Version: ??? (???) Code Type: X86 (Native) Parent Process: bash [24391] Date/Time: 2009-02-20 13:27:09.694 +0100 OS Version: Mac OS X 10.5.6 (9G55) Report Version: 6 Exception Type: EXC_BAD_ACCESS (SIGABRT) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000014000004 Crashed Thread: 0 Thread 0 Crashed: 0 libSystem.B.dylib 0x93d15e42 __kill + 10 1 libSystem.B.dylib 0x93d8823a raise + 26 2 libSystem.B.dylib 0x93d94679 abort + 73 3 libruby.1.dylib 0x000cdc10 rb_exc_new + 04 libruby.1.dylib 0x0013460f rb_gc_mark_trap_list +508 5 libSystem.B.dylib 0x93d142bb _sigtramp + 43 6 ??? 0xffffffff 0 + 42949672957 libruby.1.dylib 0x000cfdfc rb_clear_cache_by_class +1418 libruby.1.dylib 0x000db655 rb_obj_respond_to + 1299 libruby.1.dylib 0x000db6e1 rb_respond_to + 3210 libxml_ruby.bundle 0x0019f4ce structuredErrorFunc + 110 11 libxml2.2.dylib 0x915402ba __xmlRaiseError + 1029 12 libxml2.2.dylib 0x915a4eef xmlSchemaSetValidOptions+ 587513 libxml2.2.dylib 0x915aa076 xmlSchemaNewDocParserCtxt+ 815814 libxml2.2.dylib 0x915a90fa xmlSchemaNewDocParserCtxt+ 419415 libxml2.2.dylib 0x915b8733 xmlSchemaNewDocParserCtxt+ 6722716 libxml2.2.dylib 0x915b8841 xmlSchemaValidateDoc +129 17 libxml_ruby.bundle 0x0019e462 rxml_document_validate_schema + 12918 libruby.1.dylib 0x000da14c rb_eval_string_wrap +1663719 libruby.1.dylib 0x000dad2a rb_eval_string_wrap +1967520 libruby.1.dylib 0x000d809a rb_eval_string_wrap +826721 libruby.1.dylib 0x000d70d7 rb_eval_string_wrap +423222 libruby.1.dylib 0x000d89ec rb_eval_string_wrap +1065323 libruby.1.dylib 0x000de138 rb_thread_trap_eval +2393 24 libruby.1.dylib 0x000defe6 rb_yield + 33 25 libruby.1.dylib 0x000bfc7d rb_ary_each + 3026 libruby.1.dylib 0x000da14c rb_eval_string_wrap +1663727 libruby.1.dylib 0x000dad2a rb_eval_string_wrap +1967528 libruby.1.dylib 0x000d809a rb_eval_string_wrap +826729 libruby.1.dylib 0x000d70d7 rb_eval_string_wrap +423230 libruby.1.dylib 0x000e702e rb_load_protect + 29831 libruby.1.dylib 0x000e705f ruby_exec + 22 32 libruby.1.dylib 0x000e708b ruby_run + 42 33 ruby 0x00001fff 0x1000 + 4095 34 ruby 0x00001fa6 start + 54 Thread 0 crashed with X86 Thread State (32-bit): eax: 0x00000000 ebx: 0x93d94639 ecx: 0xbfffd65c edx: 0x93d15e42 edi: 0xa04a2690 esi: 0x00000010 ebp: 0xbfffd678 esp: 0xbfffd65c ss: 0x0000001f efl: 0x00000286 eip: 0x93d15e42 cs: 0x00000007 ds: 0x0000001f es: 0x0000001f fs: 0x00000000 gs: 0x00000037 cr2: 0xffe2aa74 Binary Images:0x1000 - 0x1ffe +ruby ??? (???) <660a81a680415ef4ca4d85d3104eed85>/usr/bin/ruby 0x3a000 - 0x3bffc thread.bundle ??? (???) <d62a9b0eba909a01e0f24cda4d3f8b46>/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ 1.8/universal-darwin9.0/thread.bundle0x98000 - 0x9affd stringio.bundle ??? (???) <6ef963050f33481408e309d4ac8a06c7>/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ 1.8/universal-darwin9.0/stringio.bundle0xbf000 - 0x15cffb libruby.1.dylib ??? (???) <bf28599e1ca8de35546083fa05758cf8>/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ libruby.1.dylib0x17e000 - 0x191ff7 syck.bundle ??? (???) <12c497c718eb3c5b47d3f286b531dfc4>/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ 1.8/universal-darwin9.0/syck.bundle0x197000 - 0x197ffc etc.bundle ??? (???) <b9f04200980be0fe3973b21401e5e37f>/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ 1.8/universal-darwin9.0/etc.bundle0x19b000 - 0x1b4ffc +libxml_ruby.bundle ??? (???) <7dadcfbc46249cc29bd4d9451269cba6> /Library/Ruby/Gems/1.8/gems/libxml-ruby-0.9.8/lib/libxml_ruby.bundle0x8fe00000 - 0x8fe2db43 dyld 97.1 (???) <100d362e03410f181a34e04e94189ae5>/usr/lib/dyld 0x90853000 - 0x9085afe9 libgcc_s.1.dylib ??? (???) <f53c808e87d1184c0f9df63aef53ce0b> /usr/lib/libgcc_s.1.dylib 0x90ab6000 - 0x90beeff7 libicucore.A.dylib ??? (???) <18098dcf431603fe47ee027a60006c85> /usr/lib/libicucore.A.dylib 0x9151a000 - 0x915fbff7 libxml2.2.dylib ??? (???) <d69560099d9eb32ba7f8a17baa65a28d> /usr/lib/libxml2.2.dylib 0x93ca7000 - 0x93e0eff3 libSystem.B.dylib ??? (???) <d68880dfb1f8becdbdac6928db1510fb> /usr/lib/libSystem.B.dylib 0x95416000 - 0x95424ffd libz.1.dylib ??? (???) <5ddd8539ae2ebfd8e7cc1c57525385c7> /usr/lib/libz.1.dylib 0x95a2f000 - 0x95a8cffb libstdc++.6.dylib ??? (???) <04b812dcec670daa8b7d2852ab14be60> /usr/lib/libstdc++.6.dylib 0x95d38000 - 0x95d3cfff libmathCommon.A.dylib ??? (???) /usr/lib/system/libmathCommon.A.dylib 0x95f97000 - 0x9608bff4 libiconv.2.dylib ??? (???) <c508c60fafca17824c0017b2e4369802> /usr/lib/libiconv.2.dylib 0xffff0000 - 0xffff1780 libSystem.B.dylib ??? (???) /usr/lib/libSystem.B.dylib Any ideas? Kind regards, Jacob _______________________________________________ libxml-devel mailing list libxml-devel@rubyforge.org http://rubyforge.org/mailman/listinfo/libxml-devel_______________________________________________ libxml-devel mailing list libxml-devel@rubyforge.org http://rubyforge.org/mailman/listinfo/libxml-devel
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ libxml-devel mailing list libxml-devel@rubyforge.org http://rubyforge.org/mailman/listinfo/libxml-devel