Project

General

Profile

Actions

Bug #56380

closed

crash: Client::_get_vino(Inode*)

Added by Telemetry Bot almost 2 years ago. Updated over 1 year ago.

Status:
Duplicate
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

Source:
Telemetry
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
Labels (FS):
Pull request ID:
Crash signature (v1):

3cc66cf8b39f301ffac5cec100c47110fe1e760665355af5367efa3aaf641764


Description

http://telemetry.front.sepia.ceph.com:4000/d/jByk5HaMz/crash-spec-x-ray?orgId=1&var-sig_v2=cf152a5bd5d340d5ee9fabea43295e5f6033778b19ddc3dcf7c6a3c960b747d3

Sanitized backtrace:

    Client::_get_vino(Inode*)
    Client::ll_mknod(Inode*, char const*, unsigned int, unsigned long, stat*, Inode**, UserPerm const&)

Crash dump sample:
{
    "backtrace": [
        "__kernel_rt_sigreturn()",
        "(Client::_get_vino(Inode*)+0) [0xaaaac24be5f8]",
        "(Client::ll_mknod(Inode*, char const*, unsigned int, unsigned long, stat*, Inode**, UserPerm const&)+0xc4) [0xaaaac25264f4]",
        "ceph-fuse(+0xa0de0) [0xaaaac24b7de0]",
        "/lib/aarch64-linux-gnu/libfuse.so.2(+0x15064) [0xffff8721e064]",
        "/lib/aarch64-linux-gnu/libfuse.so.2(+0x12158) [0xffff8721b158]",
        "/lib/aarch64-linux-gnu/libpthread.so.0(+0x7624) [0xffff86712624]",
        "/lib/aarch64-linux-gnu/libc.so.6(+0xd149c) [0xffff8644c49c]" 
    ],
    "ceph_version": "17.2.0",
    "crash_id": "2022-06-21T22:37:56.074100Z_5c6e8748-68df-42aa-8dc3-b8e345c99c30",
    "entity_name": "client.779720a56c617f4713d46a0389a5f0b5c78d2903",
    "os_id": "ubuntu",
    "os_name": "Ubuntu",
    "os_version": "20.04.4 LTS (Focal Fossa)",
    "os_version_id": "20.04",
    "process_name": "ceph-fuse",
    "stack_sig": "3cc66cf8b39f301ffac5cec100c47110fe1e760665355af5367efa3aaf641764",
    "timestamp": "2022-06-21T22:37:56.074100Z",
    "utsname_machine": "aarch64",
    "utsname_release": "5.4.0-1065-raspi",
    "utsname_sysname": "Linux",
    "utsname_version": "#75-Ubuntu SMP PREEMPT Fri Jun 3 14:24:57 UTC 2022" 
}


Related issues 1 (0 open1 closed)

Is duplicate of CephFS - Bug #54653: crash: uint64_t CephFuse::Handle::fino_snap(uint64_t): assert(stag_snap_map.count(stag))ResolvedXiubo Li

Actions
Actions #1

Updated by Telemetry Bot almost 2 years ago

  • Crash signature (v1) updated (diff)
  • Crash signature (v2) updated (diff)
  • Affected Versions v17.2.0 added
Actions #4

Updated by Venky Shankar almost 2 years ago

  • Status changed from New to Duplicate
Actions #5

Updated by Xiubo Li almost 2 years ago

Venky Shankar wrote:

Xiubo Li wrote:

This should be fixed by https://github.com/ceph/ceph/pull/45614, in https://github.com/ceph/ceph/pull/45614/files#diff-27ee28966b05e5763e76677ae87f8626985eae114814c25bdc45eef15c3455f0R596-R601.

Right. Let's get the changes backported.

Yeah sure, will do it this week.

Actions #6

Updated by Yaarit Hatuka over 1 year ago

  • Is duplicate of Bug #54653: crash: uint64_t CephFuse::Handle::fino_snap(uint64_t): assert(stag_snap_map.count(stag)) added
Actions #7

Updated by Xiubo Li over 1 year ago

I found one case could cause this, such as in the xfstests-dev's open_by_handle.c, which will use the name_to_handle_at() to store the struct fid, which will contains the ino#, but the name_to_handle_at() won't open the file.

118 struct fid {
119         union {
120                 struct {
121                         u32 ino;                                                                                                                   
122                         u32 gen;
123                         u32 parent_ino;                     
124                         u32 parent_gen;                     
125                 } i32;
126                 struct {
127                         u32 block;
128                         u16 partref;
129                         u16 parent_partref;
130                         u32 generation;                     
131                         u32 parent_block;
132                         u32 parent_generation;              
133                 } udf;
134                 __u32 raw[0];
135         };
136 };

Then the test case could use the above struct fid to open the file later by using open_by_handle_at(). So when opening the file later the file could be already deleted and the ino# already reused.

Actions

Also available in: Atom PDF