Bug 733451 - matahari-sysconfig query() segfaults
Summary: matahari-sysconfig query() segfaults
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: matahari
Version: 6.2
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: ---
Assignee: Adam Stokes
QA Contact: Dave Johnson
Depends On:
Blocks: 743047
TreeView+ depends on / blocked
Reported: 2011-08-25 18:15 UTC by Dave Johnson
Modified: 2011-12-06 11:40 UTC (History)
3 users (show)

Fixed In Version: matahari-0.4.3-1.el6
Doc Type: Bug Fix
Doc Text:
No description required.
Clone Of:
Last Closed: 2011-12-06 11:40:27 UTC

Attachments (Terms of Use)
compressed core file (404.06 KB, application/x-gzip)
2011-08-25 18:15 UTC, Dave Johnson
no flags Details

System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2011:1569 normal SHIPPED_LIVE matahari bug fix and enhancement update 2011-12-06 00:39:06 UTC

Description Dave Johnson 2011-08-25 18:15:38 UTC
Created attachment 519951 [details]
compressed core file

Description of problem:
Notice that the matahari sysconfig agent has a query() like the following but when executing 'call 6 query text 0 puppet' it will segfault.  I spoke to Adam who said this was only for augeas.

       Method: query - Perform query lookup
        Name    Type    Dir  Unit  Description
        text    string  in         
        flags   int     in         
        scheme  string  in         
        data    string  out   

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1.  install/start broker and sysconfig agent
2.  call <n> query text 0 puppet

Additional info:

mh_qpid_callback: Message is for Sysconfig (type: matahariproject.org:Sysconfig:b96ad3bf-e6af-4154-9f6e-c8a0f8d0800d)
terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_S_construct NULL not valid
Aborted (core dumped)

(gdb) bt full
#8  0x0000003b0a69cf33 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) () from /usr/lib64/libstdc++.so.6
No symbol table info available.
#9  0x0000003b0d60a892 in qpid::types::Variant::Variant(char const*) () from /usr/lib64/libqpidtypes.so.1
No symbol table info available.
#10 0x00000000004032e3 in ConfigAgent::invoke (this=<value optimized out>, session=..., event=..., user_data=<value optimized out>)
    at /usr/src/debug/matahari-matahari-325f740/src/sysconfig/sysconfig-qmf.cpp:109
        data = 0x0
        status = 0x0
        methodName = <value optimized out>
        args = <value optimized out>
#11 0x0000003b13404791 in mh_qpid_callback (session=..., event=<value optimized out>, user_data=0x7fff3611ce40) at /usr/src/debug/matahari-matahari-325f740/src/lib/mh_agent.cpp:128
        agent = 0x7fff3611ce40
        __FUNCTION__ = "mh_qpid_callback"
#12 0x0000003b13404541 in mainloop_qmf_dispatch (source=0x212e200, callback=<value optimized out>, userdata=<value optimized out>) at /usr/src/debug/matahari-matahari-325f740/src/lib/mh_agent.cpp:581
        event = {<qmf::Handle<qmf::AgentEventImpl>> = {impl = 0x7f0940007840}, <No data fields>}
        qmf = 0x212e200
        __FUNCTION__ = "mainloop_qmf_dispatch"
#13 0x0000003b09a38f0e in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
No symbol table info available.
#14 0x0000003b09a3c938 in ?? () from /lib64/libglib-2.0.so.0
No symbol table info available.
#15 0x0000003b09a3cd55 in g_main_loop_run () from /lib64/libglib-2.0.so.0
No symbol table info available.
#16 0x00000000004028f5 in main (argc=2, argv=<value optimized out>) at /usr/src/debug/matahari-matahari-325f740/src/sysconfig/sysconfig-qmf.cpp:59
        agent = {<MatahariAgent> = {_vptr.MatahariAgent = 0x4065b0, _impl = 0x2120b80}, _package = {data_Sysconfig = {<qmf::Handle<qmf::SchemaImpl>> = {impl = 0x2127f30}, <No data fields>}}, _instance = 
    {<qmf::Handle<qmf::DataImpl>> = {impl = 0x212dba0}, <No data fields>}, static SYSCONFIG_NAME = "Sysconfig"}
        rc = 0

Comment 4 Dave Johnson 2011-09-09 18:31:43 UTC
good 2 go in v0.4.4-2

>>> sysconfig.query('text', 0, 'puppet')
OK (0) - {u'data': 'unknown'}
>>> sysconfig.query('text', 'fred', 'puppet')
Invalid argument: flags (7) - {}

Comment 5 Russell Bryant 2011-11-16 21:57:19 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    New Contents:
No description required.

Comment 6 errata-xmlrpc 2011-12-06 11:40:27 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


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