https://bugs.documentfoundation.org/show_bug.cgi?id=145892
Bug ID: 145892
Summary: Crash (failed assert) in DBGUTIL build when inserting
a section from a WEBP
Product: LibreOffice
Version: 7.3.0.0.alpha1+
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: medium
Component: LibreOffice
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Created attachment 176504
--> https://bugs.documentfoundation.org/attachment.cgi?id=176504&action=edit
A WEBP image ( source:
https://upload.wikimedia.org/wikipedia/commons/a/a1/Johnrogershousemay2020.webp
)
1. Download the attachment.
2. In a DBGUTIL master build, create a new text document.
3. Insert->Section; select [x] Link; [ Browse ] and select the WEBP image, then
[
Insert ]
=> Debug Error!
Program: C:\lo\src\build\instdir\program\soffice.bin
abort() has been called
(Press Retry to debug the application)
Version: 7.3.0.0.alpha1+ (x64) / LibreOffice Community
Build ID: f234bea67195ee2b9c80ba0b4a18b4a81cf57cfb
CPU threads: 12; OS: Windows 10.0 Build 19043; UI render: Skia/Raster; VCL: win
Locale: fr-FR (ru_RU); UI: en-US
Calc: CL
The call stack is:
> icuucd70.dll!icu_70::KhmerBreakEngine::divideUpDictionaryRange(UText * text,
> int rangeStart, int rangeEnd, icu_70::UVector32 & foundBreaks, UErrorCode &
> status) Line 1198 C++
> icuucd70.dll!icu_70::DictionaryBreakEngine::findBreaks(UText * text, int
> startPos, int endPos, icu_70::UVector32 & foundBreaks, UErrorCode & status)
> Line 83 C++
> icuucd70.dll!icu_70::RuleBasedBreakIterator::DictionaryCache::populateDictionary(int
> startPos, int endPos, int firstRuleStatus, int otherRuleStatus) Line 166 C++
> icuucd70.dll!icu_70::RuleBasedBreakIterator::BreakCache::populatePreceding(UErrorCode
> & status) Line 551 C++
> icuucd70.dll!icu_70::RuleBasedBreakIterator::BreakCache::previous(UErrorCode
> & status) Line 291 C++
> icuucd70.dll!icu_70::RuleBasedBreakIterator::BreakCache::preceding(int
> startPos, UErrorCode & status) Line 259 C++
> icuucd70.dll!icu_70::RuleBasedBreakIterator::preceding(int offset) Line 670
> C++
> i18npoollo.dll!i18npool::BreakIterator_Unicode::getLineBreak(const
> rtl::OUString & Text, long nStartPos, const com::sun::star::lang::Locale &
> rLocale, long nMinBreakPos, const
> com::sun::star::i18n::LineBreakHyphenationOptions & hOptions, const
> com::sun::star::i18n::LineBreakUserOptions & __formal) Line 508 C++
> i18npoollo.dll!i18npool::BreakIteratorImpl::getLineBreak(const rtl::OUString
> & Text, long nStartPos, const com::sun::star::lang::Locale & rLocale, long
> nMinBreakPos, const com::sun::star::i18n::LineBreakHyphenationOptions &
> hOptions, const com::sun::star::i18n::LineBreakUserOptions & bOptions) Line
> 280 C++
> swlo.dll!SwTextGuess::Guess(const SwTextPortion & rPor, SwTextFormatInfo &
> rInf, const unsigned short nPorHeight) Line 409 C++
> swlo.dll!SwTextPortion::Format_(SwTextFormatInfo & rInf) Line 305 C++
> swlo.dll!SwTextPortion::Format(SwTextFormatInfo & rInf) Line 457 C++
> swlo.dll!SwTextFormatter::BuildPortions(SwTextFormatInfo & rInf) Line 552
> C++
> swlo.dll!SwTextFormatter::FormatLine(o3tl::strong_int<long,Tag_TextFrameIndex>
> nStartPos) Line 1691 C++
> swlo.dll!SwTextFrame::FormatLine(SwTextFormatter & rLine, const bool bPrev)
> Line 1198 C++
> swlo.dll!SwTextFrame::Format_(SwTextFormatter & rLine, SwTextFormatInfo &
> rInf, const bool bAdjust) Line 1555 C++
> swlo.dll!SwTextFrame::Format_(OutputDevice * pRenderContext, SwParaPortion *
> pPara) Line 1729 C++
> swlo.dll!SwTextFrame::Format(OutputDevice * pRenderContext, const
> SwBorderAttrs * __formal) Line 1917 C++
> swlo.dll!SwContentFrame::MakeAll(OutputDevice * __formal) Line 1515 C++
> swlo.dll!SwFrame::OptPrepareMake() Line 399 C++
> swlo.dll!SwFrame::OptCalc() Line 1087 C++
> swlo.dll!SwLayAction::FormatContent_(const SwContentFrame * pContent, const
> SwPageFrame * pPage) Line 1873 C++
> swlo.dll!SwLayAction::FormatContent(SwPageFrame * pPage) Line 1701 C++
> swlo.dll!SwLayAction::InternalAction(OutputDevice * pRenderContext) Line 587
> C++
> swlo.dll!SwLayAction::Action(OutputDevice * pRenderContext) Line 386 C++
> swlo.dll!SwViewShell::ImplEndAction(const bool bIdleEnd) Line 289 C++
> swlo.dll!SwViewShell::EndAction(const bool bIdleEnd) Line 600 C++
> swlo.dll!SwCursorShell::EndAction(const bool bIdleEnd) Line 265 C++
> swlo.dll!SwEditShell::EndAllAction() Line 102 C++
> swlo.dll!SwEditShell::InsertSection(SwSectionData & rNewData, const
> SfxItemSet * const pAttr) Line 55 C++
> swuilo.dll!SwInsertSectionTabDialog::Ok() Line 1410 C++
> sfxlo.dll!SfxTabDialogController::OkHdl(weld::Button & __formal) Line 372
> C++
> sfxlo.dll!SfxTabDialogController::LinkStubOkHdl(void * instance, weld::Button
> & data) Line 360 C++
> vcllo.dll!Link<weld::Button &,void>::Call(weld::Button & data) Line 111
> C++
> vcllo.dll!weld::Button::signal_clicked() Line 1406 C++
> vcllo.dll!SalInstanceButton::ClickHdl(Button * pButton) Line 2663 C++
> vcllo.dll!SalInstanceButton::LinkStubClickHdl(void * instance, Button * data)
> Line 2650 C++
> vcllo.dll!Link<Button *,void>::Call(Button * data) Line 111 C++
> vcllo.dll!Button::Click::__l2::<lambda>() Line 130 C++
> vcllo.dll!std::invoke<void <lambda>(void) &>(Button::Click::__l2::void
> <lambda>(void) & _Obj) Line 1481 C++
> vcllo.dll!std::_Invoker_ret<void,1>::_Call<void <lambda>(void)
> &>(Button::Click::__l2::void <lambda>(void) & _Func) Line 665 C++
> vcllo.dll!std::_Func_impl_no_alloc<void <lambda>(void),void>::_Do_call() Line
> 836 C++
> vcllo.dll!std::_Func_class<void>::operator()() Line 883 C++
> vcllo.dll!Control::ImplCallEventListenersAndHandler(VclEventId nEvent, const
> std::function<void __cdecl(void)> & callHandler) Line 313 C++
> vcllo.dll!Button::Click() Line 130 C++
> vcllo.dll!PushButton::Tracking(const TrackingEvent & rTEvt) Line 1255 C++
> vcllo.dll!vcl::Window::EndTracking(TrackingEventFlags nFlags) Line 310
> C++
> vcllo.dll!ImplHandleMouseEvent(const VclPtr<vcl::Window> & xWindow,
> MouseNotifyEvent nSVEvent, bool bMouseLeave, __int64 nX, __int64 nY, unsigned
> __int64 nMsgTime, unsigned short nCode, MouseEventModifiers nMode) Line 699
> C++
> vcllo.dll!ImplHandleSalMouseButtonUp(vcl::Window * pWindow, const
> SalMouseEvent * pEvent) Line 2080 C++
> vcllo.dll!ImplWindowFrameProc(vcl::Window * _pWindow, SalEvent nEvent, const
> void * pEvent) Line 2435 C++
> vcllo.dll!SalFrame::CallCallback(SalEvent nEvent, const void * pEvent) Line
> 308 C++
> vclplug_winlo.dll!ImplHandleMouseMsg(HWND__ * hWnd, unsigned int nMsg,
> unsigned __int64 wParam, __int64 lParam) Line 3163 C++
> vclplug_winlo.dll!SalFrameWndProc(HWND__ * hWnd, unsigned int nMsg, unsigned
> __int64 wParam, __int64 lParam, bool & rDef) Line 5535 C++
> vclplug_winlo.dll!SalFrameWndProcW(HWND__ * hWnd, unsigned int nMsg, unsigned
> __int64 wParam, __int64 lParam) Line 5888 C++
> user32.dll!00007ffc335ce7e8() Unknown
> user32.dll!00007ffc335ce229() Unknown
> vclplug_winlo.dll!ImplSalDispatchMessage(const tagMSG * pMsg) Line 416
> C++
> vclplug_winlo.dll!ImplSalYield(bool bWait, bool bHandleAllCurrentEvents) Line
> 493 C++
> vclplug_winlo.dll!WinSalInstance::DoYield(bool bWait, bool
> bHandleAllCurrentEvents) Line 522 C++
> vcllo.dll!ImplYield(bool i_bWait, bool i_bAllEvents) Line 465 C++
> vcllo.dll!Application::Yield() Line 533 C++
> vcllo.dll!Application::Execute() Line 444 C++
> sofficeapp.dll!desktop::Desktop::Main() Line 1601 C++
> vcllo.dll!ImplSVMain() Line 199 C++
> vcllo.dll!SVMain() Line 232 C++
> sofficeapp.dll!soffice_main() Line 98 C++
> soffice.bin!sal_main() Line 49 C
> soffice.bin!main(int argc, char * * argv) Line 47 C
> soffice.bin!invoke_main() Line 79 C++
> soffice.bin!__scrt_common_main_seh() Line 288 C++
> soffice.bin!__scrt_common_main() Line 331 C++
> soffice.bin!mainCRTStartup(void * __formal) Line 17 C++
> kernel32.dll!00007ffc337f7034() Unknown
> ntdll.dll!00007ffc33b42651() Unknown
Since it's ICU, maybe erAck has an idea what is wrong? (Yes I know that WEBP is
not a plain text file, as LibreOffice treats it; but it must not crash it,
right? For the record: I came across it while debugging tdf#145875, which shows
insert section dialog in strange cases.)
--
You are receiving this mail because:
You are the assignee for the bug.