Intermittent remoteautomation.py | application crashed [@ CustomElf::stats(char const*) const]

RESOLVED WORKSFORME

Status

()

Core
mozglue
--
critical
RESOLVED WORKSFORME
5 years ago
5 years ago

People

(Reporter: philor, Unassigned)

Tracking

({crash, intermittent-failure})

Trunk
ARM
Android
crash, intermittent-failure
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

5 years ago
https://tbpl.mozilla.org/php/getParsedLog.php?id=18358004&tree=Mozilla-Inbound
Android Armv6 Tegra 250 mozilla-inbound opt test jsreftest-1 on 2012-12-30 15:42:33 PST for push e7eb5d695818
slave: tegra-249

INFO | automation.py | Application ran for: 0:00:07.030431
INFO | automation.py | Reading PID log: /tmp/tmpj10rMHpidlog
getting files in '/mnt/sdcard/tests/reftest/profile/minidumps/'
Downloading symbols from: http://ftp-scl3.mozilla.com/pub/mozilla.org/mobile/tinderbox-builds/mozilla-inbound-android-armv6/1356907613/fennec-20.0a1.en-US.android-arm-armv6.crashreporter-symbols.zip
PROCESS-CRASH | remoteautomation.py | application crashed [@ CustomElf::stats(char const*) const]
Crash dump filename: /tmp/tmphtnZ_o/0f352f84-c736-aba8-5909fe58-333d6680.dmp
Operating system: Android
                  0.0.0 Linux 2.6.32.9-00002-gd8084dc-dirty #1 SMP PREEMPT Wed Feb 2 11:32:06 PST 2011 armv7l nvidia/harmony/harmony/harmony:2.2/FRF91/20110202.102810:eng/test-keys
CPU: arm
     0 CPUs

Crash reason:  SIGSEGV
Crash address: 0x3546f0

Thread 5 (crashed)
 0  libmozglue.so!CustomElf::stats(char const*) const [CustomElf.cpp : 381 + 0xc]
     r4 = 0x0030a98c    r5 = 0x80c30fdc    r6 = 0x54a1d6cb    r7 = 0x00000000
     r8 = 0x00000000    r9 = 0x54a1d6cb   r10 = 0x53d14b54    fp = 0x00000000
     sp = 0x4e962450    lr = 0x80c1b190    pc = 0x80c1bf64
    Found by: given as instruction pointer in context
 1  libmozglue.so!ElfLoader::stats(char const*) [ElfLoader.cpp : 389 + 0xa]
     r4 = 0x0030a98c    r5 = 0x80c30fdc    r6 = 0x54a1d6cb    r7 = 0x00000000
     r8 = 0x00000000    r9 = 0x54a1d6cb   r10 = 0x53d14b54    fp = 0x00000000
     sp = 0x4e962458    pc = 0x80c1b190
    Found by: call frame info
 2  libxul.so!nsAppShellService::CreateTopLevelWindow(nsIXULWindow*, nsIURI*, unsigned int, int, int, nsIXULWindow**) [StartupTimeline.h : 71 + 0xe]
     r4 = 0x54c76118    r5 = 0x554ea420    r6 = 0x80000ffe    r7 = 0x00000000
     r8 = 0x00000000    r9 = 0x54a1d6cb   r10 = 0x53d14b54    fp = 0x00000000
     sp = 0x4e962468    pc = 0x53d14cc4
    Found by: call frame info
 3  libxul.so!nsAppStartup::CreateChromeWindow2(nsIWebBrowserChrome*, unsigned int, unsigned int, nsIURI*, bool*, nsIWebBrowserChrome**) [nsAppStartup.cpp : 596 + 0x22]
     r4 = 0x4e9624d8    r5 = 0x00000000    r6 = 0x80000ffe    r7 = 0x554ea420
     r8 = 0x4e962730    r9 = 0x00000000   r10 = 0x53d14b54    fp = 0x00000000
     sp = 0x4e9624b8    pc = 0x53d22a00
    Found by: call frame info
 4  libxul.so!nsWindowWatcher::OpenWindowInternal(nsIDOMWindow*, char const*, char const*, char const*, bool, bool, bool, nsIArray*, nsIDOMWindow**) [nsWindowWatcher.cpp : 746 + 0x2a]
     r4 = 0x00000000    r5 = 0x80000ffe    r6 = 0x54c76118    r7 = 0x00000000
     r8 = 0x53d228bc    r9 = 0x00000000   r10 = 0x00000000    fp = 0x00000000
     sp = 0x4e962500    pc = 0x53ceb89c
    Found by: call frame info
 5  libxul.so!nsWindowWatcher::OpenWindow(nsIDOMWindow*, char const*, char const*, char const*, nsISupports*, nsIDOMWindow**) [nsWindowWatcher.cpp : 405 + 0x4e]
     r4 = 0x4e9627ac    r5 = 0x00000000    r6 = 0x00000000    r7 = 0x52befc70
     r8 = 0x55581d60    r9 = 0x000046d0   r10 = 0x4e962ae8    fp = 0x4e96281c
     sp = 0x4e962790    pc = 0x53cec85c
    Found by: call frame info
 6  libxul.so!NS_InvokeByIndex_P [xptcinvoke_arm.cpp : 160 + 0x22]
     r4 = 0x00000003    r5 = 0x4e9627f8    r6 = 0x00000006    r7 = 0x4e9628d0
     r8 = 0x00000012    r9 = 0x000046d0   r10 = 0x4e962ae8    fp = 0x4e96281c
     sp = 0x4e9627c8    pc = 0x541496f8
    Found by: call frame info
 7  libxul.so!XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode) [XPCWrappedNative.cpp : 3085 + 0x1a]
     r4 = 0x54c76118    r5 = 0x4e9628d0    r6 = 0x4e962b78    r7 = 0x00000028
     r8 = 0x00000012    r9 = 0x000046d0   r10 = 0x4e962ae8    fp = 0x000023bc
     sp = 0x4e962820    pc = 0x53c5134c
The crashing code looks like this:
void
CustomElf::stats(const char *when) const
{
  mappable->stats(when, GetPath());
}

The disassembly:
   1bf54:       e92d4010        push    {r4, lr}
   1bf58:       e5903024        ldr     r3, [r0, #36]  mappable in r3
   1bf5c:       e590200c        ldr     r2, [r0, #12]  return value of GetPath() in r2
   1bf60:       e1a00003        mov     r0, r3         mappable in r0
>  1bf64:       e5933000        ldr     r3, [r3]       read vtable pointer of mappable
   1bf68:       e1a0e00f        mov     lr, pc         store return address
   1bf6c:       e593f018        ldr     pc, [r3, #24]  call stats
   1bf70:       e8bd8010        pop     {r4, pc}

So the specific part that crashes is dereferencing mappable. It doesn't make much sense. I'll have to look further.

BTW, is it expected that the first frame doesn't show registers r0 to r3?

Comment 3

5 years ago
Resolving WFM keyword:intermittent-failure bugs last modified >3 months ago, whose whiteboard contains none of:
{random,disabled,marked,fuzzy,todo,fails,failing,annotated,time-bomb,leave open}

There will inevitably be some false positives; for that (and the bugspam) I apologise. Filter on orangewfm.
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.