New issue
Advanced search Search tips

Issue 851051 link

Starred by 1 user

Issue metadata

Status: Unconfirmed
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug


Participants' hotlists:
Hotlist-1


Sign in to add a comment

boringssl segmentation fault on armv7a Cortex-A7 processor (i.MX7D)

Reported by ryanscha...@gmail.com, Jun 8 2018

Issue description

UserAgent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0

Steps to reproduce the problem:
1. Compile chromium for i.MX7D with ASM optimizations enabled
2. Start browser
3. Navigate to a webpage

What is the expected behavior?
The browser should successfully navigate to the webpage

What went wrong?
The browser crashes due to a segmentation fault. Attached is backtrace from the core dump. core file is itself too large to attach I think.

Did this work before? N/A 

Chrome version: 56  Channel: n/a
OS Version: 4.9.11
Flash Version: 

When the browser is started with no internet available, a "No connection page" is visible. When internet is connected,  the browser crashes.

This version of chromium is built using commit 7af0066 of qtwebengine, which uses commit 4f2e755 of git://code.qt.io/qt/qtwebengine-chromium.git.

A similar issue has also been noticed here: https://github.com/mono/mono/issues/8100#issuecomment-380119024. Compliing with -DOPENSSL_NO_ASM fixes the issue.
 
gdblog.txt
39.5 KB View Download
Compiler flags: -march=armv7-a -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard
Labels: TE-Hardware-Dependency
As this issue related to 'ARM Cortex-A7 processor',adding "TE-Hardware-Dependency" label for further triage.

Thanks..!

Comment 3 by eroman@chromium.org, Jun 12 2018

Components: Internals>Network>SSL

Comment 4 by eroman@chromium.org, Jun 12 2018

Cc: davidben@chromium.org
Does it reproduce using top of tree Chromium source?
Labels: Needs-Feedback
Additionally, can you get a disassembly around the crashing point? That stack trace doesn't contain much.

But, yeah, please do test against vanilla upstream Chromium. We don't maintain Qt WebEngine and don't know anything about what patches or other quirks they may have. 
I've attached the disassembly of the function containing the seg fault.

I would like to test with latest chromium, but I am having trouble cross-compiling it from source. If I get it to cross compile I will let you know if it is reproducible
disassemble.txt
14.4 KB View Download
Project Member

Comment 7 by sheriffbot@chromium.org, Jun 13 2018

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding the requester to the cc list.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
I've managed to fix this crash in QtWebEngine by forcing chromium to use OPENSSL_NO_ASM, which uses C functions instead of optimized assembly routines in boringssl. The performance does not matter to us, so this is a fine fix.

I have had some trouble cross-compiling chromium from source using the yocto toolchain, and unfortunately I don't have more time to figure out if the bug exists with chromium top of tree. But I have compared the perl files that generate the assembly for the chromium version and the qtwebengine version. The qtwebengine is based on chromium version 56. This commit to boringssl looks like it may have something to do with this issue, and is not present in qtwebengine: https://github.com/google/boringssl/commit/ae96383af375d52f30f72554b75272fa226ca795#diff-42e11b9ec65ece85f3c9daaef1398601.



Have you tried patching that change into QtWebEngine (see notes on generate_build_files.py to update the generated files) to see if that fixes it?

Chrome 56 is more than a year old. You're probably missing a mess of security fixes.

Sign in to add a comment