Bug 5203 - rsync aborts because of glibc invalid pointer
Summary: rsync aborts because of glibc invalid pointer
Status: RESOLVED FIXED
Alias: None
Product: rsync
Classification: Unclassified
Component: core (show other bugs)
Version: 2.6.9
Hardware: All Linux
: P3 normal (vote)
Target Milestone: ---
Assignee: Wayne Davison
QA Contact: Rsync QA Contact
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-01-15 10:36 UTC by Christian Brandes
Modified: 2008-03-16 22:17 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Brandes 2008-01-15 10:36:52 UTC
Rsync fails with an error message. It looks like some glibc problem that does only occur with rsync and only in some cases, depending on the data to be synced. Transmission is aborted every time on a different file or directory. But I can reproduce it.

My Platform is ubuntu 7.04 on amd64 the source file system is Red Hat's GFS cluster file system, destination is xfs.

These messages are produced:

rsync: connection unexpectedly closed (164 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(454) [sender=2.6.9]
rsync: connection unexpectedly closed (2883228 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(454) [receiver=2.6.9]

*** glibc detected *** rsync: free(): invalid pointer: 0x00002aad7d660960 ***
======= Backtrace: =========
/lib/libc.so.6[0x2aad7d383b23]
/lib/libc.so.6(cfree+0x8c)[0x2aad7d38726c]
rsync[0x425189]
rsync[0x41fdc8]
rsync[0x40598d]
rsync[0x407b26]
rsync[0x41079d]
rsync[0x410a08]
rsync[0x4118be]
/lib/libc.so.6(__libc_start_main+0xf4)[0x2aad7d3318e4]
rsync[0x403b89]
======= Memory map: ========
00400000-0044b000 r-xp 00000000 08:46 50366925                           /usr/bin/rsync
0064b000-0064e000 rw-p 0004b000 08:46 50366925                           /usr/bin/rsync
0064e000-00791000 rw-p 0064e000 00:00 0                                  [heap]
2aad7cce9000-2aad7cd05000 r-xp 00000000 08:45 2625161                    /lib/ld-2.5.so
2aad7cd05000-2aad7cd08000 rw-p 2aad7cd05000 00:00 0
2aad7cd08000-2aad7cd43000 r--p 00000000 08:46 54574796                   /usr/lib/locale/de_DE.utf8/LC_CTYPE
2aad7cd43000-2aad7cd4a000 r--s 00000000 08:46 21045868                   /usr/lib/gconv/gconv-modules.cache
2aad7cd4a000-2aad7ced1000 rw-p 2aad7cd4a000 00:00 0
2aad7cf04000-2aad7cf06000 rw-p 0001b000 08:45 2625161                    /lib/ld-2.5.so
2aad7cf06000-2aad7cf0c000 r-xp 00000000 08:45 2625172                    /lib/libacl.so.1.1.0
2aad7cf0c000-2aad7d10b000 ---p 00006000 08:45 2625172                    /lib/libacl.so.1.1.0
2aad7d10b000-2aad7d10c000 rw-p 00005000 08:45 2625172                    /lib/libacl.so.1.1.0
2aad7d10c000-2aad7d113000 r-xp 00000000 08:45 2668929                    /lib/libpopt.so.0.0.0
2aad7d113000-2aad7d313000 ---p 00007000 08:45 2668929                    /lib/libpopt.so.0.0.0
2aad7d313000-2aad7d314000 rw-p 00007000 08:45 2668929                    /lib/libpopt.so.0.0.0
2aad7d314000-2aad7d45b000 r-xp 00000000 08:45 2625165                    /lib/libc-2.5.so
2aad7d45b000-2aad7d65b000 ---p 00147000 08:45 2625165                    /lib/libc-2.5.so
2aad7d65b000-2aad7d65e000 r--p 00147000 08:45 2625165                    /lib/libc-2.5.so
2aad7d65e000-2aad7d660000 rw-p 0014a000 08:45 2625165                    /lib/libc-2.5.so
2aad7d660000-2aad7d665000 rw-p 2aad7d660000 00:00 0
2aad7d665000-2aad7d669000 r-xp 00000000 08:45 2665527                    /lib/libattr.so.1.1.0
2aad7d669000-2aad7d868000 ---p 00004000 08:45 2665527                    /lib/libattr.so.1.1.0
2aad7d868000-2aad7d869000 rw-p 00003000 08:45 2665527                    /lib/libattr.so.1.1.0
2aad7d869000-2aad7dab4000 rw-p 2aad7d869000 00:00 0
2aad7daf4000-2aad7ddbf000 rw-p 2aad7daf4000 00:00 0
2aad7ddbf000-2aad7dec0000 rw-p 2aad7cd8c000 00:00 0
2aad7dec0000-2aad7e14a000 rw-p 2aad7dec0000 00:00 0
2aad7e152000-2aad7e159000 r-xp 00000000 08:45 2668922                    /lib/libnss_compat-2.5.so
2aad7e159000-2aad7e359000 ---p 00007000 08:45 2668922                    /lib/libnss_compat-2.5.so
2aad7e359000-2aad7e35b000 rw-p 00007000 08:45 2668922                    /lib/libnss_compat-2.5.so
2aad7e35b000-2aad7e36f000 r-xp 00000000 08:45 2668882                    /lib/libnsl-2.5.so
2aad7e36f000-2aad7e56f000 ---p 00014000 08:45 2668882                    /lib/libnsl-2.5.so
2aad7e56f000-2aad7e571000 rw-p 00014000 08:45 2668882                    /lib/libnsl-2.5.so
2aad7e571000-2aad7e573000 rw-p 2aad7e571000 00:00 0
2aad7e573000-2aad7e57d000 r-xp 00000000 08:45 2668943                    /lib/libnss_nis-2.5.so
2aad7e57d000-2aad7e77c000 ---p 0000a000 08:45 2668943                    /lib/libnss_nis-2.5.so
2aad7e77c000-2aad7e77e000 rw-p 00009000 08:45 2668943                    /lib/libnss_nis-2.5.so
2aad7e77e000-2aad7e788000 r-xp 00000000 08:45 2668941                    /lib/libnss_files-2.5.so
2aad7e788000-2aad7e987000 ---p 0000a000 08:45 2668941                    /lib/libnss_files-2.5.so
2aad7e987000-2aad7e989000 rw-p 00009000 08:45 2668941                    /lib/libnss_files-2.5.so
2aad7e989000-2aad7e99b000 r-xp 00000000 08:45 2668192                    /lib/libnss_ldap-2.5.so
2aad7e99b000-2aad7eb9a000 ---p 00012000 08:45 2668192                    /lib/libnss_ldap-2.5.so
2aad7eb9a000-2aad7eb9c000 rw-p 00011000 08:45 2668192                    /lib/libnss_ldap-2.5.so
2aad7eb9c000-2aad7eba7000 rw-p 2aad7eb9c000 00:00 0
2aad7eba7000-2aad7ebe1000 r-xp 00000000 08:46 12625088                   /usr/lib/libldap_r.so.2.0.130
2aad7ebe1000-2aad7ede1000 ---p 0003a000 08:46 12625088                   /usr/lib/libldap_r.so.2.0.130
2aad7ede1000-2aad7ede3000 rw-p 0003a000 08:46 12625088                   /usr/lib/libldap_r.so.2.0.130
2aad7ede3000-2aad7edf1000 r-xp 00000000 08:46 12625087                   /usr/lib/liblber.so.2.0.130
2aad7edf1000-2aad7eff0000 ---p 0000e000 08:46 12625087                   /usr/lib/liblber.so.2.0.130
2aad7eff0000-2aad7eff1000 rw-p 0000d000 08:46 12625087                   /usr/lib/liblber.so.2.0.130
2aad7eff1000-2aad7f00d000 r-xp 00000000 08:46 12625420                   /usr/lib/libgssapi_krb5.so.2.2
2aad7f00d000-2aad7f20d000 ---p 0001c000 08:46 12625420                   /usr/lib/libgssapi_krb5.so.2.2
2aad7f20d000-2aad7f20e000 rw-p 0001c000 08:46 12625420                   /usr/lib/libgssapi_krb5.so.2.2
2aad7f20e000-2aad7f210000 r-xp 00000000 08:45 2625168                    /lib/libdl-2.5.so
2aad7f210000-2aad7f410000 ---p 00002000 08:45 2625168                    /lib/libdl-2.5.so
2aad7f410000-2aad7f412000 rw-p 00002000 08:45 2625168                    /lib/libdl-2.5.so
2aad7f412000-2aad7f423000 r-xp 00000000 08:45 2668947                    /lib/libresolv-2.5.so
2aad7f423000-2aad7f623000 ---p 00011000 08:45 2668947                    /lib/libresolv-2.5.so
2aad7f623000-2aad7f625000 rw-p 00011000 08:45 2668947                    /lib/libresolv-2.5.so
2aad7f625000-2aad7f627000 rw-p 2aad7f625000 00:00 0
2aad7f627000-2aad7f63c000 r-xp 00000000 08:45 2668946                    /lib/libpthread-2.5.so
2aad7f63c000-2aad7f83c000 ---p 00015000 08:45 2668946                    /lib/libpthread-2.5.so
2aad7f83c000-2aad7f83e000 rw-p 00015000 08:45 2668946                    /lib/libpthread-2.5.so
2aad7f83e000-2aad7f842000 rw-p 2aad7f83e000 00:00 0
2aad7f842000-2aad7f847000 r-xp 00000000 08:45 2625167                    /lib/libcrypt-2.5.so
2aad7f847000-2aad7fa46000 ---p 00005000 08:45 2625167                    /lib/libcrypt-2.5.so
2aad7fa46000-2aad7fa48000 rw-p 00004000 08:45 2625167                    /lib/libcrypt-2.5.so
2aad7fa48000-2aad7fa76000 rw-p 2aad7fa48000 00:00 0
2aad7fa76000-2aad7fa8e000 r-xp 00000000 08:46 12625043                   /usr/lib/libsasl2.so.2.0.22
2aad7fa8e000-2aad7fc8e000 ---p 00018000 08:46 12625043                   /usr/lib/libsasl2.so.2.0.22
2aad7fc8e000-2aad7fc8f000 rw-p 00018000 08:46 12625043                   /usr/lib/libsasl2.so.2.0.22
2aad7fc8f000-2aad7fd04000 r-xp 00000000 08:46 12625062                   /usr/lib/libgnutls.so.13.0.9
2aad7fd04000-2aad7ff03000 ---p 00075000 08:46 12625062                   /usr/lib/libgnutls.so.13.0.9
2aad7ff03000-2aad7ff0e000 rw-p 00074000 08:46 12625062                   /usr/lib/libgnutls.so.13.0.9
2aad7ff0e000-2aad7ff91000 r-xp 00000000 08:46 12625423                   /usr/lib/libkrb5.so.3.2
2aad7ff91000-2aad80190000 ---p 00083000 08:46 12625423                   /usr/lib/libkrb5.so.3.2
2aad80190000-2aad80194000 rw-p 00082000 08:46 12625423                   /usr/lib/libkrb5.so.3.2
2aad80194000-2aad801b7000 r-xp 00000000 08:46 12625421                   /usr/lib/libk5crypto.so.3.0
2aad801b7000-2aad803b6000 ---p 00023000 08:46 12625421                   /usr/lib/libk5crypto.so.3.0
2aad803b6000-2aad803b8000 rw-p 00022000 08:46 12625421                   /usr/lib/libk5crypto.so.3.0
2aad803b8000-2aad803ba000 r-xp 00000000 08:45 2669051                    /lib/libcom_err.so.2.1
2aad803ba000-2aad805b9000 ---p 00002000 08:45 2669051                    /lib/libcom_err.so.2.1
2aad805b9000-2aad805ba000 rw-p 00001000 08:45 2669051                    /lib/libcom_err.so.2.1
2aad805ba000-2aad805be000 r-xp 00000000 08:46 12625424                   /usr/lib/libkrb5support.so.0.0
2aad805be000-2aad807bd000 ---p 00004000 08:46 12625424                   /usr/lib/libkrb5support.so.0.0
2aad807bd000-2aad807be000 rw-p 00003000 08:46 12625424                   /usr/lib/libkrb5support.so.0.0
2aad807be000-2aad807d3000 r-xp 00000000 08:46 12625075                   /usr/lib/libtasn1.so.3.0.6
2aad807d3000-2aad809d3000 ---p 00015000 08:46 12625075                   /usr/lib/libtasn1.so.3.0.6
2aad809d3000-2aad809d4000 rw-p 00015000 08:46 12625075                   /usr/lib/libtasn1.so.3.0.6
2aad809d4000-2aad809ea000 r-xp 00000000 08:46 12625035                   /usr/lib/libz.so.1.2.3
2aad809ea000-2aad80be9000 ---p 00016000 08:46 12625035                   /usr/lib/libz.so.1.2.3
2aad80be9000-2aad80bea000 rw-p 00015000 08:46 12625035                   /usr/lib/libz.so.1.2.3
2aad80bea000-2aad80c34000 r-xp 00000000 08:46 12625068                   /usr/lib/libgcrypt.so.11.2.2
2aad80c34000-2aad80e34000 ---p 0004a000 08:46 12625068                   /usr/lib/libgcrypt.so.11.2.2
2aad80e34000-2aad80e36000 rw-p 0004a000 08:46 12625068                   /usr/lib/libgcrypt.so.11.2.2
2aad80e36000-2aad80e37000 rw-p 2aad80e36000 00:00 0
2aad80e37000-2aad80e3a000 r-xp 00000000 08:46 12625070                   /usr/lib/libgpg-error.so.0.3.0
2aad80e3a000-2aad81039000 ---p 00003000 08:46 12625070                   /usr/lib/libgpg-error.so.0.3.0
2aad81039000-2aad8103a000 rw-p 00002000 08:46 12625070                   /usr/lib/libgpg-error.so.0.3.0
2aad8103a000-2aad8103f000 r-xp 00000000 08:46 25214566                   /usr/lib/sasl2/libsasldb.so.2.0.22
2aad8103f000-2aad8123e000 ---p 00005000 08:46 25214566                   /usr/lib/sasl2/libsasldb.so.2.0.22
2aad8123e000-2aad8123f000 rw-p 00004000 08:46 25214566                   /usr/lib/sasl2/libsasldb.so.2.0.22
2aad81247000-2aad81329000 r-xp 00000000 08:46 12625045                   /usr/lib/libdb-4.2.so
2aad81329000-2aad81529000 ---p 000e2000 08:46 12625045                   /usr/lib/libdb-4.2.so
2aad81529000-2aad8152d000 rw-p 000e2000 08:46 12625045                   /usr/lib/libdb-4.2.so
2aad8152d000-2aad81531000 r-xp 00000000 08:46 25214571                   /usr/lib/sasl2/libanonymous.so.2.0.22
2aad81531000-2aad81730000 ---p 00004000 08:46 25214571                   /usr/lib/sasl2/libanonymous.so.2.0.22
2aad81730000-2aad81731000 rw-p 00003000 08:46 25214571                   /usr/lib/sasl2/libanonymous.so.2.0.22
2aad81731000-2aad81735000 r-xp 00000000 08:46 25214574                   /usr/lib/sasl2/libcrammd5.so.2.0.22
2aad81735000-2aad81935000 ---p 00004000 08:46 25214574                   /usr/lib/sasl2/libcrammd5.so.2.0.22
2aad81935000-2aad81936000 rw-p 00004000 08:46 25214574                   /usr/lib/sasl2/libcrammd5.so.2.0.22
2aad81936000-2aad81941000 r-xp 00000000 08:46 25214577                   /usr/lib/sasl2/libdigestmd5.so.2.0.22
2aad81941000-2aad81b41000 ---p 0000b000 08:46 25214577                   /usr/lib/sasl2/libdigestmd5.so.2.0.22
2aad81b41000-2aad81b42000 rw-p 0000b000 08:46 25214577                   /usr/lib/sasl2/libdigestmd5.so.2.0.22
2aad81b4a000-2aad81c9f000 r-xp 00000000 08:46 12635712                   /usr/lib/libcrypto.so.0.9.8
2aad81c9f000-2aad81e9f000 ---p 00155000 08:46 12635712                   /usr/lib/libcrypto.so.0.9.8
2aad81e9f000-2aad81ec2000 rw-p 00155000 08:46 12635712                   /usr/lib/libcrypto.so.0.9.8
2aad81ec2000-2aad81ec5000 rw-p 2aad81ec2000 00:00 0
2aad81ec5000-2aad81ec9000 r-xp 00000000 08:46 25214580                   /usr/lib/sasl2/liblogin.so.2.0.22
2aad81ec9000-2aad820c8000 ---p 00004000 08:46 25214580                   /usr/lib/sasl2/liblogin.so.2.0.22
2aad820c8000-2aad820c9000 rw-p 00003000 08:46 25214580                   /usr/lib/sasl2/liblogin.so.2.0.22
2aad820c9000-2aad820d1000 r-xp 00000000 08:46 25214583                   /usr/lib/sasl2/libntlm.so.2.0.22
2aad820d1000-2aad822d0000 ---p 00008000 08:46 25214583                   /usr/lib/sasl2/libntlm.so.2.0.22
2aad822d0000-2aad822d1000 rw-p 00007000 08:46 25214583                   /usr/lib/sasl2/libntlm.so.2.0.22
2aad822d1000-2aad822d5000 r-xp 00000000 08:46 25214586                   /usr/lib/sasl2/libplain.so.2.0.22
2aad822d5000-2aad824d4000 ---p 00004000 08:46 25214586                   /usr/lib/sasl2/libplain.so.2.0.22
2aad824d4000-2aad824d5000 rw-p 00003000 08:46 25214586                   /usr/lib/sasl2/libplain.so.2.0.22
2aad824dd000-2aad824e1000 r-xp 00000000 08:45 2668932                    /lib/libnss_dns-2.5.so
2aad824e1000-2aad826e0000 ---p 00004000 08:45 2668932                    /lib/libnss_dns-2.5.so
2aad826e0000-2aad826e2000 rw-p 00003000 08:45 2668932                    /lib/libnss_dns-2.5.so
2aad826e2000-2aad826ef000 r-xp 00000000 08:45 2625159                    /lib/libgcc_s.so.1
2aad826ef000-2aad828ef000 ---p 0000d000 08:45 2625159                    /lib/libgcc_s.so.1
2aad828ef000-2aad828f0000 rw-p 0000d000 08:45 2625159                    /lib/libgcc_s.so.1
2aad84000000-2aad84021000 rw-p 2aad84000000 00:00 0
2aad84021000-2aad88000000 ---p 2aad84021000 00:00 0
7fff2ddac000-7fff2ddc1000 rw-p 7fff2ddac000 00:00 0                      [stack]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vdso]
Comment 1 Wayne Davison 2008-01-19 11:50:32 UTC
You'll need to have debug symbols in the executable to provide useful backtrace data.

I'd suggest running the latest 3.0.0 pre-release (currently pre8) and see if the problem is already fixed (3.0.0 will be released soon).  If it is still present, it would be good to get it fixed before the final release. 
Comment 2 Christian Brandes 2008-01-21 10:24:07 UTC
> I'd suggest running the latest 3.0.0 pre-release (currently pre8) and see if
> the problem is already fixed (3.0.0 will be released soon).  If it is still
> present, it would be good to get it fixed before the final release. 

I could not reproduce the abort with rsync 3.0.0pre8. I hope it is gone so it does not get into the upcoming 3.0.0 release.



Comment 3 Wayne Davison 2008-03-16 22:17:48 UTC
I think this is now fixed.