Bug #56774
closedBug #54653: crash: uint64_t CephFuse::Handle::fino_snap(uint64_t): assert(stag_snap_map.count(stag))
crash: Client::_get_vino(Inode*)
0%
2f4b4248a21ed83366dd506ae2a357d74102e26b5b5cae3c623a8932deb1fb73
ebce9fc572ef78dde1f33e5f0609155534b0500b789efa7304e1c7b88165e83a
Description
Sanitized backtrace:
Client::_get_vino(Inode*) Client::ll_readlink(Inode*, char*, unsigned long, UserPerm const&)
Crash dump sample:
{ "backtrace": [ "__kernel_rt_sigreturn()", "(Client::_get_vino(Inode*)+0) [0xaaaaad47e518]", "(Client::ll_readlink(Inode*, char*, unsigned long, UserPerm const&)+0xbc) [0xaaaaad4ce914]", "ceph-fuse(+0xa0b40) [0xaaaaad476b40]", "/lib/aarch64-linux-gnu/libfuse.so.2(+0x15064) [0xffff811c1064]", "/lib/aarch64-linux-gnu/libfuse.so.2(+0x12158) [0xffff811be158]", "/lib/aarch64-linux-gnu/libpthread.so.0(+0x7624) [0xffff806aa624]", "/lib/aarch64-linux-gnu/libc.so.6(+0xd149c) [0xffff803e449c]" ], "ceph_version": "17.2.1", "crash_id": "2022-07-23T22:36:41.054611Z_ce94f784-0be7-457d-8b27-06733241390f", "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": "ebce9fc572ef78dde1f33e5f0609155534b0500b789efa7304e1c7b88165e83a", "timestamp": "2022-07-23T22:36:41.054611Z", "utsname_machine": "aarch64", "utsname_release": "5.4.0-1066-raspi", "utsname_sysname": "Linux", "utsname_version": "#76-Ubuntu SMP PREEMPT Mon Jun 27 11:02:52 UTC 2022" }
Updated by Telemetry Bot over 1 year ago
Updated by Xiubo Li over 1 year ago
- Status changed from New to Duplicate
- Parent task set to #54653
- Crash signature (v1) updated (diff)
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.
Updated by Yaarit Hatuka 12 months ago
Since this issue is marked as "Duplicate" it needs to specify what issue it duplicates in the "Related Issues" field.
Tracker throws this error when trying to populate the "Related Issue" field:
An issue cannot be linked to one of its subtasks
since the Parent Task here is set to https://tracker.ceph.com/issues/54653.