Bug 106525

Summary: WebKit crashed with Illegal instruction on ARM926EJ-S
Product: WebKit Reporter: Alexander O. Anisimov <alenyashka>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED INVALID    
Severity: Normal CC: hidekhan, zan
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Other   
OS: Linux   
Bug Depends on:    
Bug Blocks: 108645    

Description Alexander O. Anisimov 2013-01-09 20:27:43 PST
Hi all,

I'm trying to run a browser arora (http://code.google.com/p/arora/) on lpc3250.

I have configured qt 4.8.2 with following parameters:
./configure \
    -debug \
    -shared \
    -embedded arm \
    -xplatform qws/linux-arm-vfp-g++ \
    -little-endian \
    -opensource \
    -confirm-license \
    -no-cups \
    -no-qt3support \
    -openssl \
    -no-opengl \
    -no-freetype \
    -qt-gfx-linuxfb \
    -make tools \
    -make plugins \
    -webkit-debug \
    -iconv \
    -qt-kbd-tty \
    -qt-kbd-linuxinput \
    -qt-mouse-linuxtp \
    -qt-mouse-tslib \
    -qt-mouse-linuxinput \
    -I/home/alexanis/src/ltib/rootfs/usr/include/ \
    -L/home/alexanis/src/ltib/rootfs/usr/lib/

But when I try to launch the browser it failed with illegal instrutstion.

I run it in gdb and get a backtrace

(gdb) bt
#0  0x418a73c0 in JSC::ExecutableAllocator::cacheFlush () from /usr/local/Trolltech/QtEmbedded-4.8.2-arm/lib/libQtWebKit.so.4
#1  0x418a7afc in JSC::LinkBuffer::performFinalization () from /usr/local/Trolltech/QtEmbedded-4.8.2-arm/lib/libQtWebKit.so.4
#2  0x418ba20c in JSC::LinkBuffer::finalizeCode () from /usr/local/Trolltech/QtEmbedded-4.8.2-arm/lib/libQtWebKit.so.4
#3  0x4192a4a4 in JSC::JIT::privateCompileCTIMachineTrampolines () from /usr/local/Trolltech/QtEmbedded-4.8.2-arm/lib/libQtWebKit.so.4
#4  0x417f04a4 in JSC::JIT::compileCTIMachineTrampolines () from /usr/local/Trolltech/QtEmbedded-4.8.2-arm/lib/libQtWebKit.so.4
#5  0x417d5da4 in JSC::JITThunks::JITThunks () from /usr/local/Trolltech/QtEmbedded-4.8.2-arm/lib/libQtWebKit.so.4
#6  0x4182ec38 in JSC::JSGlobalData::JSGlobalData () from /usr/local/Trolltech/QtEmbedded-4.8.2-arm/lib/libQtWebKit.so.4
#7  0x4182f758 in JSC::JSGlobalData::create () from /usr/local/Trolltech/QtEmbedded-4.8.2-arm/lib/libQtWebKit.so.4
#8  0x4182f804 in JSC::JSGlobalData::createLeaked () from /usr/local/Trolltech/QtEmbedded-4.8.2-arm/lib/libQtWebKit.so.4
#9  0x4087aefc in WebCore::JSDOMWindowBase::commonJSGlobalData () from /usr/local/Trolltech/QtEmbedded-4.8.2-arm/lib/libQtWebKit.so.4
#10 0x40858e40 in WebCore::mainThreadNormalWorld () from /usr/local/Trolltech/QtEmbedded-4.8.2-arm/lib/libQtWebKit.so.4
#11 0x407a1c10 in QWebFrame::addToJavaScriptWindowObject () from /usr/local/Trolltech/QtEmbedded-4.8.2-arm/lib/libQtWebKit.so.4
#12 0x407a211c in QWebFrame::addToJavaScriptWindowObject () from /usr/local/Trolltech/QtEmbedded-4.8.2-arm/lib/libQtWebKit.so.4
#13 0x000d1754 in WebPage::addExternalBinding (this=0x230158, frame=0x232790) at webpage.cpp:225
#14 0x000d1b4c in WebPage (this=0x230158, parent=0x22ffa0) at webpage.cpp:113
#15 0x000de308 in WebView (this=0x22ffa0, parent=0x0) at webview.cpp:111
#16 0x000bf388 in TabWidget::makeNewTab (this=0x1f6bc8, makeCurrent=true) at tabwidget.cpp:396
#17 0x000c10c0 in TabWidget::newTab (this=0x1f6bc8) at tabwidget.cpp:364
#18 0x0006ab2c in BrowserMainWindow (this=0x1eb9a8, parent=0x0, flags={i = -1094345348}) at browsermainwindow.cpp:210
#19 0x0004ec1c in BrowserApplication::newMainWindow (this=0xbec59e04) at browserapplication.cpp:554
#20 0x001881f0 in main (argc=1, argv=0xbec59eb4) at main.cpp:39

I am using arm-vfp-linux-gnu-gcc
$ arm-vfp-linux-gnu-gcc -v
Using built-in specs.
Target: arm-vfp-linux-gnu
Configured with: /home/usb10132/ct1/bin/targets/src/gcc-4.3.2/configure --build=i386-build_redhat-linux-gnu --host=i386-build_redhat-linux-gnu --target=arm-vfp-linux-gnu --prefix=/home/usb10132/x-tools/arm-vfp-linux-gnu --with-sysroot=/home/usb10132/x-tools/arm-vfp-linux-gnu/arm-vfp-linux-gnu/sys-root --enable-languages=c,c++ --disable-multilib --with-arch=armv5te --with-abi=atpcs --with-cpu=arm926ej-s --with-fpu=vfp --with-float=soft --with-gmp=/home/usb10132/x-tools/arm-vfp-linux-gnu --with-mpfr=/home/usb10132/x-tools/arm-vfp-linux-gnu --with-pkgversion=crosstool-NG-1.3.1 --enable-__cxa_atexit --with-local-prefix=/home/usb10132/x-tools/arm-vfp-linux-gnu/arm-vfp-linux-gnu/sys-root --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-c99 --enable-long-long --enable-target-optspace
Thread model: posix
gcc version 4.3.2 (crosstool-NG-1.3.1)

cpuinfo from lpc3250
# cat /proc/cpuinfo
Processor: ARM926EJ-S rev 4 (v5l)
BogoMIPS: 103.68
Features: swp half thumb fastmult vfp edsp java 
CPU implementer: 0x41
CPU architecture: 5TEJ
CPU variant: 0x0
CPU part: 0x926
CPU revision: 4
Cache type: write-back
Cache clean: cp15 c7 ops
Cache lockdown: format C
Cache format: Harvard
I size: 32768
I assoc: 4
I line length: 32
I sets: 256
D size: 32768
D assoc: 4
D line length: 32
D sets: 256

Hardware: Phytec 3250 board with the LPC3250 Microcontroller
Revision: 0000
Serial: 0000000000000000
Comment 1 Zan Dobersek 2017-10-18 01:48:42 PDT
This is too old to be actionable.