To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=90444
Issue #|90444
Summary|Hang in remote object Reference destructor
Component|udk
Version|OOo 2.3
Platform|HP
URL|
OS/Version|Linux
Status|UNCONFIRMED
Status whiteboard|
Keywords|
Resolution|
Issue type|DEFECT
Priority|P3
Subcomponent|code
Assigned to|kr
Reported by|charleshalliday
------- Additional comments from [EMAIL PROTECTED] Fri Jun 6 14:06:39 +0000
2008 -------
One of our component stress tests hangs frequently. I have created a pair of
simple service and client components that demonstrate the issue.
Client TestComponentA has a XMain::run method that essentially
does the following:
...
for ( int i = 0; i < mNumberOfIterations; i++ ) {
Reference < XInterface > compAXInterface; // inside loop
compAXInterface =
getRemoteObject(mComponentContext, mUnoObject, mPort);
if ( compAXInterface.is() ) {
DEBUG_LOG("Cycle " << i << " have remote object");
}
}
...
Where:
mComponentContext is the local ComponentContext
mUnoObject is "ComponentA"
mPort is 8100
getRemoteObject() gets the remote object reference from the
com.sun.star.bridge.UnoUrlResolver service resolve()
method with the following URL
"uno:socket,host=localhost,port=8100,tcpNoDelay=1;urp,Negotiate=0,ForceSynchronous=0;ComponentA"
ComponentA is a singleton service.
TestComponentA::run() hangs at in the destructor of compAXInterface after
anything between 10 iterations and several thousand iterations.
In the attached TestComponentA_pstack_6507.txt, thread 1 is in the destructor
for compAXInterface, this call is blocked in osl_joinWithThread which is waiting
for thread 2 according the gdb.
Thread 2 is the writer thread which is blocked acquiring a mutex. The
corresponding reader thread has finished. I suspect this thread set
the mutex.
The attached ComponentA_pstack_6502.txt also has some blocked threads.
The actual sources used are attached in TestComponentA_sources.tgz.
After building ComponentA and TestComponentA,
./bin/runTestComponentA.ksh -n 10000
will normally reproduce the problem.
Environment:
OOo 2.3 URE/SDK built with standard STL and with
cppuhelper/component_context.cxx changed to remove the ":unsafe" environment.
URE/SDK built on Redhat EL 5 32 bit.
Test run under 64 bit RHEL5.
Both components run using the uno executable.
Also get same problem with OOo 2.2 URE/SDK although it doesn't seem to
fail as often.
---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]