Whenever I try to direct connect to someone using AIM (or sometimes send/receive a file), Gaim crashes: #0 0xb7432fdc in memcpy () from /lib/libc.so.6 #1 0xb7048588 in byte_stream_putraw (bs=0x85bd41e, v=0x0, len=0) at string3.h:51 #2 0xb707075b in aim_tlvlist_write (bs=0xbfd1c298, list=0xbfd1c2a4) at tlv.c:750 #3 0xb70503e5 in aim_im_sendch2_odc_requestdirect (od=0x846cb10, cookie=0x85b5510 "1466812", sn=0x858dd90 "somescreenname", ip=0x0, port=5100, requestnumber=1) at family_icbm.c:818 #4 0xb706e85d in peer_connection_establish_listener_cb (listenerfd=25, data=0x85b5500) at peer.c:617 #5 0xb77ec190 in gaim_network_set_upnp_port_mapping_cb (success=0, data=0x85b6e60) at network.c:219 #6 0xb7808741 in do_port_mapping_cb (has_control_mapping=0, data=0x85a7a78) at upnp.c:884 #7 0xb78089f9 in fire_port_mapping_failure_cb (data=0x85a7a78) at upnp.c:891 #8 0xb76b2416 in g_source_get_current_time () from /usr/lib/libglib-2.0.so.0 #9 0xb76b1cfc in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #10 0xb76b4f7f in g_main_context_check () from /usr/lib/libglib-2.0.so.0 #11 0xb76b5327 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #12 0xb7cc6983 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #13 0x080aac1c in main (argc=Cannot access memory at address 0x4) at gtkmain.c:812 Just before it dies, it prints the messages: network: Listening on port: 5100 network: Couldn't create UPnP mapping network: Couldn't create UPnP mapping emerge --info: Portage 2.1.1 (default-linux/x86/2006.0, gcc-4.1.1, glibc-2.5-r0, 2.6.18-gentoo i686) ================================================================= System uname: 2.6.18-gentoo i686 AMD Athlon(tm) XP 2000+ Gentoo Base System version 1.12.5 Last Sync: Tue, 24 Oct 2006 21:30:01 +0000 app-admin/eselect-compiler: [Not Present] dev-java/java-config: 1.3.7, 2.0.30 dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: [Not Present] dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.13-r4 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon-xp -O2 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/splash /etc/terminfo" CXXFLAGS="-march=athlon-xp -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="ftp://distro.ibiblio.org/pub/linux/distributions/gentoo/ http://gentoo.noved.org/" LC_ALL="en_US.UTF-8" LINGUAS="en uk ru" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 3dnow X aac aalib acl acpi aim alsa apache2 asf audiofile bcmath bitmap-fonts browserplugin bzip2 cairo cdparanoia cli cracklib crypt css cups curl dbus dga directfb divx4linux dlloader dri dvd dvdr elibc_glibc emboss encode fam fbcon fbsplash ffmpeg flash foomaticdb gdbm gif glitz glut gpm gstreamer gtk gtk2 hal icq idn imlib input_devices_keyboard input_devices_mouse ipv6 isdnlog javascript jikes jpeg jpeg2k kde kdeenablefinal kdehiddenvisibility kernel_linux lcms lesstif libg++ libwww linguas_en linguas_ru linguas_uk live lm_sensors logitech-mouse mad mikmod mmx mng mp3 mpeg mplayer msn musicbrainz ncurses nls nptl nptlonly nsplugin offensive ogg openexr opengl oscar pam pcre pdf pic png povray ppds pppd qt3 qt4 quicktime rdesktop readline reflection rtc samba scanner sdl session sftplogging slp snmp speex spell spl sse ssl startup-notification subversion svg sysfs tcpd tetex theora tiff timidity truetype truetype-fonts type1-fonts udev unicode usb userland_GNU video_cards_ati video_cards_radeon vorbis wifi win32codecs xcomposite xine xinerama xml xorg xscreensaver xv xvid yahoo zeroconf zlib" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Could you please let me know which glib and gtk+2 versions you have?
I'm using glib-2.10.3 and gtk+-2.8.19.
How come gaim's core dumps are not working? GDB refuses to recognize them: dima ~ $ file core core: ELF 32-bit LSB core file Intel 80386, version 1 (SYSV), SVR4-style, from 'gaim' dima ~ $ gdb gaim core GNU gdb 6.5 Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i686-pc-linux-gnu"...(no debugging symbols found) Using host libthread_db library "/lib/libthread_db.so.1". "/home/dima/core" is not a core dump: File format not recognized (gdb) bt No stack.
please let me know if beta5 has the same issue
Yes, it still has this issue. Here's the new backtrace - some line numbers are a little different: #0 0xb746afdc in memcpy () from /lib/libc.so.6 #1 0xb7080638 in byte_stream_putraw (bs=0x86b2886, v=0x0, len=0) at /usr/include/bits/string3.h:51 #2 0xb70a88cb in aim_tlvlist_write (bs=0xbf8c83f8, list=0xbf8c8404) at tlv.c:750 #3 0xb7088495 in aim_im_sendch2_odc_requestdirect (od=0x8517b78, cookie=0x867cdf0 "8933952", sn=0x8687df8 "yds86", ip=0x0, port=5100, requestnumber=1) at family_icbm.c:818 #4 0xb70a69cd in peer_connection_establish_listener_cb (listenerfd=20, data=0x867cde0) at peer.c:617 #5 0xb7824430 in gaim_network_set_upnp_port_mapping_cb (success=0, data=0x8687d28) at network.c:222 #6 0xb7840b31 in do_port_mapping_cb (has_control_mapping=0, data=0x858f3a0) at upnp.c:885 #7 0xb7840de9 in fire_port_mapping_failure_cb (data=0x858f3a0) at upnp.c:892 #8 0xb76ea416 in g_source_get_current_time () from /usr/lib/libglib-2.0.so.0 #9 0xb76e9cfc in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #10 0xb76ecf7f in g_main_context_check () from /usr/lib/libglib-2.0.so.0 #11 0xb76ed327 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #12 0xb7cfe983 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #13 0x080ab3dc in main (argc=0, argv=0x0) at gtkmain.c:812
I reported this on Gaim's bug tracker - but they closed it, saying it's a Gentoo bug: https://sourceforge.net/tracker/?func=detail&atid=100235&aid=1596652&group_id=235
Well seems that glibc 2.5 defined a function with the same name. The problem will probably disapear if you downgrade to 2.4
Ok, that's what the Gaim developers said, too. I renamed all byte_steam_xxx functions into gaim_byte_stream_xxx. Result: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1220618560 (LWP 23625)] 0xb6de5837 in gaim_byte_stream_putraw (bs=0xbfb40f78, v=0x0, len=4) at bstream.c:266 266 memcpy(bs->data + bs->offset, v, len); (gdb) bt #0 0xb6de5837 in gaim_byte_stream_putraw (bs=0xbfb40f78, v=0x0, len=4) at bstream.c:266 #1 0xb6e150a7 in aim_tlvlist_write (bs=0xbfb40f78, list=0xbfb40f84) at tlv.c:750 #2 0xb6dee623 in aim_im_sendch2_odc_requestdirect (od=0x8420538, cookie=0x8523e48 "3855154", sn=0x84aa080 "Dima Ryazanov2", ip=0x0, port=5100, requestnumber=1) at family_icbm.c:818 #3 0xb6e120d6 in peer_connection_establish_listener_cb (listenerfd=25, data=0x8523e38) at peer.c:617 #4 0xb783e159 in gaim_network_set_upnp_port_mapping_cb (success=0, data=0x8523030) at network.c:222 #5 0xb78614fa in do_port_mapping_cb (has_control_mapping=0, data=0x843af20) at upnp.c:885 #6 0xb7861525 in fire_port_mapping_failure_cb (data=0x843af20) at upnp.c:892 #7 0xb76ff416 in g_source_get_current_time () from /usr/lib/libglib-2.0.so.0 #8 0xb76fecfc in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #9 0xb7701f7f in g_main_context_check () from /usr/lib/libglib-2.0.so.0 #10 0xb7702327 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #11 0xb7d23983 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #12 0x080b2c5f in main (argc=1, argv=0xbfb43464) at gtkmain.c:801 You can see that v=0, and it's the source address in memcpy. So it crashes.
Going to close this as fixed, since the same bug is filed upstream and from what I can tell resolved on their end.