Bug 214135

Summary: lftp-3.5.1-2.fc6 memory corruption
Product: Red Hat Enterprise Linux 5 Reporter: H.J. Lu <hongjiu.lu>
Component: lftpAssignee: Jiri Skala <jskala>
Status: CLOSED WONTFIX QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: 5.0CC: aglotov, amit_bhutani, dilpreet_gulati, jfeeney, mbarabas, omar, ram_sevak, rvokal, tao
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-02-10 10:06:16 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description H.J. Lu 2006-11-06 04:40:07 UTC
When I was lftping  from an FC mirror, I got

lftp xxx.xxx.xxx:/fedora/core/development/x86_64/os/Fedora/RPMS> mget kernel-*
109007560 bytes transferred in 36 seconds (2.87M/s)
Total 12 files transferred
*** glibc detected *** lftp: corrupted double-linked list: 0x0000000000643e00 ***
======= Backtrace: =========
/lib64/libc.so.6[0x33a1c6e8b5]
/lib64/libc.so.6(cfree+0x8c)[0x33a1c7217c]
/usr/lib64/liblftp-tasks.so.0(_ZN8FileCopyD0Ev+0x96)[0x33a102e5d6]
/usr/lib64/liblftp-jobs.so.0(_ZN7CopyJobD0Ev+0x1b)[0x33a143536b]
/usr/lib64/liblftp-tasks.so.0(_ZN6SMTask14CollectGarbageEv+0x4e)[0x33a1020d6e]
/usr/lib64/liblftp-tasks.so.0(_ZN6SMTask8ScheduleEv+0xde)[0x33a102110e]
/usr/lib64/liblftp-jobs.so.0(_ZN3Job8WaitDoneEv+0x1f)[0x33a141d2bf]
lftp[0x405777]
/lib64/libc.so.6(__libc_start_main+0xf4)[0x33a1c1da44]
lftp[0x404d29]
======= Memory map: ========
00400000-0040a000 r-xp 00000000 08:03 12626524                          
/usr/bin/lftp
0060a000-00613000 rw-p 0000a000 08:03 12626524                          
/usr/bin/lftp
00613000-00799000 rw-p 00613000 00:00 0                                  [heap]
33a0c00000-33a0c1a000 r-xp 00000000 08:03 1376526                       
/lib64/ld-2.5.so
33a0e19000-33a0e1a000 r--p 00019000 08:03 1376526                       
/lib64/ld-2.5.so
33a0e1a000-33a0e1b000 rw-p 0001a000 08:03 1376526                       
/lib64/ld-2.5.so
33a1000000-33a1055000 r-xp 00000000 08:03 12626521                      
/usr/lib64/liblftp-tasks.so.0.0.0
33a1055000-33a1254000 ---p 00055000 08:03 12626521                      
/usr/lib64/liblftp-tasks.so.0.0.0
33a1254000-33a125b000 rw-p 00054000 08:03 12626521                      
/usr/lib64/liblftp-tasks.so.0.0.0
33a125b000-33a126b000 rw-p 33a125b000 00:00 0
33a1400000-33a144f000 r-xp 00000000 08:03 12628264                      
/usr/lib64/liblftp-jobs.so.0.0.0
33a144f000-33a164e000 ---p 0004f000 08:03 12628264                      
/usr/lib64/liblftp-jobs.so.0.0.0
33a164e000-33a1654000 rw-p 0004e000 08:03 12628264                      
/usr/lib64/liblftp-jobs.so.0.0.0
33a1654000-33a1665000 rw-p 33a1654000 00:00 0
33a1800000-33a1835000 r-xp 00000000 08:03 12620889                      
/usr/lib64/libreadline.so.5.1
33a1835000-33a1a34000 ---p 00035000 08:03 12620889                      
/usr/lib64/libreadline.so.5.1
33a1a34000-33a1a3c000 rw-p 00034000 08:03 12620889                      
/usr/lib64/libreadline.so.5.1
33a1a3c000-33a1a3d000 rw-p 33a1a3c000 00:00 0
33a1c00000-33a1d44000 r-xp 00000000 08:03 1376527                       
/lib64/libc-2.5.so
33a1d44000-33a1f44000 ---p 00144000 08:03 1376527                       
/lib64/libc-2.5.so
33a1f44000-33a1f48000 r--p 00144000 08:03 1376527                       
/lib64/libc-2.5.so
33a1f48000-33a1f49000 rw-p 00148000 08:03 1376527                       
/lib64/libc-2.5.so
33a1f49000-33a1f4e000 rw-p 33a1f49000 00:00 0
33a2000000-33a2082000 r-xp 00000000 08:03 1376528                       
/lib64/libm-2.5.so
33a2082000-33a2281000 ---p 00082000 08:03 1376528                       
/lib64/libm-2.5.so
33a2281000-33a2282000 r--p 00081000 08:03 1376528                       
/lib64/libm-2.5.so
33a2282000-33a2283000 rw-p 00082000 08:03 1376528                       
/lib64/libm-2.5.so
33a2400000-33a2403000 r-xp 00000000 08:03 1376533                       
/lib64/libdl-2.5.so
33a2403000-33a2602000 ---p 00003000 08:03 1376533                       
/lib64/libdl-2.5.so
33a2602000-33a2603000 r--p 00002000 08:03 1376533                       
/lib64/libdl-2.5.so
33a2603000-33a2604000 rw-p 00003000 08:03 1376533                       
/lib64/libdl-2.5.so
33a2c00000-33a2c14000 r-xp 00000000 08:03 12624626                      
/usr/lib64/libz.so.1.2.3
33a2c14000-33a2e13000 ---p 00014000 08:03 12624626                      
/usr/lib64/libz.so.1.2.3
33a2e13000-33a2e14000 rw-p 00013000 08:03 12624626                      
/usr/lib64/libz.so.1.2.3
33a9a00000-33a9a02000 r-xp 00000000 08:03 1376539                       
/lib64/libcom_err.so.2.1
33a9a02000-33a9c01000 ---p 00002000 08:03 1376539                       
/lib64/libcom_err.so.2.1
33a9c01000-33a9c02000 rw-p 00001000 08:03 1376539                       
/lib64/libcom_err.so.2.1
33aa200000-33aa211000 r-xp 00000000 08:03 1376538                       
/lib64/libresolv-2.5.so
33aa211000-33aa411000 ---p 00011000 08:03 1376538                       
/lib64/libresolv-2.5.so
33aa411000-33aa412000 r--p 00011000 08:03 1376538                       
/lib64/libresolv-2.5.so
33aa412000-33aa413000 rw-p 00012000 08:03 1376538                       
/lib64/libresolv-2.5.so
33aa413000-33aa415000 rw-p 33aa413000 00:00 0
33aa600000-33aa684000 r-xp 00000000 08:03 12637883                      
/usr/lib64/libkrb5.so.3.2
33aa684000-33aa884000 ---p 00084000 08:03 12637883                      
/usr/lib64/libkrb5.so.3.2
33aa884000-33aa888000 rw-p 00084000 08:03 12637883                      
/usr/lib64/libkrb5.so.3.2
33aaa00000-33aaa07000 r-xp 00000000 08:03 12637881                      
/usr/lib64/libkrb5support.so.0.1
33aaa07000-33aac06000 ---p 00007000 08:03 12637881                      
/usr/lib64/libkrb5support.so.0.1
33aac06000-33aac07000 rw-p 00006000 08:03 12637881                      
/usr/lib64/libkrb5support.so.0.1
33ab200000-33ab229000 r-xp 00000000 08:03 12637884                      
/usr/lib64/libgssapi_krb5.so.2.2
33ab229000-33ab428000 ---p 00029000 08:03 12637884                      
/usr/lib64/libgssapi_krb5.so.2.2
33ab428000-33ab42a000 rw-p 00028000 08:03 12637884                      
/usr/lib64/libgssapi_krb5.so.2.2
33aba00000-33abb25000 r-xp 00000000 08:03 1376540                       
/lib64/libcrypto.so.0.9.8b
33abb25000-33abd24000 ---p 00125000 08:03 1376540                       
/lib64/libcrypto.so.0.9.8b
33abd24000-33abd43000 rw-p 00124000 08:03 1376540                       
/lib64/libcrypto.so.0.9.8b
33abd43000-33abd47000 rw-p 33abd43000 00:00 0
33ac600000-33ac623000 r-xp 00000000 08:03 12637882                      
/usr/lib64/libk5crypto.so.3.0
33ac623000-33ac823000 ---p 00023000 08:03 12637882                      
/usr/lib64/libk5crypto.so.3.0
33ac823000-33ac825000 rw-p 00023000 08:03 12637882                      
/usr/lib64/libk5crypto.so.3.0
33ad600000-33ad643000 r-xp 00000000 08:03 1376541                       
/lib64/libssl.so.0.9.8b
33ad643000-33ad843000 ---p 00043000 08:03 1376541                       
/lib64/libssl.so.0.9.8b
33ad843000-33ad849000 rw-p 00043000 08:03 1376541                       
/lib64/libssl.so.0.9.8b
33ae200000-33ae202000 r-xp 00000000 08:03 1376544                       
/lib64/libutil-2.5.so
33ae202000-33ae401000 ---p 00002000 08:03 1376544                       
/lib64/libutil-2.5.so
33ae401000-33ae402000 r--p 00001000 08:03 1376544                       
/lib64/libutil-2.5.so
33ae402000-33ae403000 rw-p 00002000 08:03 1376544                       
/lib64/libutil-2.5.so
33b2a00000-33b2a0d000 r-xp 00000000 08:03 1376444                       
/lib64/libgcc_s-4.1.1-20061011.so.1
33b2a0d000-33b2c0c000 ---p 0000d000 08:03 1376444                       
/lib64/libgcc_s-4.1.1-20061011.so.1
33b2c0c000-33b2c0d000 rw-p 0000c000 08:03 1376444                       
/lib64/libgcc_s-4.1.1-20061011.so.1
33b2e00000-33b2ee7000 r-xp 00000000 08:03 12621198                      
/usr/lib64/libstdc++.so.6.0.8
33b2ee7000-33b30e7000 ---p 000e7000 08:03 12621198                      
/usr/lib64/libstdc++.so.6.0.8
33b30e7000-33b30ed000 r--p 000e7000 08:03 12621198                      
/usr/lib64/libstdc++.so.6.0.8
33b30ed000-33b30f0000 rw-p 000ed000 08:03 12621198                      
/usr/lib64/libstdc++.so.6.0.8
33b30f0000-33b3102000 rw-p 33b30f0000 00:00 0
33b3a00000-33b3a4f000 r-xp 00000000 08:03 12626677                      
/usr/lib64/libncurses.so.5.5
33b3a4f000-33b3c4e000 ---p 0004f000 08:03 12626677                      
/usr/lib64/libncurses.so.5.5
33b3c4e000-33b3c5c000 rw-p 0004e000 08:03 12626677                      
/usr/lib64/libncurses.so.5.5
33b3c5c000-33b3c5d000 rw-p 33b3c5c000 00:00 0
2aaaaaaab000-2aaaaaaac000 rw-p 2aaaaaaab000 00:00 0
2aaaaaabd000-2aaaaaac3000 rw-p 2aaaaaabd000 00:00 0
2aaaaaac3000-2aaaadfbf000 r--p 00000000 08:03 12619500                  
/usr/lib/locale/locale-archive
2aaaadfbf000-2aaaadfc6000 r--s 00000000 08:03 12714243                  
/usr/lib64/gconv/gconv-modules.cache
2aaaadfc6000-2aaaadfd9000 r-xp 00000000 08:03 12977709                  
/usr/lib64/lftp/3.5.1/proto-http.so
2aaaadfd9000-2aaaae1d8000 ---p 00013000 08:03 12977709                  
/usr/lib64/lftp/3.5.1/proto-http.so
2aaaae1d8000-2aaaae1da000 rw-p 00012000 08:03 12977709                  
/usr/lib64/lftp/3.5.1/proto-http.so
2aaaae1da000-2aaaae1f6000 r-xp 00000000 08:03 12977704                  
/usr/lib64/lftp/3.5.1/liblftp-network.so
2aaaae1f6000-2aaaae3f5000 ---p 0001c000 08:03 12977704                  
/usr/lib64/lftp/3.5.1/liblftp-network.so
2aaaae3f5000-2aaaae3f8000 rw-p 0001b000 08:03 12977704                  
/usr/lib64/lftp/3.5.1/liblftp-network.so
2aaaae3f8000-2aaaae409000 rw-p 2aaaae3f8000 00:00 0
2aaaae4a8000-2aaaae535000 rw-p 2aaaae4a8000 00:00 0
2aaab0000000-2aaab0021000 rw-p 2aaab0000000 00:00 0
2aaab0021000-2aaab4000000 ---p 2aaab0021000 00:00 0
7fffff775000-7fffff78a000 rw-p 7fffff775000 00:00 0                      [stack]
ffffffffff600000-ffffffffffe00000 ---p 00000000 00:00 0                  [vdso]

Comment 1 Matt Domsch 2007-01-09 04:35:51 UTC
I had lftp-3.5.1-2.fc6.x86_64 upload several files such that they had incorrect
sizes on the remote file system thereafter.  i386 seems to work fine.  I tried
this repeatedly and each time it used ALLO to allocate the right size, then it
uploaded what it claimed was the right number of bytes, but an 'ls' showed a
file 11% smaller than it should have been, and the size varied on each attempt.
 Could this be related?
 

Comment 2 Amit Bhutani 2007-01-25 14:13:54 UTC
Comments from Ram on the Dell Linux Team:
I used lftp-3.5.1-2.fc6.x86_64 to do the regression in which I copied several
files (ISO images for a RHEL build) from Central to my local machine. I also
uploaded the ISO images from my machine to my Central's home directory. I was
able to upload and download several files to and from the central using lftp,
mget and mput. Both md5sum and ls matched with the remote file concerned.
I did not get any errors.

So can we consider this issue resolved ?


Comment 3 Maros Barabas 2007-02-23 12:55:47 UTC
Please try the last rawhide package lftp-3.5.9. 

Comment 4 Jiri Skala 2008-09-09 14:05:21 UTC
I'm not able to simulate described problem. The new release RHEL 5.3 will be introduced soon. There is re-base to lftp-3.7.3. I suppose that new package could fix your problem.

Comment 7 Ram 2008-10-16 11:41:43 UTC
I have tried to reproduce this issue earlier also with lftp 3.5.1-2 (See Comment#2). I also tried with the latest package 3.7.3-1. I couldn't reproduce this issue.

Thanks
Ram

Comment 9 RHEL Program Management 2008-10-27 18:23:37 UTC
This request was previously evaluated by Red Hat Product Management
for inclusion in the current Red Hat Enterprise Linux release, but
Red Hat was unable to resolve it in time.  This request will be
reviewed for a future Red Hat Enterprise Linux release.

Comment 11 RHEL Program Management 2009-02-10 10:06:16 UTC
Development Management has reviewed and declined this request.  You may appeal
this decision by reopening this request.