Bug 598557 - qpidd --no-data dir with store loaded segfaults
Summary: qpidd --no-data dir with store loaded segfaults
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp   
(Show other bugs)
Version: Development
Hardware: All
OS: Linux
urgent
high
Target Milestone: 1.3
: ---
Assignee: Kim van der Riet
QA Contact: Jan Sarenik
URL:
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-06-01 15:43 UTC by Jan Sarenik
Modified: 2010-10-20 11:35 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-10-20 11:33:38 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
gdb backtrace (2.35 KB, text/plain)
2010-06-01 15:50 UTC, Jan Sarenik
no flags Details

Description Jan Sarenik 2010-06-01 15:43:37 UTC
When qpidd is run with --no-data-dir parameter and the store module
is installed (gets loaded automatically), it segfaults. When another
option --no-module-dir is added, it starts up (without any modules)
cleanly.

Tested on RHEL5 x86_64
  qpid-cpp-server-0.7.946106-2.el5
  qpid-cpp-server-store-0.7.946106-2.el5

Expected results: error message should be written to stderr
saying the directory has to be specified for the store module
to operate correctly.

Comment 1 Jan Sarenik 2010-06-01 15:50:18 UTC
Created attachment 418692 [details]
gdb backtrace

Comment 2 Kim van der Riet 2010-06-01 16:04:28 UTC
A side-effect of r.3995 which causes MessageStoreImpl::finalize() to be run in
the destructor.

Fixed in r.3998.

Easily reproduced with:

./qpidd --load-module /home/kpvdr/mrg/store/lib/.libs/msgstore.so --no-data-dir
--auth no --log-enable info+

This _should_ exit with an error message:

"critical Unexpected error: msgstore: If --data-dir is blank or --no-data-dir
is specified, --store-dir must be present."

and

./qpidd --load-module /home/kpvdr/mrg/store/lib/.libs/msgstore.so --no-data-dir
--store-dir /tmp --auth no --log-enable info+

should start normally.

Comment 3 Jan Sarenik 2010-06-01 16:22:11 UTC
Comment on attachment 418692 [details]
gdb backtrace

Sorry, but I am unable to get rid of those "??" on rhel5 x86_64,
though there are no more -debuginfo packages to install.

# gdb /usr/sbin/qpidd core.6114 | grep "no debugging symbols found"
Reading symbols from /usr/lib64/libstdc++.so.6...Reading symbols from /usr/lib/debug/usr/lib64/libstdc++.so.6.0.8.debug...(no debugging symbols found)...done.
(no debugging symbols found)...done.
Reading symbols from /lib64/libc.so.6...Reading symbols from /usr/lib/debug/lib64/libc-2.5.so.debug...(no debugging symbols found)...done.
(no debugging symbols found)...done.

# rpm -qa --qf "%{NAME}.%{ARCH}\n" | grep libc
libcap.x86_64
glibc-debuginfo.i686
glibc-common.x86_64
glibc-headers.x86_64
glibc-debuginfo.x86_64
glibc-debuginfo-common.i386
glibc.x86_64
glibc-devel.x86_64

### libstdc++ is built as part of gcc brew build
# rpm -qa --qf "%{NAME}.%{ARCH}\n" | grep gcc
libgcc.x86_64
gcc.x86_64
gcc-c++.x86_64
gcc-debuginfo.x86_64
gcc-debuginfo.i386
# rpm -qa --qf "%{NAME}.%{ARCH}\n" | grep libstdc
libstdc++.x86_64
libstdc++-devel.x86_64

Comment 4 Jan Sarenik 2010-06-04 12:51:56 UTC
Store r.3998 is not contained in any package yet. Should be in next build.

Comment 5 Jan Sarenik 2010-06-21 12:21:54 UTC
# qpidd --no-data-dir
2010-06-21 14:21:15 critical Unexpected error: msgstore: If --data-dir is blank or --no-data-dir is specified, --store-dir must be present.

# rpm -q qpid-cpp-server-store
qpid-cpp-server-store-0.7.946106-3.el5


Note You need to log in before you can comment on or make changes to this bug.