wxRuby segfault on exit

Hi,
All programs I make with wxruby crash when they are closed. This happens
with the examples as well.

Is this fixed in the svn?
I tried building the svn from source, but once I compiled and installed
it, I got some question about a missing symbol when running my program.

Thanks,
Lucas

Lucas Levin wrote:

All programs I make with wxruby crash when they are closed. This happens
with the examples as well.

Please say which platform you’re on, and what version you’re using. And
could you show us some simple, complete code that demonstrates the
error, or at least indicate which sample(s) you’re talking about?

Is this fixed in the svn?

There is a fix in SVN for a longstanding irritating bug which could
crashes on closing frames under some circumstances, if event handlers
were attached. But without knowing more about your bug, it’s hard to
know whether this is the problem - but it sounds quite possible. With
SVN head I now have no crashes on exit on any sample.

I tried building the svn from source, but once I compiled and installed
it, I got some question about a missing symbol when running my program.

Again, can you give us a clue about what symbol was missing? And what
wxWidgets you are building against?

alex

On reflection, that probably wasn’t anywhere near enough info.


Please say which platform you’re on, and what version you’re using. And
could you show us some simple, complete code that demonstrates the
error, or at least indicate which sample(s) you’re talking about?
I’m running GNOME version 2.22.1 on Ubuntu 8.04 release candidate (it is
possible this is the problem, I’ll use a livecd later to check on an
earlier ubuntu). I’m using the gem retrieved using ‘gem install wxruby’,
which is 1.9.5.

As for some code none of the samples I tried worked. Here is nothing.rb
(minus comments):
begin
require ‘rubygems’
rescue LoadError
end
require ‘wx’
Wx::App.run do
frame = Wx::Frame.new(nil, :title => “Minimal wxRuby App”)
frame.show
end

Gives this:
minimal/nothing.rb:13: [BUG] Segmentation fault
ruby 1.8.6 (2007-09-24) [i486-linux]

Aborted


Again, can you give us a clue about what symbol was missing? And what
wxWidgets you are building against?
I’m using 2.8.7.1, BUT I also have version 2.6.3.2 runtime installed for
VLC.
I don’t have the i18n package or the wx-common package installed.
As the the missing symbol, I don’t know right now but I’ll get back to
you.
If it is of any significance, during installation it said the PrinterDC
component would be skipped for some reason.

Thanks,
Lucas

Hi

Lucas Levin wrote:

I’m running GNOME version 2.22.1 on Ubuntu 8.04 release candidate (it is
possible this is the problem, I’ll use a livecd later to check on an
earlier ubuntu). I’m using the gem retrieved using ‘gem install wxruby’,
which is 1.9.5.

I use current 7.10 Ubuntu, so no need to test there to see if it’s the
distro. The binary gem you installed was built on that.

As for some code none of the samples I tried worked. Here is nothing.rb

OK, there’s something wrong if nothing.rb isn’t working. Most of the
bugs that have been fixed in SVN since 1.9.5 are pretty esoteric.

Gives this:
minimal/nothing.rb:13: [BUG] Segmentation fault
ruby 1.8.6 (2007-09-24) [i486-linux]

One thing springs to mind here. The ruby-core team decided it was a good
idea to change bits of ruby’s GC code between two patch levels of ruby
1.8.6 and this created a problem in wxRuby which is now fixed in SVN.
This would show up as something like “object allocation during GC” error
message.

Could you try running it under gdb please? The binary is stripped so it
may give anything useful, but worth a shot.

gdb --args ruby -rubygems minimal/nothing.rb

Then at the gdb prompt:

r

Then when it crashes:

whe

And post back the first 20-odd lines of what results.

Again, can you give us a clue about what symbol was missing? And what
wxWidgets you are building against?

I’m using 2.8.7.1, BUT I also have version 2.6.3.2 runtime installed for VLC.

The binary gem includes a statically linked version of wxWidgets so your
system version shouldn’t matter. It will matter if you’re building
yourself against a distro package.

I don’t have the i18n package or the wx-common package installed.
As the the missing symbol, I don’t know right now but I’ll get back to you.

If it is of any significance, during installation it said the PrinterDC component would be skipped for some reason.
That’s normal on GTK. If that’s the only component being skipped, it’s
trying to build everything else including all optional components like
Scintillla, MediaCtrl, OpenGL. wxRuby’s configure should detect if these
aren’t available and skip them, but it could be that this hasn’t
happened and that’s the reason for the missing symbol. If we knew the
symbol that would pin it down

cheers
alex

I use current 7.10 Ubuntu, so no need to test there to see if it’s the
distro. The binary gem you installed was built on that.
Does that mean we can assume it the fact I’m running 8.04 that’s causing
the problem?
Upgrading to the rc has caused me nothing but trouble, I’ll be patient
in the future:)

One thing springs to mind here. The ruby-core team decided it was a good
idea to change bits of ruby’s GC code between two patch levels of ruby
1.8.6 and this created a problem in wxRuby which is now fixed in SVN.
This would show up as something like “object allocation during GC” error
message.
Not getting a message like that.

Could you try running it under gdb please? The binary is stripped so it
may give anything useful, but worth a shot.
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb7cf4b60 (LWP 9268)]
0xb5234f74 in ?? () from /lib/libselinux.so.1
(gdb) whe
#0 0xb5234f74 in ?? () from /lib/libselinux.so.1
#1 0x00000060 in ?? ()
#2 0xb5223000 in ?? ()
#3 0x0001816c in ?? ()
#4 0xb523aff4 in ?? () from /lib/libselinux.so.1
#5 0xb523aff4 in ?? () from /lib/libselinux.so.1
#6 0xb523ba84 in ?? () from /lib/libselinux.so.1
#7 0xbf94e458 in ?? ()
#8 0xb522e64e in ?? () from /lib/libselinux.so.1
#9 0x00000000 in ?? ()
libselinux? how odd. Unless it runs underneath the hood, I don’t think I
use it.

If it is of any significance, during installation it said the PrinterDC component would be skipped for some reason.
That’s normal on GTK. If that’s the only component being skipped, it’s
trying to build everything else including all optional components like
Scintillla, MediaCtrl, OpenGL. wxRuby’s configure should detect if these
aren’t available and skip them, but it could be that this hasn’t
happened and that’s the reason for the missing symbol. If we knew the
symbol that would pin it down
See the last post for the symbol.

Thanks!

Lucas Levin wrote:

I use current 7.10 Ubuntu, so no need to test there to see if it’s the
distro. The binary gem you installed was built on that.

Does that mean we can assume it the fact I’m running 8.04 that’s causing the problem?
Upgrading to the rc has caused me nothing but trouble, I’ll be patient in the future:)

It could be, or it could just be that that version of Ubuntu has
upgraded to ruby 1.8.6-p114 and that’s causing problems. Rather than
trying to compile wxRuby yourself, you could also see if ruby-1.8.6-p110
works if you compile it yourself.

http://rubyforge.org/frs/?group_id=426

I will likely move onto 8.04 when it’s ready and offered by Ubuntu’s
update manager, so future gems will target that.

One thing springs to mind here. The ruby-core team decided it was a good
idea to change bits of ruby’s GC code between two patch levels of ruby
1.8.6 and this created a problem in wxRuby which is now fixed in SVN.
This would show up as something like “object allocation during GC” error
message.

Not getting a message like that.

OK, but that’s what I would expect if it were this bug that ruby-core
introduced.

Could you try running it under gdb please? The binary is stripped so it
may give anything useful, but worth a shot.

> libselinux? how odd. Unless it runs underneath the hood, I don't think I > use it. > Unfortunately there's not much useful left in there, because the binary in the gem is stripped to reduce size. >>> If it is of any significance, during installation it said the PrinterDC component would be skipped for some reason. >>> >> That's normal on GTK. If that's the only component being skipped, it's >> trying to build everything else including all optional components like >> Scintillla, MediaCtrl, OpenGL. wxRuby's configure should detect if these >> aren't available and skip them, but it could be that this hasn't >> happened and that's the reason for the missing symbol. If we knew the >> symbol that would pin it down >> > See the last post for the symbol. I don't think you've posted it?

alex

It could be, or it could just be that that version of Ubuntu has
upgraded to ruby 1.8.6-p114 and that’s causing problems. Rather than
trying to compile wxRuby yourself, you could also see if ruby-1.8.6-p110
works if you compile it yourself.
$ ruby --version
ruby 1.8.6 (2007-09-24 patchlevel 111) [i486-linux]

I don’t think I can be bothered installing a whole new ruby, I’ll just
live with it until you upgrade.:slight_smile:

Lucas