[libxml-devel] [ libxml-Bugs-8337 ] Opening many files causes segfault on fbsd-amd64
Sean Chittenden
sean at chittenden.org
Fri Jul 11 12:30:34 EDT 2008
>>> So I don't see this as a bug in the libxml bindings.
>> Maybe you are right, but if I change XML::Document.file("test.xml")
>> to File.open("test.xml"), I won't run out of file handles.
>> I wonder what makes the difference...
>
> Well, File.open is a ruby method while Document.open is a libxml
> method. Perhaps Ruby has some smarts built into it with File.open
> and the garbage collector.
Ruby does the same thing libxml now does, it calls the GC whenever
errno is set to EMFILE or ENFILE.
>> And if I remember correctly, even the original test code with
>> libxml-ruby 3.8 did not run out of file handles on 32bit intel
>> machines
>> either - the reported segfault only affected the amd64 (and maybe
>> other) architecture.
>
> Interesting. Could be a difference in libxml, or maybe a difference
> in the bindings. Would have to check svn to know for sure.
I don't know why that would be... maybe on the other machine you had
your limits set higher and the GC always kicked in. The test code
uses sh -c `ulimit -n` to make sure that things run out of FDs. -sc
--
Sean Chittenden
sean at chittenden.org
More information about the libxml-devel
mailing list