Description of problem: When trying to declare a queue to be auto-deleted using the messaging api over amqp1.0 protocol. The client is aborted. please see additional info for details. This applies also to other properties defined in the x-declare node map, ie exclusive, alt-exchange: ./spout --connection-options "{protocol:'amqp1.0'}" "q2;{create:sender,node:{x-declare:{exclusive:True}}}" ./spout --connection-options "{protocol:'amqp1.0'}" "q3;{create:sender,node:{x-declare:{type:topic,alternate-exchange:amq.direct}}}" note: Client core dump may be provided on demand. Version-Release number of selected component (if applicable): qpid-cpp-0.22-2 How reproducible: 100% Steps to Reproduce: 1. ./spout --connection-options "{protocol:'amqp1.0'}" "q;{create:sender,node:{x-declare:{auto-delete:True}}}" 2. Segmentation fault 3. see additional info Actual results: Unable to declare various node properties using x-declare map Expected results: User may declare various queue properties using x-declare map Additional info: # ./spout --connection-options "{protocol:'amqp1.0'}" "q;{create:sender,node:{x-declare:{auto-delete:True}}}" *** glibc detected *** ./spout: free(): invalid pointer: 0x00000000008016e8 *** ======= Backtrace: ========= /lib64/libc.so.6[0x31542760e6] /usr/lib64/qpid/client/amqpc.so(_ZNSt3mapISsN4qpid5types7VariantESt4lessISsESaISt4pairIKSsS2_EEE5eraseESt17_Rb_tree_iteratorIS7_E+0x29)[0x7f71c874d669] /usr/lib64/qpid/client/amqpc.so(_ZN4qpid9messaging4amqp13AddressHelperC2ERKNS0_7AddressE+0x8bc)[0x7f71c874a33c] /usr/lib64/qpid/client/amqpc.so(_ZN4qpid9messaging4amqp13SenderContextC1EP12pn_session_tRKSsRKNS0_7AddressE+0x4f)[0x7f71c876139f] /usr/lib64/qpid/client/amqpc.so(_ZN4qpid9messaging4amqp14SessionContext12createSenderERKNS0_7AddressE+0x4ff)[0x7f71c87645ef] /usr/lib64/qpid/client/amqpc.so(_ZN4qpid9messaging4amqp13SessionHandle12createSenderERKNS0_7AddressE+0x2e)[0x7f71c876d49e] /usr/lib64/libqpidmessaging.so.3(_ZN4qpid9messaging7Session12createSenderERKSs+0x40)[0x7f71c89e61a0] ./spout(main+0x132)[0x409596] /lib64/libc.so.6(__libc_start_main+0xfd)[0x315421ecdd] ./spout[0x4093a9] ======= Memory map: ======== 00400000-00414000 r-xp 00000000 fd:00 32249 /usr/share/examples/messaging/spout 00613000-00614000 rw-p 00013000 fd:00 32249 /usr/share/examples/messaging/spout 007d6000-00818000 rw-p 00000000 00:00 0 [heap] 3153a00000-3153a20000 r-xp 00000000 fd:00 28354 /lib64/ld-2.12.so 3153c1f000-3153c20000 r--p 0001f000 fd:00 28354 /lib64/ld-2.12.so 3153c20000-3153c21000 rw-p 00020000 fd:00 28354 /lib64/ld-2.12.so 3153c21000-3153c22000 rw-p 00000000 00:00 0 3154200000-315438a000 r-xp 00000000 fd:00 28648 /lib64/libc-2.12.so 315438a000-3154589000 ---p 0018a000 fd:00 28648 /lib64/libc-2.12.so 3154589000-315458d000 r--p 00189000 fd:00 28648 /lib64/libc-2.12.so 315458d000-315458e000 rw-p 0018d000 fd:00 28648 /lib64/libc-2.12.so 315458e000-3154593000 rw-p 00000000 00:00 0 3154600000-3154617000 r-xp 00000000 fd:00 28653 /lib64/libpthread-2.12.so 3154617000-3154817000 ---p 00017000 fd:00 28653 /lib64/libpthread-2.12.so 3154817000-3154818000 r--p 00017000 fd:00 28653 /lib64/libpthread-2.12.so 3154818000-3154819000 rw-p 00018000 fd:00 28653 /lib64/libpthread-2.12.so 3154819000-315481d000 rw-p 00000000 00:00 0 3154a00000-3154a83000 r-xp 00000000 fd:00 28650 /lib64/libm-2.12.so 3154a83000-3154c82000 ---p 00083000 fd:00 28650 /lib64/libm-2.12.so 3154c82000-3154c83000 r--p 00082000 fd:00 28650 /lib64/libm-2.12.so 3154c83000-3154c84000 rw-p 00083000 fd:00 28650 /lib64/libm-2.12.so 3154e00000-3154e15000 r-xp 00000000 fd:00 4553 /lib64/libz.so.1.2.3 3154e15000-3155014000 ---p 00015000 fd:00 4553 /lib64/libz.so.1.2.3 3155014000-3155015000 r--p 00014000 fd:00 4553 /lib64/libz.so.1.2.3 3155015000-3155016000 rw-p 00015000 fd:00 4553 /lib64/libz.so.1.2.3 3155200000-3155207000 r-xp 00000000 fd:00 28654 /lib64/librt-2.12.so 3155207000-3155406000 ---p 00007000 fd:00 28654 /lib64/librt-2.12.so 3155406000-3155407000 r--p 00006000 fd:00 28654 /lib64/librt-2.12.so 3155407000-3155408000 rw-p 00007000 fd:00 28654 /lib64/librt-2.12.so 3155e00000-3155e16000 r-xp 00000000 fd:00 28655 /lib64/libresolv-2.12.so 3155e16000-3156016000 ---p 00016000 fd:00 28655 /lib64/libresolv-2.12.so 3156016000-3156017000 r--p 00016000 fd:00 28655 /lib64/libresolv-2.12.so 3156017000-3156018000 rw-p 00017000 fd:00 28655 /lib64/libresolv-2.12.so 3156018000-315601a000 rw-p 00000000 00:00 0 3156a00000-3156a16000 r-xp 00000000 fd:00 28651 /lib64/libgcc_s-4.4.7-20120601.so.1 3156a16000-3156c15000 ---p 00016000 fd:00 28651 /lib64/libgcc_s-4.4.7-20120601.so.1 3156c15000-3156c16000 rw-p 00015000 fd:00 28651 /lib64/libgcc_s-4.4.7-20120601.so.1 3157600000-31576e8000 r-xp 00000000 fd:00 28652 /usr/lib64/libstdc++.so.6.0.13 31576e8000-31578e8000 ---p 000e8000 fd:00 28652 /usr/lib64/libstdc++.so.6.0.13 31578e8000-31578ef000 r--p 000e8000 fd:00 28652 /usr/lib64/libstdc++.so.6.0.13 31578ef000-31578f1000 rw-p 000ef000 fd:00 28652 /usr/lib64/libstdc++.so.6.0.13 31578f1000-3157906000 rw-p 00000000 00:00 0 3158e00000-3158f6f000 r-xp 00000000 fd:00 9344 /lib64/libdb-4.7.so 3158f6f000-315916e000 ---p 0016f000 fd:00 9344 /lib64/libdb-4.7.so 315916e000-3159174000 rw-p 0016e000 fd:00 9344 /lib64/libdb-4.7.so 3159200000-3159203000 r-xp 00000000 fd:00 28677 /lib64/libcom_err.so.2.1 3159203000-3159402000 ---p 00003000 fd:00 28677 /lib64/libcom_err.so.2.1 3159402000-3159403000 r--p 00002000 fd:00 28677 /lib64/libcom_err.so.2.1 3159403000-3159404000 rw-p 00003000 fd:00 28677 /lib64/libcom_err.so.2.1 31da400000-31da41d000 r-xp 00000000 fd:00 34436 /lib64/libselinux.so.1 31da41d000-31da61c000 ---p 0001d000 fd:00 34436 /lib64/libselinux.so.1 31da61c000-31da61d000 r--p 0001c000 fd:00 34436 /lib64/libselinux.so.1 31da61d000-31da61e000 rw-p 0001d000 fd:00 34436 /lib64/libselinux.so.1 31da61e000-31da61f000 rw-p 00000000 00:00 0 31da800000-31da8db000 r-xp 00000000 fd:00 34438 /lib64/libkrb5.so.3.3 31da8db000-31daada000 ---p 000db000 fd:00 34438 /lib64/libkrb5.so.3.3 31daada000-31daae4000 r--p 000da000 fd:00 34438 /lib64/libkrb5.so.3.3 31daae4000-31daae6000 rw-p 000e4000 fd:00 34438 /lib64/libkrb5.so.3.3 31dac00000-31dac29000 r-xp 00000000 fd:00 34437 /lib64/libk5crypto.so.3.1 31dac29000-31dae29000 ---p 00029000 fd:00 34437 /lib64/libk5crypto.so.3.1 31dae29000-31dae2a000 r--p 00029000 fd:00 34437 /lib64/libk5crypto.so.3.1 31dae2a000-31dae2b000 rw-p 0002a000 fd:00 34437 /lib64/libk5crypto.so.3.1 31dae2b000-31dae2c000 rw-p 00000000 00:00 0 31db000000-31db00a000 r-xp 00000000 fd:00 21396 /lib64/libkrb5support.so.0.1 31db00a000-31db209000 ---p 0000a000 fd:00 21396 /lib64/libkrb5support.so.0.1 31db209000-31db20a000 r--p 00009000 fd:00 21396 /lib64/libkrb5support.so.0.1 31db20a000-31db20b000 rw-p 0000a000 fd:00 21396 /lib64/libkrb5support.so.0.1 31db400000-31db441000 r-xp 00000000 fd:00 34439 /lib64/libgssapi_krb5.so.2.2 31db441000-31db641000 ---p 00041000 fd:00 34439 /lib64/libgssapi_krb5.so.2.2Aborted (core dumped)
Fixed upstream by http://svn.apache.org/viewvc?view=revision&revision=1486113
The issue has been fixed Verified on RHEL5.9 and RHEL6.4, architectures: i386, x86_64 packages installed: qpid-cpp-*-0.22-7 -> VERIFIED