From 3f4d090d70c3f5fbeb9b6e646a079631f1ebf05b Mon Sep 17 00:00:00 2001 From: "mmandlis@chromium.org" Date: Wed, 26 Aug 2015 16:18:52 +0000 Subject: The "CPU architecture" field is being filled from the wrong part of the microdump. The microdump OS/arch line looks like: O A arm 04 armv7l 3.4.0-perf-g4d6e88e #1 SMP PREEMPT Mon Mar 30 19:09:30 2015 and currently the field that says "armv7l" or "aarch64" is being used to fill in the CPU arch field in crash. The problem is that on a 64-bit device this field *always* says "aarch64" even when running in a 32-bit process, and so currently the crash reports for aarch64 are a mix of 32-bit and 64-bit crashes. We should be using the first field instead, which just says "arm" or "arm64" and reflects the actual version of webview (32-bit or 64-bit) which is running. BUG= R=primiano@chromium.org Review URL: https://codereview.chromium.org/1306983003 . git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1498 4c0a9323-5329-0410-9bdc-e9ce6186880e --- src/processor/testdata/microdump.stackwalk-arm.out | 35 ++++++--- .../testdata/microdump.stackwalk-arm64.out | 84 +++++++++++++++++++--- .../microdump.stackwalk.machine_readable-arm.out | 2 +- .../microdump.stackwalk.machine_readable-arm64.out | 2 +- 4 files changed, 102 insertions(+), 21 deletions(-) (limited to 'src/processor/testdata') diff --git a/src/processor/testdata/microdump.stackwalk-arm.out b/src/processor/testdata/microdump.stackwalk-arm.out index 4fbeb8f1..2b82dab9 100644 --- a/src/processor/testdata/microdump.stackwalk-arm.out +++ b/src/processor/testdata/microdump.stackwalk-arm.out @@ -1,6 +1,6 @@ Operating system: Android OS VERSION INFO -CPU: armv7l +CPU: arm 2 CPUs Crash reason: @@ -9,28 +9,45 @@ Process uptime: not available Thread 0 (crashed) 0 breakpad_unittests!MicrodumpWriterTest_Setup_Test::TestBody [gtest.h : 1481 + 0x1] - + r0 = 0x00000000 r1 = 0x00000000 r2 = 0x00000000 r3 = 0x00000000 + r4 = 0xffea6900 r5 = 0xffea68f0 r6 = 0xffea68f8 r7 = 0xffea6904 + r8 = 0xffea68e0 r9 = 0xffea6900 r10 = 0xffea6930 r12 = 0x00000000 + fp = 0x00000ea2 sp = 0xffea68c0 lr = 0xaaaeb307 pc = 0xaaaeb307 Found by: given as instruction pointer in context 1 breakpad_unittests!testing::Test::Run [gtest.cc : 2435 + 0x17] - + r4 = 0xaab431dc r5 = 0xab20d7d0 r6 = 0xab203478 r7 = 0x00000149 + r8 = 0xab203588 r9 = 0xab20d7d0 r10 = 0xffea6f60 fp = 0xab2034d8 + sp = 0xffea6f28 pc = 0xaab0a741 Found by: call frame info 2 breakpad_unittests!testing::TestInfo::Run [gtest.cc : 2610 + 0x5] - + r4 = 0xab205448 r5 = 0xab203478 r6 = 0xf6d21cdd r7 = 0x00000149 + r8 = 0xab203588 r9 = 0xab20d7d0 r10 = 0xffea6f60 fp = 0xab2034d8 + sp = 0xffea6f50 pc = 0xaab0a875 Found by: call frame info 3 breakpad_unittests!testing::TestCase::Run [gtest.cc : 2728 + 0x3] - + r4 = 0xab2054c8 r5 = 0x00000000 r6 = 0xf6d21cdd r7 = 0x00000149 + r8 = 0xab203478 r9 = 0xab203588 r10 = 0x00000001 fp = 0xab2034d8 + sp = 0xffea6f90 pc = 0xaab0a8fd Found by: call frame info 4 breakpad_unittests!testing::internal::UnitTestImpl::RunAllTests [gtest.cc : 4591 + 0x3] - + r4 = 0xab203478 r5 = 0xab203588 r6 = 0x00000000 r7 = 0x00000001 + r8 = 0x00000000 r9 = 0xab2047f0 r10 = 0x00000001 fp = 0xab2034d8 + sp = 0xffea6fc0 pc = 0xaab0aafd Found by: call frame info 5 breakpad_unittests!testing::UnitTest::Run [gtest.cc : 2418 + 0x5] - + r4 = 0x00000000 r5 = 0xab203478 r6 = 0x00000002 r7 = 0xaaae2c19 + r8 = 0x00000000 r9 = 0x00000000 r10 = 0x00000000 fp = 0xffea706c + sp = 0xffea7018 pc = 0xaab09a61 Found by: call frame info 6 breakpad_unittests!main [gtest.h : 2326 + 0x3] - + r4 = 0xffea702c r5 = 0xffea7074 r6 = 0x00000002 r7 = 0xaaae2c19 + r8 = 0x00000000 r9 = 0x00000000 r10 = 0x00000000 fp = 0xffea706c + sp = 0xffea7028 pc = 0xaaae2c3b Found by: call frame info 7 libc.so + 0x11e9d - + r4 = 0xffea7074 r5 = 0xffea7080 r6 = 0x00000002 r7 = 0xaaae2c19 + r8 = 0x00000000 r9 = 0x00000000 r10 = 0x00000000 fp = 0xffea706c + sp = 0xffea7040 pc = 0xf7025e9f Found by: call frame info Loaded modules: diff --git a/src/processor/testdata/microdump.stackwalk-arm64.out b/src/processor/testdata/microdump.stackwalk-arm64.out index 4f6cd972..2676d024 100644 --- a/src/processor/testdata/microdump.stackwalk-arm64.out +++ b/src/processor/testdata/microdump.stackwalk-arm64.out @@ -1,6 +1,6 @@ Operating system: Android OS 64 VERSION INFO -CPU: aarch64 +CPU: arm64 2 CPUs Crash reason: @@ -9,31 +9,95 @@ Process uptime: not available Thread 0 (crashed) 0 breakpad_unittests!MicrodumpWriterTest_Setup_Test::TestBody [microdump_writer_unittest.cc : 77 + 0xc] - + x0 = 0x0000000000000000 x1 = 0x0000000000000000 + x2 = 0x0000000000000000 x3 = 0x0000000000000000 + x4 = 0x0000000000000000 x5 = 0x0000000000000000 + x6 = 0x0000000000000000 x7 = 0x0000000000000000 + x8 = 0x0000000000000000 x9 = 0x0000000000000000 + x10 = 0x0000000000000000 x11 = 0x0000000000000000 + x12 = 0x0000000000000000 x13 = 0x0000000000000000 + x14 = 0x0000000000000000 x15 = 0x0000000000000000 + x16 = 0x0000000000000000 x17 = 0x0000000000000000 + x18 = 0x0000000000000000 x19 = 0x0000007fe2ba6a50 + x20 = 0x0000007fe2ba65e0 x21 = 0x0000007fe2ba61e0 + x22 = 0x000000555f6b4000 x23 = 0x0000007fe2ba6280 + x24 = 0x0000007fe2ba6250 x25 = 0x000000555f6b4c51 + x26 = 0x0000000000000e91 x27 = 0x0000007fe2ba6220 + x28 = 0x0000007fe2ba61f0 fp = 0x0000007fe2ba6120 + lr = 0x000000555f636f6c sp = 0x0000007fe2ba6120 + pc = 0x000000555f636f6c Found by: given as instruction pointer in context 1 breakpad_unittests!testing::internal::HandleExceptionsInMethodIfSupported [gtest.cc : 2418 + 0x4] - + x19 = 0x00000055955022d0 x20 = 0x00000055954ee170 + x21 = 0x00000055954ee170 x22 = 0x00000055954ee390 + x23 = 0x00000149f6d1624a x24 = 0x000000555f6df000 + x25 = 0x0000000000000001 x26 = 0x00000149f6d16249 + x27 = 0x0000000000000001 x28 = 0x000000555f6b35c9 + fp = 0x0000007fe2ba7a50 sp = 0x0000007fe2ba7a50 + pc = 0x000000555f66323c Found by: call frame info 2 breakpad_unittests!testing::Test::Run [gtest.cc : 2435 + 0x14] - + x19 = 0x00000055955022d0 x20 = 0x00000055954ee170 + x21 = 0x00000055954ee170 x22 = 0x00000055954ee390 + x23 = 0x00000149f6d1624a x24 = 0x000000555f6df000 + x25 = 0x0000000000000001 x26 = 0x00000149f6d16249 + x27 = 0x0000000000000001 x28 = 0x000000555f6b35c9 + fp = 0x0000007fe2ba7a80 sp = 0x0000007fe2ba7a80 + pc = 0x000000555f66448c Found by: call frame info 3 breakpad_unittests!testing::TestInfo::Run [gtest.cc : 2610 + 0x4] - + x19 = 0x00000055954f3890 x20 = 0x00000055955022d0 + x21 = 0x00000055954ee170 x22 = 0x00000055954ee390 + x23 = 0x00000149f6d1624a x24 = 0x000000555f6df000 + x25 = 0x0000000000000001 x26 = 0x00000149f6d16249 + x27 = 0x0000000000000001 x28 = 0x000000555f6b35c9 + fp = 0x0000007fe2ba7aa0 sp = 0x0000007fe2ba7aa0 + pc = 0x000000555f6645b8 Found by: call frame info 4 breakpad_unittests!testing::TestCase::Run [gtest.cc : 2728 + 0x0] - + x19 = 0x00000055954f39a0 x20 = 0x00000055954ee170 + x21 = 0x00000055954ee390 x22 = 0x0000000000000001 + x23 = 0x00000149f6d1624a x24 = 0x000000555f6df000 + x25 = 0x0000000000000001 x26 = 0x00000149f6d16249 + x27 = 0x0000000000000001 x28 = 0x000000555f6b35c9 + fp = 0x0000007fe2ba7ae0 sp = 0x0000007fe2ba7ae0 + pc = 0x000000555f664674 Found by: call frame info 5 breakpad_unittests!testing::internal::UnitTestImpl::RunAllTests [gtest.cc : 4591 + 0x0] - + x19 = 0x00000055954ee170 x20 = 0x0000000000000000 + x21 = 0x00000055954ee390 x22 = 0x0000000000000002 + x23 = 0x0000000000000000 x24 = 0x000000555f6df000 + x25 = 0x0000000000000001 x26 = 0x00000149f6d16249 + x27 = 0x0000000000000001 x28 = 0x000000555f6b35c9 + fp = 0x0000007fe2ba7b20 sp = 0x0000007fe2ba7b20 + pc = 0x000000555f66494c Found by: call frame info 6 breakpad_unittests!testing::UnitTest::Run [gtest.cc : 2418 + 0x4] - + x19 = 0x0000000000000000 x20 = 0x00000055954ee170 + x21 = 0x0000000000000002 x22 = 0x000000555f62b360 + x23 = 0x0000000000000000 x24 = 0x0000000000000000 + x25 = 0x0000000000000000 x26 = 0x0000000000000000 + x27 = 0x0000000000000000 x28 = 0x0000000000000000 + fp = 0x0000007fe2ba7bc0 sp = 0x0000007fe2ba7bc0 + pc = 0x000000555f664b68 Found by: call frame info 7 breakpad_unittests!main [gtest.h : 2326 + 0x0] - + x19 = 0x0000007fe2ba7c1c x20 = 0x0000007fe2ba7c88 + x21 = 0x0000000000000002 x22 = 0x000000555f62b360 + x23 = 0x0000000000000000 x24 = 0x0000000000000000 + x25 = 0x0000000000000000 x26 = 0x0000000000000000 + x27 = 0x0000000000000000 x28 = 0x0000000000000000 + fp = 0x0000007fe2ba7bf0 sp = 0x0000007fe2ba7bf0 + pc = 0x000000555f62b398 Found by: call frame info 8 libc.so + 0x17388 - + x19 = 0x0000007fe2ba7ca0 x20 = 0x0000007fe2ba7c88 + x21 = 0x0000000000000002 x22 = 0x000000555f62b360 + x23 = 0x0000000000000000 x24 = 0x0000000000000000 + x25 = 0x0000000000000000 x26 = 0x0000000000000000 + x27 = 0x0000000000000000 x28 = 0x0000000000000000 + fp = 0x0000007fe2ba7c20 sp = 0x0000007fe2ba7c20 + pc = 0x0000007f802ac38c Found by: call frame info Loaded modules: diff --git a/src/processor/testdata/microdump.stackwalk.machine_readable-arm.out b/src/processor/testdata/microdump.stackwalk.machine_readable-arm.out index 55abe0d3..8193ed0c 100644 --- a/src/processor/testdata/microdump.stackwalk.machine_readable-arm.out +++ b/src/processor/testdata/microdump.stackwalk.machine_readable-arm.out @@ -1,5 +1,5 @@ OS|Android|OS VERSION INFO -CPU|armv7l||2 +CPU|arm||2 Crash||0x0|0 Module|breakpad_unittests||breakpad_unittests|DA7778FB66018A4E9B4110ED06E730D00|0xaaacd000|0xaab48fff|0 Module|libnetd_client.so||libnetd_client.so|56B149396A4DAF176E26B4A85DA87BF30|0xf6fca000|0xf6fcdfff|0 diff --git a/src/processor/testdata/microdump.stackwalk.machine_readable-arm64.out b/src/processor/testdata/microdump.stackwalk.machine_readable-arm64.out index eb482ee4..4a26ecf5 100644 --- a/src/processor/testdata/microdump.stackwalk.machine_readable-arm64.out +++ b/src/processor/testdata/microdump.stackwalk.machine_readable-arm64.out @@ -1,5 +1,5 @@ OS|Android|OS 64 VERSION INFO -CPU|aarch64||2 +CPU|arm64||2 Crash||0x0|0 Module|breakpad_unittests||breakpad_unittests|D6D1FEC9A15DE7F38A236898871A2E770|0x555f608000|0x555f6c7fff|0 Module|libnetd_client.so||libnetd_client.so|7735F44BA6D7C27FD5C3636A43369B7C0|0x7f801f6000|0x7f80208fff|0 -- cgit v1.2.1