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

Reply via email to