Issue 100472 - crash loading master document
Summary: crash loading master document
Status: CLOSED DUPLICATE of issue 101239
Alias: None
Product: Writer
Classification: Application
Component: code (show other issues)
Version: OOO310m6
Hardware: All All
: P2 Trivial (vote)
Target Milestone: ---
Assignee: Oliver Specht
QA Contact: issues@sw
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-23 09:34 UTC by eric.savary
Modified: 2013-08-07 14:44 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description eric.savary 2009-03-23 09:34:51 UTC
Load master document attached to issue 100448.
-> 3.0.1: ok.
-> OOO310m6: crash
Comment 1 Oliver Specht 2009-04-16 10:23:35 UTC
Broken due to changes of cws aw063 

stack: 
 	svlmi.dll!SfxItemSet::GetItemState(unsigned short nWhich=3998, unsigned char
bSrchInParent='', const SfxPoolItem * * ppItem=0x0162b804)  Line 544 + 0x14
bytes	C++
 	svlmi.dll!SfxItemSet::Set(const SfxItemSet & rSet={...}, unsigned char
bDeep='')  Line 934 + 0x13 bytes	C++
>	svxmi.dll!ContentInfo::ContentInfo(const ContentInfo & rCopyFrom={...},
SfxItemPool & rPoolToUse={...})  Line 207	C++
 	svxmi.dll!BinTextObject::ObjectInDestruction(const SfxItemPool &
rSfxItemPool={...})  Line 591 + 0x2a bytes	C++
 	svlmi.dll!SfxItemPool::Free(SfxItemPool * pPool=0x11b9b620)  Line 418 + 0x10
bytes	C++
 	swmi.dll!SwDoc::~SwDoc()  Line 715 + 0x13 bytes	C++
 	swmi.dll!SwDoc::`vector deleting destructor'()  + 0x50 bytes	C++
 	swmi.dll!SwDocShell::RemoveLink()  Line 555 + 0x24 bytes	C++
 	swmi.dll!SwDocShell::~SwDocShell()  Line 453	C++
Comment 2 Armin Le Grand 2009-04-16 10:35:22 UTC
AW->OS: Not sure what i exactly need to do. Got the *.tar.gz and loaded both
*.odt without problem in a OOO310 m7. Please describe the exact way to the crash.
Comment 3 Oliver Specht 2009-04-16 12:37:05 UTC
->aw: You have to load the test.odm (which is the master document)
Comment 4 Armin Le Grand 2009-04-16 16:12:26 UTC
AW: Thanks, can reproduce the crash now. During load, SW is creating 4
SwAttrPools from which the 3rd is deleted quickly. For the 2nd and the 4th one,
BinTextObjects get created. The 4th one is destructed at the end of
SwDoc::~SwDoc() while still BinTextObjects using the pool exist.
Exactly for that scenario i created the protection for pools: The pool
destructors are protected, all deletions are changed to a Free() - call.
BinTextObjects register as a user at the pool they get destructed with, and thus
the Free() - call at the pool can tell all BinTextObjects that he gets
destructed. The BinTextObject::ObjectInDestruction reacts on that by creationg
an own pool and migrating it's data to it.

AW->OS: The crash happens since copying the items from the old pool fails. The
old pool (deleted at the end of SwDoc::~SwDoc()) looks corrupted, the SfxItems
which need to be accessed to copy them look bad. Which mechanisms in SW may have
corrupted that pool's content before it's deletion? I have no idea what happens
during master-document loading.
Comment 5 Armin Le Grand 2009-04-16 16:12:55 UTC
AW. OOps, forgot owner change...
Comment 6 stefan.baltzer 2009-04-21 16:28:16 UTC
SBA->OS. Please see also issue 101239.
Comment 7 Oliver Specht 2009-04-23 10:03:47 UTC
Duplicate of issue 101007, easier to investigate

*** This issue has been marked as a duplicate of 101007 ***
Comment 8 Oliver Specht 2009-04-23 10:05:30 UTC
Reopening, wrong duplicate to
Comment 9 Oliver Specht 2009-04-23 10:05:53 UTC
Duplicate of issue 101239

*** This issue has been marked as a duplicate of 101239 ***
Comment 10 Mechtilde 2009-07-12 18:10:27 UTC
duplicate -> closed