To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=113103
                 Issue #|113103
                 Summary|chart2: deadlock between DiagramHelper and Diagram
               Component|Chart
                 Version|DEV300m84
                Platform|All
                     URL|
              OS/Version|All
                  Status|NEW
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|DEFECT
                Priority|P3
            Subcomponent|code
             Assigned to|iha
             Reported by|sb





------- Additional comments from [email protected] Mon Jul 12 16:14:32 +0000 
2010 -------
At least when running subsequenttests in DEV300_m84 based CWS sb126 (locally
including a fix for issue 112666) on unxmacxi.pro in chart2/qa/unoapi once
experienced deadlock between

(gdb) thread 1
[Switching to thread 1 (process 74525 thread 0x10b)]
0x96e0c2a2 in semaphore_wait_trap ()
(gdb) where
#0  0x96e0c2a2 in semaphore_wait_trap ()
#1  0x96e13d92 in pthread_mutex_lock ()
#2  0x92ee341f in __cxa_current_exception_type ()
#3  0x92ee346f in __cxa_guard_acquire ()
#4  0x189bf9fe in cppu::ImplInheritanceHelper12<chart::WrappedPropertySet,
com::sun::star::chart::XDiagram, com::sun::star::chart::XAxisZSupplier,
com::sun::star::chart::XTwoAxisXSupplier,
com::sun::star::chart::XTwoAxisYSupplier,
com::sun::star::chart::XStatisticDisplay, com::sun::star::chart::X3DDisplay,
com::sun::star::chart::X3DDefaultSetter, com::sun::star::lang::XServiceInfo,
com::sun::star::lang::XComponent, com::sun::star::chart::XDiagramPositioning,
com::sun::star::chart2::XDiagramProvider,
com::sun::star::chart::XSecondAxisTitleSupplier>::queryInterface ()
#5  0x27294c6a in
chart::DiagramHelper::switchDiagramPositioningToExcludingPositioning ()
#6  0x274bd15b in chart::ChartView::update ()
#7  0x18811559 in chart::ChartController::execute_Paint ()
#8  0x187fb430 in chart::ChartWindow::Paint ()
#9  0x01c5aa3a in Window::ImplCallPaint ()
#10 0x01c5a727 in Window::ImplCallPaint ()
#11 0x01c5a727 in Window::ImplCallPaint ()
#12 0x01c5abf0 in Window::ImplCallOverlapPaint ()
#13 0x01c5ac2e in Window::ImplHandlePaintHdl ()
#14 0x01a9d42e in Timer::Timeout ()
#15 0x01a9d5f2 in Timer::ImplTimerCallbackProc ()
#16 0x01d29c9c in -[TimerCallbackCaller timerElapsed:] ()
#17 0x94c45507 in __NSFireTimer ()
#18 0x93abb8f5 in CFRunLoopRunSpecific ()
#19 0x93abbaa8 in CFRunLoopRunInMode ()
#20 0x929f52ac in RunCurrentEventLoopInMode ()
#21 0x929f50c5 in ReceiveNextEventCommon ()
#22 0x929f4f39 in BlockUntilNextEventMatchingListInMode ()
#23 0x96fb36d5 in _DPSNextEvent ()
#24 0x96fb2f88 in -[NSApplication
nextEventMatchingMask:untilDate:inMode:dequeue:] ()
#25 0x01d2528e in AquaSalInstance::Yield ()
#26 0x01a97228 in Application::Yield ()
#27 0x01a972ed in Application::Execute ()
#28 0x000cb62d in desktop::Desktop::Main ()
#29 0x01a9d1af in ImplSVMain ()
#30 0x01d24b38 in AquaSalInstance::handleAppDefinedEvent ()
#31 0x01d284ba in -[VCL_NSApplication sendEvent:] ()
#32 0x96fabfe7 in -[NSApplication run] ()
#33 0x96f791d8 in NSApplicationMain ()
#34 0x01d2591c in ImplSVMainHook ()
#35 0x01a9d23b in SVMain ()
#36 0x000e87fc in soffice_main ()
#37 0x00001f0e in main ()

and

(gdb) thread 8
[Switching to thread 8 (process 74525 thread 0x5c07)]
0x96e0c2ae in semaphore_wait_signal_trap ()
(gdb) where
#0  0x96e0c2ae in semaphore_wait_signal_trap ()
#1  0x96e13d85 in pthread_mutex_lock ()
#2  0x001f3e8f in osl_acquireMutex ()
#3  0x2759c7e9 in (anonymous namespace)::lcl_GetPropertySequence ()
#4  0x2759c962 in chart::Diagram::getInfoHelper ()
#5  0x0060f30c in cppu::OPropertySetHelper::setPropertyValue ()
#6  0x275c7816 in (anonymous namespace)::lcl_ensureCorrectMissingValueTreatment 
()
#7  0x275c7d51 in chart::ChartTypeTemplate::applyStyles ()
#8  0x275c3a25 in chart::ChartTypeTemplate::FillDiagram ()
#9  0x275c853e in chart::ChartTypeTemplate::createDiagramByDataSource ()
#10 0x275859a3 in chart::ChartModel::initNew ()
#11 0x18830f44 in chart::ChartFrameLoader::load ()
#12 0x18d7daad in framework::LoadEnv::impl_loadContent ()
#13 0x18d7e184 in framework::LoadEnv::startLoading ()
#14 0x18d7e399 in framework::LoadEnv::loadComponentFromURL ()
#15 0x18cea6b7 in framework::Desktop::loadComponentFromURL ()
#16 0x03f3088e in (anonymous namespace)::callVirtualMethod ()
#17 0x03f30ba5 in (anonymous namespace)::cpp_call ()
#18 0x03f313b3 in bridges::cpp_uno::shared::unoInterfaceProxyDispatch ()
#19 0x17d54dc4 in thisDispatch ()
#20 0x17d49096 in bridges_urp::ServerMultiJob::execute ()
#21 0x17d499de in doit ()
#22 0x0070fc2a in cppu_threadpool::JobQueue::enter ()
#23 0x0071025f in cppu_threadpool::ORequestThread::run ()
#24 0x00710678 in cppu_requestThreadWorker ()
#25 0x001f4f5d in osl_thread_start_Impl ()
#26 0x96e3d155 in _pthread_start ()
#27 0x96e3d012 in thread_start ()

In thread 1, ImplInheritenceHelper12::queryInterface internally uses
rtl/instance.hxx, locks osl global mutex and tries to lock GCC's
__cxa_guard_acquire().

In thread 8, chart::Diagram::getInfoHelper locks GCC's __cxa_guard_acquire()
when instantiating static aArrayHelper, then erroneously tries to acquire osl
global mutex in lcl_GetPropertySequence.

---------------------------------------------------------------------
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