With problems popping up for users after upgrading to Mac OS X Mavericks (which replaces a previously installed Java with a "download and install" stub), I discovered the odd fact that indeed at least since LO 4.1.2 (but probably even earlier already, just had no time to verify), and on Mac OS X only, thanks to the bundled WikiPublisher extension we instantiate a JVM as soon as you start "soffice --writer" and type "x". Debugging it on a recent master build:

#0  stoc_javavm::JavaVirtualMachine::getJavaVM (this=0x1ed5e484, 
rProcessId=@0xbffb9568) at core/stoc/source/javavm/javavm.cxx:685
#1  0x1eee815b in non-virtual thunk to 
stoc_javavm::JavaVirtualMachine::getJavaVM(com::sun::star::uno::Sequence<signed 
char> const&) (this=0x1ed5e4b4, rProcessId=@0xbffb9568) at 
core/stoc/source/javavm/javavm.cxx:929
#2  0x1eeaf9d8 in stoc_javaloader::JavaComponentLoader::getJavaLoader 
(this=0x1edd173c) at core/stoc/source/javaloader/javaloader.cxx:162
#3  0x1eeb1c52 in stoc_javaloader::JavaComponentLoader::activate 
(this=0x1edd173c, rImplName=@0x7a924090, blabla=@0xbffb97a0, 
rLibName=@0xbffb9910, xKey=@0xbffb9798) at 
core/stoc/source/javaloader/javaloader.cxx:357
#4  0x1eeb1e4d in non-virtual thunk to stoc_javaloader::JavaComponentLoader::activate(rtl::OUString 
const&, rtl::OUString const&, rtl::OUString const&, 
com::sun::star::uno::Reference<com::sun::star::registry::XRegistryKey> const&) 
(this=0x1edd1750, rImplName=@0x7a924090, blabla=@0xbffb97a0, rLibName=@0xbffb9910, xKey=@0xbffb9798) 
at core/stoc/source/javaloader/javaloader.cxx:363
#5  0x00a7a8f6 in cppuhelper::ServiceManager::loadImplementation 
(this=0x857b0c8, context=@0x857b114, info=@0x7a924070, factory1=0xbffb9a00, 
factory2=0xbffb99f8) at core/cppuhelper/source/servicemanager.cxx:678
#6  0x00a7c628 in cppuhelper::ServiceManager::findServiceImplementation 
(this=0x857b0c8, context=@0x857b114, specifier=@0xbffb9de0) at 
core/cppuhelper/source/servicemanager.cxx:1667
#7  0x00a7bbeb in cppuhelper::ServiceManager::createInstanceWithContext 
(this=0x857b0c8, aServiceSpecifier=@0xbffb9de0, Context=@0x857b114) at 
core/cppuhelper/source/servicemanager.cxx:791
#8  0x00a7b582 in cppuhelper::ServiceManager::createInstance (this=0x857b0c8, 
aServiceSpecifier=@0xbffb9de0) at core/cppuhelper/source/servicemanager.cxx:745
#9  0x00a7b5cb in non-virtual thunk to 
cppuhelper::ServiceManager::createInstance(rtl::OUString const&) 
(this=0x857b0f4, aServiceSpecifier=@0xbffb9de0) at 
core/cppuhelper/source/servicemanager.cxx:746
#10 0x0df1a927 in framework::DispatchProvider::implts_searchProtocolHandler 
(this=0x12784ce0, aURL=@0xbffba788) at 
core/framework/source/dispatch/dispatchprovider.cxx:502
#11 0x0df19338 in framework::DispatchProvider::implts_queryFrameDispatch 
(this=0x12784ce0, xFrame=@0xbffba220, aURL=@0xbffba788, 
sTargetFrameName=@0xbffba700, nSearchFlags=0) at 
core/framework/source/dispatch/dispatchprovider.cxx:407
#12 0x0df16ee8 in framework::DispatchProvider::queryDispatch (this=0x12784ce0, 
aURL=@0xbffba788, sTargetFrameName=@0xbffba700, nSearchFlags=0) at 
core/framework/source/dispatch/dispatchprovider.cxx:120
#13 0x0df19a25 in non-virtual thunk to 
framework::DispatchProvider::queryDispatch(com::sun::star::util::URL const&, 
rtl::OUString const&, long) (this=0x12784cf4, aURL=@0xbffba788, 
sTargetFrameName=@0xbffba700, nSearchFlags=0) at 
core/framework/source/dispatch/dispatchprovider.cxx:123
#14 0x13687e2e in SwXDispatchProviderInterceptor::queryDispatch 
(this=0x18efaedc, aURL=@0xbffba788, aTargetFrameName=@0xbffba700, 
nSearchFlags=0) at core/sw/source/ui/uno/unodispatch.cxx:87
#15 0x13687fb5 in non-virtual thunk to 
SwXDispatchProviderInterceptor::queryDispatch(com::sun::star::util::URL const&, 
rtl::OUString const&, long) (this=0x18efaef0, aURL=@0xbffba788, 
aTargetFrameName=@0xbffba700, nSearchFlags=0) at 
core/sw/source/ui/uno/unodispatch.cxx:90
#16 0x0df1d016 in framework::InterceptionHelper::queryDispatch 
(this=0x12784c70, aURL=@0xbffba788, sTargetFrameName=@0xbffba700, 
nSearchFlags=0) at core/framework/source/dispatch/interceptionhelper.cxx:85
#17 0x0df1d155 in non-virtual thunk to 
framework::InterceptionHelper::queryDispatch(com::sun::star::util::URL const&, 
rtl::OUString const&, long) (this=0x12784c84, aURL=@0xbffba788, 
sTargetFrameName=@0xbffba700, nSearchFlags=0) at 
core/framework/source/dispatch/interceptionhelper.cxx:87
#18 0x0e018cf7 in framework::Frame::queryDispatch (this=0x1278eae8, 
aURL=@0xbffba788, sTargetFrameName=@0xbffba700, nSearchFlags=0) at 
core/framework/source/services/frame.cxx:2078
#19 0x0e018da5 in non-virtual thunk to 
framework::Frame::queryDispatch(com::sun::star::util::URL const&, rtl::OUString 
const&, long) (this=0x1278eaf0, aURL=@0xbffba788, sTargetFrameName=@0xbffba700, 
nSearchFlags=0) at core/framework/source/services/frame.cxx:2080
#20 0x0e0ec9b9 in framework::MenuBarManager::Activate (this=0x19d27e54, 
pMenu=0x7d253cf0) at core/framework/source/uielement/menubarmanager.cxx:922
#21 0x0e0eb944 in framework::MenuBarManager::LinkStubActivate 
(pThis=0x19d27e54, pCaller=0x7d253cf0) at 
core/framework/source/uielement/menubarmanager.cxx:792
#22 0x03f64c5a in Link::Call (this=0x7d253d0c, pCaller=0x7d253cf0) at 
link.hxx:123
#23 0x044d6fb6 in Menu::Activate (this=0x7d253cf0) at 
core/vcl/source/window/menu.cxx:1063
#24 0x044e28ec in MenuBar::HandleMenuActivateEvent (this=0x7d250670, 
pMenu=0x7d253cf0) at core/vcl/source/window/menu.cxx:3387
#25 0x045b3110 in ImplHandleMenuEvent (pWindow=0x7d1ecbe0, pEvent=0xbffbaca8, 
nEvent=35) at core/vcl/source/window/winproc.cxx:2097
#26 0x045b12f2 in ImplWindowFrameProc (pWindow=0x7d1ecbe0, nEvent=35, 
pEvent=0xbffbaca8) at core/vcl/source/window/winproc.cxx:2498
#27 0x045d4946 in SalFrame::CallCallback (this=0x7d1eb890, nEvent=35, 
pEvent=0xbffbaca8) at salframe.hxx:243
#28 0x04651e1e in -[SalNSMenu menuNeedsUpdate:] (self=0x7d253cd0, 
_cmd=0x91b1460b, pMenu=0x7d253cd0) at 
core/vcl/aqua/source/window/salnsmenu.mm:51
#29 0x91272503 in -[NSMenu _populateFromDelegateWithEventRef:] ()
#30 0x9126ef5e in -[NSMenu _populateWithEventRef:] ()
#31 0x9127143b in -[NSCarbonMenuImpl _carbonPopulateEvent:handlerCallRef:] ()
#32 0x91271136 in NSSLMMenuEventHandler ()
#33 0x98d93eb9 in _InvokeEventHandlerUPP ()
#34 0x98be764f in DispatchEventToHandlers ()
#35 0x98be6968 in SendEventToEventTargetInternal ()
#36 0x98be67e0 in SendEventToEventTargetWithOptions ()
#37 0x98dddfdd in SendMenuPopulate ()
#38 0x98df8bd1 in PopulateMenu ()
#39 0x98c2a2d0 in Check1MenuForKeyEvent ()
#40 0x98c2ab38 in Check1MenuForKeyEvent ()
#41 0x98c29c2f in CheckMenusForKeyEvent ()
#42 0x98df8afe in _IsMenuKeyEvent ()
#43 0x98c297ca in IsMenuKeyEvent ()
#44 0x91270d00 in +[NSCarbonMenuImpl 
_menuItemWithKeyEquivalentMatchingEventRef:inMenu:] ()
#45 0x91270a2b in _NSFindMenuItemMatchingCommandKeyEvent ()
#46 0x911de524 in _NSHandleCarbonMenuEvent ()
#47 0x91033902 in _DPSNextEvent ()
#48 0x91032ad0 in -[NSApplication 
nextEventMatchingMask:untilDate:inMode:dequeue:] ()
#49 0x045d2029 in AquaSalInstance::Yield (this=0x79659820, bWait=true, 
bHandleAllCurrentEvents=false) at core/vcl/aqua/source/app/salinst.cxx:699
#50 0x03f7d8a2 in ImplYield (i_bWait=true, i_bAllEvents=false) at 
core/vcl/source/app/svapp.cxx:364
#51 0x03f7911a in Application::Yield () at core/vcl/source/app/svapp.cxx:396
#52 0x03f790db in Application::Execute () at core/vcl/source/app/svapp.cxx:345
#53 0x0015341d in desktop::Desktop::Main (this=0xbffbcb88) at 
core/desktop/source/app/app.cxx:1717
#54 0x03f8951b in ImplSVMain () at core/vcl/source/app/svmain.cxx:162
#55 0x045d15f3 in AquaSalInstance::handleAppDefinedEvent (pEvent=0x7c8126b0) at 
core/vcl/aqua/source/app/salinst.cxx:528
#56 0x0463563f in -[VCL_NSApplication sendEvent:] (self=0x7a918880, 
_cmd=0x91ac9d80, pEvent=0x7c8126b0) at core/vcl/aqua/source/app/vclnsapp.mm:64
#57 0x910253bc in -[NSApplication run] ()
#58 0x9100e1f8 in NSApplicationMain ()
#59 0x045d0363 in ImplSVMainHook (pnInit=0xbffbcb20) at 
core/vcl/aqua/source/app/salinst.cxx:221
#60 0x03f8ac5e in SVMain () at core/vcl/source/app/svmain.cxx:195
#61 0x001b15a8 in soffice_main () at core/desktop/source/app/sofficemain.cxx:85
#62 0x00044f5b in sal_main () at core/desktop/source/app/main.c:48
#63 0x00044f40 in main (argc=2, argv=0xbffbcc34) at 
core/desktop/source/app/main.c:47

where the URL in frame 19 is "vnd.sun.star.wiki:send" as specified in the "File - Send - To MediaWiki..." menu entry added by the WikiPublisher's Addons.xcu.

Looks like we are "populating" the menu tree too eagerly on Mac OS X. (On Linux at least, stoc_javavm::JavaVirtualMachine::getJavaVM only gets triggered once you open the "File - Send" sub-menu.)

Stephan
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to