Re: perl-Gtk2: GdkWindow.t fails with libgtk2 2.24.28 and libgdk-pixbuf2.0 2.31.4-2



Hi,

Torsten Schoenfeld wrote (02 Aug 2015 14:25:51 GMT) :
Yes, I'd need the output of a full run and a backtrace:

  gdb --args perl t/GdkWindow.t
  (gdb) r
  ...
  (gdb) bt

Even after installing a bunch of debugging symbols (Debian packages:
perl-debug libgtk2.0-0-dbg libgdk-pixbuf2.0-0-dbg libc6-dbg
libcairo2-dbg libxau6-dbg libxrender1-dbg libpixman-1-0-dbg), and
despite gdb saying "Reading symbols from perl...Reading symbols from
/usr/lib/debug//usr/bin/perl...done.", in the end I always get "No
stack." Hints are welcome.

However, running `debugperl -Dtls t/GdkWindow.t' provides lots of
potentially useful information. I'm attaching a 203 kB compressed
version of the output. In case it's too big to go on the list,
I've also uploaded it there:
http://gaffer.ptitcanardnoir.org/intrigeri/tmp/perl-Gtk2-free-invalid-pointer-debug.log.xz

I've also uploaded the output with -Dtlsm there:
http://gaffer.ptitcanardnoir.org/intrigeri/tmp/perl-Gtk2-free-invalid-pointer-debug-Dtlsm.log.xz

If other perl -D options would help, please let me know.

Valgrind output would also be nice:

  valgrind --tool=memcheck perl t/GdkWindow.t

Here's the full output:

valgrind --tool=memcheck perl t/GdkWindow.t                 
==4194== Memcheck, a memory error detector
==4194== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==4194== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==4194== Command: perl t/GdkWindow.t
==4194== 
1..58
ok 1 - An object of class 'Gtk2::Gdk::Window' isa 'Gtk2::Gdk::Window'
ok 2 - An object of class 'Gtk2::Gdk::Window' isa 'Gtk2::Gdk::Window'
ok 3 - An object of class 'Gtk2::Gdk::Window' isa 'Gtk2::Gdk::Window'
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9 - An object of class 'Gtk2::Gdk::Geometry' isa 'Gtk2::Gdk::Geometry'
ok 10
ok 11
ok 12
ok 13 - An object of class 'Gtk2::Gdk::Rectangle' isa 'Gtk2::Gdk::Rectangle'
ok 14
ok 15
ok 16
ok 17
ok 18
ok 19
ok 20 - An object of class 'Gtk2::Gdk::Window' isa 'Gtk2::Gdk::Drawable'
ok 21
ok 22
ok 23 - get_geomerty
ok 24
ok 25 - get_root_origin
ok 26 - get_origin
ok 27 - An object of class 'Gtk2::Gdk::Rectangle' isa 'Gtk2::Gdk::Rectangle'
ok 28
ok 29
ok 30 - An object of class 'Gtk2::Gdk::ModifierType' isa 'Gtk2::Gdk::ModifierType'
ok 31
ok 32 - An object of class 'Gtk2::Gdk::Window' isa 'Gtk2::Gdk::Window'
ok 33
ok 34
ok 35 - An object of class 'Gtk2::Gdk::EventMask' isa 'Gtk2::Gdk::EventMask'
ok 36
ok 37 - An object of class 'Gtk2::Gdk::WMDecoration' isa 'Gtk2::Gdk::WMDecoration'
ok 38 - An object of class 'Gtk2::Gdk::Window' isa 'Gtk2::Gdk::Window'
ok 39 - An object of class 'Gtk2::Gdk::Window' isa 'Gtk2::Gdk::Window'
ok 40
ok 41
ok 42
ok 43 - An object of class 'Gtk2::Gdk::Cursor' isa 'Gtk2::Gdk::Cursor'
ok 44 - An object of class 'Gtk2::Gdk::Pixmap' isa 'Gtk2::Gdk::Pixmap'
ok 45 - An object of class 'Gtk2::Gdk::Window' isa 'Gtk2::Gdk::Window'
ok 46
ok 47
ok 48
ok 49
ok 50
ok 51
ok 52 - An object of class 'Gtk2::Gdk::Window' isa 'Gtk2::Gdk::Window'
ok 53 - An object of class 'Gtk2::Gdk::Window' isa 'Gtk2::Gdk::Window'
ok 54
ok 55
ok 56
ok 57
ok 58
==4194== 
==4194== HEAP SUMMARY:
==4194==     in use at exit: 7,259,240 bytes in 41,629 blocks
==4194==   total heap usage: 97,372 allocs, 55,743 frees, 13,450,169 bytes allocated
==4194== 
==4194== LEAK SUMMARY:
==4194==    definitely lost: 42,210 bytes in 21 blocks
==4194==    indirectly lost: 80,026 bytes in 34 blocks
==4194==      possibly lost: 6,421,179 bytes in 33,491 blocks
==4194==    still reachable: 665,913 bytes in 7,850 blocks
==4194==         suppressed: 0 bytes in 0 blocks
==4194== Rerun with --leak-check=full to see details of leaked memory
==4194== 
==4194== For counts of detected and suppressed errors, rerun with: -v
==4194== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

... interestingly, it seems that the "free(): invalid size" error
doesn't happen under valgrind.

Cheers,
-- 
intrigeri


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]