Issue 81988

Summary: Opening Multiple Files At Once Hangs OOo Writer
Product: Writer Reporter: andypiziali <andy>
Component: open-importAssignee: joerg.skottke
Status: CLOSED FIXED QA Contact: issues@sw <issues>
Severity: Trivial    
Priority: P3 CC: issues
Version: OOo 2.3.0 RC1   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Issue Type: DEFECT Latest Confirmation in: ---
Developer Difficulty: ---

Description andypiziali 2007-09-26 22:21:15 UTC
If six .odt files are selected in Windows Explorer and <Enter> is pressed to
open them, the first file is opened in a OOo Writer window. Then, Writer
attempts to open the second file in a second window and it hangs.  Alt-F4 is
required to forceably terminate the program.
Comment 1 andypiziali 2007-09-27 14:32:17 UTC
By the way, I demonstrated this problem on OOo 2.3.0, not OOo 2.3.0 RC1.  "OOo
2.3.0" is not a choice in the bug "Version" menu.
Comment 2 Mathias_Bauer 2007-09-27 19:35:45 UTC
Confirmed on WinXP Pro. Looks like a severe issue.
Comment 3 andypiziali 2007-09-27 19:59:31 UTC
Right, I am running Windows XP Professional SP2 (Version 5.1, build
2600.xpsp_sp2_qfe.070227-2300 : Service Pack 2).
Comment 4 andreas.schluens 2007-10-09 11:27:55 UTC
as->jl: The following stack shows the problem ...

 	ntdll.dll!7c90eb94() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]	
 	ntdll.dll!7c90da69() 	
 	kernel32.dll!7c82c7fd() 	
 	sal3.dll!osl_createPipe(_rtl_uString * strPipeName=0x06092b70, unsigned long
Options=0, void * Security=0x05cf9180)  Line 281	C
>	deploymentmisc680mi.dll!osl::Pipe::Pipe(const rtl::OUString & strName={...},
unsigned long Options=0, const osl::Security & rSecurity={...})  Line 57 +
0x18 bytes	C++
 	deploymentmisc680mi.dll!dp_misc::office_is_running()  Line 260	C++
 	deployment680mi.uno.dll!dp_registry::backend::script::`anonymous
namespace'::BackendImpl::BackendImpl(const
com::sun::star::uno::Sequence<com::sun::star::uno::Any> & args={...}, const
com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> &
xComponentContext={...})  Line 177 + 0x6 bytes	C++
 
deployment680mi.uno.dll!cppu::ImplInheritanceHelper1<dp_registry::backend::script::`anonymous
namespace'::BackendImpl,com::sun::star::lang::XServiceInfo>::ImplInheritanceHelper1<dp_registry::backend::script::`anonymous
namespace'::BackendImpl,com::sun::star::lang::XServiceInfo><com::sun::star::uno::Sequence<com::sun::star::uno::Any>,com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext>
>(const com::sun::star::uno::Sequence<com::sun::star::uno::Any> & arg1={...},
const com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> &
arg2={...})  Line 196 + 0x11 bytes	C++
 
deployment680mi.uno.dll!comphelper::service_decl::detail::ServiceImpl<dp_registry::backend::script::`anonymous
namespace'::BackendImpl>::ServiceImpl<dp_registry::backend::script::`anonymous
namespace'::BackendImpl>(const comphelper::service_decl::ServiceDecl &
rServiceDecl={...}, const
com::sun::star::uno::Sequence<com::sun::star::uno::Any> & args={...}, const
com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> &
xContext={...})  Line 190 + 0x11 bytes	C++
 
deployment680mi.uno.dll!comphelper::service_decl::detail::CreateFunc<dp_registry::backend::script::`anonymous
namespace'::BackendImpl,comphelper::service_decl::detail::PostProcessDefault<comphelper::service_decl::detail::ServiceImpl<dp_registry::backend::script::`anonymous
namespace'::BackendImpl> >,with_args<1>::comphelper::with_args<1>
>::operator()(const comphelper::service_decl::ServiceDecl & rServiceDecl={...},
const com::sun::star::uno::Sequence<com::sun::star::uno::Any> & args={...},
const com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> &
xContext={...})  Line 255 + 0x28 bytes	C++
 
deployment680mi.uno.dll!boost::detail::function::function_obj_invoker3<comphelper::service_decl::detail::CreateFunc<dp_registry::backend::script::`anonymous
namespace'::BackendImpl,comphelper::service_decl::detail::PostProcessDefault<comphelper::service_decl::detail::ServiceImpl<dp_registry::backend::script::`anonymous
namespace'::BackendImpl> >,with_args<1>::comphelper::with_args<1>
>,com::sun::star::uno::Reference<com::sun::star::uno::XInterface>,comphelper::service_decl::ServiceDecl
const &,com::sun::star::uno::Sequence<com::sun::star::uno::Any> const
&,com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const
&>::invoke(boost::detail::function::any_pointer function_obj_ptr={...}, const
comphelper::service_decl::ServiceDecl & a0={...}, const
com::sun::star::uno::Sequence<com::sun::star::uno::Any> & a1={...}, const
com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> &
a2={...})  Line 120 + 0x18 bytes	C++
 
comphelp4MSC.dll!boost::function3<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>,comphelper::service_decl::ServiceDecl
const &,com::sun::star::uno::Sequence<com::sun::star::uno::Any> const
&,com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const
&,_STL::allocator<boost::function_base> >::operator()(const
comphelper::service_decl::ServiceDecl & a0={...}, const
com::sun::star::uno::Sequence<com::sun::star::uno::Any> & a1={...}, const
com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> &
a2={...})  Line 324 + 0x13 bytes	C++
 
comphelp4MSC.dll!comphelper::service_decl::ServiceDecl::Factory::createInstanceWithArgumentsAndContext(const
com::sun::star::uno::Sequence<com::sun::star::uno::Any> & args={...}, const
com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> &
xContext={...})  Line 124 + 0x19 bytes	C++
 
cppuhelper3MSC.dll!cppu::ORegistryFactoryHelper::createInstanceWithArgumentsAndContext(const
com::sun::star::uno::Sequence<com::sun::star::uno::Any> & rArguments={...},
const com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> &
xContext={...})  Line 843 + 0xf bytes	C++
 	deployment680mi.uno.dll!dp_registry::`anonymous
namespace'::PackageRegistryImpl::create(const rtl::OUString & context={...},
const rtl::OUString & cachePath={...}, bool readOnly=false, const
com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> &
xComponentContext={...})  Line 340 + 0x11 bytes	C++
 	deployment680mi.uno.dll!dp_registry::create(const rtl::OUString &
context={...}, const rtl::OUString & cachePath={...}, bool readOnly=false, const
com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> &
xComponentContext={...})  Line 535 + 0x18 bytes	C++
 	deployment680mi.uno.dll!dp_manager::PackageManagerImpl::initRegistryBackends()
 Line 219 + 0x18 bytes	C++
 	deployment680mi.uno.dll!dp_manager::PackageManagerImpl::create(const
com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> &
xComponentContext={...}, const rtl::OUString & context={...})  Line 335	C++
 
deployment680mi.uno.dll!dp_manager::factory::PackageManagerFactoryImpl::getPackageManager(const
rtl::OUString & context={...})  Line 171 + 0x11 bytes	C++
 	svx680mi.dll!SmartTagMgr::RegisterListener()  Line 487 + 0x20 bytes	C++
 	svx680mi.dll!SmartTagMgr::Init(const rtl::OUString &
rConfigurationGroupName={...})  Line 113	C++
 	sw680mi.dll!SwSmartTagMgr::Get()  Line 64 + 0x1d bytes	C++
 	sw680mi.dll!SwLayIdle::SwLayIdle(SwRootFrm * pRt=0x04330fc8, SwViewImp *
pI=0x043d63b8)  Line 2840 + 0x5 bytes	C++
 	sw680mi.dll!ViewShell::LayoutIdle()  Line 830	C++
 	sw680mi.dll!SwDoc::DoIdleJobs(Timer * pTimer=0x01d41ed8)  Line 1959	C++
 	sw680mi.dll!SwDoc::LinkStubDoIdleJobs(void * pThis=0x01d41de8, void *
pCaller=0x01d41ed8)  Line 1933 + 0xe bytes	C++
 	tl680mi.dll!Link::Call(void * pCaller=0x01d41ed8)  Line 158 + 0xe bytes	C++
 	vcl680mi.dll!Timer::Timeout()  Line 286	C++
 	vcl680mi.dll!Timer::ImplTimerCallbackProc()  Line 174	C++
 	vcl680mi.dll!SalTimerProc(HWND__ * __formal=0x00000000, HWND__ *
__formal=0x00000000, unsigned int nId=4294967295, HWND__ * __formal=0x00000000)
 Line 151	C++
 	vcl680mi.dll!SalComWndProc(HWND__ * hWnd=0x0005041e, unsigned int nMsg=1185,
unsigned int wParam=0, long lParam=3619687, int & rDef=1)  Line 897	C++
 	vcl680mi.dll!SalComWndProcW(HWND__ * hWnd=0x0005041e, unsigned int nMsg=1185,
unsigned int wParam=0, long lParam=3619687)  Line 945 + 0x15 bytes	C++
 	user32.dll!7e418734() 	
 	user32.dll!7e418816() 	
 	user32.dll!7e4189cd() 	
 	user32.dll!7e419402() 	
 	user32.dll!7e418a10() 	
 	vcl680mi.dll!ImplDispatchMessage(const tagMSG * lpMsg=0x00eaee7c)  Line 203	C++
 	vcl680mi.dll!ImplSalDispatchMessage(tagMSG * pMsg=0x00eaee7c)  Line 723	C++
 	vcl680mi.dll!ImplSalYield(unsigned char bWait=0, unsigned char
bHandleAllCurrentEvents='')  Line 740 + 0x9 bytes	C++
 	vcl680mi.dll!WinSalInstance::Yield(bool bWait=false, bool
bHandleAllCurrentEvents=true)  Line 800	C++
 	vcl680mi.dll!Application::Reschedule(bool bAllEvents=true)  Line 536	C++
 	fwk680mi.dll!framework::StatusIndicatorFactory::impl_reschedule(unsigned
char bForce='')  Line 666 + 0x7 bytes	C++
 	fwk680mi.dll!framework::StatusIndicatorFactory::start(const
com::sun::star::uno::Reference<com::sun::star::task::XStatusIndicator> &
xChild={...}, const rtl::OUString & sText={...}, long nRange=1000000)  Line 268	C++
 	fwk680mi.dll!framework::StatusIndicator::start(const rtl::OUString &
sText={...}, long nRange=1000000)  Line 101 + 0x2b bytes	C++
 	sw680mi.dll!XMLReader::Read(SwDoc & rDoc={...}, const String & rBaseURL={...},
SwPaM & rPaM={...}, const String & rName={...})  Line 770 + 0x64 bytes	C++
 	sw680mi.dll!SwReader::Read(const Reader & rOptions={...})  Line 310	C++
 	sw680mi.dll!SwDocShell::Load(SfxMedium & rMedium={...})  Line 745	C++
 	sfx680mi.dll!SfxObjectShell::LoadOwnFormat(SfxMedium & rMedium={...})  Line
2938 + 0x11 bytes	C++
 	sfx680mi.dll!SfxObjectShell::DoLoad(SfxMedium * pMed=0x05ce1cc0)  Line 770 +
0x10 bytes	C++
 	sfx680mi.dll!SfxBaseModel::load(const
com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> &
seqArguments={...})  Line 1703 + 0x13 bytes	C++
 	sfx680mi.dll!SfxFrameLoader_Impl::load(const
com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> &
rArgs={...}, const com::sun::star::uno::Reference<com::sun::star::frame::XFrame>
& rFrame={...})  Line 536	C++
 	fwk680mi.dll!framework::LoadEnv::impl_loadContent()  Line 1329 + 0xe bytes	C++
 	fwk680mi.dll!framework::LoadEnv::startLoading()  Line 554	C++
 	fwk680mi.dll!framework::LoadEnv::loadComponentFromURL(const
com::sun::star::uno::Reference<com::sun::star::frame::XComponentLoader> &
xLoader={...}, const
com::sun::star::uno::Reference<com::sun::star::lang::XMultiServiceFactory> &
xSMGR={...}, const rtl::OUString & sURL={...}, const rtl::OUString &
sTarget={...}, long nFlags=0, const
com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> &
lArgs={...})  Line 363	C++
 	fwk680mi.dll!framework::Desktop::loadComponentFromURL(const rtl::OUString &
sURL={...}, const rtl::OUString & sTargetFrameName={...}, long nSearchFlags=0,
const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> &
lArguments={...})  Line 776 + 0x20 bytes	C++
 	soffice.bin!desktop::DispatchWatcher::executeDispatchRequests(const
_STL::vector<desktop::DispatchWatcher::DispatchRequest,_STL::allocator<desktop::DispatchWatcher::DispatchRequest>
> & aDispatchRequestsList={...})  Line 380 + 0x33 bytes	C++
 
soffice.bin!desktop::OfficeIPCThread::ExecuteCmdLineRequests(desktop::ProcessDocumentsRequest
& aRequest={...})  Line 882	C++
 
soffice.bin!desktop::ProcessEventsClass_Impl::ProcessDocumentsEvent(desktop::ProcessEventsClass_Impl
* __formal=0x00000000, void * pEvent=0x01dd44b8)  Line 170 + 0x8 bytes	C++
 	tl680mi.dll!Link::Call(void * pCaller=0x01dd44b8)  Line 158 + 0xe bytes	C++
 	vcl680mi.dll!ImplHandleUserEvent(ImplSVEvent * pSVEvent=0x00000000)  Line 2017	C++
 	vcl680mi.dll!ImplWindowFrameProc(void * pInst=0x01d59000, SalFrame *
__formal=0x01d5cfb8, unsigned short nEvent=22, const void * pEvent=0x01d43d60) 
Line 2522	C++
 	vcl680mi.dll!SalFrame::CallCallback(unsigned short nEvent=22, const void *
pEvent=0x01d43d60)  Line 311 + 0x16 bytes	C++
 	vcl680mi.dll!SalFrameWndProc(HWND__ * hWnd=0x00070456, unsigned int nMsg=1154,
unsigned int wParam=0, long lParam=30686560, int & rDef=1)  Line 5993 + 0x20
bytes	C++
 	vcl680mi.dll!SalFrameWndProcW(HWND__ * hWnd=0x00070456, unsigned int
nMsg=1154, unsigned int wParam=0, long lParam=30686560)  Line 6148 + 0x15 bytes	C++
 	user32.dll!7e418734() 	
 	user32.dll!7e418816() 	
 	user32.dll!7e4189cd() 	
 	user32.dll!7e419402() 	
 	user32.dll!7e418a10() 	
 	vcl680mi.dll!ImplDispatchMessage(const tagMSG * lpMsg=0x00eafccc)  Line 203	C++
 	vcl680mi.dll!ImplSalDispatchMessage(tagMSG * pMsg=0x00eafccc)  Line 723	C++
 	vcl680mi.dll!ImplSalYield(unsigned char bWait='', unsigned char
bHandleAllCurrentEvents=0)  Line 740 + 0x9 bytes	C++
 	vcl680mi.dll!WinSalInstance::Yield(bool bWait=true, bool
bHandleAllCurrentEvents=false)  Line 800	C++
 	vcl680mi.dll!Application::Yield(bool bAllEvents=false)  Line 558	C++
 	vcl680mi.dll!Application::Execute()  Line 516 + 0x7 bytes	C++
 	soffice.bin!desktop::Desktop::Main()  Line 1703	C++
 	vcl680mi.dll!ImplSVMain()  Line 263	C++
 	vcl680mi.dll!SVMain()  Line 304	C++
 	soffice.bin!sal_main_with_args(int __formal=15400896, int __formal=15400896) 
Line 84	C++
 	soffice.bin!WinMain(void * _hinst=0x00000000, void * _dummy=0x00052349, char *
_cmdline=0x00000001, int _nshow=2089872920)  Line 74 + 0x17 bytes	C++
 	soffice.bin!WinMainCRTStartup()  Line 390 + 0x1b bytes	C
 	kernel32.dll!7c816fd7() 	

The function "office_is_running()" try to open the pipe. Those code can be
usefull for an unopkg.exe ... but can be dangerous inside an soffice.exe
process. Please contact me for furthe rinformations on this topic.
Comment 5 andreas.schluens 2007-10-09 11:28:54 UTC
.
Comment 6 michael.ruess 2007-10-09 17:01:30 UTC
*** Issue 81983 has been marked as a duplicate of this issue. ***
Comment 7 joachim.lingner 2007-10-19 09:31:00 UTC
.
Comment 8 joachim.lingner 2007-10-19 16:38:47 UTC
.
Comment 9 joachim.lingner 2007-10-23 08:24:45 UTC
@jsk: Please verify.
Comment 10 joerg.skottke 2007-10-24 12:43:22 UTC
OK, verified with up to 60 documents - which can be done, provided you have
enough window handles left on your Windows box. Strange. The number of handles
limits the number of open windows on Windows which does not allow for too many
windows. But this is rather philosophical. X-)
Verified.
Comment 11 joerg.skottke 2007-11-29 14:23:46 UTC
Close
Comment 12 andypiziali 2007-11-29 14:41:51 UTC
How may I, the end user who reported this problem, verify it is fixed if the
version in which it is fixed--2.3.1--is not available from Help -> Check for
Updates ... ?
Comment 13 joerg.skottke 2007-11-30 12:54:35 UTC
Grab yourself a recent development snapshot and try it out.
BTW: We always prefer that the reporter verifies his issues as this is the only
way to make really sure that the fix works as expected.
Comment 14 andypiziali 2007-11-30 13:49:00 UTC
Fix confirmed on 2.3.1 RC1 in original environment with original .odt files.

Thanks!