[
http://issues.apache.org/jira/browse/DERBY-989?page=comments#action_12418941 ]
Knut Anders Hatlen commented on DERBY-989:
------------------------------------------
I have a hypothesis, but it's hard to verify since the failure is
intermittent and the test needs much time to finish.
I believe there are two issues:
a) BasicDaemon has not enough synchronization between unsubscribe()
and serviceClient() to prevent the following order of events
1. the daemon thread fetches client N from the service queue
2. another thread invokes unsubscribe(N) which removes client N
from the queue
3. the daemon thread invokes performWork() on client N
Because of this, it is possible that performWork() is called on an
unsubscribed client, which will cause T_DaemonService.T03() to
fail.
b) When the error "unsubscribed continue to get serviced" is raised in
T_DaemonService.T03(), s1 isn't resubscribed. A call to
t_checkStatus() after the failure therefore hangs waiting for an
unsubscribed client to be serviced. This causes the time bomb.
> unit/daemonService.unit fails intermittently: 'ran out of time'
> ---------------------------------------------------------------
>
> Key: DERBY-989
> URL: http://issues.apache.org/jira/browse/DERBY-989
> Project: Derby
> Type: Test
> Components: Regression Test Failure
> Versions: 10.2.0.0
> Environment: OS: Solaris 10 3/05 s10_74L2a X86 - SunOS 5.10 Generic, JVM:
> Sun Microsystems Inc. 1.5.0_04
> OS: Solaris 9 9/04 s9s_u7wos_09 SPARC - SunOS 5.9 Generic_118558-11, JVM: Sun
> Microsystems Inc. 1.5.0_03
> OS: Red Hat Enterprise Linux AS release 3 (Taroon Update 4) - Linux
> 2.4.21-27.ELsmp #1 SMP Wed Dec 1 21:50:31 EST 2004 GNU/Linux, JVM: Sun
> Microsystems Inc. 1.5.0_03
> Reporter: Ole Solberg
> Priority: Minor
> Attachments: 989-411220-derbyall_derbyall_unit_unit_derby.log
>
> "Signature":
> ********* Diff file unit/unit/daemonService.diff
> *** Start: daemonService jdk1.5.0_04 unit:unit 2006-02-14 20:46:42 ***
> 2 del
> < -- Unit Test T_DaemonService finished
> 2 add
> > ran out of time
> > Shutting down due to unit test failure.
> > Exit due to time bomb
> Test Failed.
> *** End: daemonService jdk1.5.0_04 unit:unit 2006-02-14 21:47:13 ***
> http://www.multinet.no/~solberg/public/Apache/Derby/Limited/testSummary-377800.html
> [SunOS-5.10 i86pc-i386]
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira