Issue 57206 - Office crashes opening 5.2 impress document with embedded draw.
Summary: Office crashes opening 5.2 impress document with embedded draw.
Status: CLOSED DUPLICATE of issue 55625
Alias: None
Product: Draw
Classification: Application
Component: code (show other issues)
Version: 680m135
Hardware: All All
: P2 Trivial (vote)
Target Milestone: AOO Later
Assignee: mikhail.voytenko
QA Contact: issues@graphics
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-11-02 14:10 UTC by mikhail.voytenko
Modified: 2006-02-16 11:36 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
The document that let the office crash. (53.00 KB, application/vnd.stardivision.impress)
2005-11-02 14:13 UTC, mikhail.voytenko
no flags Details
the crash with debug info that I have retrieved using my cws build (7.01 KB, text/plain)
2005-11-02 14:20 UTC, mikhail.voytenko
no flags Details

Note You need to log in before you can comment on or make changes to this issue.
Description mikhail.voytenko 2005-11-02 14:10:38 UTC
Please try to open the attached document, the office crashes in
SdrObject::IsMasterPageBackgroundObject() method.
Comment 1 mikhail.voytenko 2005-11-02 14:13:21 UTC
Created attachment 31113 [details]
The document that let the office crash.
Comment 2 mikhail.voytenko 2005-11-02 14:20:26 UTC
Created attachment 31114 [details]
the crash with debug info that I have retrieved using my cws build
Comment 3 mikhail.voytenko 2005-11-02 14:29:36 UTC
There is an assertion just before the crash:
"MasterPageDescriptor::GetBackgroundObject(): MasterPageBackgroundObject missing
(!)"
The crash happens because the "pRetval" pointer retrived in the next line is NULL.
Comment 4 Armin Le Grand 2005-11-03 10:56:27 UTC
AW: Indeed, this happens. Reason is (again...) MasterPageBackgroundObject. It's
missing on a masterpage. Asked CL, this should not happen. Investigating how
that may happen.
AW: For test: added code to ignore count of zero objects in
MasterPageDescriptor::GetBackgroundObject, now doc is loaded correctly.
AW: For test: Added code to see who is removing object zero from MasterPage.
Investigating...
Comment 5 Armin Le Grand 2005-11-03 11:31:58 UTC
AW: Okay, here is the interesting stack:
>	svx680mi.dll!sdr::MasterPageDescriptor::GetBackgroundObject()  Line 164	C++
 
svx680mi.dll!sdr::contact::ViewContactOfMasterPageDescriptor::PaintObject(sdr::contact::DisplayInfo
& rDisplayInfo={...}, Rectangle & rPaintRectangle={...}, const
sdr::contact::ViewObjectContact & rAssociatedVOC={...})  Line 590 + 0x11	C++
 
svx680mi.dll!sdr::contact::ViewObjectContact::PaintObject(sdr::contact::DisplayInfo
& rDisplayInfo={...})  Line 288 + 0x26	C++
 	sd680mi.dll!sd::ViewRedirector::PaintObject(sdr::contact::ViewObjectContact &
rOriginal={...}, sdr::contact::DisplayInfo & rDisplayInfo={...})  Line 455	C++
 
svx680mi.dll!sdr::contact::ViewObjectContact::PaintObjectHierarchy(sdr::contact::DisplayInfo
& rDisplayInfo={...})  Line 369	C++
 
svx680mi.dll!sdr::contact::ViewObjectContact::PaintDrawHierarchy(sdr::contact::DisplayInfo
& rDisplayInfo={...})  Line 327	C++
 
svx680mi.dll!sdr::contact::ViewObjectContact::PaintObjectHierarchy(sdr::contact::DisplayInfo
& rDisplayInfo={...})  Line 379	C++
 
svx680mi.dll!sdr::contact::ObjectContactOfPageView::DoProcessDisplay(sdr::contact::DisplayInfo
& rDisplayInfo={...})  Line 547	C++
 
svx680mi.dll!sdr::contact::ObjectContactOfPageView::ProcessDisplay(sdr::contact::DisplayInfo
& rDisplayInfo={...})  Line 426	C++
 	svx680mi.dll!SdrPageViewWindow::Redraw(const Region & rReg={...}, unsigned
short nPaintMode=0, const unsigned char * pId=0x00000000,
sdr::contact::ViewObjectContactRedirector * pRedirector=0x00eadccc)  Line 836	C++
 	svx680mi.dll!SdrPageView::CompleteRedraw(OutputDevice *
pGivenTarget=0x00eadf4c, const Region & rReg={...}, unsigned short nPaintMode=0,
sdr::contact::ViewObjectContactRedirector * pRedirector=0x00eadccc)  Line 1380	C++
 	svx680mi.dll!SdrPaintView::CompleteRedraw(OutputDevice * pOut=0x00eadf4c,
const Region & rReg={...}, unsigned short nPaintMode=0,
sdr::contact::ViewObjectContactRedirector * pRedirector=0x00eadccc)  Line 1147	C++
 	sd680mi.dll!sd::View::CompleteRedraw(OutputDevice * pOutDev=0x00eadf4c, const
Region & rReg={...}, sdr::contact::ViewObjectContactRedirector *
pRedirector=0x00000000)  Line 483	C++
 	sd680mi.dll!sd::DrawView::CompleteRedraw(OutputDevice * pOutDev=0x00eadf4c,
const Region & rReg={...}, sdr::contact::ViewObjectContactRedirector *
pRedirector=0x00000000)  Line 670	C++
 	sd680mi.dll!sd::ClientView::CompleteRedraw(OutputDevice * pOutDev=0x00eadf4c,
const Region & rReg={...})  Line 119	C++
 	sd680mi.dll!sd::DrawDocShell::Draw(OutputDevice * pOut=0x00eadf4c, const
JobSetup & rSetup={...}, unsigned short nAspect=1)  Line 165	C++
 	sfx680mi.dll!03b27522() 	
 	sfx680mi.dll!03b276f0() 	
 	sfx680mi.dll!03b1d910() 	
 	sfx680mi.dll!03a96b4a() 	
 	embobj.dll!65f86c1a() 	
 	svt680mi.dll!svt::EmbeddedObjectRef::GetGraphicReplacementStream(__int64
nViewAspect=1, const
com::sun::star::uno::Reference<com::sun::star::embed::XEmbeddedObject> &
xObj={...}, rtl::OUString * pMediaType=0x091c49a8)  Line 662 + 0x26	C++
 	svt680mi.dll!svt::EmbeddedObjectRef::GetGraphicStream(unsigned char
bUpdate='')  Line 474 + 0x2f	C++
 	svt680mi.dll!svt::EmbeddedObjectRef::GetReplacement(unsigned char bUpdate='')
 Line 417 + 0xc	C++
 	svt680mi.dll!svt::EmbedEventListener_Impl::modified(const
com::sun::star::lang::EventObject & aEvent={...})  Line 184	C++
 	sfx680mi.dll!03a9382b() 	
 	sfx680mi.dll!03a9a943() 	
 	sd680mi.dll!SdXImpressDocument::Notify(SfxBroadcaster & rBC={...}, const
SfxHint & rHint={...})  Line 546	C++
 	svl680mi.dll!SfxBroadcaster::Broadcast(const SfxHint & rHint={...})  Line 80	C++
 	sd680mi.dll!sd::DrawDocShell::SetModified(unsigned char bSet='')  Line 637
+ 0x28	C++
 	sd680mi.dll!SdDrawDocument::SetChanged(unsigned char bFlag='')  Line 690	C++
 	svx680mi.dll!SdrPage::SetChanged()  Line 1404	C++
 	svx680mi.dll!SdrPage::SetSize(const Size & aSiz={...})  Line 1270	C++
 	sd680mi.dll!SdPage::SetSize(const Size & aSize={...})  Line 2157	C++
 	sd680mi.dll!SdDrawDocument::CreateFirstPages()  Line 899	C++
 	sd680mi.dll!SdXImpressDocument::initializeDocument()  Line 2165	C++
 	sd680mi.dll!SdXImpressDocument::getMasterPages()  Line 861	C++
 	xo680mi.dll!605bc3ab() 	
 	xo680mi.dll!605dcbf2() 	

AW: As can be seen, the doc init SdDrawDocument::CreateFirstPages() triggers a
broadcast which, because it's an OLE, triggers a repaint of the model which is
currently loaded and not yet complete.

AW->MAV: CL told me this is double to #i55625#, fixed in m136. He also told me
that he and you agreed on a follow-up bug for not repainting OLE contents during
load time. This bug is one more argument for that follow-up bug.
AW: Quickly checing m137 if the problem is fixed there...Okay, it is.
Comment 6 mikhail.voytenko 2005-11-03 11:44:57 UTC
Indeed, it is a duplicate.

*** This issue has been marked as a duplicate of 55625 ***
Comment 7 mikhail.voytenko 2005-11-03 11:45:23 UTC
Closing.
Comment 8 Mathias_Bauer 2006-02-16 11:36:05 UTC
.