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]

Reply via email to