Steve, > I'm not sure if this error is yours or not, but I thought I'd bounce > it off you. I've copied the wxPerl list too. > > I have a modification in wx 2.8.11 to display Bitmap Headers and > footers in RichText which has been working for a number of years that > I am transferring to 3.0.1. After a number of crashes, I have > stripped the changes down to JUST the following in richtextprint.h (ie > a declaration of 4 new variables, but they are never used by > anything).
>From this I get the impression that there might be a subtle change in the RichText code causing the problem in conjunction with wxPdfDocument. > Which compiles without for both error in both 2.8.11 and 3.0.1, in > 2.8.11 I have implemented a whole area of functionality around bitmap > headers and footers. In 3.0.1, it compiles ok and then gives me a > runtime error: > > *** Error in `/usr/bin/perl': malloc(): memory corruption: > 0x0000000004e939f0 *** > Aborted (core dumped) > > If I start gdb against the core dump I find: > > [Thread debugging using libthread_db enabled] > Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". > Core was generated by `/usr/bin/perl -w /usr/local/bin/wxperl_demo.pl'. > Program terminated with signal SIGABRT, Aborted. > #0 0x00007fc1826f7bb9 in __GI_raise (sig=sig@entry=6) at > ../nptl/sysdeps/unix/sysv/linux/raise.c:56 > 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. > > As the message says, there is no file called raise.c on my machine. > > A quick Google shows suggests that there are a number of multi-threading > issues when running wxGTK and X11 on multiprocessor systems. > > The sort of fix that is suggested is to insert something like the > following code: > > #include <X11/Xlib.h> > > XInitThreads(); > > in main(); > > As there is no main in wxPdfDocument.cpp, I put it in the create method, > to no effect. Somehow the memory gets corrupted ... and the cause for this can have happened much earlier by illegally overwriting a memory area. That is, I don't think your problem is related to threads. > I can't guarantee that that PdfDoc is the culprit, but I'd value your > opinion. > > Any suggestions gratefully received. Well, the memory corruption could have occurred anywhere in your program. Such errors are quite difficult to track. I have no experience with reading valgrind output, unfortunately. So, my comments below might be wrong or misleading. Regards, Ulrich > $ valgrind perl /usr/local/bin/wxperl_demo.pl > ==15605== Memcheck, a memory error detector > ==15605== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al. > ==15605== Using Valgrind-3.10.0.SVN and LibVEX; rerun with -h for > copyright info > ==15605== Command: perl /usr/local/bin/wxperl_demo.pl > ==15605== > Subroutine new redefined at /usr/local/lib/perl/5.18.2/Wx/Timer.pm line 29. > Subroutine DESTROY redefined at /usr/local/lib/perl/5.18.2/Wx/Timer.pm > line 40. > Subroutine Start redefined at /usr/local/lib/perl/5.18.2/Wx/Timer.pm > line 46. > ==15605== Invalid write of size 8 This looks suspicious. However, I don't know how to interpret this Valgrind message. There are a few more of such messages following. > ==15605== at 0x1D00CFEC: > wxRichTextPrintout::wxRichTextPrintout(wxString const&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_richtext-3.0.so.0.1.0) > ==15605== by 0x1EC63648: XS_Wx__RichTextPrintout_new(interpreter*, > cv*) (RichText.c:19049) > ==15605== by 0x4EF0865: Perl_pp_entersub (in /usr/lib/libperl.so.5.18.2) > ==15605== by 0x4EE8E85: Perl_runops_standard (in > /usr/lib/libperl.so.5.18.2) > ==15605== by 0x4E7A48F: Perl_call_sv (in /usr/lib/libperl.so.5.18.2) > ==15605== by 0x6FAE0CC: wxPliEventCallback::Handler(wxEvent&) > (e_cback.cpp:93) > ==15605== by 0x802882D: > wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, > wxEvent&) const (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BB11: > wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, > wxEvtHandler*, wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BE75: > wxEvtHandler::SearchDynamicEventTable(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BEFD: wxEvtHandler::TryHereOnly(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BF92: wxEvtHandler::ProcessEventLocally(wxEvent&) > (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BFF4: wxEvtHandler::ProcessEvent(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== Address 0x12feae18 is 8 bytes after a block of size 560 alloc'd > ==15605== at 0x4C2B0E0: operator new(unsigned long) (in > /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) > ==15605== by 0x1EC6363A: XS_Wx__RichTextPrintout_new(interpreter*, > cv*) (RichText.c:19049) > ==15605== by 0x4EF0865: Perl_pp_entersub (in /usr/lib/libperl.so.5.18.2) > ==15605== by 0x4EE8E85: Perl_runops_standard (in > /usr/lib/libperl.so.5.18.2) > ==15605== by 0x4E7A48F: Perl_call_sv (in /usr/lib/libperl.so.5.18.2) > ==15605== by 0x6FAE0CC: wxPliEventCallback::Handler(wxEvent&) > (e_cback.cpp:93) > ==15605== by 0x802882D: > wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, > wxEvent&) const (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BB11: > wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, > wxEvtHandler*, wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BE75: > wxEvtHandler::SearchDynamicEventTable(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BEFD: wxEvtHandler::TryHereOnly(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BF92: wxEvtHandler::ProcessEventLocally(wxEvent&) > (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BFF4: wxEvtHandler::ProcessEvent(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== > ==15605== Invalid write of size 4 > ==15605== at 0x1D00CFF7: > wxRichTextPrintout::wxRichTextPrintout(wxString const&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_richtext-3.0.so.0.1.0) > ==15605== by 0x1EC63648: XS_Wx__RichTextPrintout_new(interpreter*, > cv*) (RichText.c:19049) > ==15605== by 0x4EF0865: Perl_pp_entersub (in /usr/lib/libperl.so.5.18.2) > ==15605== by 0x4EE8E85: Perl_runops_standard (in > /usr/lib/libperl.so.5.18.2) > ==15605== by 0x4E7A48F: Perl_call_sv (in /usr/lib/libperl.so.5.18.2) > ==15605== by 0x6FAE0CC: wxPliEventCallback::Handler(wxEvent&) > (e_cback.cpp:93) > ==15605== by 0x802882D: > wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, > wxEvent&) const (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BB11: > wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, > wxEvtHandler*, wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BE75: > wxEvtHandler::SearchDynamicEventTable(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BEFD: wxEvtHandler::TryHereOnly(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BF92: wxEvtHandler::ProcessEventLocally(wxEvent&) > (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BFF4: wxEvtHandler::ProcessEvent(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== Address 0x12feae20 is 16 bytes after a block of size 560 alloc'd > ==15605== at 0x4C2B0E0: operator new(unsigned long) (in > /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) > ==15605== by 0x1EC6363A: XS_Wx__RichTextPrintout_new(interpreter*, > cv*) (RichText.c:19049) > ==15605== by 0x4EF0865: Perl_pp_entersub (in /usr/lib/libperl.so.5.18.2) > ==15605== by 0x4EE8E85: Perl_runops_standard (in > /usr/lib/libperl.so.5.18.2) > ==15605== by 0x4E7A48F: Perl_call_sv (in /usr/lib/libperl.so.5.18.2) > ==15605== by 0x6FAE0CC: wxPliEventCallback::Handler(wxEvent&) > (e_cback.cpp:93) > ==15605== by 0x802882D: > wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, > wxEvent&) const (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BB11: > wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, > wxEvtHandler*, wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BE75: > wxEvtHandler::SearchDynamicEventTable(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BEFD: wxEvtHandler::TryHereOnly(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BF92: wxEvtHandler::ProcessEventLocally(wxEvent&) > (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BFF4: wxEvtHandler::ProcessEvent(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== > ==15605== Invalid write of size 4 > ==15605== at 0x1D00D001: > wxRichTextPrintout::wxRichTextPrintout(wxString const&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_richtext-3.0.so.0.1.0) > ==15605== by 0x1EC63648: XS_Wx__RichTextPrintout_new(interpreter*, > cv*) (RichText.c:19049) > ==15605== by 0x4EF0865: Perl_pp_entersub (in /usr/lib/libperl.so.5.18.2) > ==15605== by 0x4EE8E85: Perl_runops_standard (in > /usr/lib/libperl.so.5.18.2) > ==15605== by 0x4E7A48F: Perl_call_sv (in /usr/lib/libperl.so.5.18.2) > ==15605== by 0x6FAE0CC: wxPliEventCallback::Handler(wxEvent&) > (e_cback.cpp:93) > ==15605== by 0x802882D: > wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, > wxEvent&) const (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BB11: > wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, > wxEvtHandler*, wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BE75: > wxEvtHandler::SearchDynamicEventTable(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BEFD: wxEvtHandler::TryHereOnly(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BF92: wxEvtHandler::ProcessEventLocally(wxEvent&) > (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BFF4: wxEvtHandler::ProcessEvent(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== Address 0x12feae24 is 20 bytes after a block of size 560 alloc'd > ==15605== at 0x4C2B0E0: operator new(unsigned long) (in > /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) > ==15605== by 0x1EC6363A: XS_Wx__RichTextPrintout_new(interpreter*, > cv*) (RichText.c:19049) > ==15605== by 0x4EF0865: Perl_pp_entersub (in /usr/lib/libperl.so.5.18.2) > ==15605== by 0x4EE8E85: Perl_runops_standard (in > /usr/lib/libperl.so.5.18.2) > ==15605== by 0x4E7A48F: Perl_call_sv (in /usr/lib/libperl.so.5.18.2) > ==15605== by 0x6FAE0CC: wxPliEventCallback::Handler(wxEvent&) > (e_cback.cpp:93) > ==15605== by 0x802882D: > wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, > wxEvent&) const (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BB11: > wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, > wxEvtHandler*, wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BE75: > wxEvtHandler::SearchDynamicEventTable(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BEFD: wxEvtHandler::TryHereOnly(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BF92: wxEvtHandler::ProcessEventLocally(wxEvent&) > (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BFF4: wxEvtHandler::ProcessEvent(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== > ==15605== Invalid write of size 1 > ==15605== at 0x1D00D00B: > wxRichTextPrintout::wxRichTextPrintout(wxString const&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_richtext-3.0.so.0.1.0) > ==15605== by 0x1EC63648: XS_Wx__RichTextPrintout_new(interpreter*, > cv*) (RichText.c:19049) > ==15605== by 0x4EF0865: Perl_pp_entersub (in /usr/lib/libperl.so.5.18.2) > ==15605== by 0x4EE8E85: Perl_runops_standard (in > /usr/lib/libperl.so.5.18.2) > ==15605== by 0x4E7A48F: Perl_call_sv (in /usr/lib/libperl.so.5.18.2) > ==15605== by 0x6FAE0CC: wxPliEventCallback::Handler(wxEvent&) > (e_cback.cpp:93) > ==15605== by 0x802882D: > wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, > wxEvent&) const (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BB11: > wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, > wxEvtHandler*, wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BE75: > wxEvtHandler::SearchDynamicEventTable(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BEFD: wxEvtHandler::TryHereOnly(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BF92: wxEvtHandler::ProcessEventLocally(wxEvent&) > (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BFF4: wxEvtHandler::ProcessEvent(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== Address 0x12feae28 is not stack'd, malloc'd or (recently) free'd > ==15605== > ==15605== Invalid write of size 8 > ==15605== at 0x1D00D028: > wxRichTextPrintout::wxRichTextPrintout(wxString const&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_richtext-3.0.so.0.1.0) > ==15605== by 0x1EC63648: XS_Wx__RichTextPrintout_new(interpreter*, > cv*) (RichText.c:19049) > ==15605== by 0x4EF0865: Perl_pp_entersub (in /usr/lib/libperl.so.5.18.2) > ==15605== by 0x4EE8E85: Perl_runops_standard (in > /usr/lib/libperl.so.5.18.2) > ==15605== by 0x4E7A48F: Perl_call_sv (in /usr/lib/libperl.so.5.18.2) > ==15605== by 0x6FAE0CC: wxPliEventCallback::Handler(wxEvent&) > (e_cback.cpp:93) > ==15605== by 0x802882D: > wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, > wxEvent&) const (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BB11: > wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, > wxEvtHandler*, wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BE75: > wxEvtHandler::SearchDynamicEventTable(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BEFD: wxEvtHandler::TryHereOnly(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BF92: wxEvtHandler::ProcessEventLocally(wxEvent&) > (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BFF4: wxEvtHandler::ProcessEvent(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== Address 0x12feae10 is 0 bytes after a block of size 560 alloc'd > ==15605== at 0x4C2B0E0: operator new(unsigned long) (in > /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) > ==15605== by 0x1EC6363A: XS_Wx__RichTextPrintout_new(interpreter*, > cv*) (RichText.c:19049) > ==15605== by 0x4EF0865: Perl_pp_entersub (in /usr/lib/libperl.so.5.18.2) > ==15605== by 0x4EE8E85: Perl_runops_standard (in > /usr/lib/libperl.so.5.18.2) > ==15605== by 0x4E7A48F: Perl_call_sv (in /usr/lib/libperl.so.5.18.2) > ==15605== by 0x6FAE0CC: wxPliEventCallback::Handler(wxEvent&) > (e_cback.cpp:93) > ==15605== by 0x802882D: > wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, > wxEvent&) const (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BB11: > wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, > wxEvtHandler*, wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BE75: > wxEvtHandler::SearchDynamicEventTable(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BEFD: wxEvtHandler::TryHereOnly(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BF92: wxEvtHandler::ProcessEventLocally(wxEvent&) > (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BFF4: wxEvtHandler::ProcessEvent(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== > ==15605== Invalid read of size 4 > ==15605== at 0x1D00D86B: wxRichTextPrintout::CalculateScaling(wxDC*, > wxRect&, wxRect&, wxRect&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_richtext-3.0.so.0.1.0) > ==15605== by 0x1D00E0CF: wxRichTextPrintout::OnPreparePrinting() (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_richtext-3.0.so.0.1.0) > ==15605== by 0x7AEE9EB: wxPrintPreviewBase::RenderPageIntoDC(wxDC&, > int) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_core-3.0.so.0.1.0) > ==15605== by 0x1D3CBBB4: > wxPdfPrintPreviewImpl::RenderPageIntoBitmap(wxBitmap&, int) (in > /usr/local/lib/perl/5.18.2/auto/Wx/PdfDocument/libwxcode_gtk2u_pdfdoc-3.0.so.0.0.0) This is the first place where a wxPdfDocument method is involved. This method just forwards parameters to a RichText print method. You could/should probably check whether the "wxBitmap& bmp" parameter is ok and whether its internal buffer is large enough. > ==15605== by 0x7AEF45A: wxPrintPreviewBase::RenderPage(int) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_core-3.0.so.0.1.0) > ==15605== by 0x7AEA1BF: wxPrintPreviewBase::UpdatePageRendering() (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_core-3.0.so.0.1.0) > ==15605== by 0x7AEA27C: wxPreviewCanvas::OnIdle(wxIdleEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_core-3.0.so.0.1.0) > ==15605== by 0x802882D: > wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, > wxEvent&) const (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BB11: > wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, > wxEvtHandler*, wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BBC2: wxEventHashTable::HandleEvent(wxEvent&, > wxEvtHandler*) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BF1C: wxEvtHandler::TryHereOnly(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BF92: wxEvtHandler::ProcessEventLocally(wxEvent&) > (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== Address 0x12dd5670 is 16 bytes after a block of size 560 alloc'd > ==15605== at 0x4C2B0E0: operator new(unsigned long) (in > /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) > ==15605== by 0x1EC6363A: XS_Wx__RichTextPrintout_new(interpreter*, > cv*) (RichText.c:19049) > ==15605== by 0x4EF0865: Perl_pp_entersub (in /usr/lib/libperl.so.5.18.2) > ==15605== by 0x4EE8E85: Perl_runops_standard (in > /usr/lib/libperl.so.5.18.2) > ==15605== by 0x4E7A48F: Perl_call_sv (in /usr/lib/libperl.so.5.18.2) > ==15605== by 0x6FAE0CC: wxPliEventCallback::Handler(wxEvent&) > (e_cback.cpp:93) > ==15605== by 0x802882D: > wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, > wxEvent&) const (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BB11: > wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, > wxEvtHandler*, wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BE75: > wxEvtHandler::SearchDynamicEventTable(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BEFD: wxEvtHandler::TryHereOnly(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BF92: wxEvtHandler::ProcessEventLocally(wxEvent&) > (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BFF4: wxEvtHandler::ProcessEvent(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== > ==15605== Invalid read of size 4 > ==15605== at 0x1D00D884: wxRichTextPrintout::CalculateScaling(wxDC*, > wxRect&, wxRect&, wxRect&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_richtext-3.0.so.0.1.0) > ==15605== by 0x1D00E0CF: wxRichTextPrintout::OnPreparePrinting() (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_richtext-3.0.so.0.1.0) > ==15605== by 0x7AEE9EB: wxPrintPreviewBase::RenderPageIntoDC(wxDC&, > int) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_core-3.0.so.0.1.0) > ==15605== by 0x1D3CBBB4: > wxPdfPrintPreviewImpl::RenderPageIntoBitmap(wxBitmap&, int) (in > /usr/local/lib/perl/5.18.2/auto/Wx/PdfDocument/libwxcode_gtk2u_pdfdoc-3.0.so.0.0.0) > ==15605== by 0x7AEF45A: wxPrintPreviewBase::RenderPage(int) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_core-3.0.so.0.1.0) > ==15605== by 0x7AEA1BF: wxPrintPreviewBase::UpdatePageRendering() (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_core-3.0.so.0.1.0) > ==15605== by 0x7AEA27C: wxPreviewCanvas::OnIdle(wxIdleEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_core-3.0.so.0.1.0) > ==15605== by 0x802882D: > wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, > wxEvent&) const (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BB11: > wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, > wxEvtHandler*, wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BBC2: wxEventHashTable::HandleEvent(wxEvent&, > wxEvtHandler*) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BF1C: wxEvtHandler::TryHereOnly(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BF92: wxEvtHandler::ProcessEventLocally(wxEvent&) > (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== Address 0x12dd5674 is 20 bytes after a block of size 560 alloc'd > ==15605== at 0x4C2B0E0: operator new(unsigned long) (in > /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) > ==15605== by 0x1EC6363A: XS_Wx__RichTextPrintout_new(interpreter*, > cv*) (RichText.c:19049) > ==15605== by 0x4EF0865: Perl_pp_entersub (in /usr/lib/libperl.so.5.18.2) > ==15605== by 0x4EE8E85: Perl_runops_standard (in > /usr/lib/libperl.so.5.18.2) > ==15605== by 0x4E7A48F: Perl_call_sv (in /usr/lib/libperl.so.5.18.2) > ==15605== by 0x6FAE0CC: wxPliEventCallback::Handler(wxEvent&) > (e_cback.cpp:93) > ==15605== by 0x802882D: > wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, > wxEvent&) const (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BB11: > wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, > wxEvtHandler*, wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BE75: > wxEvtHandler::SearchDynamicEventTable(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BEFD: wxEvtHandler::TryHereOnly(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BF92: wxEvtHandler::ProcessEventLocally(wxEvent&) > (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BFF4: wxEvtHandler::ProcessEvent(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== > > valgrind: m_mallocfree.c:277 (mk_plain_bszB): Assertion 'bszB != 0' failed. > valgrind: This is probably caused by your program erroneously writing > past the > end of a heap block and corrupting heap metadata. If you fix any > invalid writes reported by Memcheck, this assertion failure will > probably go away. Please try that before reporting this as a bug. > > ==15605== at 0x38050BAC: ??? (in /usr/lib/valgrind/memcheck-amd64-linux) > ==15605== by 0x38050D06: ??? (in /usr/lib/valgrind/memcheck-amd64-linux) > ==15605== by 0x3805B36A: ??? (in /usr/lib/valgrind/memcheck-amd64-linux) > ==15605== by 0x3805DB09: ??? (in /usr/lib/valgrind/memcheck-amd64-linux) > ==15605== by 0x38021535: ??? (in /usr/lib/valgrind/memcheck-amd64-linux) > ==15605== by 0x3802172B: ??? (in /usr/lib/valgrind/memcheck-amd64-linux) > ==15605== by 0x380218F5: ??? (in /usr/lib/valgrind/memcheck-amd64-linux) > ==15605== by 0x3809DC03: ??? (in /usr/lib/valgrind/memcheck-amd64-linux) > ==15605== by 0x380AC87C: ??? (in /usr/lib/valgrind/memcheck-amd64-linux) > > sched status: > running_tid=1 > > Thread 1: status = VgTs_Runnable > ==15605== at 0x4C2B0E0: operator new(unsigned long) (in > /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) > ==15605== by 0x8514D4E: std::basic_string<wchar_t, > std::char_traits<wchar_t>, std::allocator<wchar_t> > >::_Rep::_S_create(unsigned long, unsigned long, > std::allocator<wchar_t> const&) (in > /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) > ==15605== by 0x851593C: std::basic_string<wchar_t, > std::char_traits<wchar_t>, std::allocator<wchar_t> > >::_Rep::_M_clone(std::allocator<wchar_t> const&, unsigned long) (in > /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) > ==15605== by 0x85159E3: std::basic_string<wchar_t, > std::char_traits<wchar_t>, std::allocator<wchar_t> >::reserve(unsigned > long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) > ==15605== by 0x8515D85: std::basic_string<wchar_t, > std::char_traits<wchar_t>, std::allocator<wchar_t> >::append(unsigned > long, wchar_t) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) > ==15605== by 0x1D352EBD: wxPdfFontDataCore::ConvertCID2GID(wxString > const&, wxPdfEncoding const*, wxPdfSortedArrayInt*, wxPdfChar2GlyphMap*) > const (in > /usr/local/lib/perl/5.18.2/auto/Wx/PdfDocument/libwxcode_gtk2u_pdfdoc-3.0.so.0.0.0) > ==15605== by 0x1D352BB8: wxPdfFontDataCore::GetStringWidth(wxString > const&, wxPdfEncoding const*, bool) const (in > /usr/local/lib/perl/5.18.2/auto/Wx/PdfDocument/libwxcode_gtk2u_pdfdoc-3.0.so.0.0.0) > ==15605== by 0x1D33940C: wxPdfDocument::DoGetStringWidth(wxString > const&) (in > /usr/local/lib/perl/5.18.2/auto/Wx/PdfDocument/libwxcode_gtk2u_pdfdoc-3.0.so.0.0.0) > ==15605== by 0x1D33AA8E: wxPdfDocument::GetStringWidth(wxString > const&) (in > /usr/local/lib/perl/5.18.2/auto/Wx/PdfDocument/libwxcode_gtk2u_pdfdoc-3.0.so.0.0.0) > ==15605== by 0x1D333BC5: wxPdfDCImpl::DoGetTextExtent(wxString > const&, int*, int*, int*, int*, wxFont const*) const (in > /usr/local/lib/perl/5.18.2/auto/Wx/PdfDocument/libwxcode_gtk2u_pdfdoc-3.0.so.0.0.0) > ==15605== by 0x1D332A9C: > wxPdfDCImpl::DoGetPartialTextExtents(wxString const&, wxArrayInt&) const > (in > /usr/local/lib/perl/5.18.2/auto/Wx/PdfDocument/libwxcode_gtk2u_pdfdoc-3.0.so.0.0.0) > ==15605== by 0x1CFA0B00: > wxRichTextPlainText::GetRangeSize(wxRichTextRange const&, wxSize&, int&, > wxDC&, wxRichTextDrawingContext&, int, wxPoint const&, wxSize const&, > wxArrayInt*) const (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_richtext-3.0.so.0.1.0) > ==15605== by 0x1CF7EDF5: > wxRichTextParagraph::GetRangeSize(wxRichTextRange const&, wxSize&, int&, > wxDC&, wxRichTextDrawingContext&, int, wxPoint const&, wxSize const&, > wxArrayInt*) const (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_richtext-3.0.so.0.1.0) > ==15605== by 0x1CF9ECE4: wxRichTextParagraph::Layout(wxDC&, > wxRichTextDrawingContext&, wxRect const&, wxRect const&, int) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_richtext-3.0.so.0.1.0) > ==15605== by 0x1CF833FE: wxRichTextObject::LayoutToBestSize(wxDC&, > wxRichTextDrawingContext&, wxRichTextBuffer*, wxRichTextAttr const&, > wxRichTextAttr const&, wxRect const&, wxRect const&, int) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_richtext-3.0.so.0.1.0) > ==15605== by 0x1CF839CD: wxRichTextParagraphLayoutBox::Layout(wxDC&, > wxRichTextDrawingContext&, wxRect const&, wxRect const&, int) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_richtext-3.0.so.0.1.0) > ==15605== by 0x1D00E140: wxRichTextPrintout::OnPreparePrinting() (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_richtext-3.0.so.0.1.0) > ==15605== by 0x7AEE9EB: wxPrintPreviewBase::RenderPageIntoDC(wxDC&, > int) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_core-3.0.so.0.1.0) > ==15605== by 0x1D3CBBB4: > wxPdfPrintPreviewImpl::RenderPageIntoBitmap(wxBitmap&, int) (in > /usr/local/lib/perl/5.18.2/auto/Wx/PdfDocument/libwxcode_gtk2u_pdfdoc-3.0.so.0.0.0) > ==15605== by 0x7AEF45A: wxPrintPreviewBase::RenderPage(int) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_core-3.0.so.0.1.0) > ==15605== by 0x7AEA1BF: wxPrintPreviewBase::UpdatePageRendering() (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_core-3.0.so.0.1.0) > ==15605== by 0x7AEA27C: wxPreviewCanvas::OnIdle(wxIdleEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_core-3.0.so.0.1.0) > ==15605== by 0x802882D: > wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, > wxEvent&) const (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BB11: > wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, > wxEvtHandler*, wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BBC2: wxEventHashTable::HandleEvent(wxEvent&, > wxEvtHandler*) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BF1C: wxEvtHandler::TryHereOnly(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BF92: wxEvtHandler::ProcessEventLocally(wxEvent&) > (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x819BFF4: wxEvtHandler::ProcessEvent(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x7B68C7A: > wxScrollHelperEvtHandler::ProcessEvent(wxEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_core-3.0.so.0.1.0) > ==15605== by 0x819BD86: wxEvtHandler::SafelyProcessEvent(wxEvent&) > (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x7B1CC1E: wxWindowBase::SendIdleEvents(wxIdleEvent&) > (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_core-3.0.so.0.1.0) > ==15605== by 0x7B1CC47: wxWindowBase::SendIdleEvents(wxIdleEvent&) > (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_core-3.0.so.0.1.0) > ==15605== by 0x7A0881E: wxFrame::SendIdleEvents(wxIdleEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_core-3.0.so.0.1.0) > ==15605== by 0x7B1CC47: wxWindowBase::SendIdleEvents(wxIdleEvent&) > (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_core-3.0.so.0.1.0) > ==15605== by 0x7B1CC47: wxWindowBase::SendIdleEvents(wxIdleEvent&) > (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_core-3.0.so.0.1.0) > ==15605== by 0x7B1CC47: wxWindowBase::SendIdleEvents(wxIdleEvent&) > (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_core-3.0.so.0.1.0) > ==15605== by 0x7B1CC47: wxWindowBase::SendIdleEvents(wxIdleEvent&) > (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_core-3.0.so.0.1.0) > ==15605== by 0x7B1CC47: wxWindowBase::SendIdleEvents(wxIdleEvent&) > (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_core-3.0.so.0.1.0) > ==15605== by 0x7A0881E: wxFrame::SendIdleEvents(wxIdleEvent&) (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_core-3.0.so.0.1.0) > ==15605== by 0x7A3D40C: wxAppBase::ProcessIdle() (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_core-3.0.so.0.1.0) > ==15605== by 0x799276D: wxApp::DoIdle() (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_core-3.0.so.0.1.0) > ==15605== by 0x7992872: wxapp_idle_callback (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_core-3.0.so.0.1.0) > ==15605== by 0x9967CE4: g_main_context_dispatch (in > /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0) > ==15605== by 0x9968047: ??? (in > /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0) > ==15605== by 0x9968309: g_main_loop_run (in > /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0) > ==15605== by 0x8A9D446: gtk_main (in > /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.23) > ==15605== by 0x79A5694: wxGUIEventLoop::DoRun() (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_gtk2u_core-3.0.so.0.1.0) > ==15605== by 0x806ADDF: wxEventLoopBase::Run() (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x802A90C: wxAppConsoleBase::MainLoop() (in > /usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_1_uni/lib/libwx_baseu-3.0.so.0.1.0) > ==15605== by 0x6EE3EC8: wxPliApp::MainLoop() (app.h:195) > ==15605== by 0x6E96BB9: XS_Wx__App_MainLoop(interpreter*, cv*) > (Wx.c:14559) > ==15605== by 0x4EF0865: Perl_pp_entersub (in /usr/lib/libperl.so.5.18.2) > ==15605== by 0x4EE8E85: Perl_runops_standard (in > /usr/lib/libperl.so.5.18.2) > ==15605== by 0x4E81843: perl_run (in /usr/lib/libperl.so.5.18.2) > ==15605== by 0x400DD8: main (in /usr/bin/perl) > > Thread 2: status = VgTs_WaitSys > ==15605== at 0x52ADC6D: ??? (syscall-template.S:81) > ==15605== by 0x9967FE3: ??? (in > /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0) > ==15605== by 0x9968309: g_main_loop_run (in > /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0) > ==15605== by 0xB3B4E15: ??? (in > /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4000.0) > ==15605== by 0x998CF14: ??? (in > /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0) > ==15605== by 0x5A98181: start_thread (pthread_create.c:312) > ==15605== by 0x52BAFBC: clone (clone.S:111) > > Thread 3: status = VgTs_WaitSys > ==15605== at 0x52ADC6D: ??? (syscall-template.S:81) > ==15605== by 0x9967FE3: ??? (in > /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0) > ==15605== by 0x99680EB: g_main_context_iteration (in > /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0) > ==15605== by 0x9968128: ??? (in > /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0) > ==15605== by 0x998CF14: ??? (in > /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0) > ==15605== by 0x5A98181: start_thread (pthread_create.c:312) > ==15605== by 0x52BAFBC: clone (clone.S:111) > > > Note: see also the FAQ in the source distribution. > It contains workarounds to several common problems. > In particular, if Valgrind aborted or crashed after > identifying problems in your program, there's a good chance > that fixing those problems will prevent Valgrind aborting or > crashing, especially if it happened in m_mallocfree.c. > > If that doesn't help, please report this bug to: www.valgrind.org > > In the bug report, send all the above text, the valgrind > version, and what OS and version you are using. Thanks. >