Bug 1269754 - Core:Blocker:Segmentation fault when using fallocate command on a gluster volume
Summary: Core:Blocker:Segmentation fault when using fallocate command on a gluster volume
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: quota
Version: mainline
Hardware: Unspecified
OS: Unspecified
urgent
urgent
Target Milestone: ---
Assignee: Manikandan
QA Contact:
URL:
Whiteboard:
Depends On: 1269530
Blocks: 1269753
TreeView+ depends on / blocked
 
Reported: 2015-10-08 07:13 UTC by Vijaikumar Mallikarjuna
Modified: 2016-06-16 13:39 UTC (History)
3 users (show)

Fixed In Version: glusterfs-3.8rc2
Doc Type: Bug Fix
Doc Text:
Clone Of: 1269530
Environment:
Last Closed: 2016-06-16 13:39:34 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description Vijaikumar Mallikarjuna 2015-10-08 07:13:12 UTC
+++ This bug was initially created as a clone of Bug #1269530 +++

Description of problem:
========================
When I use fallocate command from a fusemount on a quota enabled volume, the command fails with transport end point error as below:
[root@rhel7-autofuseclient hello]# fallocate -l 1GB test_file1
fallocate: test_file1: fallocate failed: Transport endpoint is not connected


Also, a core file is created with below bt:


-rw-------.   1 root root 176926720 Oct  7 19:01 core.10238
[root@zod ~]# date
Wed Oct  7 19:01:24 IST 2015
[root@zod ~]# file /core.10238
/core.10238: ELF 64-bit LSB core file x86-64, version 1 (SYSV), SVR4-style, from '/usr/sbin/glusterfsd -s zod --volfile-id photo.zod.rhs-brick2-photo -p /var/lib'
[root@zod ~]# bt /usr/sbin/glusterfsd^C
[root@zod ~]# gdb /usr/sbin/glusterfsd /core.10238
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-64.el7
Copyright (C) 2013 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-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/sbin/glusterfsd...
warning: the debug information found in "/usr/lib/debug//usr/sbin/glusterfsd.debug" does not match "/usr/sbin/glusterfsd" (CRC mismatch).


warning: the debug information found in "/usr/lib/debug/usr/sbin/glusterfsd.debug" does not match "/usr/sbin/glusterfsd" (CRC mismatch).

Reading symbols from /usr/sbin/glusterfsd...(no debugging symbols found)...done.
(no debugging symbols found)...done.
[New LWP 10244]
[New LWP 10245]
[New LWP 10253]
[New LWP 10246]
[New LWP 10243]
[New LWP 10331]
[New LWP 10241]
[New LWP 10249]
[New LWP 10251]
[New LWP 10254]
[New LWP 10250]
[New LWP 10247]
[New LWP 10248]
[New LWP 10238]
[New LWP 10239]
[New LWP 10242]
[New LWP 10349]
[New LWP 10240]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

warning: the debug information found in "/usr/lib/debug//usr/lib64/glusterfs/3.7.4/xlator/storage/posix.so.debug" does not match "/usr/lib64/glusterfs/3.7.4/xlator/storage/posix.so" (CRC mismatch).


warning: the debug information found in "/usr/lib/debug/usr/lib64/glusterfs/3.7.4/xlator/storage/posix.so.debug" does not match "/usr/lib64/glusterfs/3.7.4/xlator/storage/posix.so" (CRC mismatch).

Core was generated by `/usr/sbin/glusterfsd -s zod --volfile-id photo.zod.rhs-brick2-photo -p /var/lib'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007fc83f5cd5e0 in uuid_unpack () from /lib64/libuuid.so.1
Missing separate debuginfos, use: debuginfo-install glusterfs-fuse-3.7.4-0.67.git5498591.el7.centos.x86_64
(gdb) bt
#0  0x00007fc83f5cd5e0 in uuid_unpack () from /lib64/libuuid.so.1
#1  0x00007fc83f5cc643 in uuid_compare () from /lib64/libuuid.so.1
#2  0x00007fc82b9e150d in gf_uuid_compare (
    u2=0xfffffffffffffff0 <Address 0xfffffffffffffff0 out of bounds>, 
    u1=0x7fc7fc001ce8 "") at ../../../../libglusterfs/src/compat-uuid.h:27
#3  quota_add_parent (pgfid=0x7fc7fc001ce8 "", 
    name=0x7fc7fc000990 "test_file", list=0x7fc82b15f760) at quota.c:688
#4  quota_add_parents_from_ctx (list=0x7fc82b15f760, ctx=0x7fc7fc001bb0)
    at quota.c:722
#5  quota_fallocate (frame=0x7fc83d94ca80, this=0x7fc82c019630, 
    fd=0x7fc82c0c8b38, mode=<optimized out>, offset=<optimized out>, 
    len=1000000000, xdata=0x7fc83d366764) at quota.c:4849
#6  0x00007fc83fe45840 in default_fallocate (frame=0x7fc83d94ca80, 
    this=0x7fc82c01acd0, fd=0x7fc82c0c8b38, keep_size=0, offset=0, 
    len=1000000000, xdata=0x7fc83d366764) at defaults.c:2160
#7  0x00007fc83fe45840 in default_fallocate (frame=0x7fc83d94ca80, 
    this=0x7fc82c01c0e0, fd=0x7fc82c0c8b38, keep_size=0, offset=0, 
    len=1000000000, xdata=0x7fc83d366764) at defaults.c:2160
#8  0x00007fc82b3a5477 in io_stats_fallocate (frame=0x7fc83d94c31c, 
    this=0x7fc82c01d5f0, fd=0x7fc82c0c8b38, mode=0, offset=0, 
    len=1000000000, xdata=0x7fc83d366764) at io-stats.c:2473
#9  0x00007fc82b1842cd in server_fallocate_resume (frame=0x7fc83d94cbd8, 
    bound_xl=0x7fc82c01d5f0) at server-rpc-fops.c:3116
#10 0x00007fc82b16f3f6 in server_resolve_done (frame=0x7fc83d94cbd8)
    at server-resolve.c:590
#11 0x00007fc82b16f48d in server_resolve_all (
    frame=frame@entry=0x7fc83d94cbd8) at server-resolve.c:625
#12 0x00007fc82b16fda5 in server_resolve (frame=0x7fc83d94cbd8)
    at server-resolve.c:574
#13 0x00007fc82b16f4ce in server_resolve_all (
    frame=frame@entry=0x7fc83d94cbd8) at server-resolve.c:621
#14 0x00007fc82b16fc3b in server_resolve_fd (
    frame=frame@entry=0x7fc83d94cbd8) at server-resolve.c:537
#15 0x00007fc82b16fd56 in server_resolve (frame=0x7fc83d94cbd8)
    at server-resolve.c:554
#16 0x00007fc82b16f4ae in server_resolve_all (
    frame=frame@entry=0x7fc83d94cbd8) at server-resolve.c:614
#17 0x00007fc82b16fe64 in resolve_and_resume (
    frame=frame@entry=0x7fc83d94cbd8, 
    fn=fn@entry=0x7fc82b184180 <server_fallocate_resume>)
    at server-resolve.c:645
#18 0x00007fc82b1787f0 in server3_3_fallocate (req=0x7fc83002706c)
---Type <return> to continue, or q <return> to quit---


Version-Release number of selected component (if applicable):
=========================================
glusterfs-server-3.7.4-0.67.git5498591.el7.centos.x86_64

How reproducible:
==================
Always

Steps to Reproduce:
==================
1.create and start a distrep volume
2.now enable quota
3.mount using glusterfs-fuse mount
4. use falloc to create file say "fallocate -l 1GB test_file"



Actual results:
================
segmentation fault error with core , and fallocate: test_file1: fallocate failed: Transport endpoint is not connected




Will upload core, but this is easily reproducible.

Comment 1 Vijaikumar Mallikarjuna 2015-10-08 07:17:46 UTC
Patch submitted: http://review.gluster.org/#/c/12314/1

Comment 4 Niels de Vos 2016-06-16 13:39:34 UTC
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.8.0, please open a new bug report.

glusterfs-3.8.0 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

[1] http://blog.gluster.org/2016/06/glusterfs-3-8-released/
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user


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