This service will be undergoing maintenance at 00:00 UTC, 2017-10-23 It is expected to last about 30 minutes
Bug 486952 - qpidd+store loadContent() failed: jexception 0x0a00 data_tok::set_rstate( ) threw JERR_MTOK_ILLEGALSTATE: Attempted to change to illegal state.
qpidd+store loadContent() failed: jexception 0x0a00 data_tok::set_rstate( ) t...
Status: CLOSED CURRENTRELEASE
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp (Show other bugs)
1.1
All Linux
high Severity high
: 1.1.1
: ---
Assigned To: Kim van der Riet
Frantisek Reznicek
:
Depends On:
Blocks: 480964
  Show dependency treegraph
 
Reported: 2009-02-23 08:29 EST by Frantisek Reznicek
Modified: 2015-11-15 19:06 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2011-06-27 17:04:38 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
bz481822 reproducer (2.42 KB, application/x-bzip2)
2009-02-23 08:29 EST, Frantisek Reznicek
no flags Details

  None (edit)
Description Frantisek Reznicek 2009-02-23 08:29:43 EST
Created attachment 332928 [details]
bz481822 reproducer

Description of problem:
During the bz480964 validation I created test which performs needed actions and finally found this issue.

The qpidd exits with message:
2009-feb-23 14:10:05 error Connection 127.0.0.1:39934 closed by error: Queue tx-test-2: loadContent() failed: jexception 0x0a00 data_tok::set_rstate(
) threw JERR_MTOK_ILLEGALSTATE: Attempted to change to illegal state. (Attempted to change read state to READ while write state is not enqueued (wsta
te ENQ); wstate=<wstate unknown>.) (MessageStoreImpl.cpp:1288)(320)
slock::slock(): pthread_mutex_lock: Invalid argument

when messages larger than --staging-threshold threshold

The test including logs and journals are in
mrg3.lab.bos.redhat.com:/root/bz481822_fails090223.tar.bz2

Version-Release number of selected component (if applicable):
qpidd-0.4.744917-1.el5, rhm-0.4.3116-3.el5

How reproducible:
100%

Steps to Reproduce:
run test stored on mrg3 or do following

1. start qpidd with --staging-threshold 500 -p ${QPIDD_PORT}
2. run txtest --messages-per-tx 10 --tx-count 1000 --total-messages 100 \
              -p ${QPIDD_PORT} --dtx yes --size 2000 --queues 4 \
              --durable yes --log-enable info+

 
Actual results:
qpidd exits after point 2 with JERR_MTOK_ILLEGALSTATE msg

Expected results:
qpidd should be alive and running

Additional info:

Reproducer attached

# reproducer transcript
[root@dhcp-lab-200 bz481822]# ./run.sh
[14:12:08] Stopping all running qpidd instances...
[14:12:08] qpidd_stop: No qpidd broker found to stop!
[14:12:08] .qpidd stopped ok
[14:12:08] qpidd_start: qpidd launched normal bg way (port:64002,log:qpidd.transcript.log, params: --auth no --staging-threshold 500 --log-enable debug+)
[14:12:09] qpidd_wait_on_settle: qpidd started-up (dur:0sec)
[14:12:09] .qpidd settled
[14:12:09] 1st txtest > threshold (i=0, durable=yes, dtx:yes, j=0)
run 0 [durable=yes] - ecode=2
[14:12:11] .qpidd status check
[14:12:11] qpidd_status: 0 instance[s] running (pids:,ports:)
[14:12:11] ..ERROR:qpidd not running fine! (pid[s]:, port[s]:, inst_cnt:0)
[14:12:11] 1st txtest < threshold (i=0, durable=yes, dtx:yes, j=0)
run 0 [durable=yes] - ecode=2
[14:12:11] .qpidd status check
[14:12:11] qpidd_status: 0 instance[s] running (pids:,ports:)
[14:12:11] ..ERROR:qpidd not running fine! (pid[s]:, port[s]:, inst_cnt:0)
done (err_cnt=4)
[root@dhcp-lab-200 bz481822]#
Comment 1 Kim van der Riet 2009-02-23 15:06:52 EST
This is a logic bug in the enqueue record decode path, which did not correctly consider the possibility of a record being external (triggered by the flow-to-disk).

Fixed in r.3128

QA: The reproducer above should be included in some of the soak tests with randomized parameters.
Comment 2 Frantisek Reznicek 2009-03-05 05:20:31 EST
The issue has been fixed, validated on RHEL 4.7 / 5.3 i386 / x86_64 on packages:
qpidd-0.4.750054-1.el5, rhm-0.4.3138-2.el5.

->VERIFIED
Comment 3 Justin Ross 2011-06-27 17:04:38 EDT
Fixed and verified; closing.

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