Created attachment 55957 [details] strace logs Insert *.avi file (or any other) and push F5 button. Log from console: quest@quest-desktop:/opt/libreoffice3.5/program$ strace -o /tmp/strace.log -f -tt -s 512 /opt/libreoffice3.5/program/soffice The program 'soffice' received an X Window System error. This probably reflects a bug in the program. The error was 'BadAlloc (insufficient resources for operation)'. (Details: serial 88 error_code 11 request_code 132 minor_code 19) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.) I also attached log from strace. I work with Ubuntu 10.04.3 LTS.
I do not reproduce the crash. What is the size of your video? Did you tried with a smaller video file? Tested with LO 3.5.0 rc1+ under Ubuntu 11.10 x86_64 Best regards. JBF
Weight this file is 126 MB. I tried with smaller files but that what was letter was so weird. After embedded first file, Impress show dark-gray field with question mark and I can play this video inside Impress (but not as slideshow). If I insert other, smaller file (or bigger file, also avi)*, Impress show field with audio icons and only audio plays. And it's work well also in slideshow mode, but where is video? Maybe this will give a clue if I said that first avi file is rough file straight from video camera. *mostly riped from YouTube or movies, I have mkv files yet, but Impress doesn't recognize it
Created attachment 58489 [details] example odg just containing a linked mpg
I can confirm permanent crashes with linked videos/mpg in IMPRESS LibO 3.5.0RC3, LOdev3.5.2RC-nightlyBuild20120312 on WindowsXpSP3 AND LibO 3.5.0RC3 on Windows7Pro-64bit Just open a new odg and insert any mpg-file via "Insert / Movie and sound". or download "example_presentation.odg" together with "impress_crashes_with_linked_videos.mpg" and give it the correct file-link.
Created attachment 58490 [details] little example mpg
*** Bug 44011 has been marked as a duplicate of this bug. ***
[Reproducible] with "LibreOffice 3.5.1.2 German UI/Locale [Build-ID: dc9775d-05ecbee-0851ad3-1586698-727bf66] on German WIN7 Home Premium (64bit) Steps to reproduce: 1. Open "sample.odp" from attached test kit 2. Start presentation with <f9> > slide show starts as expected and will reach third slide Epected: small movie will be shown Actual: Crash Very old problem, already [Reproducible] with Server installation of Master "LibO-dev 3.4.5 – WIN7 Home Premium (64bit) English UI [(Build ID:d337f79-a24c961-2865670-9752b71-7f8fd43 2fdd60d-fd28b6a-fd7bf20-aa369cb-28da3fb 6a9633a-931d089-ecd263f-c9b55e9-b31b807 82ff335-599f7e9-bc6a545-1926fdf)]" Works fine with 3.4.5, so REGRESSION @Radek Please set Status to ASSIGNED and add yourself to "Assigned To" if you accept this Bug
Created attachment 58637 [details] Test Kit See Comment 7
*** Bug 47372 has been marked as a duplicate of this bug. ***
*** Bug 46091 has been marked as a duplicate of this bug. ***
Sorry, no crash for me under Ubuntu 11.10 x86_64 with LO 3.5.1, LO 3.5.2 rc0+ (Version ID : 5cffa17-a73d29c-73cb0b8-f269e46-686380c) and master (LibreOffice 3.6.0alpha0+ Build ID: 08ba87c-49d3d39-e67b1bf-879ce36-638d9c). MS-Windows only problem ? Best regards. JBF
Modify OS for now. DUPs also only WIN, Bug 44011 with comment "Not reproducible with Linux", so indeed seems WIN only.
*** Bug 47550 has been marked as a duplicate of this bug. ***
Can you re-run with symbols under gdb and get a stack trace ? First you should export SAL_SYNCHRONIZE=1 which should do what it is saying in that trace :-) The hopefully we'll be able to get into it more quickly. And of course a nice self contained test with a tiny embedded file (you can do that in 3.5) would be even sexier; thanks ! :-)
I think the Version field should be "LibO 3.5.0 Release", not the "LibO Master". Rainer, are you intended to change it to "LibO Master" on 2012-03-18?
*** Bug 48126 has been marked as a duplicate of this bug. ***
(In reply to comment #12) > Modify OS for now. > > DUPs also only WIN, Bug 44011 with comment "Not reproducible with Linux", so > indeed seems WIN only. For the sake of completeness: The bug is NOT reproducible on MacOS X 10.6.8 with LibreOffice 3.5.2.2 (Build-ID: 281b639-6baa1d3-ef66a77-d866f25-f36d45f) and the Test kit by Rainer Bielefeld (see comment #7). So this bug is really a Windows-only problem.
(In reply to comment #15) > I think the Version field should be "LibO 3.5.0 Release", not the "LibO > Master". > Rainer, are you intended to change it to "LibO Master" on 2012-03-18? I think you are right, has never been set fixed for 3.5.0. Version set back to 3.5.0 Release. Best regards. JBF
(In reply to comment #15) > I think the Version field should be "LibO 3.5.0 Release", What would mean it still worked in 3.5.0 RC2? No! Please see Comment 7 and <http://wiki.documentfoundation.org/BugReport_Details#Version> But may be we will have to think about a little more specified Master information, because for very old Bugs in future a simple "Master" information is rather valueless. I will start a thread on LibO-QA for that to find a solution how to improve information from Version picker @Michael Meeks: I would try to contribute requested information (Comment 14) if I would understand your hints. Can you help a simple user?
(In reply to comment #19) > (In reply to comment #15) > > I think the Version field should be "LibO 3.5.0 Release", > > What would mean it still worked in 3.5.0 RC2? No! I do not think so, it means only that the problem has been detected first in LO 3.5.0, not that it worked before. If you change the version number to master it will be interpreted as "the bug has been fixed in branch 3.5 only but not in master", which is false. Best regards. JBF
Hi, I have win7 home premium edition (64bit) with an Dell i7 and 8 GB of memory. I have tested with installed 3.5.1 and 3.5.2 Version Open a new impressfile insert a video and klick F5 impress crashes. With the installed version of 3.4.6 libreoffice shows the video. Any solution out there?
Hi, LO also crashes with sound files (tested with mp3 and wav files). LO 3.5.1.2 under Win 7 SP1 32 bits. Bernard Ribot
(In reply to comment #20) > I do not think so, it means only that the problem has been detected first in LO > 3.5.0, not that it worked before. Even more: the last I understood is, that the version field shows the first version in which the bug is known. Pls correct me if I'm wrong, Rainer.
Hi, On this bug was a lot discusion about how to handle the bug, but I am missing if there is anybodz really working to fix this bug. For me it is hard to use impress if it is imposible to handle videos. Thanks for helping.
*** Bug 48963 has been marked as a duplicate of this bug. ***
*** Bug 49585 has been marked as a duplicate of this bug. ***
This bug always exists in version 3.5.3.2
Please, don't change version number. It indicates the oldest version in which the bug has been found.
Reproduces nicely under Windows XP, embarrassingly bad - for sure. Stack trace shows a NULL pointer de-reference in vcllo.dll - I guess I need to get a bug symbols build going under windows to get closer to it. Incidentally - getting a stack trace on windows often makes it -insanely- easier to quickly fix these bugs by pure code reading, and requires little skill :-)
Stack trace from fresh master build: vcllo.dll!SystemChildWindow::GetParentWindowHandle(unsigned char bUseJava=0) Line 245 + 0x8 bytes C++ slideshow.uno.dll!slideshow::internal::ViewMediaShape::implInitializeVCLBasedPlayerWindow(const basegfx::B2DRange & rBounds={...}, const com::sun::star::uno::Sequence<com::sun::star::uno::Any> & rVCLDeviceParams=0x00e3f424 {size=2}) Line 465 + 0x18 bytes C++ slideshow.uno.dll!slideshow::internal::ViewMediaShape::implInitialize(const basegfx::B2DRange & rBounds={...}) Line 321 C++ slideshow.uno.dll!slideshow::internal::ViewMediaShape::startMedia() Line 134 C++ slideshow.uno.dll!boost::_mfi::mf0<bool,slideshow::internal::ViewMediaShape>::call<boost::shared_ptr<slideshow::internal::ViewMediaShape> >(boost::shared_ptr<slideshow::internal::ViewMediaShape> & u={...}, const void * __formal=0x00000000) Line 41 C++ slideshow.uno.dll!boost::_mfi::mf0<bool,slideshow::internal::ViewMediaShape>::operator()<boost::shared_ptr<slideshow::internal::ViewMediaShape> >(boost::shared_ptr<slideshow::internal::ViewMediaShape> & u={...}) Line 56 C++ slideshow.uno.dll!std::for_each<std::_Vector_iterator<boost::shared_ptr<slideshow::internal::ViewMediaShape>,std::allocator<boost::shared_ptr<slideshow::internal::ViewMediaShape> > >,boost::_mfi::mf0<bool,slideshow::internal::ViewMediaShape> >(std::_Vector_iterator<boost::shared_ptr<slideshow::internal::ViewMediaShape>,std::allocator<boost::shared_ptr<slideshow::internal::ViewMediaShape> > > _First={px=0x0ead9380 pn={...} }, std::_Vector_iterator<boost::shared_ptr<slideshow::internal::ViewMediaShape>,std::allocator<boost::shared_ptr<slideshow::internal::ViewMediaShape> > > _Last={px=0x0eae8e90 pn={...} }, boost::_mfi::mf0<bool,slideshow::internal::ViewMediaShape> _Func={...}) Line 29 + 0xc bytes C++ slideshow.uno.dll!slideshow::internal::MediaShape::implStartIntrinsicAnimation() Line 232 + 0x5e bytes C++ slideshow.uno.dll!slideshow::internal::ExternalShapeBase::ExternalShapeBaseListener::enableAnimations() Line 86 C++ slideshow.uno.dll!boost::_mfi::mf0<bool,slideshow::internal::IntrinsicAnimationEventHandler>::call<boost::shared_ptr<slideshow::internal::IntrinsicAnimationEventHandler> const >(const boost::shared_ptr<slideshow::internal::IntrinsicAnimationEventHandler> & u={...}, const void * __formal=0x00000000) Line 41 C++ slideshow.uno.dll!boost::_mfi::mf0<bool,slideshow::internal::IntrinsicAnimationEventHandler>::operator()<boost::shared_ptr<slideshow::internal::IntrinsicAnimationEventHandler> >(const boost::shared_ptr<slideshow::internal::IntrinsicAnimationEventHandler> & u={...}) Line 64 C++ slideshow.uno.dll!slideshow::internal::FunctionApply<bool,boost::shared_ptr<slideshow::internal::IntrinsicAnimationEventHandler> >::apply<boost::_mfi::mf0<bool,slideshow::internal::IntrinsicAnimationEventHandler> >(boost::_mfi::mf0<bool,slideshow::internal::IntrinsicAnimationEventHandler> func={...}, const boost::shared_ptr<slideshow::internal::IntrinsicAnimationEventHandler> & rArg={...}) Line 81 C++ slideshow.uno.dll!slideshow::internal::ListenerOperations<boost::shared_ptr<slideshow::internal::IntrinsicAnimationEventHandler> >::notifyAllListeners<std::vector<boost::shared_ptr<slideshow::internal::IntrinsicAnimationEventHandler>,std::allocator<boost::shared_ptr<slideshow::internal::IntrinsicAnimationEventHandler> > > const ,boost::_mfi::mf0<bool,slideshow::internal::IntrinsicAnimationEventHandler> >(const std::vector<boost::shared_ptr<slideshow::internal::IntrinsicAnimationEventHandler>,std::allocator<boost::shared_ptr<slideshow::internal::IntrinsicAnimationEventHandler> > > & rContainer=[1]({px=0x0eaad884 pn={...} }), boost::_mfi::mf0<bool,slideshow::internal::IntrinsicAnimationEventHandler> func={...}) Line 128 + 0x12 bytes C++ slideshow.uno.dll!slideshow::internal::ListenerContainerBase<boost::shared_ptr<slideshow::internal::IntrinsicAnimationEventHandler>,slideshow::internal::EmptyBase,std::vector<boost::shared_ptr<slideshow::internal::IntrinsicAnimationEventHandler>,std::allocator<boost::shared_ptr<slideshow::internal::IntrinsicAnimationEventHandler> > >,16>::applyAll<boost::_mfi::mf0<bool,slideshow::internal::IntrinsicAnimationEventHandler> >(boost::_mfi::mf0<bool,slideshow::internal::IntrinsicAnimationEventHandler> func={...}) Line 264 + 0xd bytes C++ slideshow.uno.dll!slideshow::internal::ShapeManagerImpl::notifyIntrinsicAnimationsEnabled() Line 451 C++ slideshow.uno.dll!slideshow::internal::`anonymous namespace'::SlideImpl::startIntrinsicAnimations() Line 962 C++ slideshow.uno.dll!slideshow::internal::`anonymous namespace'::SlideImpl::show(bool bSlideBackgoundPainted=true) Line 549 C++ slideshow.uno.dll!`anonymous namespace'::SlideShowImpl::notifySlideTransitionEnded(bool bPaintSlide=false) Line 2156 C++ slideshow.uno.dll!boost::_mfi::mf1<void,`anonymous namespace'::SlideShowImpl,bool>::operator()(`anonymous-namespace'::SlideShowImpl * p=0x0f17dc08, bool a1=false) Line 166 C++ slideshow.uno.dll!boost::_bi::list2<boost::_bi::value<`anonymous namespace'::SlideShowImpl *>,boost::_bi::value<bool> >::operator()<boost::_mfi::mf1<void,`anonymous namespace'::SlideShowImpl,bool>,boost::_bi::list0>(boost::_bi::type<void> __formal={...}, boost::_mfi::mf1<void,`anonymous namespace'::SlideShowImpl,bool> & f={...}, boost::_bi::list0 & a={...}, boost::_bi::type<void> __formal={...}) Line 314 C++ slideshow.uno.dll!boost::_bi::bind_t<void,boost::_mfi::mf1<void,`anonymous namespace'::SlideShowImpl,bool>,boost::_bi::list2<boost::_bi::value<`anonymous namespace'::SlideShowImpl *>,boost::_bi::value<bool> > >::operator()() Line 21 C++ slideshow.uno.dll!boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void,boost::_mfi::mf1<void,`anonymous namespace'::SlideShowImpl,bool>,boost::_bi::list2<boost::_bi::value<`anonymous namespace'::SlideShowImpl *>,boost::_bi::value<bool> > >,void>::invoke(boost::detail::function::function_buffer & function_obj_ptr={...}) Line 154 C++ slideshow.uno.dll!boost::function0<void>::operator()() Line 1013 + 0x14 bytes C++ slideshow.uno.dll!slideshow::internal::Delay::fire() Line 42 C++ slideshow.uno.dll!slideshow::internal::EventQueue::process_(bool bFireAllEvents=false) Line 250 C++ slideshow.uno.dll!slideshow::internal::EventQueue::process() Line 183 C++ slideshow.uno.dll!`anonymous namespace'::SlideShowImpl::update(double & nNextTimeout=0.00000000000000000) Line 2022 C++ sdlo.dll!sd::SlideshowImpl::updateSlideShow() Line 1889 + 0x21 bytes C++ sdlo.dll!sd::SlideshowImpl::PostYieldListener(void * __formal=0x00000000) Line 1864 + 0x8 bytes C++ sdlo.dll!sd::SlideshowImpl::LinkStubPostYieldListener(void * pThis=0x0fe91a88, void * pCaller=0x00000000) Line 1852 + 0xf bytes C++ tllo.dll!Link::Call(void * pCaller=0x00000000) Line 143 + 0x1b bytes C++ vcllo.dll!VclEventListeners2::callListeners(VclSimpleEvent * i_pEvent=0x00000000) Line 159 C++ vcllo.dll!ImplYield(bool i_bWait=true, bool i_bAllEvents=false) Line 472 C++ vcllo.dll!Application::Yield(bool i_bAllEvents=false) Line 485 + 0xc bytes C++ vcllo.dll!Application::Execute() Line 430 + 0x7 bytes C++ sofficeapp.dll!desktop::Desktop::Main() Line 1809 C++ vcllo.dll!ImplSVMain() Line 183 + 0x15 bytes C++ vcllo.dll!SVMain() Line 221 C++ sofficeapp.dll!soffice_main() Line 79 + 0x5 bytes C++ soffice.bin!sal_main() Line 35 C soffice.bin!main(int argc=2, char * * argv=0x049f5fa0) Line 33 + 0x1a bytes C soffice.bin!WinMain(void * _hinst=0x00400000, void * _dummy=0x00000000, char * _cmdline=0x0005233b, int _nshow=1) Line 33 + 0x28 bytes C soffice.bin!__tmainCRTStartup() Line 578 + 0x1d bytes C
The immediate cause for the crash is pretty clear, GetSystemData() returns NULL and then the code in SystemChildWindow::GetParentWindowHandle() (vcl/source/window/syschild.cxx) tries to dereference that. But what causes it to return NULL, whether that is a legal situation that just needs to be handled in the caller, or whether it should never return NULL, no idea.
And the reason GetSystemData() returns NULL is that mpSysObj is NULL. mpSysObj is set in SystemChildWindow::ImplInitSysChild(), which calls ImplGetSVData()->mpDefInst->CreateObject() which eventually (through a SendMessage() tour into user32.dll and then callback to the window procedure) ends up in ImplSalCreateObject() in vcl/win/source/window/salobj.cxx. There then the call to CreateWindowExA() on line 587 fails (returning NULL). This causes it to return NULL, which gets returned back through the call stack and assigned to mpSysObj. Will add some debugging printout of the reason why the CreateWindowExA() fails.
The error code from the failed CreateWindowExA() corresponds to the "window class not found" message (translated from the Swedish message by Swedish XP shows, dunno what the exact message in English is). The CreateWindowEx() call uses the window class name SAL_OBJECT_CHILDCLASSNAMEA, but that window class is not registered anywhere. That code was accidentally removed in commit cda4a293608514783d38d470799cfbf97b245cc6 in almost a year ago, it seems...
Tor Lillqvist committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=44e52d6698742edc8295bdcb7ad06ff370e5e6a6 fdo#45081: We never registered the SAL_OBJECT_CHILDCLASSNAMEA window class
Norbert Thiebaud committed a patch related to this issue. It has been pushed to "libreoffice-3-5": http://cgit.freedesktop.org/libreoffice/core/commit/?id=0a2f81a35d338c8e2d2da55df3fb221fa1de5bba&g=libreoffice-3-5 fdo#45081: We never registered the SAL_OBJECT_CHILDCLASSNAMEA window class It will be available in LibreOffice 3.5.4.
Thanks Tor ! :-) nice work.
*** Bug 49545 has been marked as a duplicate of this bug. ***
*** Bug 50157 has been marked as a duplicate of this bug. ***
*** Bug 48929 has been marked as a duplicate of this bug. ***
Hi, I proceeded some tests with Libo 3.5.4.1 under Win 7 SP1 32 bits and here are the results : - insert a mpg or avi video file : ok; - insert a mp4 video file : message "unsupported format", although this format appears in the list of file types supported (in Insert > Video or sound); - insert a mp3 or wav audio file : ok. But any of the files created in pps format is readable with the MS Powerpoint Viewer (2007). Best regards, Bernard