Ticket #1088 (closed defect: not a bug)
Silent test failures in 0.76
| Reported by: | szabgab | Owned by: | |
|---|---|---|---|
| Priority: | critical | Milestone: | |
| Component: | editor | Version: | 0.76 |
| Keywords: | Cc: |
Description
I am trying to upgrade a working Padre 0.72 installation on a SuSE system
and I got a silent test failure:
~/Padre-0.76> prove -Ilib -v t/01-load.t t/01-load.t .. 1..44 ok 1 - use Wx; # Tests find Wx: 0.98 wxWidgets 2.8.10 ok 2 - use t::lib::Padre; ok 3 - use Padre::Util; ok 4 - use Padre::Config; ok 5 - use Padre::DB; ok 6 - use Padre::Project; ok 7 - use Padre::Wx; ok 8 - use Padre::Wx::HtmlWindow; ok 9 - use Padre::Wx::Printout; ok 10 - use Padre::Wx::Dialog::PluginManager; ok 11 - use Padre::Wx::Dialog::Preferences; ok 12 - use Padre::Wx::History::TextEntryDialog; ok 13 - use Padre::Wx::History::ComboBox; ok 14 - use Padre; ok 15 - use Padre::Pod2HTML; ok 16 - use Padre::Plugin::Devel; ok 17 - use Padre::Plugin::My; ok 18 - use Padre::Task; ok 19 - use Padre::TaskThread; ok 20 - use Padre::TaskHandle; ok 21 - use Padre::TaskManager; ok 22 - use Padre::TaskProcess; ok 23 - use Padre::TaskWorker; ok 24 - use Padre::Role::Task; Failed 20/44 subtests Test Summary Report ------------------- t/01-load.t (Wstat: 11 Tests: 24 Failed: 0) Non-zero wait status: 11 Parse errors: Bad plan. You planned 44 tests but ran 24. Files=1, Tests=24, 3 wallclock secs ( 0.06 usr 0.02 sys + 1.43 cusr 0.16 csys = 1.67 CPU) Result: FAIL
BTW perl -v tells me:
This is perl, v5.10.0 built for x86_64-linux-thread-multi
After some investigation I found out that the silent crash was caused by the
use Wx::RichText?;
statement in the following files:
lib/Padre/Wx/Output.pm lib/Padre/Wx/Dialog/RegexEditor.pm
I can see the same code in the already installed Padre but I am not sure if back when
I installed that version if I force installed it or if that worked correctly.
In any case now I commented out the "use Wx::RichText?;" statements and
installed Padre.
Padre works but when I try to open the RegexEditor? (where I removed the use statement) it crashes Padre:
Error while autoloading 'Wx::wxRE_MULTILINE' at /home/gabor/perl5/lib/perl5/Padre/Wx/Dialog/RegexEditor.pm line 145
If I run a script (with the external output window NOT set) Padre crashes with this:
Type not translated: Attributes Can't locate package Wx::RichTextCtrl for @Padre::Wx::Output::SUPER::ISA at /home/gabor/perl5/lib/perl5/Padre/Wx/Output.pm line 39. Can't locate package Wx::RichTextCtrl for @Padre::Wx::Output::SUPER::ISA at /home/gabor/perl5/lib/perl5/Padre/Wx/Output.pm line 39. Can't locate object method "new" via package "Padre::Wx::Output" at /home/gabor/perl5/lib/perl5/Padre/Wx/Output.pm line 39.
Change History
comment:2 Changed 2 years ago by claudio
Je viens de faire un svn update (r13452) and no problem whatsoever when running make test.
comment:3 Changed 2 years ago by claudio
Oops. In French? It is even not my mother language, I need coffee. I meant:
I just did a svn update ...
comment:4 Changed 2 years ago by szabgab
The PerlTidy? plugin was installed without a problem but when trying to use it (shift-Alt-F)
Padre crashes with
11:29:21: Error: libwx_baseu_xml-2.8.so.0: cannot open shared object file: No such file or directory Segmentation fault
It seems these are all issues with wxWidgets on this SuSE machine.
comment:5 Changed 2 years ago by claudio
Do you have the Suse package installed that provides the file?
On Ubuntu:
claudio@adelaide:~$ dpkg -S libwx_baseu_xml-2.8.so.0
libwxbase2.8-0: /usr/lib/libwx_baseu_xml-2.8.so.0
libwxbase2.8-0: /usr/lib/libwx_baseu_xml-2.8.so.0.7.0
comment:6 Changed 2 years ago by szabgab
- Status changed from new to closed
- Resolution set to not a bug
libwx_baseu_xml-2.8.so.0 was installed but after installing wxGTK and wxGTK-devel using YAST2 I could start using the Regex Editor and the Output window started to work as well and I could use Perl Tidy as well without crash. (The last one probably crashed earlier when it was trying to open the output window)
Thanks for your suggestion.
I am closing this ticket now though I still wonder how we could detect this (or maybe it was detected I just skipped over the detection back when I installed Alien::wxWidgets or Wx.pm themselves?

If, after installation, I enable the use Wx::RichText? in /home/gabor/perl5/lib/perl5/Padre/Wx/Dialog/RegexEditor.pm and try to open the Regex Editor. Padre crashes with Segmentation fault.
If I enable the use Wx::RichText? in /home/gabor/perl5/lib/perl5/Padre/Wx/Output.pm and run a script from Padre, it crashes with the following: