Ticket #956 (closed defect: fixed)
Padre 0.62 crashes if outline Window is active
| Reported by: | wwe | Owned by: | zenog |
|---|---|---|---|
| Priority: | major | Milestone: | |
| Component: | editor | Version: | 0.62 |
| Keywords: | outline, crash | Cc: |
Description
Windows XP SP3, Strawberry 5.10
(This is perl, v5.10.1 (*) built for MSWin32-x86-multi-thread)
Xaero told me he has the same problem with Strawberry 5.12.
Wx Version=(0.9701) wxWidgets 2.8.10 unicode=(1)
If Padre is running with outline windows active it crashes after first change of the code.
How to reproduce:
- activate View > Show outline
- try to edit this file:
my $var1; my $var2;
Without outline window it works fine.
Change History
comment:2 Changed 3 years ago by waxhead
It gets worse..
just type in:
my $var;
and then on the next line my and wait...
pete@owl:~/Programming/Perl/Padre?/trunk/Padre$ ./dev.pl -a
Thread 2 terminated abnormally: Can't use string ("pst0
Padre::Task
Padre:") as a HASH ref while "strict refs" in use at /home/pete/Programming/Perl/Padre/trunk/Padre/lib/Padre/Document.pm line 935.
Unbalanced string table refcount: (1) for "outline_data" during global destruction.
Unbalanced string table refcount: (1) for "set_outline_data" during global destruction.
* glibc detected * Padre [] SVN @r11501 ($VERSION = 0.62): corrupted double-linked list: 0x0dc89b98 *
comment:3 Changed 3 years ago by waxhead
OK, open Padre,
First line:
my $testing;
then my by itself on the next line, wait a bit for the task to kick off... Padre hasn't crashed yet but this is on the console:
/pete@owl:~/Programming/Perl/Padre?/trunk/Padre$ ./dev.pl -a
Thread 3 terminated abnormally: Can't use string ("/home/pete/Programming/Perl/Padr") as a HASH ref while "strict refs" in use at /home/pete/Programming/Perl/Padre/trunk/Padre/lib/Padre/Document.pm line 935.
Scalars leaked: -5
Attempt to free unreferenced scalar: SV 0xcda76c0, Perl interpreter: 0xcdc6928 at /home/pete/Programming/Perl/Padre/trunk/Padre/lib/Padre/Task/Outline/Perl.pm line 138.
comment:4 Changed 3 years ago by waxhead
This is what is spewing into the console currently:
Attempt to free non-existent shared string 'pragmata', Perl interpreter: 0xb767800 at /home/pete/Programming/Perl/Padre/trunk/Padre/lib/Padre/Task/Outline/Perl.pm line 138.
Attempt to free non-existent shared string 'modules', Perl interpreter: 0xb767800 at /home/pete/Programming/Perl/Padre/trunk/Padre/lib/Padre/Task/Outline/Perl.pm line 138.
Attempt to free non-existent shared string 'pragmata', Perl interpreter: 0xc32af50 at /home/pete/Programming/Perl/Padre/trunk/Padre/lib/Padre/Task/Outline/Perl.pm line 138.
Attempt to free non-existent shared string 'modules', Perl interpreter: 0xc32af50 at /home/pete/Programming/Perl/Padre/trunk/Padre/lib/Padre/Task/Outline/Perl.pm line 138.
seems that the outline task code is a wee bit broken.
comment:5 Changed 3 years ago by zenogantner
I cannot reproduce the crash on trunk and Ubuntu 10.04, however I also get this kind of message from time to time:
Attempt to free non-existent shared string 'pragmata', Perl interpreter: 0xaf30660 at /home/mrg/src/padre/Padre/lib/Padre/Task/Outline/Perl.pm line 138.
Attempt to free non-existent shared string 'modules', Perl interpreter: 0xaf30660 at /home/mrg/src/padre/Padre/lib/Padre/Task/Outline/Perl.pm line 138.
And this in the end:
Attempt to free non-existent shared string 'SearchTask::', Perl interpreter: 0xaf30660 during global destruction.
Attempt to free non-existent shared string 'Padre::Task::OpenResource?', Perl interpreter: 0xaf30660 during global destruction.
Unbalanced string table refcount: (1) for "outline_data" during global destruction.
Scalars leaked: -112
comment:6 Changed 3 years ago by waxhead
- Owner set to zenog
- Status changed from new to assigned
That commit fixes the crash and the errors in the console here.

Padre crashes on trunk too.
Ubuntu 10.04:
pete@owl:~/Programming/Perl/Padre?/trunk/Padre$ ./dev.pl -a
Thread 3 terminated abnormally: Can't use string ("File::Spec") as a HASH ref while "strict refs" in use at /home/pete/Programming/Perl/Padre/trunk/Padre/lib/Padre/Document.pm line 935.
Thread 2 terminated abnormally: Can't use string ("pst0
Padre:") as a HASH ref while "strict refs" in use at /home/pete/Programming/Perl/Padre/trunk/Padre/lib/Padre/Document.pm line 935.