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)
Core
Audio/Video
Tracking
()
RESOLVED
FIXED
mozilla5
People
(Reporter: ehsan.akhgari, Assigned: cajbir)
References
Details
(Keywords: intermittent-failure)
Attachments
(1 file)
(deleted),
patch
|
kinetik
:
review+
|
Details | Diff | Splinter Review |
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?
Assignee | ||
Comment 1•14 years ago
|
||
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.
Assignee | ||
Comment 2•14 years ago
|
||
Updated•14 years ago
|
Attachment #523302 -
Flags: review?(kinetik) → review+
Comment 3•14 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla2.2
Comment hidden (Legacy TBPL/Treeherder Robot) |
Reporter | ||
Comment 5•14 years ago
|
||
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.
Updated•12 years ago
|
Keywords: intermittent-failure
Updated•12 years ago
|
Whiteboard: [orange]
You need to log in
before you can comment on or make changes to this bug.
Description
•