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]
