Support

Feel free to report bugs, submit patches and request features using the tracker. A mailing list is also available to discuss RubyOSA, so you can also send your feedback there.

Make sure your problem is not already described in the troubleshooting information below posting it.

Troubleshooting

irb -r rbosa crashes

IRB may fail to require RubyOSA and crash in a BUS error.

$ irb -r rubygems -r rbosa
/usr/local/lib/ruby/gems/1.8/gems/rubyosa-0.1.0/lib/osa.bundle:
[BUG] Bus Error

with a backtrace similar to:

0   com.apple.CoreFoundation    0x90840231 __CFInitialize + 607
1   com.apple.CoreFoundation    0x90881849 __CFSetupFoundationBridging + 43
2   com.apple.Foundation        0x9268cc43 _NSToDoAtProcessStart + 1397
3   com.apple.Foundation        0x925d93d9 _NSInitializePlatform + 371
4   libobjc.A.dylib             0x90a52f06 _objc_notify_images + 4259
5   dyld                        0x8fe0e3c8 ImageLoaderMachO::doNotification(dyld_image_mode, unsigned, dyld_image_infoconst*) + 70
6   dyld                        0x8fe05255 dyld::notifyAdding(std::vector<ImageLoader*, std::allocator<ImageLoader*>>&) + 201
7   dyld                        0x8fe0cbcd ImageLoader::link(ImageLoader::LinkContext const&, ImageLoader::BindingLaziness, ImageLoader::InitializerRunning, unsigned) + 331
8   dyld                        0x8fe03982 dyld::link(ImageLoader*, ImageLoader::BindingLaziness, ImageLoader::InitializerRunning) + 160
9   dyld                        0x8fe08721 NSLinkModule + 157
10  libSystem.B.dylib           0x90025335 NSLinkModule + 85
11  ruby                        0x000a5367 dln_load + 219
12  ruby                        0x00013507 rb_require_safe + 634
[...]

This seems to be a bug in Ruby 1.8.4, and it has been fixed in 1.8.5. So you are encouraged to upgrade Ruby to the latest stable version available.

If you want to know more about this bug, please read [ruby-dev:29261] and [ruby-dev:29264] (in Japanese).

RubyOSA doesn’t seem to use libxml and is slow, but libxml is installed

Note: this problem is now fixed since libxml-ruby 0.3.8.2.

If you installed libxml-ruby via RubyGems, it may not have properly installed its C extension binary, libxml_so.bundle.

You can check this by running:

$ irb -r rubygems -r xml/libxml
.../rubygems/custom_require.rb:29: in `gem_original_require': no such file to load -- xml/libxml_so (LoadError)
[...]

The solution is to install libxml-ruby manually (not via RubyGems), or to patch the libxml-ruby source tree with this patch and re-generate the gem file.

RubyOSA still works even if libxml is not properly installed, because it falls-back on using REXML. But it becomes slower, as REXML is a pure Ruby library.