Project

General

Profile

Actions

Bug #64313

open

client: do not proceed with I/O if filehandle is invalid

Added by Dhairya Parmar 3 months ago. Updated about 2 months ago.

Status:
Pending Backport
Priority:
Normal
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.

Related issues 3 (3 open0 closed)

Copied to CephFS - Backport #64739: quincy: client: do not proceed with I/O if filehandle is invalidNewDhairya ParmarActions
Copied to CephFS - Backport #64740: reef: client: do not proceed with I/O if filehandle is invalidNewDhairya ParmarActions
Copied to CephFS - Backport #64741: squid: client: do not proceed with I/O if filehandle is invalidIn ProgressDhairya ParmarActions
Actions #1

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?

Actions #2

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
Actions #3

Updated by Dhairya Parmar 3 months ago

Venky Shankar wrote:

Do you have a test that reproduces this, Dhairya?

yup, added in the PR

Actions #4

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.

Actions #5

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.

Actions #6

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
Actions #7

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
Actions #8

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
Actions #9

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 #10

Updated by Backport Bot about 2 months ago

  • Tags set to backport_processed
Actions

Also available in: Atom PDF