New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 707719 link

Starred by 1 user

Issue metadata

Status: Archived
Owner: ----
Closed: Apr 2018
Cc:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug



Sign in to add a comment

segmentation fault when launching chrome

Reported by jefry....@vcube.co.jp, Apr 3 2017

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:52.0) Gecko/20100101 Firefox/52.0

Steps to reproduce the problem:
run chrome 58.0.3029.33 arm using QEMU image from 
https://people.debian.org/~aurel32/qemu/armhf/

What is the expected behavior?
no segmentation fault, chrome launches

What went wrong?
this is the debug callstack

#0  0x6d16af96 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
#1  0x6d178f8a in raise () from /lib/arm-linux-gnueabihf/libc.so.6
#2  0x6d17b428 in abort () from /lib/arm-linux-gnueabihf/libc.so.6
#3  0x6d17401e in __assert_fail () from /lib/arm-linux-gnueabihf/libc.so.6
#4  0x726e9a7e in re2::SparseSetT<void>::contains(int) const ()
    at ../../third_party/re2/src/util/sparse_set.h:203
#5  0x726e75b8 in re2::DFA::AddToQueue(re2::DFA::Workq*, int, unsigned int) ()
    at ../../third_party/re2/src/re2/dfa.cc:830
#6  0x726e7500 in re2::DFA::StateToWorkq(re2::DFA::State*, re2::DFA::Workq*) ()
    at ../../third_party/re2/src/re2/dfa.cc:792
#7  0x726e7b10 in re2::DFA::RunStateOnByte(re2::DFA::State*, int) ()
    at ../../third_party/re2/src/re2/dfa.cc:999
#8  0x726e79e0 in re2::DFA::RunStateOnByteUnlocked(re2::DFA::State*, int) ()
    at ../../third_party/re2/src/re2/dfa.cc:966
#9  0x726e9e74 in re2::DFA::InlinedSearchLoop(re2::DFA::SearchParams*, bool, bool, bool) () at ../../third_party/re2/src/re2/dfa.cc:1375
#10 0x726e7f88 in re2::DFA::SearchFFT(re2::DFA::SearchParams*) ()
    at ../../third_party/re2/src/re2/dfa.cc:1514
#11 0x726e8184 in re2::DFA::FastSearchLoop(re2::DFA::SearchParams*) ()
    at ../../third_party/re2/src/re2/dfa.cc:1563
#12 0x726e86e2 in re2::DFA::Search(re2::StringPiece const&, re2::StringPiece const&, bool, bool, bool, bool*, char const**, std::vector<int, std::allocator<int> >*) () at ../../third_party/re2/src/re2/dfa.cc:1768
#13 0x726e8b68 in re2::Prog::SearchDFA(re2::StringPiece const&, re2::StringPiece const&, re2::Prog::Anchor, re2::Prog::MatchKind, re2::StringPiece*, bool*, std::vector<int, std::allocator<int> >*) ()
    at ../../third_party/re2/src/re2/dfa.cc:1862
#14 0x72705fa4 in re2::RE2::Match(re2::StringPiece const&, unsigned int, unsigned int, re2::RE2::Anchor, re2::StringPiece*, int) const ()
    at ../../third_party/re2/src/re2/re2.cc:730
#15 0x727053a8 in re2::RE2::DoMatch(re2::StringPiece const&, re2::RE2::Anchor, unsigned int*, re2::RE2::Arg const* const*, int) const ()
    at ../../third_party/re2/src/re2/re2.cc:828
#16 0x72705234 in re2::RE2::FullMatchN(re2::StringPiece const&, re2::RE2 const&, re2::RE2::Arg const* const*, int) ()
    at ../../third_party/re2/src/re2/re2.cc:320
#17 0x7266f934 in bool re2::RE2::Apply<bool (*)(re2::StringPiece const&, re2::RE2 const&, re2::RE2::Arg const* const*, int), re2::StringPiece>(bool (*)(re2::StringPiece const&, re2::RE2 const&, re2::RE2::Arg const* const*, int), re2::StringPiece, re2::RE2 const&) () at ../../third_party/re2/src/re2/re2.h:347
#18 0x7266f12a in _ZN3re23RE29FullMatchIJEEEbRKNS_11StringPieceERKS0_DpOT_ ()
    at ../../third_party/re2/src/re2/re2.h:365
#19 0x7266d7da in gpu::(anonymous namespace)::StringMismatch(std::string const&, std::string const&) () at ../../gpu/config/gpu_control_list.cc:105
#20 0x7266d3d4 in gpu::GpuControlList::GpuControlListEntry::Contains(gpu::GpuControlList::OsType, std::string const&, gpu::GPUInfo const&) const ()
#21 0x7266e00e in gpu::GpuControlList::MakeDecision(gpu::GpuControlList::OsType, std::string, gpu::GPUInfo const&) ()
    at ../../gpu/config/gpu_control_list.cc:1524
#22 0x739ddb04 in content::GpuDataManagerImplPrivate::UpdateGpuInfoHelper() ()
   from /root/Documents/nwjs-sdk-v0.22.0-beta1-linux-arm-debug/lib/libcontent.so
#23 0x739dc756 in content::GpuDataManagerImplPrivate::UpdateGpuInfo(gpu::GPUInfo const&) ()
   from /root/Documents/nwjs-sdk-v0.22.0-beta1-linux-arm-debug/lib/libcontent.so
#24 0x739dc6ac in content::GpuDataManagerImplPrivate::SetGLStrings(std::string const&, std::string const&, std::string const&) ()
   from /root/Documents/nwjs-sdk-v0.22.0-beta1-linux-arm-debug/lib/libcontent.so

Crashed report ID: 

How much crashed? Whole browser

Is it a problem with a plugin? No 

Did this work before? N/A 

Chrome version: 58.0.3029.33  Channel: beta
OS Version: debian-armhf 3.2.0-4-vexpress #1 SMP Debian 3.2.51-1 armv7l GNU/Linux
Flash Version: 

if I build libre2.a using g++-4.7 from the QEMU emulator
the assert / segmentation fault gone, chrome launches as normal

so I suspect the clang compiler is causing the bug / crash
 
Labels: Needs-Triage-M58
Labels: TE-NeedsTriageHelp
Cc: sbc@chromium.org

Comment 4 by sbc@chromium.org, Apr 5 2017

Labels: -Pri-2 Arch-ARM Pri-3
My understanding is that ARM/Linux is not supported configuration for chrome outside of ChromeOS. I'm not saying that we shouldn't look into these issues and/or accept patches to fix them, but they might not get the same priority as issues effecting supported platforms.

Comment 5 by sbc@chromium.org, Apr 5 2017

We also dropped official support for wheezy over a year ago:
https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/FoE6sL-p6oU

Its probably worth seeing if this problems goes away if you chrome on a Jessie image instead.
I've narrowed down the crashing, it is when executing this command:

RE2::FullMatch("Software Rasterizer", "(?i).*software.*");

but only if libre2.a is cross-compiled using clang with wheezy sysroot
if I build libre2.a using g++ inside the emulator, it won't crash

Comment 7 by sbc@chromium.org, Apr 6 2017

Can you reproduce this with jessie (both build-time and run-time)?   If it only effects wheezy its probably not worth addressing.
is there any pre-built jessie image like "https://people.debian.org/~aurel32/qemu/armhf/" ?

Comment 9 by sbc@chromium.org, Apr 7 2017

I don't know that answer to that.  Perhaps check with ~aurel32?  (assuming that is person).
Project Member

Comment 10 by sheriffbot@chromium.org, Apr 9 2018

Status: Archived (was: Unconfirmed)
Issue has not been modified or commented on in the last 365 days, please re-open or file a new bug if this is still an issue.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Sign in to add a comment