Re: Strange error which may have someth9ng to do with wxPdfDocument.

"Ulrich Telle" <[email protected]>
Newsgroups gmane.comp.lang.perl.wxperl
Message-ID <[email protected]>
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.
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.