Issue 73372 - Exception not caught: URP_Bridge: disposed
Summary: Exception not caught: URP_Bridge: disposed
Status: CLOSED FIXED
Alias: None
Product: utilities
Classification: Unclassified
Component: automation (show other issues)
Version: 680m199
Hardware: All All
: P2 Trivial (vote)
Target Milestone: OOo 2.3
Assignee: b.osi.ooo
QA Contact: Unknown
URL:
Keywords:
: 73595 (view as issue list)
Depends on:
Blocks:
 
Reported: 2007-01-11 12:58 UTC by b.osi.ooo
Modified: 2007-05-02 16:58 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
avoid crash if bridge is disposed (748 bytes, patch)
2007-01-26 09:45 UTC, Stephan Bergmann
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this issue.
Description b.osi.ooo 2007-01-11 12:58:16 UTC
Message on using UNO connection from Testtool to OOo:

Exception not caught: URP_Bridge: disposed
(tid=8) Unexpected connection closure
[OK]

I have no idea how to reproduce it, sometimes it happens
After clicking OK, TestTool vanishes/crashes

First seen in m199

It is not related to TestTool version, must be some change in OOo.

I would like to leave this on P1 as long as the reason is unknown since
automated testing is not reliable possible.
Comment 1 b.osi.ooo 2007-01-11 13:00:54 UTC
JL on vacation... taking sb
Comment 2 b.osi.ooo 2007-01-11 13:21:45 UTC
taking p1 back, since we can't always reproduce it;
since developer has no clue, I have to try to find something....
Comment 3 Stephan Bergmann 2007-01-11 13:30:32 UTC
"Exception not caught: URP_Bridge: disposed; (tid=8) Unexpected connection
closure" indicates that soffice crashed.  Without further information (stack
trace, crash report) it is hard to tell who can fix this.

@tbo:  Please provide the necessary information.
Comment 4 fredrik.haegg 2007-01-12 18:11:35 UTC
I have also experienced this one. But I saw it happening. 
- A dialogue-box came up, showing the message. And the office in the background,
had frozen. 

Optimistically as I was, I thought I'd just re-run the test and it would be
reproducable, 
but nope. (I therefore didn't make any screendump. Sorry)

But I also just noticed how the Office later suddenly drew ca 80% of my
system-resources, 
and that was several minutes after the Testtool had finished the last test. 
Everything looked fine, the Office was responding on interaction, 
but still had 80% load with, or without any work being done. 
I'm investigating further. 
Comment 5 b.osi.ooo 2007-01-17 12:15:58 UTC
Please see internal issue 144504 and stack Report ID 814389 could this be the one?
Comment 6 Stephan Bergmann 2007-01-18 09:19:42 UTC
The mentioned stack report occurs when setting up an URP connection, and will
only occur since the integration of CWS sb36 on SRC680m196.  According to tbo
this matches the behavior observed in this issue, so, yes, it is most likely
that the mentioned stack report is the OOo counterpart of this remote
communication issue.  From that stack report:

#144702# Stacktrace ID: 803847
SRC680m199 unxlngi6.pro

uno_threadpool_enter [+0x1A17: after "call
_ZN15cppu_threadpool10ThreadPool5enterERKN3rtl12ByteSequenceEx@PLT", at "jmp
<uno_threadpool_enter+0x82>]
bridges_urp::ClientJob::wait
bridges_urp::localCommitChange
bridges_urp::PropertySettterThread::run
[bridges/soruce/remote/urp/urp_environment.cxx:1.20 l. 136]
...

#144504# Stacktrace ID: 814389
SRC680m199 unxsols4.pro
from Report data for report id 2710682:

rel="0x267f8" name="libuno_sal.so.3"
rel="0x27158" name="libuno_sal.so.3"
rel="0xbc52c" name="libc.so.1"
rel="0xb1998" name="libc.so.1" ordinal="_sema_post+0x5fc" path="/lib/"
rel="0x28848" name="libuno_cppu.so.3" [00028818 t
__1cPcppu_threadpoolKThreadPoolFenter6MrknDrtlMByteSequence_x_pv_; +0x30: after
"or %g0,%i0,%o1", at "call
__1cE_STLJhashtable4n0AEpair4CknDrtlMByteSequence_n0AEpair4CpnPcppu_threadpoolIJobQdDueue_C6____n0C_n0DMHashThreadId_n0AK_Select1st4n0G___n0DNEqualThreadId_n0AJallocator4n0G____Efind6Mrk2_n0AM_Ht_iterator4n0G_n0AQ_Nonconst_traits4n0G___n0C_n0H_n0I_n0J_n0K____",
before "or %g0,%i1,%o2"; cppu/source/threadpool/threadpool.cxx:1.16 l. 369]
rel="0x28ae8" name="libuno_cppu.so.3" ordinal="uno_threadpool_enter+0x38"
[00028ab0 T uno_threadpool_enter]
rel="0xc37c" name="liburp_uno.so" [0000c354 t __1cLbridges_urpJClientJobEwait6M_v_]
rel="0x17fd4" name="liburp_uno.so" [00017d08 t
__1cLbridges_urpOPropertyObjectRlocalCommitChange6MrknDrtlIOUString_pC_v_]
rel="0x4e70" name="liburp_uno.so" [00004e38 t
__1cLbridges_urpUPropertySetterThreadDrun6M_v_]
...
Comment 7 Stephan Bergmann 2007-01-22 15:55:23 UTC
A useful SRC680m199 unxsols4.pro core

[1] cppu_threadpool::ThreadPool::enter(this = ???, aThreadId = CLASS, nDisposeId
= ???) (optimized), at 0xfb638858 (line ~372) in "threadpool.cxx"
[2] uno_threadpool_enter(hPool = ???, ppJob = ???) (optimized), at 0xfb638ae8
(line ~451) in "threadpool.cxx"
[3] bridges_urp::ClientJob::wait(this = ???) (optimized), at 0xf27ac37c (line
~500) in "urp_job.cxx"
[4] bridges_urp::PropertyObject::localCommitChange(this = ???, sProps = CLASS,
pbExceptionThrown = ???) (optimized), at 0xf27b7fd4 (line ~732) in
"urp_propertyobject.cxx"
[5] bridges_urp::PropertySetterThread::run(this = ???) (optimized), at
0xf27a4e70 (line ~134) in "urp_environment.cxx"
[6] threadFunc(param = ???) (optimized), at 0xf27a48d8 (line ~196) in "thread.hxx"
[7] osl_thread_start_Impl(pData = ???) (optimized), at 0xfdb1e258 (line ~279) in
"thread.c"

shows that probably ii==m_mapQueue.end() at
cppu/source/threadpool/threadpool.cxx:1.16 l. 372 ThreadPool::enter, i.e.,
ThreadPool::prepare has not been called (from
bridges/source/remote/urp/urp_job.cxx:1.16 l. 463 ClientJob::pack), i.e., the
call to pack at bridges/source/remote/urp/urp_propertyobject.cxx:1.9 l. 731
probably returned false (which is not checked for at the call side).  More
investigation necessary to tell why pack returns false.
Comment 8 Stephan Bergmann 2007-01-23 08:37:33 UTC
More experimentation showed that ClientJob::pack returns false due to
"m_pBridgeImpl->m_bDisposed" at bridges/source/remote/urp/urp_job.cxx:1.16 l.
259.  On the one hand, the calling code should handle that properly, on the
other hand it is still unclear why the bridge is already disposed.
Comment 9 Stephan Bergmann 2007-01-26 09:45:59 UTC
Created attachment 42479 [details]
avoid crash if bridge is disposed
Comment 10 Stephan Bergmann 2007-01-26 12:38:53 UTC
Patch applied.  See testtools/bridgetest for regression testing.
Comment 11 Stephan Bergmann 2007-01-30 15:46:58 UTC
@tbo: please verify
Comment 12 b.osi.ooo 2007-03-12 17:50:15 UTC
couldn't reproduce with master, but I tested the patch some time ago - there it
was ok;
verified.
Comment 13 b.osi.ooo 2007-03-28 11:50:07 UTC
integrated into src680m206 - closing
Comment 14 b.osi.ooo 2007-05-02 16:58:03 UTC
*** Issue 73595 has been marked as a duplicate of this issue. ***