Bug 122272 - FILEOPEN ODT Hang when opening file
Summary: FILEOPEN ODT Hang when opening file
Status: RESOLVED WORKSFORME
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
6.0.0.0.alpha0+
Hardware: All All
: high major
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: bibisected, bisected, regression
Depends on:
Blocks: File-Opening
  Show dependency treegraph
 
Reported: 2018-12-21 17:36 UTC by Buovjaga
Modified: 2019-05-22 12:03 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Buovjaga 2018-12-21 17:36:17 UTC
1. Open attachment 147292 [details] from bug 92372
2. Respond to macro dialog
3. Try to scroll down

Bibisect with win32-6.0 points to https://gerrit.libreoffice.org/plugins/gitiles/core/+/e4e4d5713e248f02faf7aa6199b11e152973de8e%5E!/

clang-tidy readability-delete-null-pointer

which in turn triggered some loplugin:useuniqueptr

The blamed commit causes crash upon fileopen. Later it becomes a hang.

Adding Cc: to Noel Grandin

Reporter from bug 92372 used Linux.
Comment 1 Telesto 2018-12-22 14:47:13 UTC
Repro
Version: 6.3.0.0.alpha0+
Build ID: beae6c7a7f163daad0d4dea63a3d403af2745fd1
CPU threads: 4; OS: Windows 6.3; UI render: default; VCL: win; 
TinderBox: Win-x86@42, Branch:master, Time: 2018-12-06_23:55:16
Locale: en-US (nl_NL); UI-Language: en-US
Calc: CL
Comment 2 Noel Grandin 2019-01-15 05:53:07 UTC
Are you sure about that bisect?

Because both my commit and the immediately preceding commit are causing the same crash, something like:

#0  0x00007fffeae7674a in FT_Glyph_Get_CBox () at /lib64/libfreetype.so.6
#1  0x00007ffff15a1fe7 in FreetypeFont::InitGlyphData(GlyphItem const&, GlyphData&) const (this=0x5e1fda0, rGlyph=..., rGD=...)
    at /media/noel/disk2/libo6/vcl/unx/generic/glyphs/freetype_glyphcache.cxx:651
#2  0x00007ffff15abf0e in FreetypeFont::GetGlyphBoundRect(GlyphItem const&) (this=0x5e1fda0, rGlyph=...) at /media/noel/disk2/libo6/vcl/unx/generic/glyphs/glyphcache.cxx:329
#3  0x00007ffff159856e in CairoTextRender::GetGlyphBoundRect(GlyphItem const&, tools::Rectangle&) (this=0x4925400, rGlyph=..., rRect=...)
    at /media/noel/disk2/libo6/vcl/unx/generic/gdi/cairotextrender.cxx:438
#4  0x00007ffff1596783 in SvpSalGraphics::GetGlyphBoundRect(GlyphItem const&, tools::Rectangle&) (this=0x4925390, rGlyph=..., rRect=...)
    at /media/noel/disk2/libo6/vcl/headless/svptext.cxx:96
#5  0x00007ffff136acf0 in SalLayout::GetBoundRect(SalGraphics&, tools::Rectangle&) const (this=0x5e1f7a0, rSalGraphics=..., rRect=...)
    at /media/noel/disk2/libo6/vcl/source/gdi/sallayout.cxx:679
#6  0x00007ffff1119e6a in OutputDevice::GetTextBoundRect(tools::Rectangle&, rtl::OUString const&, int, int, int, unsigned long, long const*) const
    (this=0x4921f00, rRect=..., rStr=Python Exception <class 'gdb.error'> Length is larger than array size.: 
, nBase=0, nIndex=0, nLen=1, nLayoutWidth=0, pDXAry=0x0) at /media/noel/disk2/libo6/vcl/source/outdev/text.cxx:2423
#7  0x00007fffd478ae94 in SwDropCapCache::CalcFontSize(SwDropPortion*, SwTextFormatInfo&) (this=0x5c86250, pDrop=0x5e08920, rInf=...)
    at /media/noel/disk2/libo6/sw/source/core/text/txtdrop.cxx:778
#8  0x00007fffd478b825 in SwDropPortion::Format(SwTextFormatInfo&) (this=0x5e08920, rInf=...) at /media/noel/disk2/libo6/sw/source/core/text/txtdrop.cxx:947
#9  0x00007fffd473ca82 in SwTextFormatter::BuildPortions(SwTextFormatInfo&) (this=0x7fffffff0ab0, rInf=...) at /media/noel/disk2/libo6/sw/source/core/text/itrform2.cxx:530
#10 0x00007fffd4740c8f in SwTextFormatter::FormatLine(int) (this=0x7fffffff0ab0, nStartPos=0) at /media/noel/disk2/libo6/sw/source/core/text/itrform2.cxx:1548
#11 0x00007fffd4710f77 in SwTextFrame::FormatLine(SwTextFormatter&, bool) (this=0x4a9a930, rLine=..., bPrev=false)
    at /media/noel/disk2/libo6/sw/source/core/text/frmform.cxx:1125
#12 0x00007fffd4712498 in SwTextFrame::Format_(SwTextFormatter&, SwTextFormatInfo&, bool) (this=0x4a9a930, rLine=..., rInf=..., bAdjust=false)
    at /media/noel/disk2/libo6/sw/source/core/text/frmform.cxx:1480
#13 0x00007fffd4712dd9 in SwTextFrame::Format_(OutputDevice*, SwParaPortion*) (this=0x4a9a930, pRenderContext=0x4a57490, pPara=0x5e1b720)
    at /media/noel/disk2/libo6/sw/source/core/text/frmform.cxx:1654
#14 0x00007fffd47137a3 in SwTextFrame::Format(OutputDevice*, SwBorderAttrs const*) (this=0x4a9a930, pRenderContext=0x4a57490)
    at /media/noel/disk2/libo6/sw/source/core/text/frmform.cxx:1801
#15 0x00007fffd4582181 in SwContentFrame::MakeAll(OutputDevice*) (this=0x4a9a930) at /media/noel/disk2/libo6/sw/source/core/layout/calcmove.cxx:1393
#16 0x00007fffd457d06e in SwFrame::OptPrepareMake() (this=0x4a9a930) at /media/noel/disk2/libo6/sw/source/core/layout/calcmove.cxx:368
#17 0x00007fffd45dc060 in SwFrame::OptCalc() const (this=0x4a9a930) at /media/noel/disk2/libo6/sw/source/core/inc/frame.hxx:892
#18 0x00007fffd45d9c16 in SwLayAction::FormatContent_(SwContentFrame const*, SwPageFrame const*) (this=0x7fffffff1cb0, pContent=0x4a9a930, pPage=0x4a9c5e0)
    at /media/noel/disk2/libo6/sw/source/core/layout/layact.cxx:1789
#19 0x00007fffd45d91ac in SwLayAction::FormatContent(SwPageFrame const*) (this=0x7fffffff1cb0, pPage=0x4a9c5e0)
    at /media/noel/disk2/libo6/sw/source/core/layout/layact.cxx:1620
#20 0x00007fffd45d590e in SwLayAction::InternalAction(OutputDevice*) (this=0x7fffffff1cb0, pRenderContext=0x4a57490)
    at /media/noel/disk2/libo6/sw/source/core/layout/layact.cxx:760
#21 0x00007fffd45d40cf in SwLayAction::Action(OutputDevice*) (this=0x7fffffff1cb0, pRenderContext=0x4a57490) at /media/noel/disk2/libo6/sw/source/core/layout/layact.cxx:351
#22 0x00007fffd45db31f in SwLayIdle::SwLayIdle(SwRootFrame*, SwViewShellImp*) (this=0x7fffffff1d60, pRt=0x4a6b140, pI=0x4a68cc0)
    at /media/noel/disk2/libo6/sw/source/core/layout/layact.cxx:2133
#23 0x00007fffd4ae00c4 in SwViewShell::LayoutIdle() (this=0x4a6bdb0) at /media/noel/disk2/libo6/sw/source/core/view/viewsh.cxx:711
#24 0x00007fffd42a69bd in sw::DocumentTimerManager::DoIdleJobs(Timer*) (this=0x18d08a0, pIdle=0x18d08b8)
Comment 3 Noel Grandin 2019-01-15 05:54:58 UTC
On current master this document appears to cause a layout hang, but that is probably a separate bug.
Comment 4 Buovjaga 2019-01-15 08:47:48 UTC
Rechecked with win32-6.0 and the preceding commit does not cause a crash. Maybe I should bibisect when the crash turned into a hang.
Comment 5 Buovjaga 2019-01-15 09:20:46 UTC
Crash changed to hang with https://gerrit.libreoffice.org/plugins/gitiles/core/+/6ade80cf142664e78954c7544534e9436ceb90c7^!/

tdf#108524 sw: allow move of frame inside section without columns

Checked the commit vs. previous.
Comment 6 Buovjaga 2019-05-22 12:03:31 UTC
This no longer hangs. Caolán did push a patch for bug 92372 today...