Actions
Bug #64313
openclient: do not proceed with I/O if filehandle is invalid
Status:
Pending Backport
Priority:
Normal
Assignee:
Category:
Correctness/Safety
Target version:
% Done:
0%
Source:
Development
Tags:
backport_processed
Backport:
quincy,reef,squid
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
Client
Labels (FS):
crash
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
otherwise it would crash:
0> 2024-02-05T17:48:35.230+0530 7f0a94c309c0 -1 *** Caught signal (Segmentation fault) **
in thread 7f0a94c309c0 thread_name:ceph_test_clien
ceph version 19.0.0-1018-g774ce9f98b7 (774ce9f98b7ef83f5b17268dae8f637fea775c94) squid (dev)
1: ./bin/ceph_test_client(+0x2941b4) [0x55914517d1b4]
2: /lib64/libc.so.6(+0x3dbb0) [0x7f0a9425fbb0]
3: (Client::_preadv_pwritev_locked(Fh*, iovec const*, unsigned int, long, bool, bool, Context*, ceph::buffer::v15_2_0::list*, bool, bool)+0x7b) [0x55914510ba33]
4: (Client::ll_preadv_pwritev(Fh*, iovec const*, int, long, bool, Context*, ceph::buffer::v15_2_0::list*, bool, bool)+0xbb) [0x55914510c395]
5: (TestClient_LlreadvLlwritevInvalidFileDescriptor_Test::TestBody()+0x1d0) [0x55914509ec24]
6: (void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)+0x1b) [0x55914519c3db]
7: (void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)+0x80) [0x5591451a4ccc]
8: (testing::Test::Run()+0xb4) [0x5591451957ee]
9: (testing::TestInfo::Run()+0x104) [0x5591451958f4]
10: (testing::TestSuite::Run()+0xb2) [0x5591451959a8]
11: (testing::internal::UnitTestImpl::RunAllTests()+0x36b) [0x55914519705f]
12: (bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)+0x1b) [0x55914519c687]
13: (bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)+0x80) [0x5591451a5229]
14: (testing::UnitTest::Run()+0x63) [0x559145195ac3]
15: (RUN_ALL_TESTS()+0x11) [0x55914509d84b]
16: main()
17: /lib64/libc.so.6(+0x27b8a) [0x7f0a94249b8a]
18: __libc_start_main()
19: _start()
NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.
Updated by Venky Shankar 3 months ago
- Status changed from New to Triaged
- Target version set to v19.0.0
- Backport set to quincy, reef
Do you have a test that reproduces this, Dhairya?
Updated by Dhairya Parmar 3 months ago
- Status changed from Triaged to In Progress
- Assignee set to Dhairya Parmar
- Pull request ID set to 55457
- Labels (FS) crash added
Updated by Dhairya Parmar 3 months ago
Venky Shankar wrote:
Do you have a test that reproduces this, Dhairya?
yup, added in the PR
Updated by Venky Shankar 3 months ago
Dhairya Parmar wrote:
Venky Shankar wrote:
Do you have a test that reproduces this, Dhairya?
yup, added in the PR
Its for QE specifically, when a change is ported downstream - its a bit easier to have the steps that get eventually copied to BZs.
Updated by Venky Shankar 3 months ago
Dhairya Parmar wrote:
Venky Shankar wrote:
Do you have a test that reproduces this, Dhairya?
yup, added in the PR
The test deliberately passes a nullptr file handle to the client. Normally, I'd expect this to be a bug in the application, but I think catching this and failing gracefully is the right approach.
Updated by Venky Shankar about 2 months ago
- Status changed from In Progress to Pending Backport
- Backport changed from quincy, reef to quincy,reef,squid
Updated by Backport Bot about 2 months ago
- Copied to Backport #64739: quincy: client: do not proceed with I/O if filehandle is invalid added
Updated by Backport Bot about 2 months ago
- Copied to Backport #64740: reef: client: do not proceed with I/O if filehandle is invalid added
Updated by Backport Bot about 2 months ago
- Copied to Backport #64741: squid: client: do not proceed with I/O if filehandle is invalid added
Actions