After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 585776 - Example capitals.pl crashes when closed
Example capitals.pl crashes when closed
Status: RESOLVED FIXED
Product: libchamplain
Classification: Core
Component: bindings
unspecified
Other Linux
: Normal normal
: ---
Assigned To: libchamplain-maint
libchamplain-maint
Depends on:
Blocks:
 
 
Reported: 2009-06-14 19:55 UTC by Emmanuel Rodriguez
Modified: 2009-06-15 20:15 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Emmanuel Rodriguez 2009-06-14 19:55:36 UTC
The example capitals.pl crashes when the main window is closed while the demo is being animated from one capital to the next one. If the current animation has stopped then the application can be closed without problems.
Comment 1 Emmanuel Rodriguez 2009-06-14 21:29:32 UTC
If the application is closed between the animation from Adamstown to Algiers the following error is printed:

Abuja 9.0670, 7.4830
Adamstown, Pitcairn Islands -25.0670, -130.1000
Algiers 36.7763, 3.0585
*** glibc detected *** perl: double free or corruption (!prev): 0x09a68160 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb7f27604]
/lib/tls/i686/cmov/libc.so.6(cfree+0x96)[0xb7f295b6]
/usr/lib/libglib-2.0.so.0(g_free+0x36)[0xb7c34126]
/usr/lib/libchamplain-0.3.so.0[0xb5551e4b]
/usr/lib/libgobject-2.0.so.0(g_object_unref+0xd8)[0xb7cb6d58]
/usr/lib/libchamplain-gtk-0.3.so.0[0xb5b433b9]
/usr/lib/libgobject-2.0.so.0(g_object_unref+0x173)[0xb7cb6df3]
/usr/lib/perl5/auto/Glib/Glib.so(XS_Glib__Object_DESTROY+0x121)[0xb7d1f071]
perl(Perl_pp_entersub+0x552)[0x80b3c92]
perl(Perl_call_sv+0x508)[0x80afc18]
perl(Perl_sv_clear+0x136)[0x80c6226]
perl(Perl_sv_free2+0x4a)[0x80c696a]
perl(Perl_leave_scope+0xc96)[0x80e2146]
perl(Perl_pop_scope+0x2c)[0x80e21fc]
perl(Perl_pp_return+0x286)[0x80ee5e6]
perl(Perl_runops_standard+0x19)[0x80b2069]
perl(perl_run+0x2e0)[0x80b04d0]
perl(main+0xed)[0x8063ebd]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe5)[0xb7ece775]
perl[0x8063d31]
======= Memory map: ========
08048000-0817c000 r-xp 00000000 08:01 514642     /usr/bin/perl
0817c000-0817d000 r--p 00133000 08:01 514642     /usr/bin/perl
0817d000-0817f000 rw-p 00134000 08:01 514642     /usr/bin/perl
090b0000-09d17000 rw-p 090b0000 00:00 0          [heap]
b4300000-b4321000 rw-p b4300000 00:00 0 
b4321000-b4400000 ---p b4321000 00:00 0 
b4431000-b44b1000 rw-s 31540000 00:0f 9210       /dev/nvidia0
b44b1000-b44b3000 r-xp 00000000 08:01 1012739    /lib/libnss_mdns4_minimal.so.2
b44b3000-b44b4000 rw-p 00001000 08:01 1012739    /lib/libnss_mdns4_minimal.so.2
b4568000-b4575000 r-xp 00000000 08:01 1010287    /lib/libgcc_s.so.1
b4575000-b4576000 r--p 0000c000 08:01 1010287    /lib/libgcc_s.so.1
b4576000-b4577000 rw-p 0000d000 08:01 1010287    /lib/libgcc_s.so.1
b4589000-b47d2000 rw-p b4589000 00:00 0 
b47d6000-b47e8000 r-xp 00000000 08:01 1010656    /lib/tls/i686/cmov/libresolv-2.9.so
b47e8000-b47e9000 r--p 00011000 08:01 1010656    /lib/tls/i686/cmov/libresolv-2.9.so
b47e9000-b47ea000 rw-p 00012000 08:01 1010656    /lib/tls/i686/cmov/libresolv-2.9.so
b47ea000-b47ec000 rw-p b47ea000 00:00 0 
b47ec000-b47f1000 r-xp 00000000 08:01 1010646    /lib/tls/i686/cmov/libnss_dns-2.9.so
b47f1000-b47f2000 r--p 00004000 08:01 1010646    /lib/tls/i686/cmov/libnss_dns-2.9.so
b47f2000-b47f3000 rw-p 00005000 08:01 1010646    /lib/tls/i686/cmov/libnss_dns-2.9.so
b47f3000-b4834000 rw-p b47f3000 00:00 0 
b4834000-b4838000 r-xp 00000000 08:01 570995     /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so
b4838000-b4839000 r--p 00003000 08:01 570995     /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so
b4839000-b483a000 rw-p 00004000 08:01 570995     /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so
b483a000-b484c000 r-xp 00000000 08:01 519842     /usr/lib/libgvfscommon.so.0.0.0
b484c000-b484d000 r--p 00012000 08:01 519842     /usr/lib/libgvfscommon.so.0.0.0
b484d000-b484e000 rw-p 00013000 08:01 519842     /usr/lib/libgvfscommon.so.0.0.0
b484f000-b485e000 r-xp 00000000 08:01 692370     /usr/lib/gio/modules/libgioremote-volume-monitor.so
b485e000-b485f000 r--p 0000e000 08:01 692370     /usr/lib/gio/modules/libgioremote-volume-monitor.so
b485f000-b4860000 rw-p 0000f000 08:01 692370     /usr/lib/gio/modules/libgioremote-volume-monitor.so
b4860000-b487a000 r-xp 00000000 08:01 692371     /usr/lib/gio/modules/libgvfsdbus.so
b487a000-b487b000 r--p 00019000 08:01 692371     /usr/lib/gio/modules/libgvfsdbus.so
b487b000-b487c000 rw-p 0001a000 08:01 692371     /usr/lib/gio/modules/libgvfsdbus.so
b487f000-b4880000 ---p b487f000 00:00 0 
b4880000-b5080000 rwxp b4880000 00:00 0 
b5080000-b5118000 r--p 00000000 08:01 790892     /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf
b5118000-b511a000 r-xp 00000000 08:01 570950     /usr/lib/pango/1.6.0/modules/pango-basic-fc.so
b511a000-b511b000 r--p 00001000 08:01 570950     /usr/lib/pango/1.6.0/modules/pango-basic-fc.so
b511b000-b511c000 rw-p 00002000 08:01 570950     /usr/lib/pango/1.6.0/modules/pango-basic-fc.so
b511c000-b5122000 r--s 00000000 08:01 1020678    /var/cache/fontconfig/945677eb7aeaf62f1d50efc3fb3ec7d8-x86.cache-2
b5122000-b5124000 r--s 00000000 08:01 1020679    /var/cache/fontconfig/99e8ed0e538f840c565b6ed5dad60d56-x86.cache-2
b5124000-b5127000 r--s 00000000 08:01 1020675    /var/cache/fontconfig/e383d7ea5fbe662a33d9b44caf393297-x86.cache-2
b5127000-b5128000 r--s 00000000 08:01 1020671    /var/cache/fontconfig/fd9505950c048a77dc4b710eb6a628ed-x86.cache-2
b5128000-b5129000 r--s 00000000 08:01 1020670    /var/cache/fontconfig/a2ab74764b07279e7c36ddb1d302cf26-x86.cache-2
b5129000-b512c000 r--s 00000000 08:01 1020669    /var/cache/fontconfig/6eb3985aa4124903f6ff08ba781cd364-x86.cache-2
b512c000-b512d000 r--s 00000000 08:01 1020667    /var/cache/fontconfig/4c73fe0c47614734b17d736dbde7580a-x86.cache-2
b512d000-b512f000 r--s 00000000 08:01 1020665    /var/cache/fontconfig/646addb8444faa74ee138aa00ab0b6a0-x86.cache-2
b512f000-b5132000 r--s 00000000 08:01 1020664    /var/cache/fontconfig/a755afe4a08bf5b97852ceb7400b47bc-x86.cache-2
b5132000-b5139000 r--s 00000000 08:01 1019449    /var/cache/fontconfig/6d41288fd70b0be22e8c3a91e032eec0-x86.cache-2
b5139000-b513c000 r--s 00000000 08:01 1020662    /var/cache/fontconfig/de156ccd2eddbdc19d37a45b8b2aac9c-x86.cache-2
b513c000-b513e000 r--s 00000000 08:01 1020661    /var/cache/fontconfig/da1bd5ca8443ffe22927a23ce431d198-x86.cache-2
b513e000-b5146000 r--s 00000000 08:01 1020660    /var/cache/fontconfig/e3de0de479f42330eadf588a55fb5bf4-x86.cache-2
b5146000-b5151000 r--s 00000000 08:01 1020658    /var/cache/fontconfig/0f34bcd4b6ee430af32735b75db7f02b-x86.cache-2
b5151000-b5153000 r--s 00000000 08:01 1020580    /var/cache/fontconfig/ddd4086aec35a5275babba44bb759c3c-x86.cache-2
b5153000-b5154000 r--s 00000000 08:01 1020570    /var/cache/fontconfig/4794a0821666d79190d59a36cb4f44b5-x86.cache-2
b5154000-b5176000 r--s 00000000 08:01 1020545    /var/cache/fontconfig/365b55f210c0a22e9a19e35191240f32-x86.cache-2
b5176000-b517d000 r--s 00000000 08:01 1020003    /var/cache/fontconfig/d52a8644073d54c13679302ca1180695-x86.cache-2
b517d000-b5183000 r--s 00000000 08:01 1020002    /var/cache/fontconfig/089dead882dea3570ffc31a9898cfb69-x86.cache-2
b5183000-b51e2000 r--s 00000000 08:02 5669451    /home/emmanuel/.fontconfig/653563c4111c8d8f41888cfa7a0955cd-x86.cache-2
b51e2000-b51f5000 r-xp 00000000 08:01 537745     /usr/lib/perl/5.10.0/auto/Storable/Storable.so
b51f5000-b51f6000 ---p 00013000 08:01 537745     /usr/lib/perl/5.10.0/auto/Storable/Storable.so
b51f6000-b51f7000 r--p 00013000 08:01 537745     /usr/lib/perl/5.10.0/auto/Storable/Storable.so
b51f7000-b51f8000 rw-p 00014000 08:01 537745     /usr/lib/perl/5.10.0/auto/Storable/Storable.so
b51f8000-b51fb000 r-xp 00000000 08:01 521369     /usr/lib/perl/5.10.0/auto/Fcntl/Fcntl.so
b51fb000-b51fc000 r--p 00002000 08:01 521369     /usr/lib/perl/5.10.0/auto/Fcntl/Fcntl.so
b51fc000-b51fd000 rw-p 00003000 08:01 521369     /usr/lib/perl/5.10.0/auto/Fcntl/Fcntl.so
b51fd000-b5201000 r-xp 00000000 08:01 521386     /usr/lib/perl/5.10.0/auto/Socket/Socket.so
b5201000-b5202000 r--p 00004000 08:01 521386     /usr/lib/perl/5.10.0/auto/Socket/Socket.so
b5202000-b5203000 rw-p 00005000 08:01 521386     /usr/lib/perl/5.10.0/auto/Socket/Socket.so
b5203000-b527b000 r-xp 00000000 08:01 833332     /usr/lib/perl5/auto/XML/LibXML/LibXML.so
b527b000-b527c000 r--p 00077000 08:01 833332     /usr/lib/perl5/auto/XML/LibXML/LibXML.so
b527c000-b527d000 rw-p 00078000 08:01 833332     /usr/lib/perl5/auto/XML/LibXML/LibXML.so
b527d000-b5281000 r-xp 00000000 08:01 521377     /usr/lib/perl/5.10.0/auto/IO/IO.so
b5281000-b5282000 r--p 00003000 08:01 521377     /usr/lib/perl/5.10.0/auto/IO/IO.so
b5282000-b5283000 rw-p 00004000 08:01 521377     /usr/lib/perl/5.10.0/auto/IO/IO.so
b5283000-b5286000 r-xp 00000000 08:01 1010847    /lib/libgpg-error.so.0.3.0
b5286000-b5287000 rw-p 00002000 08:01 1010847    /lib/libgpg-error.so.0.3.0
b5287000-b5297000 r-xp 00000000 08:01 515617     /usr/lib/libtasn1.so.3.0.16
b5297000-b5298000 r--p 0000f000 08:01 515617     /usr/lib/libtasn1.so.3.0.16
b5298000-b5299000 rw-p 00010000 08:01 515617     /usr/lib/libtasn1.so.3.0.16
b5299000-b52cf000 r-xp 00000000 08:01 1011834    /lib/libdbus-1.so.3.4.0
b52cf000-b52d0000 r--p 00035000 08:01 1011834    /lib/libdbus-1.so.3.4.0
b52d0000-b52d1000 rw-p 00036000 08:01 1011834    /lib/libdbus-1.so.3.4.0
b52d1000-b52ed000 r-xp 00000000 08:01 516893     /usr/lib/libdbus-glib-1.so.2.1.0
b52ed000-b52ee000 r--p 0001b000 08:01 516893     /usr/lib/libdbus-glib-1.so.2.1.0
b52ee000-b52ef000 rw-p 0001c000 08:01 516893     /usr/lib/libdbus-glib-1.so.2.1.0
b52ef000-b5338000 r-xp 00000000 08:01 517174     /usr/lib/libORBit-2.so.0.1.0
b5338000-b5340000 r--p 00049000 08:01 517174     /usr/lib/libORBit-2.so.0.1.0
b5340000-b5342000 rw-p 00051000 08:01 517174     /usr/lib/libORBit-2.so.0.1.0
b5342000-b53a8000 r-xp 00000000 08:01 1010837    /lib/libgcrypt.so.11.4.4
b53a8000-b53a9000 r--p 00065000 08:01 1010837    /lib/libgcrypt.so.11.4.4
b53a9000-b53ab000 rw-p 00066000 08:01 1010837    /lib/libgcrypt.so.11.4.4
b53ab000-b5442000 r-xp 00000000 08:01 515453     /usr/lib/libgnutls.so.26.4.6
b5442000-b5447Aborted
Comment 2 Emmanuel Rodriguez 2009-06-14 21:42:54 UTC
Running the program through the C debugger (gdb --args /usr/bin/perl -Mblib examples/capitals.pl) gives the following results:

(gdb) bt
  • #0 __kernel_vsyscall
  • #1 raise
    from /lib/tls/i686/cmov/libc.so.6
  • #2 abort
    from /lib/tls/i686/cmov/libc.so.6
  • #3 ??
    from /lib/tls/i686/cmov/libc.so.6
  • #4 ??
    from /lib/tls/i686/cmov/libc.so.6
  • #5 free
    from /lib/tls/i686/cmov/libc.so.6
  • #6 IA__g_free
    at /build/buildd/glib2.0-2.20.1/glib/gmem.c line 190
  • #7 champlain_view_dispose
    at champlain-view.c line 700
  • #8 IA__g_object_unref
    at /build/buildd/glib2.0-2.20.1/gobject/gobject.c line 2393
  • #9 gtk_champlain_embed_finalize
    at gtk-champlain-embed.c line 126
  • #10 IA__g_object_unref
    at /build/buildd/glib2.0-2.20.1/gobject/gobject.c line 2421
  • #11 XS_Glib__Object_DESTROY
    from /usr/lib/perl5/auto/Glib/Glib.so
  • #12 Perl_pp_entersub
  • #13 Perl_call_sv
  • #14 Perl_sv_clear
  • #15 Perl_sv_free2
  • #16 Perl_leave_scope
  • #17 Perl_pop_scope
  • #18 Perl_pp_return
  • #19 Perl_runops_standard
  • #20 perl_run
  • #21 main
  • #7 champlain_view_dispose
    at champlain-view.c line 700
$1 = (ChamplainViewPrivate *) 0x98010c8
(gdb) print *priv
$2 = {stage = 0x0, factory = 0x0, map_source = 0x0, scroll_mode = CHAMPLAIN_SCROLL_MODE_KINETIC, zoom_level = 3, min_zoom_level = 0, max_zoom_level = 18, 
  longitude = -48.33984375, latitude = 13.068776734357701, anchor = {x = 0, y = 0, z = 0}, anchor_zoom_level = 3, map = 0x0, finger_scroll = 0x0, viewport = 0x0, 
  map_layer = 0x0, viewport_size = {x = 429, y = 709, width = 640, height = 480}, user_layers = 0x0, keep_center_on_resize = 1, zoom_on_double_click = 1, 
  show_license = 1, license_actor = 0x0, state = CHAMPLAIN_STATE_DONE, goto_context = 0x9b66640, polygons = 0x0, polygon_layer = 0x9802260}
(gdb) print priv->goto_context
$3 = (GoToContext *) 0x9b66640

Comment 3 Emmanuel Rodriguez 2009-06-14 22:03:08 UTC
My branch Bug-585776 tries to address this issue.

http://gitorious.org/~potyl/libchamplain/potyl-perl/commit/85c4ed9bbf57277a2aeba6802bf4a9d50d2dd280
Comment 4 Pierre-Luc Beaudoin 2009-06-15 20:15:21 UTC
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.