To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=104344
                 Issue #|104344
                 Summary|Crash with Impress, when creating an empty document in
                        |cluding transitions
               Component|Presentation
                 Version|DEV300m55
                Platform|Macintosh
                     URL|
              OS/Version|All
                  Status|NEW
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|DEFECT
                Priority|P3
            Subcomponent|code
             Assigned to|af
             Reported by|ericb





------- Additional comments from er...@openoffice.org Wed Aug 19 20:27:36 +0000 
2009 -------
Crash with Impress, when creating an empty document including transitions.

IMPORTANT : the timing is important.

Issue verified with upstream DEV300, on Linux, Mac OS X  and Windows


How to reproduce : 

1) From the start center, choose create an Impress document
2) Empty presentation (same issue with templates)
3) click on Next
4) click on Next 
5) Effet : choose Wheel Clockwise 4 Spokes (but other should cause the crash 
too)
6) Once the effect is choosen, the preview starts : wait for the end of the 
preview (the preview is 
enabled by defaut)
7) Just after the preview ends, click on "Create" EXACTLY between the moment 
the preview is finished, 
and before the background becomes grey 

-> crash, fully repeatable


Expected : a new Impress document with the previous transitions between slides.


Verified on Linux, Mac (Tiger Intel)  and Windows.


After tracing with Thomas (alias twarz), we finally think the cause of the 
crash is :

PresentationEnd msg comes by timer, and sd continues to work on an already-dead 
window.


The log : I catched the following trace (vcl, slideshow, sd, sfx2 libs have 
symbols included):


Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000129
0x0b395414 in Window::Show (this=0x31b15910, bVisible=0 '\000', nFlags=0) at 
/Users/ericb/Desktop/DEV300_m55/vcl/source/window/window.cxx:6375
6375        if ( mpWindowImpl->mbVisible == bVisible )
(gdb) bt
#0  0x0b395414 in Window::Show (this=0x31b15910, bVisible=0 '\000', nFlags=0) 
at 
/Users/ericb/Desktop/DEV300_m55/vcl/source/window/window.cxx:6375
#1  0x32980ba8 in Window::Hide (this=0x31b15910, nFlags=0) at 
/Users/ericb/Desktop/DEV300_m55/solver/300/unxmacxi.pro/inc/vcl/window.hxx:747
#2  0x32922b98 in sd::SlideshowImpl::disposing (this=0x282a18ec) at 
/Users/ericb/Desktop/DEV300_m55/sd/source/ui/slideshow/slideshowimpl.cxx:660
#3  0x01014e89 in cppu::WeakComponentImplHelperBase::dispose (this=0x282a18ec) 
at 
/Users/ericb/Desktop/DEV300_m55/cppuhelper/source/implbase.cxx:283
#4  0x32a6c5bd in 
cppu::WeakComponentImplHelper2<com::sun::star::presentation::XSlideShowController,
 
com::sun::star::container::XIndexAccess>::dispose (this=0x282a18ec) at 
/Users/ericb/Desktop/DEV300_m55/solver/300/unxmacxi.pro/inc/cppuhelper/compbase2.hxx:81
#5  0x32916e42 in sd::SlideShow::end (this=0x315f5e34) at 
/Users/ericb/Desktop/DEV300_m55/sd/source/ui/slideshow/slideshow.cxx:719
#6  0x3291eefc in sd::SlideshowImpl::endPresentationHdl (this=0x282a18ec) at 
/Users/ericb/Desktop/DEV300_m55/sd/source/ui/slideshow/slideshowimpl.cxx:1425
#7  0x3291ef1c in sd::SlideshowImpl::LinkStubendPresentationHdl 
(pThis=0x282a18ec, pCaller=0x0) 
at /Users/ericb/Desktop/DEV300_m55/sd/source/ui/slideshow/slideshowimpl.cxx:1420
#8  0x0b48915f in Link::Call (this=0x31b13680, pCaller=0x0) at 
/Users/ericb/Desktop/DEV300_m55/solver/300/unxmacxi.pro/inc/tools/link.hxx:142
#9  0x0b3a18a4 in ImplHandleUserEvent (pSVEvent=0x31b0dcd0) at 
/Users/ericb/Desktop/DEV300_m55/vcl/source/window/winproc.cxx:2000
#10 0x0b3a4577 in ImplWindowFrameProc (pWindow=0x2c36a750, nEvent=22, 
pEvent=0x31b0dcd0) 
at /Users/ericb/Desktop/DEV300_m55/vcl/source/window/winproc.cxx:2572
#11 0x0b57b923 in SalFrame::CallCallback (this=0x2c36a9c0, nEvent=22, 
pEvent=0x31b0dcd0) at 
../../../inc/vcl/salframe.hxx:286
#12 0x0b465705 in AquaSalInstance::Yield (this=0x12d44e00, bWait=true, 
bHandleAllCurrentEvents=false) at 
/Users/ericb/Desktop/DEV300_m55/vcl/aqua/source/app/salinst.cxx:707
#13 0x0b1d4423 in Application::Yield (bAllEvents=false) at 
/Users/ericb/Desktop/DEV300_m55/vcl/source/app/svapp.cxx:502
#14 0x0b1d447a in Application::Execute () at 
/Users/ericb/Desktop/DEV300_m55/vcl/source/app/svapp.cxx:461
#15 0x0008aa13 in dyld_stub_rtl_ustr_ascii_compare_WithLength ()
#16 0x0b1da8f2 in ImplSVMain () at 
/Users/ericb/Desktop/DEV300_m55/vcl/source/app/svmain.cxx:186
#17 0x0b464bb5 in AquaSalInstance::handleAppDefinedEvent (pEvent=0x12d49a10) at 
/Users/ericb/Desktop/DEV300_m55/vcl/aqua/source/app/salinst.cxx:578
#18 0x0b4676ed in -[VCL_NSApplication sendEvent:] (self=0x12d2aae0, 
_cmd=0x90ac44c4, 
pEvent=0x12d49a10) at vclnsapp.mm:65
#19 0x9328ee1e in -[NSApplication run] ()
#20 0x93282d4f in NSApplicationMain ()
#21 0x0b46295b in ImplSVMainHook (pbInit=0xbffff66f "") at 
/Users/ericb/Desktop/DEV300_m55/vcl/aqua/source/app/salinst.cxx:233
#22 0x0b1daa6f in SVMain () at 
/Users/ericb/Desktop/DEV300_m55/vcl/source/app/svmain.cxx:224
#23 0x000b66ec in soffice_main ()
#24 0x00002b76 in main ()
Current language:  auto; currently objective-c++
Warning: the current language does not match this frame.

IMPORTANT: 

The cause of the crash was hidden, because several null pointers, and the to be 
able to retrieve the 
exact reason, we patched at several places;like in 

Index: slideshow/source/engine/eventmultiplexer.cxx
===============================================================
====
--- slideshow/source/engine/eventmultiplexer.cxx        (revision 275030)
+++ slideshow/source/engine/eventmultiplexer.cxx        (working copy)
@@ -448,8 +448,9 @@
         for( UnoViewVector::const_iterator aIter( mrViewContainer.begin() ),
                  aEnd( mrViewContainer.end() ); aIter != aEnd; ++aIter ) 
         {
-            ((*aIter)->getUnoView().get()->*pViewMethod)( mxListener.get() );
-        }
+           if ( (*aIter)->getUnoView().get() )
+               ((*aIter)->getUnoView().get()->*pViewMethod)( mxListener.get() 
);
+       }
     }
 }

and 
Index: sd/source/ui/dlg/dlgass.cxx
===============================================================
====
--- sd/source/ui/dlg/dlgass.cxx (revision 275030)
+++ sd/source/ui/dlg/dlgass.cxx (working copy)
@@ -779,6 +779,7 @@
 
 void AssistentDlgImpl::EndDialog( long )
 {
+    if ( mpWindow )
        mpWindow = NULL;
 }
 

Hopes this will help :-)

---------------------------------------------------------------------
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: issues-unsubscr...@graphics.openoffice.org
For additional commands, e-mail: issues-h...@graphics.openoffice.org


---------------------------------------------------------------------
To unsubscribe, e-mail: allbugs-unsubscr...@openoffice.org
For additional commands, e-mail: allbugs-h...@openoffice.org

Reply via email to