FS#12032 - smbnetfs crashes out under load, crash occurs in libsmbclient.so

Attached to Project: Community Packages
Opened by John Carlyle-Clarke (johncc) - Friday, 07 November 2008, 11:57 GMT
Last edited by Sergej Pupykin (sergej) - Monday, 12 January 2009, 09:33 GMT
Task Type Bug Report
Category
Status Closed
Assigned To Sergej Pupykin (sergej)
Architecture All
Severity Medium
Priority Normal
Reported Version None
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

smbclient 3.2.4-3
kernel 2.6.27-ARCH
smbnetfs 0.3.11a-1
fuse 2.7.4-1

When I use amarok to scan music folders mounted with smbnetfs (shared from a Linux box with samba), I find that after the collection scan gets to about 1 or 2% the files will disappear. Any attempt to access the mount from the command line gives a "transport endpoint not connected" error.

I recompiled with symbols and used gdb to get the following backtrace:

#0 0xb8065424 in __kernel_vsyscall ()
#1 0xb7b69720 in raise () from /lib/libc.so.6
#2 0xb7b6b058 in abort () from /lib/libc.so.6
#3 0xb7b365ad in talloc_abort_double_free () from /usr/lib/libtalloc.so.1
#4 0xb7b386a1 in _talloc_array () from /usr/lib/libtalloc.so.1
#5 0xb7d20ccd in next_token_internal_talloc () from /usr/lib/libsmbclient.so.0
#6 0xb7d20da9 in next_token_talloc () from /usr/lib/libsmbclient.so.0
#7 0xb7d8b3ca in internal_resolve_name () from /usr/lib/libsmbclient.so.0
#8 0xb7d8bb0e in resolve_name_list () from /usr/lib/libsmbclient.so.0
#9 0xb7d4b103 in cli_connect () from /usr/lib/libsmbclient.so.0
#10 0xb7cde346 in SMBC_server () from /usr/lib/libsmbclient.so.0
#11 0xb7cdf32f in SMBC_stat_ctx () from /usr/lib/libsmbclient.so.0
#12 0x08053e6f in samba_getattr ()
#13 0xb7cac352 in fuse_fs_getattr () from /lib/libfuse.so.2
#14 0xb7cad15a in lookup_path () from /lib/libfuse.so.2
#15 0xb7cafffb in fuse_lib_lookup () from /lib/libfuse.so.2
#16 0xb7cb5b41 in do_lookup () from /lib/libfuse.so.2
#17 0xb7cb61a1 in fuse_ll_process () from /lib/libfuse.so.2
#18 0xb7cb7b76 in fuse_session_process () from /lib/libfuse.so.2
#19 0xb7cb3bf9 in fuse_do_work () from /lib/libfuse.so.2
#20 0xb7c87145 in start_thread () from /lib/libpthread.so.0
#21 0xb7c0c63e in clone () from /lib/libc.so.6
(gdb)

This is very repeatable for me, so if I can give any more info or do any other tests, please let me know.
This task depends upon

Closed by  Sergej Pupykin (sergej)
Monday, 12 January 2009, 09:33 GMT
Reason for closing:  Upstream
Comment by John Carlyle-Clarke (johncc) - Friday, 07 November 2008, 12:10 GMT
I should add, this occurs if I run smbnetfs as a daemon as "nobody", or just as a normal user with "smbnetfs -f -o allow_other /mnt/smbnet".

Moreover, I wanted to test if anything else would cause breakage other than Amarok, so I ran a couple of "grep -R foo *" in a parallel. It took a while longer, but it did break.

#0 0xb8087424 in __kernel_vsyscall ()
#1 0xb7b8b720 in raise () from /lib/libc.so.6
#2 0xb7b8d058 in abort () from /lib/libc.so.6
#3 0xb7b585c4 in talloc_abort_unknown_value () from /usr/lib/libtalloc.so.1
#4 0xb7b5a895 in talloc_strdup () from /usr/lib/libtalloc.so.1
#5 0xb7d72252 in get_ipc_connect_master_ip () from /usr/lib/libsmbclient.so.0
#6 0xb7cfb7b6 in SMBC_opendir_ctx () from /usr/lib/libsmbclient.so.0
#7 0x0804f83b in UpdateRoot ()
#8 0x0804f9cd in UpdateSambaTree ()
#9 0x08052540 in UpdateThread ()
#10 0xb7ca9145 in start_thread () from /lib/libpthread.so.0
#11 0xb7c2e63e in clone () from /lib/libc.so.6
(gdb)
Comment by Massimiliano Torromeo (mtorromeo) - Friday, 07 November 2008, 13:07 GMT
I can confirm that this bug is also appearing on my box under heavy data transfers, but it probably resides in smbnetfs itself. I doubt it's a package bug.
Comment by Sergej Pupykin (sergej) - Monday, 10 November 2008, 11:23 GMT
I try 2 grep -R and it works well. Netork load was ~6Mb/sec, i686 arch.

May be try svn version of smbnetfs?
Comment by Bjoern Janssen (Captain_Spaulding) - Sunday, 04 January 2009, 20:51 GMT
I can reproduce this error with fusesmb and smbfsnet on AMD64, smbclient is 3.2.6. Apparently this error cropped up in several distributions (notably Ubuntu and Debian), so this may be an upstream bug. I also have connection problems mounting the shares via smbmount.
Comment by Bjoern Janssen (Captain_Spaulding) - Sunday, 04 January 2009, 22:29 GMT
I just built a new libsmbclient from source to no avail. Then I downgraded to smbclient 3.0.31 I fetched from here http://www.schlunix.org/archlinux/extra/os/x86_64/ This one is working like expected -- so far.

Loading...