Project

General

Profile

Actions

Bug #7621

closed

ceph_test_rados_api_c_read_operations core dumped

Added by David Zafman about 10 years ago. Updated about 10 years ago.

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

0%

Source:
other
Tags:
Backport:
Regression:
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

2014-03-05 14:24:27,294.294 INFO:teuthology.task.workunit.client.0.err:[10.214.132.34]: 7fff7f956000-7fff7f957000 r-xp 00000000 00:00 0 [vdso]
2014-03-05 14:24:27,294.294 INFO:teuthology.task.workunit.client.0.err:[10.214.132.34]: ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
2014-03-05 14:24:27,294.294 INFO:teuthology.task.workunit.client.0.err:[10.214.132.34]: Aborted (core dumped)

(gdb) bt
#0 0x00007fc4c27fc425 in _GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x00007fc4c27ffb8b in __GI_abort () at abort.c:91
#2 0x00007fc4c283a39e in __libc_message (do_abort=2, fmt=0x7fc4c2944748 "*** glibc detected * %s: %s: 0x%s *\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:201
#3 0x00007fc4c2844b96 in malloc_printerr (action=3, str=0x7fc4c2944938 "double free or corruption (fasttop)", ptr=<optimized out>) at malloc.c:5039
#4 0x00007fc4c343f95d in deallocate (
_p=<optimized out>, this=<optimized out>) at /usr/include/c++/4.6/ext/new_allocator.h:98
#5 M_deallocate (_p=<optimized out>, this=<optimized out>, __n=<optimized out>) at /usr/include/c++/4.6/bits/stl_vector.h:156
#6 ~_Vector_base (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/c++/4.6/bits/stl_vector.h:142
#7 ~vector (this=0x22e1fc8, __in_chrg=<optimized out>) at /usr/include/c++/4.6/bits/stl_vector.h:351
#8 ~ObjectOperation (this=<optimized out>, __in_chrg=<optimized out>) at ./osdc/Objecter.h:62
#9 rados_release_read_op (read_op=0x22e1f90) at librados/librados.cc:3299
#10 0x00000000004204b8 in CReadOpsTest_ExecUserBuf_Test::TestBody (this=0x22ee240) at test/librados/c_read_operations.cc:368
#11 0x0000000000436e9a in testing::Test::Run (this=0x22ee240) at ./src/gtest.cc:2095
#12 0x0000000000436fa0 in testing::internal::TestInfoImpl::Run (this=0x22d4290) at ./src/gtest.cc:2314
#13 0x000000000043706d in testing::TestCase::Run (this=0x22d3750) at ./src/gtest.cc:2420
#14 0x00000000004372d7 in testing::internal::UnitTestImpl::RunAllTests (this=0x22d33c0) at ./src/gtest.cc:4024
#15 0x0000000000417e25 in main (argc=1, argv=0x7fff7f8f6e38) at src/gtest_main.cc:38

Actions #1

Updated by David Zafman about 10 years ago

  • Status changed from New to In Progress

The rados_release_read_op() that crashed it was added Mar 1 in 3cd751b0.

Actions #2

Updated by David Zafman about 10 years ago

  • Status changed from In Progress to Resolved

3f59f02913f4277f419052d546bb7448f74aec4d

Actions #3

Updated by Danny Al-Gaaf about 10 years ago

Sorry my fault added the rados_release_read_op() call accidentally to the wrong line. It should have been like this:

 diff --git a/src/test/librados/c_read_operations.cc b/src/test/librados/c_read_operations.cc
index 106f6b4..0dc7aa4 100644
--- a/src/test/librados/c_read_operations.cc
+++ b/src/test/librados/c_read_operations.cc
@@ -369,6 +369,7 @@ TEST_F(CReadOpsTest, ExecUserBuf) {
   rados_read_op_exec_user_buf(op, "rbd", "get_all_features", NULL, 0, out,
                              sizeof(features) - 1, &bytes_read, &rval);
   ASSERT_EQ(0, rados_read_op_operate(op, ioctx, obj, 0));
+  rados_release_read_op(op);
   EXPECT_EQ(0u, bytes_read);
   EXPECT_EQ(-ERANGE, rval);
Actions

Also available in: Atom PDF