Closed Bug 1588940 Opened 5 years ago Closed 5 years ago

undefined shift in src/intl/icu/source/common/ubidiln.cpp:398

Categories

(Core :: JavaScript: Internationalization API, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1588938
Tracking Status
firefox71 --- affected

People

(Reporter: tsmith, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: csectype-undefined)

This is triggered when running gtests with an UBSan build.

To enable this check add the following to your mozconfig:

ac_add_options --enable-address-sanitizer
ac_add_options --enable-undefined-sanitizer="shift"
ac_add_options --disable-jemalloc
REFTEST TEST-START | file://tests/reftest/tests/layout/reftests/w3c-css/submitted/flexbox/flexbox-align-self-horiz-002.xhtml == file://tests/reftest/tests/layout/reftests/w3c-css/submitted/flexbox/flexbox-align-self-horiz-002-ref.xhtml
REFTEST TEST-LOAD | file://tests/reftest/tests/layout/reftests/w3c-css/submitted/flexbox/flexbox-align-self-horiz-002.xhtml | 24 / 213 (11%)
src/intl/icu/source/common/ubidiln.cpp:398:33: runtime error: left shift of 2 by 31 places cannot be represented in type 'int32_t' (aka 'int')
    #0 0x7f0abfd2a3aa in getSingleRun(UBiDi*, unsigned char) src/intl/icu/source/common/ubidiln.cpp:398:33
    #1 0x7f0abfd28e0f in ubidi_getRuns_64 src/intl/icu/source/common/ubidiln.cpp
    #2 0x7f0abfd28afa in ubidi_countRuns_64 src/intl/icu/source/common/ubidiln.cpp:355:5
    #3 0x7f0ac6a4c741 in nsBidi::CountRuns(int*) src/layout/base/nsBidi.cpp:11:16
    #4 0x7f0ac6a501f5 in nsBidiPresUtils::ResolveParagraph(BidiParagraphData*) src/layout/base/nsBidiPresUtils.cpp:881:14
    #5 0x7f0ac6a4d237 in nsBidiPresUtils::Resolve(nsBlockFrame*) src/layout/base/nsBidiPresUtils.cpp:865:10
    #6 0x7f0ac6bcccf1 in ResolveBidi src/layout/generic/nsBlockFrame.cpp:7559:10
    #7 0x7f0ac6bcccf1 in nsBlockFrame::GetMinISize(gfxContext*) src/layout/generic/nsBlockFrame.cpp:690:5
    #8 0x7f0ac6cb9720 in nsFrame::ShrinkWidthToFit(gfxContext*, int, nsIFrame::ComputeSizeFlags) src/layout/generic/nsFrame.cpp:6510:22
    #9 0x7f0ac6c2d60f in nsContainerFrame::ComputeAutoSize(gfxContext*, mozilla::WritingMode, mozilla::LogicalSize const&, int, mozilla::LogicalSize const&, mozilla::LogicalSize const&, mozilla::LogicalSize const&, nsIFrame::ComputeSizeFlags) src/layout/generic/nsContainerFrame.cpp:826:11
    #10 0x7f0ac6cb3e03 in nsFrame::ComputeSize(gfxContext*, mozilla::WritingMode, mozilla::LogicalSize const&, int, mozilla::LogicalSize const&, mozilla::LogicalSize const&, mozilla::LogicalSize const&, nsIFrame::ComputeSizeFlags) src/layout/generic/nsFrame.cpp:5807:7
    #11 0x7f0ac6b89c7c in mozilla::ReflowInput::InitConstraints(nsPresContext*, mozilla::Maybe<mozilla::LogicalSize> const&, nsMargin const*, nsMargin const*, mozilla::LayoutFrameType) src/layout/generic/ReflowInput.cpp:2477:34
    #12 0x7f0ac6b82dba in mozilla::ReflowInput::Init(nsPresContext*, mozilla::Maybe<mozilla::LogicalSize> const&, nsMargin const*, nsMargin const*) src/layout/generic/ReflowInput.cpp:355:3
    #13 0x7f0ac6c34c20 in nsFlexContainerFrame::GenerateFlexItemForChild(nsPresContext*, nsIFrame*, mozilla::ReflowInput const&, nsFlexContainerFrame::FlexboxAxisTracker const&, bool) src/layout/generic/nsFlexContainerFrame.cpp:1278:15
    #14 0x7f0ac6c439a5 in nsFlexContainerFrame::GenerateFlexLines(nsPresContext*, mozilla::ReflowInput const&, int, int, nsTArray<nsFlexContainerFrame::StrutInfo> const&, nsFlexContainerFrame::FlexboxAxisTracker const&, int, bool, nsTArray<nsIFrame*>&, mozilla::LinkedList<nsFlexContainerFrame::FlexLine>&) src/layout/generic/nsFlexContainerFrame.cpp:3941:14
    #15 0x7f0ac6c47ffa in nsFlexContainerFrame::DoFlexLayout(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&, int, int, nsTArray<nsFlexContainerFrame::StrutInfo>&, nsFlexContainerFrame::FlexboxAxisTracker const&, int, int, bool) src/layout/generic/nsFlexContainerFrame.cpp:4631:3
    #16 0x7f0ac6c4754c in nsFlexContainerFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/generic/nsFlexContainerFrame.cpp:4400:3
    #17 0x7f0ac6da6afa in nsLineLayout::ReflowFrame(nsIFrame*, nsReflowStatus&, mozilla::ReflowOutput*, bool&) src/layout/generic/nsLineLayout.cpp:878:13
    #18 0x7f0ac6bf189b in nsBlockFrame::ReflowInlineFrame(mozilla::BlockReflowInput&, nsLineLayout&, nsLineList_iterator, nsIFrame*, LineReflowStatus*) src/layout/generic/nsBlockFrame.cpp:4325:15
    #19 0x7f0ac6bf0434 in nsBlockFrame::DoReflowInlineFrames(mozilla::BlockReflowInput&, nsLineLayout&, nsLineList_iterator, nsFlowAreaRect&, int&, nsFloatManager::SavedState*, bool*, LineReflowStatus*, bool) src/layout/generic/nsBlockFrame.cpp:4127:5
    #20 0x7f0ac6be81ed in nsBlockFrame::ReflowInlineFrames(mozilla::BlockReflowInput&, nsLineList_iterator, bool*) src/layout/generic/nsBlockFrame.cpp:4012:9
    #21 0x7f0ac6be01db in nsBlockFrame::ReflowLine(mozilla::BlockReflowInput&, nsLineList_iterator, bool*) src/layout/generic/nsBlockFrame.cpp:2997:5
    #22 0x7f0ac6bd7849 in nsBlockFrame::ReflowDirtyLines(mozilla::BlockReflowInput&) src/layout/generic/nsBlockFrame.cpp:2537:7
    #23 0x7f0ac6bcff2b in nsBlockFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/generic/nsBlockFrame.cpp:1280:3
    #24 0x7f0ac6bed89b in nsBlockReflowContext::ReflowBlock(mozilla::LogicalRect const&, bool, nsCollapsingMargin&, int, bool, nsLineBox*, mozilla::ReflowInput&, nsReflowStatus&, mozilla::BlockReflowInput&) src/layout/generic/nsBlockReflowContext.cpp:291:11
    #25 0x7f0ac6be3c54 in nsBlockFrame::ReflowBlockFrame(mozilla::BlockReflowInput&, nsLineList_iterator, bool*) src/layout/generic/nsBlockFrame.cpp:3643:11
    #26 0x7f0ac6be0427 in nsBlockFrame::ReflowLine(mozilla::BlockReflowInput&, nsLineList_iterator, bool*) src/layout/generic/nsBlockFrame.cpp:2994:5
    #27 0x7f0ac6bd7849 in nsBlockFrame::ReflowDirtyLines(mozilla::BlockReflowInput&) src/layout/generic/nsBlockFrame.cpp:2537:7
    #28 0x7f0ac6bcff2b in nsBlockFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/generic/nsBlockFrame.cpp:1280:3
    #29 0x7f0ac6c1dde4 in nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, mozilla::WritingMode const&, mozilla::LogicalPoint const&, nsSize const&, nsIFrame::ReflowChildFlags, nsReflowStatus&, nsOverflowContinuationTracker*) src/layout/generic/nsContainerFrame.cpp:910:14
    #30 0x7f0ac6c1ce5b in nsCanvasFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/generic/nsCanvasFrame.cpp:726:5
    #31 0x7f0ac6c1dde4 in nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, mozilla::WritingMode const&, mozilla::LogicalPoint const&, nsSize const&, nsIFrame::ReflowChildFlags, nsReflowStatus&, nsOverflowContinuationTracker*) src/layout/generic/nsContainerFrame.cpp:910:14
    #32 0x7f0ac6cfe66e in nsHTMLScrollFrame::ReflowScrolledFrame(mozilla::ScrollReflowInput*, bool, bool, mozilla::ReflowOutput*) src/layout/generic/nsGfxScrollFrame.cpp:644:3
    #33 0x7f0ac6cffeb1 in nsHTMLScrollFrame::ReflowContents(mozilla::ScrollReflowInput*, mozilla::ReflowOutput const&) src/layout/generic/nsGfxScrollFrame.cpp:758:3
    #34 0x7f0ac6d03e7b in nsHTMLScrollFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/generic/nsGfxScrollFrame.cpp:1160:3
    #35 0x7f0ac6bc0201 in nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, int, int, nsIFrame::ReflowChildFlags, nsReflowStatus&, nsOverflowContinuationTracker*) src/layout/generic/nsContainerFrame.cpp:950:14
    #36 0x7f0ac6bbf7a0 in mozilla::ViewportFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) src/layout/generic/ViewportFrame.cpp:299:7
    #37 0x7f0ac69dd79e in mozilla::PresShell::DoReflow(nsIFrame*, bool, mozilla::OverflowChangedTracker*) src/layout/base/PresShell.cpp:9236:11
    #38 0x7f0ac69f0bf7 in mozilla::PresShell::ProcessReflowCommands(bool) src/layout/base/PresShell.cpp:9406:24
    #39 0x7f0ac69ef313 in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) src/layout/base/PresShell.cpp:4172:11
    #40 0x7f0ac6aad602 in FlushPendingNotifications src/obj-firefox/dist/include/mozilla/PresShell.h:1443:5
    #41 0x7f0ac6aad602 in nsDocumentViewer::LoadComplete(nsresult) src/layout/base/nsDocumentViewer.cpp:1032:16
    #42 0x7f0ac912c01c in nsDocShell::EndPageLoad(nsIWebProgress*, nsIChannel*, nsresult) src/docshell/base/nsDocShell.cpp:6478:20
    #43 0x7f0ac912b24d in nsDocShell::OnStateChange(nsIWebProgress*, nsIRequest*, unsigned int, nsresult) src/docshell/base/nsDocShell.cpp:6256:7
    #44 0x7f0ac912fc8f in non-virtual thunk to nsDocShell::OnStateChange(nsIWebProgress*, nsIRequest*, unsigned int, nsresult) src/docshell/base/nsDocShell.cpp
    #45 0x7f0ac1608850 in nsDocLoader::DoFireOnStateChange(nsIWebProgress*, nsIRequest*, int&, nsresult) src/uriloader/base/nsDocLoader.cpp:1352:3
    #46 0x7f0ac16077dc in nsDocLoader::doStopDocumentLoad(nsIRequest*, nsresult) src/uriloader/base/nsDocLoader.cpp:911:14
    #47 0x7f0ac1603adf in nsDocLoader::DocLoaderIsEmpty(bool) src/uriloader/base/nsDocLoader.cpp:731:9
    #48 0x7f0ac16062e3 in nsDocLoader::OnStopRequest(nsIRequest*, nsresult) src/uriloader/base/nsDocLoader.cpp:619:5
    #49 0x7f0ac160736c in non-virtual thunk to nsDocLoader::OnStopRequest(nsIRequest*, nsresult) src/uriloader/base/nsDocLoader.cpp
    #50 0x7f0abfafde37 in mozilla::net::nsLoadGroup::NotifyRemovalObservers(nsIRequest*, nsresult) src/netwerk/base/nsLoadGroup.cpp:595:22
    #51 0x7f0abfb00c77 in mozilla::net::nsLoadGroup::RemoveRequest(nsIRequest*, nsISupports*, nsresult) src/netwerk/base/nsLoadGroup.cpp:502:10
    #52 0x7f0ac274864f in mozilla::dom::Document::DoUnblockOnload() src/dom/base/Document.cpp:10748:18
    #53 0x7f0ac26fa3ec in mozilla::dom::Document::UnblockOnload(bool) src/dom/base/Document.cpp:10680:9
    #54 0x7f0ac27210bc in mozilla::dom::Document::DispatchContentLoadedEvents() src/dom/base/Document.cpp:7233:3
    #55 0x7f0ac27eaa64 in applyImpl<mozilla::dom::Document, void (mozilla::dom::Document::*)()> src/obj-firefox/dist/include/nsThreadUtils.h:1124:12
    #56 0x7f0ac27eaa64 in apply<mozilla::dom::Document, void (mozilla::dom::Document::*)()> src/obj-firefox/dist/include/nsThreadUtils.h:1130:12
    #57 0x7f0ac27eaa64 in mozilla::detail::RunnableMethodImpl<mozilla::dom::Document*, void (mozilla::dom::Document::*)(), true, (mozilla::RunnableKind)0>::Run() src/obj-firefox/dist/include/nsThreadUtils.h:1176:13
    #58 0x7f0abf880bc1 in mozilla::SchedulerGroup::Runnable::Run() src/xpcom/threads/SchedulerGroup.cpp:295:32
    #59 0x7f0abf8b5dd7 in nsThread::ProcessNextEvent(bool, bool*) src/xpcom/threads/nsThread.cpp:1225:14
    #60 0x7f0abf8bdd7c in NS_ProcessNextEvent(nsIThread*, bool) src/xpcom/threads/nsThreadUtils.cpp:486:10
    #61 0x7f0ac0856f3a in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:88:21
    #62 0x7f0ac078ea47 in RunInternal src/ipc/chromium/src/base/message_loop.cc:315:10
    #63 0x7f0ac078ea47 in RunHandler src/ipc/chromium/src/base/message_loop.cc:308:3
    #64 0x7f0ac078ea47 in MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:290:3
    #65 0x7f0ac65197d8 in nsBaseAppShell::Run() src/widget/nsBaseAppShell.cpp:137:27
    #66 0x7f0ac9b13716 in XRE_RunAppShell() src/toolkit/xre/nsEmbedFunctions.cpp:934:20
    #67 0x7f0ac078ea47 in RunInternal src/ipc/chromium/src/base/message_loop.cc:315:10
    #68 0x7f0ac078ea47 in RunHandler src/ipc/chromium/src/base/message_loop.cc:308:3
    #69 0x7f0ac078ea47 in MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:290:3
    #70 0x7f0ac9b12d71 in XRE_InitChildProcess(int, char**, XREChildData const*) src/toolkit/xre/nsEmbedFunctions.cpp:769:34
    #71 0x55e9c6c71338 in content_process_main src/browser/app/../../ipc/contentproc/plugin-container.cpp:56:28
    #72 0x55e9c6c71338 in main src/browser/app/nsBrowserApp.cpp:272:18

Let's lump this in with bug 1588938 as it's very similar code.

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.