* Client crash on getcwd with non-default root mount
@ 2012-11-29 19:52 Noah Watkins
2012-11-29 19:58 ` Sam Lang
0 siblings, 1 reply; 5+ messages in thread
From: Noah Watkins @ 2012-11-29 19:52 UTC (permalink / raw)
To: ceph-devel
I'm getting the assert failure below with the following test:
ceph_mount(cmount, "/otherdir");
ceph_getcwd(cmount);
--
client/Inode.h: In function 'Dentry* Inode::get_first_parent()' thread
7fded47c8780 time 2012-11-29 11:49:00.890184
client/Inode.h: 165: FAILED assert(!dn_set.empty())
ceph version 0.54-808-g1ed5a1f (1ed5a1f984d8260d86cc25b1ae95ffedf597e579)
1: (()+0x11ee89) [0x7fded36fae89]
2: (()+0x1429d3) [0x7fded371e9d3]
3: (ceph_getcwd()+0x11) [0x7fded36fdb41]
4: (MountedTest2_XYZ_Test::TestBody()+0x63a) [0x42563a]
5: (testing::Test::Run()+0xaa) [0x45017a]
6: (testing::internal::TestInfoImpl::Run()+0x100) [0x450280]
7: (testing::TestCase::Run()+0xbd) [0x45034d]
8: (testing::internal::UnitTestImpl::RunAllTests()+0x217) [0x4505b7]
9: (main()+0x35) [0x423115]
10: (__libc_start_main()+0xed) [0x7fded2d2876d]
11: /home/nwatkins/projects/ceph/ceph/src/.libs/lt-test_libcephfs() [0x423171]
NOTE: a copy of the executable, or `objdump -rdS <executable>` is
needed to interpret this.
terminate called after throwing an instance of 'ceph::FailedAssertion'
Aborted (core dumped)
Thanks,
Noah
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Client crash on getcwd with non-default root mount
2012-11-29 19:52 Client crash on getcwd with non-default root mount Noah Watkins
@ 2012-11-29 19:58 ` Sam Lang
2012-11-29 20:02 ` Noah Watkins
0 siblings, 1 reply; 5+ messages in thread
From: Sam Lang @ 2012-11-29 19:58 UTC (permalink / raw)
To: Noah Watkins; +Cc: ceph-devel
On 11/29/2012 01:52 PM, Noah Watkins wrote:
> I'm getting the assert failure below with the following test:
>
> ceph_mount(cmount, "/otherdir");
This should fail with ENOENT if you check the return code.
-sam
> ceph_getcwd(cmount);
>
> --
>
> client/Inode.h: In function 'Dentry* Inode::get_first_parent()' thread
> 7fded47c8780 time 2012-11-29 11:49:00.890184
> client/Inode.h: 165: FAILED assert(!dn_set.empty())
> ceph version 0.54-808-g1ed5a1f (1ed5a1f984d8260d86cc25b1ae95ffedf597e579)
> 1: (()+0x11ee89) [0x7fded36fae89]
> 2: (()+0x1429d3) [0x7fded371e9d3]
> 3: (ceph_getcwd()+0x11) [0x7fded36fdb41]
> 4: (MountedTest2_XYZ_Test::TestBody()+0x63a) [0x42563a]
> 5: (testing::Test::Run()+0xaa) [0x45017a]
> 6: (testing::internal::TestInfoImpl::Run()+0x100) [0x450280]
> 7: (testing::TestCase::Run()+0xbd) [0x45034d]
> 8: (testing::internal::UnitTestImpl::RunAllTests()+0x217) [0x4505b7]
> 9: (main()+0x35) [0x423115]
> 10: (__libc_start_main()+0xed) [0x7fded2d2876d]
> 11: /home/nwatkins/projects/ceph/ceph/src/.libs/lt-test_libcephfs() [0x423171]
> NOTE: a copy of the executable, or `objdump -rdS <executable>` is
> needed to interpret this.
> terminate called after throwing an instance of 'ceph::FailedAssertion'
> Aborted (core dumped)
>
> Thanks,
> Noah
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Client crash on getcwd with non-default root mount
2012-11-29 19:58 ` Sam Lang
@ 2012-11-29 20:02 ` Noah Watkins
2012-11-29 20:12 ` Noah Watkins
0 siblings, 1 reply; 5+ messages in thread
From: Noah Watkins @ 2012-11-29 20:02 UTC (permalink / raw)
To: Sam Lang; +Cc: ceph-devel
Oh, let me clarify. /otherdir exists, and the mount succeeds.
- Noah
On Thu, Nov 29, 2012 at 11:58 AM, Sam Lang <sam.lang@inktank.com> wrote:
> On 11/29/2012 01:52 PM, Noah Watkins wrote:
>>
>> I'm getting the assert failure below with the following test:
>>
>> ceph_mount(cmount, "/otherdir");
>
>
> This should fail with ENOENT if you check the return code.
> -sam
>
>> ceph_getcwd(cmount);
>>
>> --
>>
>> client/Inode.h: In function 'Dentry* Inode::get_first_parent()' thread
>> 7fded47c8780 time 2012-11-29 11:49:00.890184
>> client/Inode.h: 165: FAILED assert(!dn_set.empty())
>> ceph version 0.54-808-g1ed5a1f
>> (1ed5a1f984d8260d86cc25b1ae95ffedf597e579)
>> 1: (()+0x11ee89) [0x7fded36fae89]
>> 2: (()+0x1429d3) [0x7fded371e9d3]
>> 3: (ceph_getcwd()+0x11) [0x7fded36fdb41]
>> 4: (MountedTest2_XYZ_Test::TestBody()+0x63a) [0x42563a]
>> 5: (testing::Test::Run()+0xaa) [0x45017a]
>> 6: (testing::internal::TestInfoImpl::Run()+0x100) [0x450280]
>> 7: (testing::TestCase::Run()+0xbd) [0x45034d]
>> 8: (testing::internal::UnitTestImpl::RunAllTests()+0x217) [0x4505b7]
>> 9: (main()+0x35) [0x423115]
>> 10: (__libc_start_main()+0xed) [0x7fded2d2876d]
>> 11: /home/nwatkins/projects/ceph/ceph/src/.libs/lt-test_libcephfs()
>> [0x423171]
>> NOTE: a copy of the executable, or `objdump -rdS <executable>` is
>> needed to interpret this.
>> terminate called after throwing an instance of 'ceph::FailedAssertion'
>> Aborted (core dumped)
>>
>> Thanks,
>> Noah
>> --
>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Client crash on getcwd with non-default root mount
2012-11-29 20:02 ` Noah Watkins
@ 2012-11-29 20:12 ` Noah Watkins
2012-11-29 20:40 ` Sam Lang
0 siblings, 1 reply; 5+ messages in thread
From: Noah Watkins @ 2012-11-29 20:12 UTC (permalink / raw)
To: Sam Lang; +Cc: ceph-devel
Here is the full test case:
TEST(LibCephFS, MountRootChdir) {
struct ceph_mount_info *cmount;
/* create mount and new directory */
ASSERT_EQ(ceph_create(&cmount, NULL), 0);
ASSERT_EQ(ceph_conf_read_file(cmount, NULL), 0);
ASSERT_EQ(ceph_mount(cmount, "/"), 0);
ASSERT_EQ(ceph_mkdir(cmount, "/xyz", 0700), 0);
ceph_shutdown(cmount);
/* create mount with non-"/" root */
ASSERT_EQ(ceph_create(&cmount, NULL), 0);
ASSERT_EQ(ceph_conf_read_file(cmount, NULL), 0);
ASSERT_EQ(ceph_mount(cmount, "/xyz"), 0);
/* should be at "root" directory, but blows up */
ASSERT_STREQ(ceph_getcwd(cmount), "/");
}
On Thu, Nov 29, 2012 at 12:02 PM, Noah Watkins <jayhawk@cs.ucsc.edu> wrote:
> Oh, let me clarify. /otherdir exists, and the mount succeeds.
>
> - Noah
>
> On Thu, Nov 29, 2012 at 11:58 AM, Sam Lang <sam.lang@inktank.com> wrote:
>> On 11/29/2012 01:52 PM, Noah Watkins wrote:
>>>
>>> I'm getting the assert failure below with the following test:
>>>
>>> ceph_mount(cmount, "/otherdir");
>>
>>
>> This should fail with ENOENT if you check the return code.
>> -sam
>>
>>> ceph_getcwd(cmount);
>>>
>>> --
>>>
>>> client/Inode.h: In function 'Dentry* Inode::get_first_parent()' thread
>>> 7fded47c8780 time 2012-11-29 11:49:00.890184
>>> client/Inode.h: 165: FAILED assert(!dn_set.empty())
>>> ceph version 0.54-808-g1ed5a1f
>>> (1ed5a1f984d8260d86cc25b1ae95ffedf597e579)
>>> 1: (()+0x11ee89) [0x7fded36fae89]
>>> 2: (()+0x1429d3) [0x7fded371e9d3]
>>> 3: (ceph_getcwd()+0x11) [0x7fded36fdb41]
>>> 4: (MountedTest2_XYZ_Test::TestBody()+0x63a) [0x42563a]
>>> 5: (testing::Test::Run()+0xaa) [0x45017a]
>>> 6: (testing::internal::TestInfoImpl::Run()+0x100) [0x450280]
>>> 7: (testing::TestCase::Run()+0xbd) [0x45034d]
>>> 8: (testing::internal::UnitTestImpl::RunAllTests()+0x217) [0x4505b7]
>>> 9: (main()+0x35) [0x423115]
>>> 10: (__libc_start_main()+0xed) [0x7fded2d2876d]
>>> 11: /home/nwatkins/projects/ceph/ceph/src/.libs/lt-test_libcephfs()
>>> [0x423171]
>>> NOTE: a copy of the executable, or `objdump -rdS <executable>` is
>>> needed to interpret this.
>>> terminate called after throwing an instance of 'ceph::FailedAssertion'
>>> Aborted (core dumped)
>>>
>>> Thanks,
>>> Noah
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>
>>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Client crash on getcwd with non-default root mount
2012-11-29 20:12 ` Noah Watkins
@ 2012-11-29 20:40 ` Sam Lang
0 siblings, 0 replies; 5+ messages in thread
From: Sam Lang @ 2012-11-29 20:40 UTC (permalink / raw)
To: Noah Watkins; +Cc: ceph-devel
On 11/29/2012 02:12 PM, Noah Watkins wrote:
> Here is the full test case:
Sorry - I was assuming it was just an issue with checking the return
code. I've pushed a one-line fix to wip-mount-subdir. You can
cherry-pick to your branch if you want.
-sam
>
> TEST(LibCephFS, MountRootChdir) {
> struct ceph_mount_info *cmount;
>
> /* create mount and new directory */
> ASSERT_EQ(ceph_create(&cmount, NULL), 0);
> ASSERT_EQ(ceph_conf_read_file(cmount, NULL), 0);
> ASSERT_EQ(ceph_mount(cmount, "/"), 0);
> ASSERT_EQ(ceph_mkdir(cmount, "/xyz", 0700), 0);
> ceph_shutdown(cmount);
>
> /* create mount with non-"/" root */
> ASSERT_EQ(ceph_create(&cmount, NULL), 0);
> ASSERT_EQ(ceph_conf_read_file(cmount, NULL), 0);
> ASSERT_EQ(ceph_mount(cmount, "/xyz"), 0);
>
> /* should be at "root" directory, but blows up */
> ASSERT_STREQ(ceph_getcwd(cmount), "/");
> }
>
> On Thu, Nov 29, 2012 at 12:02 PM, Noah Watkins <jayhawk@cs.ucsc.edu> wrote:
>> Oh, let me clarify. /otherdir exists, and the mount succeeds.
>>
>> - Noah
>>
>> On Thu, Nov 29, 2012 at 11:58 AM, Sam Lang <sam.lang@inktank.com> wrote:
>>> On 11/29/2012 01:52 PM, Noah Watkins wrote:
>>>>
>>>> I'm getting the assert failure below with the following test:
>>>>
>>>> ceph_mount(cmount, "/otherdir");
>>>
>>>
>>> This should fail with ENOENT if you check the return code.
>>> -sam
>>>
>>>> ceph_getcwd(cmount);
>>>>
>>>> --
>>>>
>>>> client/Inode.h: In function 'Dentry* Inode::get_first_parent()' thread
>>>> 7fded47c8780 time 2012-11-29 11:49:00.890184
>>>> client/Inode.h: 165: FAILED assert(!dn_set.empty())
>>>> ceph version 0.54-808-g1ed5a1f
>>>> (1ed5a1f984d8260d86cc25b1ae95ffedf597e579)
>>>> 1: (()+0x11ee89) [0x7fded36fae89]
>>>> 2: (()+0x1429d3) [0x7fded371e9d3]
>>>> 3: (ceph_getcwd()+0x11) [0x7fded36fdb41]
>>>> 4: (MountedTest2_XYZ_Test::TestBody()+0x63a) [0x42563a]
>>>> 5: (testing::Test::Run()+0xaa) [0x45017a]
>>>> 6: (testing::internal::TestInfoImpl::Run()+0x100) [0x450280]
>>>> 7: (testing::TestCase::Run()+0xbd) [0x45034d]
>>>> 8: (testing::internal::UnitTestImpl::RunAllTests()+0x217) [0x4505b7]
>>>> 9: (main()+0x35) [0x423115]
>>>> 10: (__libc_start_main()+0xed) [0x7fded2d2876d]
>>>> 11: /home/nwatkins/projects/ceph/ceph/src/.libs/lt-test_libcephfs()
>>>> [0x423171]
>>>> NOTE: a copy of the executable, or `objdump -rdS <executable>` is
>>>> needed to interpret this.
>>>> terminate called after throwing an instance of 'ceph::FailedAssertion'
>>>> Aborted (core dumped)
>>>>
>>>> Thanks,
>>>> Noah
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>>>> the body of a message to majordomo@vger.kernel.org
>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>>
>>>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-11-29 20:40 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-29 19:52 Client crash on getcwd with non-default root mount Noah Watkins
2012-11-29 19:58 ` Sam Lang
2012-11-29 20:02 ` Noah Watkins
2012-11-29 20:12 ` Noah Watkins
2012-11-29 20:40 ` Sam Lang
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.