[Pkg-chromium-maint] Bug#680566: chromium: SIGSEGV in fopen64 at content/browser/zygote_main_linux.cc:840 on armel

shawn shawnlandden at gmail.com
Fri Jul 6 21:56:35 UTC 2012


> Any idea what the cause is?  E.g., can you find where in the function it
> crashes by judicious use of printf, do you know what is on line 840 in
> the source of the binary you are testing, or can you get gdb to print
> which part of the assembly 0x2c2e0a4c refers to?

Dump of assembler code for function fopen64(char const*, char const*):
   0x022e09d4 <+0>: push {r4, r5, lr}
   0x022e09d8 <+4>: ldr r3, [pc, #316] ; 0x22e0b1c <fopen64(char const*,
char const*)+328>
   0x022e09dc <+8>: add r3, pc, r3
   0x022e09e0 <+12>: ldrb r3, [r3]
   0x022e09e4 <+16>: cmp r3, #0
   0x022e09e8 <+20>: sub sp, sp, #420 ; 0x1a4
   0x022e09ec <+24>: mov r5, r0
   0x022e09f0 <+28>: mov r4, r1
   0x022e09f4 <+32>: beq 0x22e0a38 <fopen64(char const*, char
const*)+100>
   0x022e09f8 <+36>: ldr r1, [pc, #288] ; 0x22e0b20 <fopen64(char
const*, char const*)+332>
   0x022e09fc <+40>: add r1, pc, r1
   0x022e0a00 <+44>: bl 0x257b460
   0x022e0a04 <+48>: cmp r0, #0
   0x022e0a08 <+52>: bne 0x22e0a38 <fopen64(char const*, char
const*)+100>
   0x022e0a0c <+56>: bl 0xa6c0f0 <GetUrandomFD()>
   0x022e0a10 <+60>: bl 0x257b488
   0x022e0a14 <+64>: cmn r0, #1
   0x022e0a18 <+68>: beq 0x22e0ab8 <fopen64(char const*, char
const*)+228>
   0x022e0a1c <+72>: cmp r0, #0
   0x022e0a20 <+76>: blt 0x22e0ac8 <fopen64(char const*, char
const*)+244>
   0x022e0a24 <+80>: mov r1, r4
   0x022e0a28 <+84>: bl 0x257b490
   0x022e0a2c <+88>: add sp, sp, #420 ; 0x1a4
   0x022e0a30 <+92>: pop {r4, r5, lr}
   0x022e0a34 <+96>: bx lr
   0x022e0a38 <+100>: ldr r0, [pc, #228] ; 0x22e0b24 <fopen64(char
const*, char const*)+336>
   0x022e0a3c <+104>: ldr r1, [pc, #228] ; 0x22e0b28 <fopen64(char
const*, char const*)+340>
   0x022e0a40 <+108>: add r0, pc, r0
   0x022e0a44 <+112>: add r1, pc, r1
   0x022e0a48 <+116>: bl 0x257b480
   0x022e0a4c <+120>: mov r3, #0
   0x022e0a50 <+124>: cmp r0, #0
   0x022e0a54 <+128>: str r3, [sp, #408] ; 0x198
   0x022e0a58 <+132>: str r0, [sp, #412] ; 0x19c
   0x022e0a5c <+136>: beq 0x22e0a98 <fopen64(char const*, char
const*)+196>
   0x022e0a60 <+140>: ldr r2, [pc, #196] ; 0x22e0b2c <fopen64(char
const*, char const*)+344>
   0x022e0a64 <+144>: add r0, sp, #408 ; 0x198
   0x022e0a68 <+148>: add r1, sp, #412 ; 0x19c
   0x022e0a6c <+152>: add r2, pc, r2
   0x022e0a70 <+156>: bl 0xa50abc <logging::MakeCheckOpString<int,
int>(int const&, int const&, char const*)>
   0x022e0a74 <+160>: subs r3, r0, #0
   0x022e0a78 <+164>: beq 0x22e0a98 <fopen64(char const*, char
const*)+196>
   0x022e0a7c <+168>: ldr r1, [pc, #172] ; 0x22e0b30 <fopen64(char
const*, char const*)+348>
   0x022e0a80 <+172>: add r0, sp, #212 ; 0xd4
   0x022e0a84 <+176>: add r1, pc, r1
   0x022e0a88 <+180>: ldr r2, [pc, #164] ; 0x22e0b34 <fopen64(char
const*, char const*)+352>
   0x022e0a8c <+184>: bl 0xa4f94c <logging::LogMessage::LogMessage(char
const*, int, std::string*)>
   0x022e0a90 <+188>: add r0, sp, #212 ; 0xd4
   0x022e0a94 <+192>: bl 0xa50e70 <logging::LogMessage::~LogMessage()>
   0x022e0a98 <+196>: ldr r3, [pc, #152] ; 0x22e0b38 <fopen64(char
const*, char const*)+356>
   0x022e0a9c <+200>: mov r0, r5
   0x022e0aa0 <+204>: mov r1, r4
   0x022e0aa4 <+208>: add r3, pc, r3
   0x022e0aa8 <+212>: ldr r12, [r3]
   0x022e0aac <+216>: mov lr, pc
   0x022e0ab0 <+220>: bx r12
   0x022e0ab4 <+224>: b 0x22e0a2c <fopen64(char const*, char const*)+88>
---Type <return> to continue, or q <return> to quit---
   0x022e0ab8 <+228>: bl 0x257ad28
   0x022e0abc <+232>: ldr r3, [r0]
   0x022e0ac0 <+236>: cmp r3, #4
   0x022e0ac4 <+240>: beq 0x22e0a0c <fopen64(char const*, char
const*)+56>
   0x022e0ac8 <+244>: bl 0xa4f278 <logging::GetMinLogLevel()>
   0x022e0acc <+248>: cmp r0, #2
   0x022e0ad0 <+252>: movgt r0, #0
   0x022e0ad4 <+256>: bgt 0x22e0a2c <fopen64(char const*, char
const*)+88>
   0x022e0ad8 <+260>: bl 0xa4fc74 <logging::GetLastSystemErrorCode()>
   0x022e0adc <+264>: ldr r1, [pc, #88] ; 0x22e0b3c <fopen64(char
const*, char const*)+360>
   0x022e0ae0 <+268>: mov r3, #2
   0x022e0ae4 <+272>: str r0, [sp]
   0x022e0ae8 <+276>: add r1, pc, r1
   0x022e0aec <+280>: ldr r2, [pc, #76] ; 0x22e0b40 <fopen64(char
const*, char const*)+364>
   0x022e0af0 <+284>: add r0, sp, #12
   0x022e0af4 <+288>: bl 0xa4fc88
<logging::ErrnoLogMessage::ErrnoLogMessage(char const*, int,
logging::LogSeverity, logging::SystemErrorCode)>
   0x022e0af8 <+292>: ldr r1, [pc, #68] ; 0x22e0b44 <fopen64(char
const*, char const*)+368>
   0x022e0afc <+296>: mov r2, #13
   0x022e0b00 <+300>: add r1, pc, r1
   0x022e0b04 <+304>: add r0, sp, #20
   0x022e0b08 <+308>: bl 0x257ac50
   0x022e0b0c <+312>: add r0, sp, #12
   0x022e0b10 <+316>: bl 0xa518a0
<logging::ErrnoLogMessage::~ErrnoLogMessage()>
   0x022e0b14 <+320>: mov r0, #0
   0x022e0b18 <+324>: b 0x22e0a2c <fopen64(char const*, char const*)+88>
   0x022e0b1c <+328>: smulbteq r6, r12, r0
   0x022e0b20 <+332>: teqeq r3, r12, ror #10
   0x022e0b24 <+336>: msreq (UNDEF: 117), r4
   0x022e0b28 <+340>: ; <UNDEFINED> instruction: 0xfffffa10
   0x022e0b2c <+344>: teqeq r3, r0, asr r0
   0x022e0b30 <+348>: teqeq r3, r12, lsl #28
   0x022e0b34 <+352>: andeq r0, r0, r9, asr #6
   0x022e0b38 <+356>: smceq 24564 ; 0x5ff4
   0x022e0b3c <+360>: teqeq r3, r8, lsr #27
   0x022e0b40 <+364>: andeq r0, r0, r3, asr #6
   0x022e0b44 <+368>: teqeq r3, r12, lsr #31
End of assembler dump.
-- 
-Shawn Landden-- 
-Shawn Landden






More information about the Pkg-chromium-maint mailing list