Jens Rehsack via RT wrote:
Hi,
On Thu Aug 12 16:53:02 2010, mattia.bar...@libero.it wrote:
Jens Rehsack via RT wrote:
Hi,
On Sun Aug 01 06:35:07 2010, mattia.bar...@libero.it wrote:
Jens Rehsack via RT wrote:
Hi,
I've seen RT#41716 - and this RT is more or less the same report with
another background.
We (pkgsrc) package some perl modules using Wx - at least Padre
and some
plugins. All these package fail the bulk builds with perl core dumps,
because of the Wx requirement.
If you do a simple 'use Wx', does it crash that way? Is there a
simple test case for the bug?
$ env DISPLAY= perl -e 'use Wx qw(:allclasses); print wxYES, "\n";';
Error: Unable to initialize gtk, is DISPLAY set properly?
Segmentation fault (core dumped)
$ env DISPLAY= perl -e 'use Wx qw(wxYES); print wxYES, "\n";';Error:
Unable to initialize gtk, is DISPLAY set properly?
2
$ env DISPLAY= perl -Mblib t/01_load.t
1..6
Error: Unable to initialize gtk, is DISPLAY set properly?
Use of uninitialized value $Wx::_universal in concatenation (.) or
string at /usr/pkgsrc/x11/p5-Wx/work/Wx-0.9702/blib/lib/Wx.pm line 160.
Use of uninitialized value $Wx::_static in concatenation (.) or string
at /usr/pkgsrc/x11/p5-Wx/work/Wx-0.9702/blib/lib/Wx.pm line 161.
ok 1 - use Wx;
Segmentation fault (core dumped)
How much simpler should the test case be?
This simple... from the first bug report I got the impression that
the problem occurred in the Padre test suite.
My fault - there I detected it first time. I'm a bit EHEADEVERYWHERE at
the moment, sorry.
I'm sorry, I'm no GUI developer, neither using Wx nor any other graphics
library. I can't do more than showing you with your own code, where it
fails.
I am not using NetBSD either, and I might say the same thing :-)
Again my fault. It crashes on MacOS X (X11 environment), Ubuntu and
Solaris, too.
It's not related to NetBSD.
Actually, I did try under Linux and it did not crash; I tried now and
I can reproduce it; no idea what I did wrong the first time...
anyway, I'm currently installing NetBSD in a VM. I'm not sure when I
will be able to look into the crash; keep in mind thath Wx is never
going to pass any tests with display unset, the best I can do is to make
it fail without a crash.
If it wouldn't dump core on 'use Wx qw(:allclasses);', would be enough.
I don't want request a magical fix what might bring Wx working without
an output device, but a core dump leads me to the assumption, that
something is going heavily wrong.
Agreed. Debugging it further, the failure is inside wxWidgets and is
not fixable: if the wxWidgets initialization fails, using it to load
libraries (as done by :allclasses) is always going to crash (because
some needed non-GUI components are not initialized). I added some code
that die()s if the wxWidgets initialization fails:
$ perl -Mblib -MWx=:allclasses -e 42
Error: Unable to initialize gtk, is DISPLAY set properly?
Failed to initialize wxWidgets at -e line 0
Compilation failed in require.
BEGIN failed--compilation aborted.
$
HTH,
Mattia