Ticket #956 (closed defect: fixed)

Opened 4 years ago

Last modified 4 years ago

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:1 Changed 4 years ago by waxhead

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::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.

comment:2 Changed 4 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 4 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 4 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 4 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 4 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.

comment:7 Changed 4 years ago by zenogantner

  • Status changed from assigned to closed
  • Resolution set to fixed

We believe this bug is fixed in r11522.
The fix will be released with version 0.63.
Please re-open if you still encounter the bug.

comment:8 Changed 4 years ago by zenogantner

sorry, meant r11523

Note: See TracTickets for help on using tickets.