Bug 762309 (GLUSTER-577) - crash in inode_unlink
Summary: crash in inode_unlink
Keywords:
Status: CLOSED DUPLICATE of bug 762258
Alias: GLUSTER-577
Product: GlusterFS
Classification: Community
Component: core
Version: mainline
Hardware: All
OS: Linux
high
medium
Target Milestone: ---
Assignee: Anand Avati
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-01-27 13:05 UTC by Raghavendra Bhat
Modified: 2015-12-01 16:45 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
Regression: RTNR
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:


Attachments (Terms of Use)
volfiles and the regression testcase which caused the bug (1.82 KB, application/octet-stream)
2010-01-27 10:08 UTC, Raghavendra Bhat
no flags Details

Description Raghavendra Bhat 2010-01-27 10:08:54 UTC
Created attachment 139 [details]
strace showing rsync freaking out

Comment 1 Anand Avati 2010-01-27 10:41:29 UTC

*** This bug has been marked as a duplicate of bug 526 ***

Comment 2 Raghavendra Bhat 2010-01-27 13:05:50 UTC
The glusterfs client process crashed in inode_unlink.This is found in 3.0.1. This is the backtrace of the core generated.

Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-slackware-linux"...

warning: Can't read pathname for load map: Input/output error.
Reading symbols from /opt/glusterfs/3.0.1/lib/libglusterfs.so.0...done.
Loaded symbols for /opt/glusterfs/3.0.1/lib/libglusterfs.so.0
Reading symbols from /lib64/libdl.so.2...done.
Loaded symbols for /lib64/libdl.so.2
Reading symbols from /lib64/libpthread.so.0...done.
Loaded symbols for /lib64/libpthread.so.0
Reading symbols from /lib64/libc.so.6...done.
Loaded symbols for /lib64/libc.so.6
Reading symbols from /lib64/ld-linux-x86-64.so.2...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /opt/glusterfs/3.0.1/lib/glusterfs/3.0.1/xlator/storage/posix.so...done.
Loaded symbols for /opt/glusterfs/3.0.1/lib/glusterfs/3.0.1/xlator/storage/posix.so
Reading symbols from /opt/glusterfs/3.0.1/lib/glusterfs/3.0.1/xlator/performance/io-threads.so...done.
Loaded symbols for /opt/glusterfs/3.0.1/lib/glusterfs/3.0.1/xlator/performance/io-threads.so
Reading symbols from /opt/glusterfs/3.0.1/lib/glusterfs/3.0.1/xlator/protocol/server.so...done.
Loaded symbols for /opt/glusterfs/3.0.1/lib/glusterfs/3.0.1/xlator/protocol/server.so
Reading symbols from /opt/glusterfs/3.0.1/lib/glusterfs/3.0.1/transport/socket.so...done.
Loaded symbols for /opt/glusterfs/3.0.1/lib/glusterfs/3.0.1/transport/socket.so
Reading symbols from /opt/glusterfs/3.0.1/lib/glusterfs/3.0.1/auth/addr.so...done.
Loaded symbols for /opt/glusterfs/3.0.1/lib/glusterfs/3.0.1/auth/addr.so
Reading symbols from /usr/lib64/libgcc_s.so.1...done.
Loaded symbols for /usr/lib64/libgcc_s.so.1
Core was generated by `/opt/glusterfs/3.0.1/sbin/glusterfs --run-id regr.c.248 -f /root/work/regressio'.
Program terminated with signal 11, Segmentation fault.
[New process 16901]
[New process 16900]
[New process 16902]
[New process 16895]
[New process 16899]
[New process 16903]
[New process 16904]
[New process 16893]
[New process 16896]
[New process 16897]
[New process 16898]
#0  0x00007fcaf0406dbb in __inode_unlink (inode=0x61bde0, parent=0x0, name=0x61aee1 "") at inode.c:781
781	        dentry = __dentry_search_for_inode (inode, parent->ino, name);
(gdb) bt
#0  0x00007fcaf0406dbb in __inode_unlink (inode=0x61bde0, parent=0x0, name=0x61aee1 "") at inode.c:781
#1  0x00007fcaf0406e2a in inode_unlink (inode=0x61bde0, parent=0x0, name=0x61aee1 "") at inode.c:801
#2  0x00007fcaeedff4fc in server_lookup_cbk (frame=0x61bb68, cookie=0x61bf00, this=0x610c40, op_ret=-1, op_errno=2, inode=0x61be70, 
    stbuf=0x7fcaedddcf50, dict=0x0, postparent=0x7fcaedddcec0) at server-protocol.c:2459
#3  0x00007fcaef01f3e9 in iot_lookup_cbk (frame=0x61bf00, cookie=0x61afb0, this=0x610350, op_ret=-1, op_errno=2, inode=0x61be70, 
    buf=0x7fcaedddcf50, xattr=0x0, postparent=0x7fcaedddcec0) at io-threads.c:322
#4  0x00007fcaef233ab5 in posix_lookup (frame=0x61afb0, this=0x60f940, loc=0x61bfb0, xattr_req=0x61a8b0) at posix.c:490
#5  0x00007fcaef01f57d in iot_lookup_wrapper (frame=0x61bf00, this=0x610350, loc=0x61bfb0, xattr_req=0x61a8b0) at io-threads.c:332
#6  0x00007fcaf041079f in call_resume_wind (stub=0x61bf80) at call-stub.c:2673
#7  0x00007fcaf0416322 in call_resume (stub=0x61bf80) at call-stub.c:4304
#8  0x00007fcaef028e89 in iot_worker_unordered (arg=0x613780) at io-threads.c:2453
#9  0x00007fcaeffc43a0 in start_thread () from /lib64/libpthread.so.0
#10 0x00007fcaefd31bdd in clone () from /lib64/libc.so.6
(gdb) p parent
$1 = (inode_t *) 0x0
(gdb) l
776	static void
777	__inode_unlink (inode_t *inode, inode_t *parent, const char *name)
778	{
779	        dentry_t *dentry = NULL;
780	
781	        dentry = __dentry_search_for_inode (inode, parent->ino, name);
782	
783	        /* dentry NULL for corrupted backend */
784	        if (dentry)
785	                __dentry_unset (dentry);
(gdb) p parent->ino
Cannot access memory at address 0x28
(gdb) 


This bug was encountered during the regression testing of bug 761980. The volfiles and the script which does the regression testing is attached. The bug can be reproduced by parellely doing "ls" on the glusterfs mount point while the regression testcase is being executed.


Note You need to log in before you can comment on or make changes to this bug.