PDA

View Full Version : crash when playing flash video on mac


danb
November 10th, 2008, 01:12 AM
I get a consistent boxee crash on my Mac (10.5) when playing hulu video... it's right after I hit play... looking in the crash logs it is always related to the flash client thread.

I have flash 10.0 r12 (according to firefox).... is anyone else on mac running this version (the latest, i think)?

marcel
November 10th, 2008, 03:51 AM
Thanks for the report we will check into this ...can you try the CBS channel and see if you get the same results

danb
November 10th, 2008, 09:22 AM
Thanks for the report we will check into this ...can you try the CBS channel and see if you get the same results

Yeah, same problem... let me know if there is any more info I can provide or testing I can do.

thanks!

marcel
November 10th, 2008, 10:25 AM
can you send over your boxee logs ...:)

danb
November 10th, 2008, 10:47 AM
can you send over your boxee logs ...:)

here you go

wac
November 12th, 2008, 12:51 AM
I'm seeing exactly the same crash (the same traceback on the crashed thread) every time I try to play hulu content.

Let me know if there are any microtests around this flashplayer library I can run to help debug. 10.5.5 on a MacBook Pro (2GHz Core Duo)

marcel
November 12th, 2008, 04:53 AM
we are checking this issue..

wac
December 2nd, 2008, 02:15 AM
Here's the assembler at the crash.


0x1b06649e <_ZN11FlashClient6UpdateEv+94>: or %eax,-176(%ebp,%esi,4)



Thread 25 crashed with X86 Thread State (32-bit):
eax: 0x80000000 ebx: 0x1b74a44b ecx: 0x0000001f edx: 0x00000000
edi: 0xb1072df8 esi: 0x07ffffff ebp: 0xb1072ea8 esp: 0xb10729c0
ss: 0x0000001f efl: 0x00010296 eip: 0x1b74a49e cs: 0x00000017
ds: 0x0000001f es: 0x0000001f fs: 0x0000001f gs: 0x00000037
cr2: 0xd1072df4


Trying to set the high order bit on -176 + %ebp + 4*(%esi=0x07ffffff).

The value in ESI looks pretty fishy, so where does it come from...

0x1b066470 <_ZN11FlashClient6UpdateEv+48>: mov 8(%ebp),%eax
0x1b066473 <_ZN11FlashClient6UpdateEv+51>: mov 24(%eax),%edx
0x1b066491 <_ZN11FlashClient6UpdateEv+81>: mov %edx,%esi
0x1b066499 <_ZN11FlashClient6UpdateEv+89>: shr $0x5,%esi


Before FlashClient::Update+89 ESI contained all ones (0xffffffff) which it got from EAX+24. And EAX came from the implicit first argument (aka EBP+8, aka "this") to FlashClient::Update. Perhaps the FlashClient somehow isn't fully initialized before Update starts to work on it.

EBP+4 = 0x1980f0c0 (FlashClient *foo)
foo+0 = 0x1b506058 <_ZTV11FlashClient+8> FlashClient virtual table
foo+20 = (char *)"/Applications/Boxee.app/.../flashplayer"
foo+24 = 0xffffffff <-- possibly bad value

Other stuff in foo:

0x1980f0c0: 0x1b506058 0xffffffff 0xffffffff 0x00000000
0x1980f0d0: 0x00000a00 0x1755647c 0xffffffff 0xffffffff
0x1980f0e0: 0xffffffff 0xffffffff 0x00000000 0x00000026