Closed Bug 646819 Opened 14 years ago Closed 14 years ago

Intermittent out of memory situation in content/media/test/test_seek.html | Exited with code [number] during test run

Categories

(Core :: Audio/Video, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla5

People

(Reporter: ehsan.akhgari, Assigned: cajbir)

References

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

http://tinderbox.mozilla.org/showlog.cgi?log=Cedar/1301575439.1301576223.1244.gz&fulltext=1 Rev3 WINNT 5.1 cedar opt test mochitests-1/5 on 2011/03/31 05:43:59 SEEK-TEST: Finished r11025_s16_c1.wav seek test 4 SEEK-TEST: Started r11025_s16_c1.wav seek test 5 SEEK-TEST: Started r11025_s16_c1.wav seek test 6 64420 INFO TEST-PASS | /tests/content/media/test/test_seek.html | r11025_s16_c1.wav seek test 5: Video currentTime should be around 0.5: 0.5 64421 INFO TEST-PASS | /tests/content/media/test/test_seek.html | r11025_s16_c1.wav seek test 6: Seek 1 *** registerProtocolHandler(foo,http://mochi.test:8888/%s,Foo handler) *** registerContentHandler(application/rss+xml,http://mochi.test:8888/%s,Foo handler) *** registerProtocolHandler(foo,http://mochi.test:8888/,Foo handler) *** registerContentHandler(application/rss+xml,http://mochi.test:8888/,Foo handler) *** registerProtocolHandler(foo,foo/%s,Foo handler) *** registerContentHandler(application/rss+xml,foo/%s,Foo handler) *** registerProtocolHandler(foo,http://remotehost:8888/%s,Foo handler) *** registerContentHandler(application/rss+xml,http://remotehost:8888/%s,Foo handler) *** registerProtocolHandler(foo,https://mochi.test:8888/%s,Foo handler) *** registerContentHandler(application/rss+xml,https://mochi.test:8888/%s,Foo handler) *** registerProtocolHandler(foo,ftp://mochi.test:8888/%s,Foo handler) *** registerContentHandler(application/rss+xml,ftp://mochi.test:8888/%s,Foo handler) *** registerProtocolHandler(foo,chrome://mochi.test:8888/%s,Foo handler) *** registerContentHandler(application/rss+xml,chrome://mochi.test:8888/%s,Foo handler) *** registerProtocolHandler(foo,foo://mochi.test:8888/%s,Foo handler) *** registerContentHandler(application/rss+xml,foo://mochi.test:8888/%s,Foo handler) *** registerProtocolHandler(chrome,http://mochi.test:8888/%s,chrome handler) *** registerProtocolHandler(vbscript,http://mochi.test:8888/%s,vbscript handler) *** registerProtocolHandler(javascript,http://mochi.test:8888/%s,javascript handler) *** registerProtocolHandler(moz-icon,http://mochi.test:8888/%s,moz-icon handler) *** registerContentHandler(application/rss+xml,http://mochi.test:8888/%s,Foo handler) *** registerContentHandler(application/atom+xml,http://mochi.test:8888/%s,Foo handler) *** registerContentHandler(text/html,http://mochi.test:8888/%s,Foo handler) Can't find symbol 'eglCreateImageKHR' Can't find symbol 'eglDestroyImageKHR' Can't find symbol 'glEGLImageTargetTexture2DOES' out of memory TEST-UNEXPECTED-FAIL | /tests/content/media/test/test_seek.html | Exited with code -2147483645 during test run INFO | automation.py | Application ran for: 0:08:53.469000 INFO | automation.py | Reading PID log: c:\docume~1\cltbld\locals~1\temp\tmps1mulkpidlog ==> process 3556 launched child process 3384 INFO | automation.py | Checking for orphan process with PID: 3384 PROCESS-CRASH | /tests/content/media/test/test_seek.html | application crashed (minidump found) Operating system: Windows NT 5.1.2600 Service Pack 2 CPU: x86 GenuineIntel family 6 model 23 stepping 10 2 CPUs Crash reason: EXCEPTION_BREAKPOINT Crash address: 0x6c1a39 Thread 51 (crashed) 0 mozalloc.dll!mozalloc_abort(char const * const) [mozalloc_abort.cpp:a0e698794d69 : 77 + 0x0] eip = 0x006c1a39 esp = 0x179ffe04 ebp = 0x179ffe58 ebx = 0xffffffff esi = 0x781432c0 edi = 0x78187690 eax = 0x00000000 ecx = 0x3c280402 edx = 0x781d6c50 efl = 0x00000202 Found by: given as instruction pointer in context 1 mozalloc.dll!mozalloc_handle_oom() [mozalloc_oom.cpp:a0e698794d69 : 54 + 0x9] eip = 0x006c1a6c esp = 0x179ffe10 ebp = 0x179ffe58 Found by: call frame info with scanning 2 xul.dll!nsWaveReader::DecodeAudioData() [nsWaveReader.cpp:a0e698794d69 : 198 + 0x13] eip = 0x105b3a4d esp = 0x179ffe18 ebp = 0x179ffe58 Found by: call frame info 3 xul.dll!nsBuiltinDecoderStateMachine::DecodeLoop() [nsBuiltinDecoderStateMachine.cpp:a0e698794d69 : 351 + 0x7] eip = 0x10940145 esp = 0x179ffe60 ebp = 0x179ffeec Found by: previous frame's frame pointer 4 xul.dll!nsRunnableMethodImpl<unsigned int ( mozilla::places::`anonymous namespace'::VisitedQuery::*)(void),1>::Run() [nsThreadUtils.h:a0e698794d69 : 345 + 0x2] eip = 0x104c2e07 esp = 0x179ffef4 ebp = 0x04298a20 Found by: previous frame's frame pointer 5 xul.dll!nsThread::ProcessNextEvent(int,int *) [nsThread.cpp:a0e698794d69 : 633 + 0x13] eip = 0x100d2187 esp = 0x179ffef8 ebp = 0x04298a20 Found by: call frame info 6 xul.dll!nsThreadStartupEvent::Run() [nsThread.cpp:a0e698794d69 : 207 + 0xf] eip = 0x1022e317 esp = 0x179fff20 ebp = 0x100d2187 Found by: call frame info with scanning 7 nspr4.dll!_PR_NativeRunThread [pruthr.c:a0e698794d69 : 426 + 0x8] eip = 0x0034bdd9 esp = 0x179fff54 ebp = 0x100d2187 Found by: call frame info with scanning 8 nspr4.dll!pr_root [w95thred.c:a0e698794d69 : 122 + 0xc] eip = 0x0034e05d esp = 0x179fff74 ebp = 0x100d2187 Found by: stack scanning 9 mozcrt19.dll!_callthreadstartex [threadex.c:a0e698794d69 : 348 + 0x8] eip = 0x78132c28 esp = 0x179fff7c ebp = 0x100d2187 Found by: call frame info 10 mozcrt19.dll!__dllonexit [onexit.c:a0e698794d69 : 276 + 0x5] eip = 0x7813d228 esp = 0x179fffa4 ebp = 0x100d2187 Found by: stack scanning 11 mozcrt19.dll!_threadstartex [threadex.c:a0e698794d69 : 326 + 0x4] eip = 0x78132cb6 esp = 0x179fffb4 ebp = 0x179fffec Found by: stack scanning 12 kernel32.dll + 0x399f2 eip = 0x7c8399f3 esp = 0x179fffe4 ebp = 0x179fffec Found by: call frame info with scanning Also: http://tinderbox.mozilla.org/showlog.cgi?log=Cedar/1301570833.1301571494.9523.gz&fulltext=1 Rev3 MacOSX Leopard 10.5.8 cedar opt test mochitests-1/5 on 2011/03/31 04:27:13 SEEK-TEST: Finished r11025_s16_c1.wav seek test 4 SEEK-TEST: Started r11025_s16_c1.wav seek test 5 SEEK-TEST: Started r11025_s16_c1.wav seek test 6 64262 INFO TEST-PASS | /tests/content/media/test/test_seek.html | r11025_s16_c1.wav seek test 5: Video currentTime should be around 0.5: 0.5 64263 INFO TEST-PASS | /tests/content/media/test/test_seek.html | r11025_s16_c1.wav seek test 6: Seek 1 64264 INFO TEST-PASS | /tests/content/media/test/test_seek.html | r11025_s16_c1.wav seek test 6: Seek 2 out of memory 64265 INFO TEST-PASS | /tests/content/media/test/test_seek.html | r11025_s16_c1.wav seek test 6: Seek 3 SEEK-TEST: Finished r11025_s16_c1.wav seek test 6 TEST-UNEXPECTED-FAIL | /tests/content/media/test/test_seek.html | Exited with code 1 during test run INFO | automation.py | Application ran for: 0:09:02.426404 INFO | automation.py | Reading PID log: /var/folders/Xr/Xr--yJnSEY0U11ET5NZuMU+++TM/-Tmp-/tmpbee3w0pidlog PROCESS-CRASH | /tests/content/media/test/test_seek.html | application crashed (minidump found) Operating system: Mac OS X 10.5.8 9L31a CPU: x86 family 6 model 23 stepping 10 2 CPUs Crash reason: EXC_BAD_ACCESS / KERN_PROTECTION_FAILURE Crash address: 0x0 Thread 33 (crashed) 0 libmozalloc.dylib!mozalloc_abort [mozalloc_abort.cpp:b26a6eda6f8b : 64 + 0x0] eip = 0x00018e7b esp = 0xb18efc90 ebp = 0x1dec4eb0 ebx = 0x00018e50 esi = 0xa02f65b8 edi = 0x00000000 eax = 0x0000000a ecx = 0x00000000 edx = 0x00000000 efl = 0x00010246 Found by: given as instruction pointer in context 1 libmozalloc.dylib!mozalloc_handle_oom [mozalloc_oom.cpp:b26a6eda6f8b : 54 + 0xd] eip = 0x00018eb8 esp = 0xb18efcb0 ebp = 0x1dec4eb0 ebx = 0x00018ea9 esi = 0x00005622 edi = 0x00000000 Found by: call frame info 2 libmozalloc.dylib!moz_xmalloc [mozalloc.cpp:b26a6eda6f8b : 100 + 0x4] eip = 0x00018bce esp = 0xb18efcd0 ebp = 0x1dec4eb0 ebx = 0xffffffa8 esi = 0x00005622 edi = 0x00000000 Found by: call frame info 3 XUL!nsWaveReader::DecodeAudioData [mozalloc.h : 241 + 0x14] eip = 0x033df60f esp = 0xb18efcf0 ebp = 0x1dec4eb0 ebx = 0x033df51c esi = 0x00005622 edi = 0x00000000 Found by: call frame info 4 XUL!nsBuiltinDecoderStateMachine::DecodeLoop [nsBuiltinDecoderStateMachine.cpp:b26a6eda6f8b : 351 + 0x7] eip = 0x0338c95a esp = 0xb18efd80 ebp = 0x00000000 ebx = 0x0338c5cf esi = 0x2940dee0 edi = 0x00000000 Found by: call frame info 5 XUL!nsRunnableMethodImpl<void (nsBuiltinDecoderStateMachine::*)(),true>::Run [cedar:ils.h:b26a6eda6f8b : 345 + 0xf] eip = 0x0338d0df esp = 0xb18efe50 ebp = 0xb18efea8 ebx = 0x2dc2ac90 esi = 0x00000000 edi = 0x1e693df0 Found by: call frame info 6 XUL!nsThread::ProcessNextEvent [nsThread.cpp:b26a6eda6f8b : 633 + 0x7] eip = 0x03a6a577 esp = 0xb18efe70 ebp = 0xb18efea8 ebx = 0x03a6a3cc esi = 0x00000000 edi = 0x1e693df0 Found by: call frame info 7 XUL!NS_ProcessNextEvent_P [nsThreadUtils.cpp : 250 + 0x17] eip = 0x02b68bea esp = 0xb18efed0 ebp = 0xb18eff1c ebx = 0x02b68bc9 esi = 0x1dee06a0 edi = 0x1e693df0 Found by: call frame info 8 XUL!nsThread::ThreadFunc [nsThread.cpp:b26a6eda6f8b : 278 + 0xf] eip = 0x03a6a910 esp = 0xb18eff00 ebp = 0xb18eff1c ebx = 0x03a6a88c esi = 0x1dee06a0 edi = 0x1e693df0 Found by: call frame info 9 libnspr4.dylib!_pt_root [ptthread.c:b26a6eda6f8b : 187 + 0x8] eip = 0x00056862 esp = 0xb18eff40 ebp = 0xb18eff78 ebx = 0x000567de esi = 0x1dee06a0 edi = 0x00064e00 Found by: call frame info 10 libSystem.B.dylib + 0x32154 eip = 0x921f7155 esp = 0xb18eff80 ebp = 0xb18effc8 ebx = 0x921f7028 esi = 0xb18f0000 edi = 0x00000000 Found by: call frame info 11 libSystem.B.dylib + 0x32011 eip = 0x921f7012 esp = 0xb18effd0 ebp = 0xb18effec Found by: previous frame's frame pointer This looks really bad. Could it be a regression from the recent wave decoder changes? Could it indicate that we're leaking memory somehow?
It looks like the issue identified by Chris Pearce in bug 641718 comment 15: > PRBool nsWaveReader::DecodeAudioData() > { > MonitorAutoEnter mon(mMonitor); > NS_ASSERTION(mDecoder->OnStateMachineThread() || mDecoder->OnDecodeThread(), > "Should be on state machine thread or decode thread."); > - PRInt64 pos = GetPosition(); > + PRInt64 pos = GetPosition() - mWavePCMOffset; > > This ensures that the start time of the audio is calculated correctly (it would > be off by a few hundred microseconds without this). Also without this, |pos| > can be greater than |len|, causing |remaining| to be negative, and operator new to fail further down. We should factor that out into this bug.
Attached patch Fix (deleted) — Splinter Review
Assignee: nobody → chris.double
Status: NEW → ASSIGNED
Attachment #523302 - Flags: review?(kinetik)
Attachment #523302 - Flags: review?(kinetik) → review+
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla2.2
Can I take a moment to say that among the hundreds of intermittent orange bugs that I've filed, this has been the most pleasant experience? I owe you guys a better or two! Really appreciate the prompt fix.
Can someone confirm if this is fixed?
Whiteboard: [orange]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: