Closed Bug 1140459 Opened 9 years ago Closed 9 years ago

Many Android 4.3 Debug tests assert: fIsRenderbuffer(depthRB), at gfx/gl/GLContext.cpp:1879

Categories

(Firefox for Android Graveyard :: Testing, defect)

x86_64
Linux
defect
Not set
normal

Tracking

(firefox40 fixed)

RESOLVED FIXED
Firefox 40
Tracking Status
firefox40 --- fixed

People

(Reporter: gbrown, Assigned: gbrown)

References

Details

Attachments

(1 file, 1 obsolete file)

In https://treeherder.mozilla.org/#/jobs?repo=try&revision=865a03c2014e, "Android 2.3 Opt" tests are actually running on the Android 4.3 emulator against the 4.0 Debug build. There are many crashes, but one of the most common is:

http://ftp.mozilla.org/pub/mozilla.org/mobile/try-builds/gbrown@mozilla.com-865a03c2014e/try-android-api-9/try_ubuntu64_vm_mobile_test-mochitest-4-bm51-tests1-linux64-build66.txt.gz

17:52:56  WARNING -  PROCESS-CRASH | dom/bindings/test/test_integers.html | application crashed [@ mozilla::gl::GLContext::AttachBuffersToFB(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)]
17:52:56     INFO -  Crash dump filename: /tmp/tmpxHCn9C/758a8a62-45e3-7c6a-637a9b90-1f07a69b.dmp
17:52:56     INFO -  Operating system: Android
17:52:56     INFO -                    0.0.0 Linux 2.6.29-gea477bb #1 Wed Sep 26 11:04:45 PDT 2012 armv7l generic/sdk/generic:4.3/JB_MR2/774058:eng/test-keys
17:52:56     INFO -  CPU: arm
17:52:56     INFO -       0 CPUs
17:52:56     INFO -  
17:52:56     INFO -  Crash reason:  SIGSEGV
17:52:56     INFO -  Crash address: 0x0
17:52:56     INFO -  
17:52:56     INFO -  Thread 12 (crashed)
17:52:56     INFO -   0  libxul.so!mozilla::gl::GLContext::AttachBuffersToFB(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) [GLContext.cpp:865a03c2014e : 1887 + 0x12]
17:52:56     INFO -       r4 = 0x00000757    r5 = 0x00000000    r6 = 0x00000001    r7 = 0x00000000
17:52:56     INFO -       r8 = 0x00000de1    r9 = 0x00000001   r10 = 0x00000000    fp = 0x00000de1
17:52:56     INFO -       sp = 0x528fe610    lr = 0x5852520f    pc = 0x5852904e
17:52:56     INFO -      Found by: given as instruction pointer in context
17:52:56     INFO -   1  libxul.so!mozilla::gl::ReadBuffer::Create(mozilla::gl::GLContext*, mozilla::gl::SurfaceCaps const&, mozilla::gl::GLFormats const&, mozilla::gl::SharedSurface*) [GLScreenBuffer.cpp:865a03c2014e : 689 + 0x17]
17:52:56     INFO -       r4 = 0x5fd8ee18    r5 = 0x5f4f5200    r6 = 0x528fe66c    r7 = 0x528fe6c8
17:52:56     INFO -       r8 = 0x00000001    r9 = 0x00000000   r10 = 0x00000000    fp = 0x00000de1
17:52:56     INFO -       sp = 0x528fe650    pc = 0x58534e87
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -   2  libxul.so!mozilla::gl::GLScreenBuffer::CreateRead(mozilla::gl::SharedSurface*) [GLScreenBuffer.cpp:865a03c2014e : 523 + 0xd]
17:52:56     INFO -       r4 = 0x528fe6c8    r5 = 0x5fd8ee18    r6 = 0x00000000    r7 = 0x528fe6c4
17:52:56     INFO -       r8 = 0x00000001    r9 = 0x611f9a1c   r10 = 0x5a096c68    fp = 0x00000000
17:52:56     INFO -       sp = 0x528fe6a8    pc = 0x58534f21
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -   3  libxul.so!mozilla::gl::GLScreenBuffer::Attach(mozilla::gl::SharedSurface*, mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> const&) [GLScreenBuffer.cpp:865a03c2014e : 408 + 0x5]
17:52:56     INFO -       r4 = 0x6442c870    r5 = 0x5fd8ee18    r6 = 0x00000000    r7 = 0x528fe6c4
17:52:56     INFO -       r8 = 0x00000001    r9 = 0x611f9a1c   r10 = 0x5a096c68    fp = 0x00000000
17:52:56     INFO -       sp = 0x528fe6c0    pc = 0x58535037
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -   4  libxul.so!mozilla::gl::GLScreenBuffer::Resize(mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> const&) [GLScreenBuffer.cpp:865a03c2014e : 492 + 0xd]
17:52:56     INFO -       r4 = 0x6442c870    r5 = 0x528fe760    r6 = 0x61207880    r7 = 0x5f4f5200
17:52:56     INFO -       r8 = 0x00000000    r9 = 0x611f9a1c   r10 = 0x5a096c68    fp = 0x00000000
17:52:56     INFO -       sp = 0x528fe6f8    pc = 0x58535091
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -   5  libxul.so!mozilla::gl::GLContext::CreateScreenBufferImpl(mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gl::SurfaceCaps const&) [GLContext.cpp:865a03c2014e : 2327 + 0xb]
17:52:56     INFO -       r4 = 0x5f4f5200    r5 = 0x528fe760    r6 = 0x61207880    r7 = 0x5f4f5200
17:52:56     INFO -       r8 = 0x00000000    r9 = 0x611f9a1c   r10 = 0x5a096c68    fp = 0x00000000
17:52:56     INFO -       sp = 0x528fe710    pc = 0x58535109
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -   6  libxul.so!mozilla::gl::GLContext::InitOffscreen(mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gl::SurfaceCaps const&) [GLContext.h:865a03c2014e : 3447 + 0x9]
17:52:56     INFO -       r4 = 0x5f4f5200    r5 = 0x528fe760    r6 = 0x61207880    r7 = 0x5f4f5200
17:52:56     INFO -       r8 = 0x00000000    r9 = 0x611f9a1c   r10 = 0x5a096c68    fp = 0x00000000
17:52:56     INFO -       sp = 0x528fe738    pc = 0x5853515d
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -   7  libxul.so!mozilla::WebGLContext::CreateOffscreenGL(bool) [WebGLContext.cpp:865a03c2014e : 612 + 0x7]
17:52:56     INFO -       r4 = 0x611f9a00    r5 = 0x528fe760    r6 = 0x528fe75c    r7 = 0x5f4f5200
17:52:56     INFO -       r8 = 0x00000000    r9 = 0x611f9a1c   r10 = 0x5a096c68    fp = 0x00000000
17:52:56     INFO -       sp = 0x528fe750    pc = 0x58a9257d
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -   8  libxul.so!mozilla::WebGLContext::SetDimensions(int, int) [WebGLContext.cpp:865a03c2014e : 879 + 0x7]
17:52:56     INFO -       r4 = 0x611f9a00    r5 = 0x00000001    r6 = 0x00000001    r7 = 0x611f9a7c
17:52:56     INFO -       r8 = 0x00000000    r9 = 0x00000000   r10 = 0x6117a770    fp = 0x528fefc0
17:52:56     INFO -       sp = 0x528fe7c8    pc = 0x58a93fb5
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -   9  libxul.so!mozilla::dom::HTMLCanvasElement::UpdateContext(JSContext*, JS::Handle<JS::Value>) [HTMLCanvasElement.cpp:865a03c2014e : 839 + 0xd]
17:52:56     INFO -       r4 = 0x00000000    r5 = 0x6117a770    r6 = 0x00000000    r7 = 0x528fe870
17:52:56     INFO -       r8 = 0x611d8600    r9 = 0x00000000   r10 = 0x6117a770    fp = 0x528fefc0
17:52:56     INFO -       sp = 0x528fe800    pc = 0x58b284bb
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  10  libxul.so!mozilla::dom::HTMLCanvasElement::GetContext(JSContext*, nsAString_internal const&, JS::Handle<JS::Value>, mozilla::ErrorResult&) [HTMLCanvasElement.cpp:865a03c2014e : 763 + 0x3]
17:52:56     INFO -       r4 = 0x6117a710    r5 = 0x00000000    r6 = 0x528fe864    r7 = 0x00000001
17:52:56     INFO -       r8 = 0x528fe880    r9 = 0x611d8600   r10 = 0x6117a770    fp = 0x528fefc0
17:52:56     INFO -       sp = 0x528fe828    pc = 0x58b28849
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  11  libxul.so!mozilla::dom::HTMLCanvasElementBinding::getContext [HTMLCanvasElementBinding.cpp:865a03c2014e : 219 + 0x3]
17:52:56     INFO -       r4 = 0x00000000    r5 = 0xffffff87    r6 = 0x528fe880    r7 = 0x611d8600
17:52:56     INFO -       r8 = 0x528fe94c    r9 = 0x528fe89c   r10 = 0x6117a710    fp = 0x528fefc0
17:52:56     INFO -       sp = 0x528fe858    pc = 0x589f268d
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  12  libxul.so!mozilla::dom::GenericBindingMethod(JSContext*, unsigned int, JS::Value*) [BindingUtils.cpp:865a03c2014e : 2525 + 0x3]
17:52:56     INFO -       r4 = 0x5a32782c    r5 = 0x611d8600    r6 = 0x589f25f1    r7 = 0x00000001
17:52:56     INFO -       r8 = 0x00000000    r9 = 0x00000000   r10 = 0x528fefb0    fp = 0x528fefc0
17:52:56     INFO -       sp = 0x528fe948    pc = 0x58a53ef1
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  13  libxul.so!js::CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) [jscntxtinlines.h:865a03c2014e : 226 + 0x9]
17:52:56     INFO -       r4 = 0x611d8600    r5 = 0x528fe9bc    r6 = 0x58a53e31    r7 = 0x00000000
17:52:56     INFO -       r8 = 0x5d51c000    r9 = 0x00000000   r10 = 0x528fefb0    fp = 0x528fefc0
17:52:56     INFO -       sp = 0x528fe988    pc = 0x5969afdf
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  14  libxul.so!js::Invoke(JSContext*, JS::CallArgs, js::MaybeConstruct) [Interpreter.cpp:865a03c2014e : 498 + 0x9]
17:52:56     INFO -       r4 = 0x528fe9bc    r5 = 0x00000000    r6 = 0x611d8600    r7 = 0x5d55c0e8
17:52:56     INFO -       r8 = 0x5d51c000    r9 = 0x00000000   r10 = 0x528fefb0    fp = 0x528fefc0
17:52:56     INFO -       sp = 0x528fe9b0    pc = 0x596c50cd
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  15  libxul.so!Interpret [Interpreter.cpp:865a03c2014e : 2599 + 0xb]
17:52:56     INFO -       r4 = 0x611d8600    r5 = 0x528fef80    r6 = 0x00000000    r7 = 0x63c86280
17:52:56     INFO -       r8 = 0x528fef58    r9 = 0x528ff000   r10 = 0x528fefb0    fp = 0x528fefc0
17:52:56     INFO -       sp = 0x528fee30    pc = 0x596be039
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  16  libxul.so!js::RunScript(JSContext*, js::RunState&) [Interpreter.cpp:865a03c2014e : 448 + 0x7]
17:52:56     INFO -       r4 = 0x528ff2c0    r5 = 0x611d8600    r6 = 0x00000000    r7 = 0x00000001
17:52:56     INFO -       r8 = 0x528ff3d8    r9 = 0x63cbd280   r10 = 0x638d4310    fp = 0x528ff360
17:52:56     INFO -       sp = 0x528ff270    pc = 0x596c4ad5
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  17  libxul.so!js::ExecuteKernel(JSContext*, JS::Handle<JSScript*>, JSObject&, JS::Value const&, js::ExecuteType, js::AbstractFramePtr, JS::Value*) [Interpreter.cpp:865a03c2014e : 654 + 0x7]
17:52:56     INFO -       r4 = 0x00000000    r5 = 0x611d8600    r6 = 0x00000000    r7 = 0x00000001
17:52:56     INFO -       r8 = 0x528ff3d8    r9 = 0x63cbd280   r10 = 0x638d4310    fp = 0x528ff360
17:52:56     INFO -       sp = 0x528ff298    pc = 0x596c4bb7
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  18  libxul.so!js::Execute(JSContext*, JS::Handle<JSScript*>, JSObject&, JS::Value*) [Interpreter.cpp:865a03c2014e : 691 + 0x3]
17:52:56     INFO -       r4 = 0xffffff88    r5 = 0x5ad91290    r6 = 0x5a4fef44    r7 = 0x5a346970
17:52:56     INFO -       r8 = 0x5a346c40    r9 = 0x5a3467cc   r10 = 0x5a3468d8    fp = 0x00000000
17:52:56     INFO -       sp = 0x528ff338    pc = 0x596c4e5f
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  19  libxul.so!Evaluate [jsapi.cpp:865a03c2014e : 4060 + 0x19]
17:52:56     INFO -       r4 = 0x611d8600    r5 = 0x00000000    r6 = 0x00000000    r7 = 0x528ff3e0
17:52:56     INFO -       r8 = 0x5a51af38    r9 = 0x528ff3d0   r10 = 0x00000001    fp = 0x528ff7d4
17:52:56     INFO -       sp = 0x528ff3a0    pc = 0x5991edbf
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  20  libxul.so!JS::Evaluate(JSContext*, JS::AutoObjectVector&, JS::ReadOnlyCompileOptions const&, JS::SourceBufferHolder&, JS::MutableHandle<JS::Value>) [jsapi.cpp:865a03c2014e : 4086 + 0xf]
17:52:56     INFO -       r4 = 0x611d8600    r5 = 0x528ff4a0    r6 = 0x528ff4b0    r7 = 0x00000001
17:52:56     INFO -       r8 = 0x528ff7d4    r9 = 0x528ff710   r10 = 0x528ff5f0    fp = 0x528ff540
17:52:56     INFO -       sp = 0x528ff498    pc = 0x5992623b
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  21  libxul.so!nsJSUtils::EvaluateString(JSContext*, JS::SourceBufferHolder&, JS::Handle<JSObject*>, JS::CompileOptions&, nsJSUtils::EvaluateOptions const&, JS::MutableHandle<JS::Value>, void**) [nsJSUtils.cpp:865a03c2014e : 265 + 0xf]
17:52:56     INFO -       r4 = 0x611d8600    r5 = 0x528ff710    r6 = 0x528ff5d8    r7 = 0x528ff518
17:52:56     INFO -       r8 = 0x528ff710    r9 = 0x00000000   r10 = 0x528ff5f0    fp = 0x528ff540
17:52:56     INFO -       sp = 0x528ff4e0    pc = 0x586ecb07
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  22  libxul.so!nsJSUtils::EvaluateString(JSContext*, JS::SourceBufferHolder&, JS::Handle<JSObject*>, JS::CompileOptions&, void**) [nsJSUtils.cpp:865a03c2014e : 338 + 0x7]
17:52:56     INFO -       r4 = 0x00000000    r5 = 0xffffff82    r6 = 0x528ff5d8    r7 = 0x611d8600
17:52:56     INFO -       r8 = 0x528ff710    r9 = 0x00000001   r10 = 0x528ff7d4    fp = 0x528ff6a0
17:52:56     INFO -       sp = 0x528ff5b0    pc = 0x586ecd47
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  23  libxul.so!nsScriptLoader::EvaluateScript(nsScriptLoadRequest*, JS::SourceBufferHolder&, void**) [nsScriptLoader.cpp:865a03c2014e : 1165 + 0x13]
17:52:56     INFO -       r4 = 0x528ff710    r5 = 0x5ea7d340    r6 = 0x63dc4a40    r7 = 0x528ff698
17:52:56     INFO -       r8 = 0x528ff6a0    r9 = 0x00000000   r10 = 0x528ff7d4    fp = 0x00000000
17:52:56     INFO -       sp = 0x528ff660    pc = 0x586fa693
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  24  libxul.so!nsScriptLoader::ProcessRequest(nsScriptLoadRequest*, void**) [nsScriptLoader.cpp:865a03c2014e : 994 + 0xb]
17:52:56     INFO -       r4 = 0x63dc4a40    r5 = 0x528ff7c4    r6 = 0x5ea7d340    r7 = 0x528ff7c8
17:52:56     INFO -       r8 = 0x5fdfd300    r9 = 0x63dc4a4c   r10 = 0x00000000    fp = 0x00000001
17:52:56     INFO -       sp = 0x528ff7a8    pc = 0x586fa905
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  25  libxul.so!nsScriptLoader::ProcessPendingRequests() [nsScriptLoader.cpp:865a03c2014e : 1192 + 0x9]
17:52:56     INFO -       r4 = 0x5ea7d340    r5 = 0x00000000    r6 = 0x5261ffa0    r7 = 0x528ff908
17:52:56     INFO -       r8 = 0x528ff8fc    r9 = 0x00000000   r10 = 0x00000000    fp = 0x528ff947
17:52:56     INFO -       sp = 0x528ff8a8    pc = 0x586fbbd9
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  26  libxul.so!nsRunnableMethodImpl<nsresult (mozilla::MediaDataDecoder::*)(), true>::Run() [nsThreadUtils.h:865a03c2014e : 573 + 0x13]
17:52:56     INFO -       r4 = 0x5261ffe4    r5 = 0x00000001    r6 = 0x5261ffa0    r7 = 0x528ff908
17:52:56     INFO -       r8 = 0x528ff8fc    r9 = 0x00000000   r10 = 0x00000000    fp = 0x528ff947
17:52:56     INFO -       sp = 0x528ff8c8    pc = 0x5806a01b
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  27  libxul.so!nsThread::ProcessNextEvent(bool, bool*) [nsThread.cpp:865a03c2014e : 855 + 0xb]
17:52:56     INFO -       r4 = 0x5261ffe4    r5 = 0x00000001    r6 = 0x5261ffa0    r7 = 0x528ff908
17:52:56     INFO -       r8 = 0x528ff8fc    r9 = 0x00000000   r10 = 0x00000000    fp = 0x528ff947
17:52:56     INFO -       sp = 0x528ff8d8    pc = 0x580a425b
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  28  libxul.so!NS_ProcessNextEvent(nsIThread*, bool) [nsThreadUtils.cpp:865a03c2014e : 265 + 0xd]
17:52:56     INFO -       r4 = 0x5261ffa0    r5 = 0x00000000    r6 = 0x52607720    r7 = 0x00000001
17:52:56     INFO -       r8 = 0x5a581c88    r9 = 0x52607718   r10 = 0x528ff9f8    fp = 0x00000000
17:52:56     INFO -       sp = 0x528ff940    pc = 0x580b8fb9
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  29  libxul.so!mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) [MessagePump.cpp:865a03c2014e : 99 + 0x7]
17:52:56     INFO -       r4 = 0x52607708    r5 = 0x5268d000    r6 = 0x52607720    r7 = 0x00000001
17:52:56     INFO -       r8 = 0x5a581c88    r9 = 0x52607718   r10 = 0x528ff9f8    fp = 0x00000000
17:52:56     INFO -       sp = 0x528ff958    pc = 0x5825cc31
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  30  libxul.so!MessageLoop::RunInternal() [message_loop.cc:865a03c2014e : 233 + 0xf]
17:52:56     INFO -       r4 = 0x5268d000    r5 = 0x5d51b280    r6 = 0x5261ffa0    r7 = 0x528ff9fc
17:52:56     INFO -       r8 = 0x528ffbcd    r9 = 0x528ffa0c   r10 = 0x528ff9f8    fp = 0x00000000
17:52:56     INFO -       sp = 0x528ff988    pc = 0x58249889
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  31  libxul.so!MessageLoop::Run() [message_loop.cc:865a03c2014e : 226 + 0x5]
17:52:56     INFO -       r4 = 0x5268d000    r5 = 0x5d51b280    r6 = 0x5261ffa0    r7 = 0x528ff9fc
17:52:56     INFO -       r8 = 0x528ffbcd    r9 = 0x528ffa0c   r10 = 0x528ff9f8    fp = 0x00000000
17:52:56     INFO -       sp = 0x528ff9a0    pc = 0x582498a3
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  32  libxul.so!nsBaseAppShell::Run() [nsBaseAppShell.cpp:865a03c2014e : 164 + 0x7]
17:52:56     INFO -       r4 = 0x00000000    r5 = 0x5d51b280    r6 = 0x5261ffa0    r7 = 0x528ff9fc
17:52:56     INFO -       r8 = 0x528ffbcd    r9 = 0x528ffa0c   r10 = 0x528ff9f8    fp = 0x00000000
17:52:56     INFO -       sp = 0x528ff9b8    pc = 0x58e3612b
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  33  libxul.so!nsAppStartup::Run() [nsAppStartup.cpp:865a03c2014e : 281 + 0x5]
17:52:56     INFO -       r4 = 0x5d75e490    r5 = 0x528ffad8    r6 = 0x00000000    r7 = 0x528ff9fc
17:52:56     INFO -       r8 = 0x528ffbcd    r9 = 0x528ffa0c   r10 = 0x528ff9f8    fp = 0x00000000
17:52:56     INFO -       sp = 0x528ff9d0    pc = 0x59279edf
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  34  libxul.so!XREMain::XRE_mainRun() [nsAppRunner.cpp:865a03c2014e : 4167 + 0xb]
17:52:56     INFO -       r4 = 0x528ffa14    r5 = 0x528ffad8    r6 = 0x00000000    r7 = 0x528ff9fc
17:52:56     INFO -       r8 = 0x528ffbcd    r9 = 0x528ffa0c   r10 = 0x528ff9f8    fp = 0x00000000
17:52:56     INFO -       sp = 0x528ff9e0    pc = 0x592aab63
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  35  libxul.so!XREMain::XRE_main(int, char**, nsXREAppData const*) [nsAppRunner.cpp:865a03c2014e : 4243 + 0x5]
17:52:56     INFO -       r4 = 0x528ffad8    r5 = 0x00000000    r6 = 0x528ffabb    r7 = 0x00000000
17:52:56     INFO -       r8 = 0x592af619    r9 = 0x52439f84   r10 = 0x2a1d0a60    fp = 0x528ffc3c
17:52:56     INFO -       sp = 0x528ffab0    pc = 0x592aadad
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  36  libxul.so!XRE_main [nsAppRunner.cpp:865a03c2014e : 4463 + 0x3]
17:52:56     INFO -       r4 = 0x00000000    r5 = 0x5242cb70    r6 = 0x526062c8    r7 = 0x0000000c
17:52:56     INFO -       r8 = 0x592af619    r9 = 0x52439f84   r10 = 0x2a1d0a60    fp = 0x528ffc3c
17:52:56     INFO -       sp = 0x528ffad8    pc = 0x592aaf43
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  37  libxul.so!GeckoStart [nsAndroidStartup.cpp:865a03c2014e : 73 + 0xf]
17:52:56     INFO -       r4 = 0x00000000    r5 = 0x5266f000    r6 = 0x5242cb70    r7 = 0x59bbf2eb
17:52:56     INFO -       r8 = 0x592af619    r9 = 0x52439f84   r10 = 0x2a1d0a60    fp = 0x528ffc3c
17:52:56     INFO -       sp = 0x528ffbe8    pc = 0x592af6c7
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  38  libmozglue.so!Java_org_mozilla_gecko_mozglue_GeckoLoader_nativeRun [APKOpen.cpp:865a03c2014e : 406 + 0x3]
17:52:56     INFO -       r4 = 0x5266f000    r5 = 0x2a1d1c98    r6 = 0x000001b5    r7 = 0x26500005
17:52:56     INFO -       r8 = 0x592af619    r9 = 0x52439f84   r10 = 0x2a1d0a60    fp = 0x528ffc3c
17:52:56     INFO -       sp = 0x528ffc08    pc = 0x523fd295
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  39  libdvm.so + 0x1dc4e
17:52:56     INFO -       r4 = 0x4c7066f8    r5 = 0x2a1d0a50    r6 = 0x00000000    r7 = 0x52439f8c
17:52:56     INFO -       r8 = 0x528ffc28    r9 = 0x52439f84   r10 = 0x2a1d0a60    fp = 0x528ffc3c
17:52:56     INFO -       sp = 0x528ffc28    pc = 0x4085bc50
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  40  data@app@org.mozilla.fennec-1.apk@classes.dex + 0x3c8e41
17:52:56     INFO -       sp = 0x528ffc34    pc = 0x52254e43
17:52:56     INFO -      Found by: stack scanning
17:52:56     INFO -  41  dalvik-heap (deleted) + 0x2b948e
17:52:56     INFO -       sp = 0x528ffc38    pc = 0x4170b490
17:52:56     INFO -      Found by: stack scanning
17:52:56     INFO -  42  dalvik-heap (deleted) + 0x2e2f4e
17:52:56     INFO -       sp = 0x528ffc3c    pc = 0x41734f50
17:52:56     INFO -      Found by: stack scanning
17:52:56     INFO -  43  libdvm.so + 0x4dcad
17:52:56     INFO -       sp = 0x528ffc40    pc = 0x4088bcaf
17:52:56     INFO -      Found by: stack scanning
17:52:56     INFO -  44  data@app@org.mozilla.fennec-1.apk@classes.dex + 0x3c8e3f
17:52:56     INFO -       sp = 0x528ffc48    pc = 0x52254e41
17:52:56     INFO -      Found by: stack scanning
17:52:56     INFO -  45  libmozglue.so!Java_org_mozilla_gecko_mozglue_GeckoLoader_loadNSSLibsNative [APKOpen.cpp:865a03c2014e : 387 + 0x23]
17:52:56     INFO -       sp = 0x528ffc4c    pc = 0x523fd245
17:52:56     INFO -      Found by: stack scanning
17:52:56     INFO -  46  0x353fffff
17:52:56     INFO -       r4 = 0x2a1d0a60    r5 = 0x2a26f4a0    r6 = 0x2a26f4a8    sp = 0x528ffc5c
17:52:56     INFO -       pc = 0x35400001
17:52:56     INFO -      Found by: call frame info
17:52:56     INFO -  47  libmozglue.so!Java_org_mozilla_gecko_mozglue_GeckoLoader_loadNSSLibsNative [APKOpen.cpp:865a03c2014e : 387 + 0x23]
17:52:56     INFO -       sp = 0x528ffc8c    pc = 0x523fd245
17:52:56     INFO -      Found by: stack scanning


17:52:57     INFO -  03-05 17:50:52.586 I/GeckoDump(  954): ⰲ겿{"action":"test_start","time":1425606652583,"thread":"","js_source":"TestRunner","pid":null,"source":"mochitest","test":"/tests/dom/bindings/test/test_integers.html"}ⰲ겿
17:52:57     INFO -  03-05 17:50:53.095 I/Gecko   (  954): nsWindow::SetFocus: can't set focus without raising, ignoring aRaise = false!
17:52:57     INFO -  03-05 17:50:54.516 I/Gecko   (  954): ++DOMWINDOW == 20 (0x5f2d7000) [pid = 954] [serial = 63] [outer = 0x639b0200]
17:52:57     INFO -  03-05 17:50:55.425 I/Gecko   (  954): [954] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file /builds/slave/try-and-api-11-d-0000000000000/build/dom/workers/ServiceWorkerManager.cpp, line 2324
17:52:57     INFO -  03-05 17:50:55.425 I/Gecko   (  954): [954] WARNING: NS_ENSURE_SUCCESS(rv, false) failed with result 0x80004005: file /builds/slave/try-and-api-11-d-0000000000000/build/netwerk/protocol/http/HttpBaseChannel.cpp, line 1952
17:52:57     INFO -  03-05 17:50:55.465 I/Gecko   (  954): [954] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file /builds/slave/try-and-api-11-d-0000000000000/build/dom/workers/ServiceWorkerManager.cpp, line 2324
17:52:57     INFO -  03-05 17:50:55.465 I/Gecko   (  954): [954] WARNING: NS_ENSURE_SUCCESS(rv, false) failed with result 0x80004005: file /builds/slave/try-and-api-11-d-0000000000000/build/netwerk/protocol/http/HttpBaseChannel.cpp, line 1952
17:52:57     INFO -  03-05 17:50:56.737 I/Gecko   (  954): AndroidBridge::GetStaticStringField MODEL
17:52:57     INFO -  03-05 17:50:56.737 I/Gecko   (  954): AndroidBridge::GetStaticStringField PRODUCT
17:52:57     INFO -  03-05 17:50:56.737 I/Gecko   (  954): AndroidBridge::GetStaticStringField MANUFACTURER
17:52:57     INFO -  03-05 17:50:56.746 I/Gecko   (  954): AndroidBridge::GetStaticIntField SDK_INT
17:52:57     INFO -  03-05 17:50:56.746 I/Gecko   (  954): AndroidBridge::GetStaticStringField HARDWARE
17:52:57     INFO -  03-05 17:50:56.755 I/Gecko   (  954): AndroidBridge::GetStaticStringField RELEASE
17:52:57     INFO -  03-05 17:50:56.755 D/        (  954): HostConnection::get() New Host Connection established 0x2a24a458, tid 972
17:52:57     INFO -  03-05 17:50:56.776 I/Gecko   (  954): Initializing context 0x2a367bc0 surface 0x2a2fc7c0 on display 0x1
17:52:57     INFO -  03-05 17:50:56.806 I/Gecko   (  954): Destroying context 0x2a367bc0 surface 0x2a2fc7c0 on display 0x1
17:52:57     INFO -  03-05 17:50:56.836 I/Gecko   (  954): Initializing context 0x2a367bc0 surface 0x2a2fc7c0 on display 0x1
17:52:57     INFO -  03-05 17:50:56.866 F/MOZ_Assert(  954): Assertion failure: fIsRenderbuffer(depthRB), at /builds/slave/try-and-api-11-d-0000000000000/build/gfx/gl/GLContext.cpp:1879
17:52:57     INFO -  03-05 17:50:59.976 D/Zygote  (   38): Process 954 terminated by signal (11)
If I comment out the assertion, these tests pass.

If I check -- by adding logging to try pushes -- I find that at

http://hg.mozilla.org/mozilla-central/annotate/ab0490972e1e/gfx/gl/GLBlitHelper.cpp#l133

CreateRenderbuffers() returns a positive integer (1 on the first call, 2 on the next); if I insert a call here to aGL->fIsRenderBuffer(*aDepthRB), that returns 0. That seems very unexpected.
Not sure, but I think those asserts are just wrong. IsRenderbuffer() only returns true if the passed name is bound, and I don't think it is in this case. Jeff?
Flags: needinfo?(jgilbert)
Thanks :snorp.

Sure enough, I find that fIsRenderbuffer() is true after http://hg.mozilla.org/mozilla-central/annotate/ab0490972e1e/gfx/gl/GLBlitHelper.cpp#l101. As soon as autoRB goes out of scope, fIsRenderBuffer() reports false.

So, remove the assertion?
(In reply to Geoff Brown [:gbrown] from comment #1)
> If I comment out the assertion, these tests pass.
> 
> If I check -- by adding logging to try pushes -- I find that at
> 
> http://hg.mozilla.org/mozilla-central/annotate/ab0490972e1e/gfx/gl/
> GLBlitHelper.cpp#l133
> 
> CreateRenderbuffers() returns a positive integer (1 on the first call, 2 on
> the next); if I insert a call here to aGL->fIsRenderBuffer(*aDepthRB), that
> returns 0. That seems very unexpected.

Please re-run your testcase with MOZ_GL_DEBUG_ABORT_ON_ERROR=1 as an env var on a DEBUG build.
Flags: needinfo?(jgilbert) → needinfo?(gbrown)
Flags: needinfo?(gbrown)
I think :snorp and I are on the same page: the fIsRenderBuffer assertions fail because the render buffers are not bound at that point. Do they need to be? Am I missing something?
Flags: needinfo?(jgilbert)
Attachment #8595636 - Flags: review?(jgilbert)
(In reply to Geoff Brown [:gbrown] from comment #6)
> Created attachment 8595636 [details] [diff] [review]
> remove fIsRenderBuffer assertions
> 
> I think :snorp and I are on the same page: the fIsRenderBuffer assertions
> fail because the render buffers are not bound at that point. Do they need to
> be? Am I missing something?

No, IsRenderBuffer just asks whether BindRenderbuffer has been called yet on an RB name, which at this point, it has. What's the GL driver these are running on? Either something in our code is wrong (it doesn't look like it) or the driver has a really annoying bug here.

We should not unconditionally remove these assertions.
Comment on attachment 8595636 [details] [diff] [review]
remove fIsRenderBuffer assertions

Review of attachment 8595636 [details] [diff] [review]:
-----------------------------------------------------------------

We want these asserts. They are good asserts. It sounds like this driver has a bug, so we should check on that.
Attachment #8595636 - Flags: review?(jgilbert) → review-
(In reply to Jeff Gilbert [:jgilbert] from comment #7)
> No, IsRenderBuffer just asks whether BindRenderbuffer has been called yet on an RB name, 

I am tempted to accept your word as the authoritative truth, but I am puzzled because I see:


https://www.opengl.org/sdk/docs/man3/xhtml/glIsRenderbuffer.xml

     glIsRenderbuffer returns GL_TRUE if renderbuffer is currently the name of a renderbuffer
     object. If renderbuffer is zero, or if renderbuffer is not the name of a renderbuffer object, or if an error
     occurs, glIsRenderbuffer returns GL_FALSE. If renderbuffer is a name returned by
     glGenRenderbuffers, by that has not yet been bound through a call to
     glBindRenderbuffer or glFramebufferRenderbuffer,
     then the name is not a renderbuffer object and glIsRenderbuffer returns GL_FALSE.


and https://chromium.googlesource.com/chromium/deps/webgl/sdk/tests/+/758c2e67287d5993c8bdb26a3f544c8ed815dae7/conformance/misc/is-object.html

  shouldGenerateGLError(gl, gl.NO_ERROR, "renderbuffer = gl.createRenderbuffer()");
  shouldBeFalse("gl.isRenderbuffer(renderbuffer)");
  shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindRenderbuffer(gl.RENDERBUFFER, renderbuffer)");
  shouldBeTrue("gl.isRenderbuffer(renderbuffer)");


...as well as lots of docs that don't specifically answer this question one way or the other.
I/GeckoConsole(  797): OpenGL compositor Initialized Succesfully.
I/GeckoConsole(  797): Version: OpenGL ES 2.0 (2.1 Mesa 8.0.4)
I/GeckoConsole(  797): Vendor: Google (VMware, Inc.)
I/GeckoConsole(  797): Renderer: Android Emulator OpenGL ES Translator (Gallium 0.4 on llvmpipe (LLVM 0x300))
I/GeckoConsole(  797): FBO Texture Target: TEXTURE_2D

I/SurfaceFlinger(   37): EGL informations:
I/SurfaceFlinger(   37): vendor    : Android
I/SurfaceFlinger(   37): version   : 1.4 Android META-EGL
I/SurfaceFlinger(   37): extensions: EGL_KHR_image_base EGL_KHR_fence_sync EGL_ANDROID_image_native_buffer 
I/SurfaceFlinger(   37): Client API: OpenGL_ES
I/SurfaceFlinger(   37): EGLSurface: 8-8-8-8, config=0x20
I/SurfaceFlinger(   37): OpenGL ES informations:
I/SurfaceFlinger(   37): vendor    : Google (VMware, Inc.)
I/SurfaceFlinger(   37): renderer  : Android Emulator OpenGL ES Translator (Gallium 0.4 on llvmpipe (LLVM 0x300))
I/SurfaceFlinger(   37): version   : OpenGL ES-CM 1.1 (2.1 Mesa 8.0.4)
I/SurfaceFlinger(   37): extensions: GL_EXT_debug_marker GL_OES_blend_func_separate GL_OES_blend_equation_separate GL_OES_blend_subtract GL_OES_byte_coordinates GL_OES_compressed_paletted_texture GL_OES_point_size_array GL_OES_point_sprite GL_OES_single_precision GL_OES_stencil_wrap GL_OES_texture_env_crossbar GL_OES_texture_mirored_repeat GL_OES_EGL_image GL_OES_element_index_uint GL_OES_draw_texture GL_OES_texture_cube_map GL_OES_draw_texture GL_OES_read_format GL_OES_framebuffer_object GL_OES_depth24 GL_OES_depth32 GL_OES_fbo_render_mipmap GL_OES_rgb8_rgba8 GL_OES_stencil1 GL_OES_stencil4 GL_OES_stencil8 GL_OES_packed_depth_stencil GL_EXT_texture_format_BGRA8888 GL_APPLE_texture_format_BGRA8888 GL_OES_compressed_ETC1_RGB8_texture 
I/SurfaceFlinger(   37): GL_MAX_TEXTURE_SIZE = 4096
I/SurfaceFlinger(   37): GL_MAX_VIEWPORT_DIMS = 16384 x 16384
(In reply to Geoff Brown [:gbrown] from comment #9)
> (In reply to Jeff Gilbert [:jgilbert] from comment #7)
> > No, IsRenderBuffer just asks whether BindRenderbuffer has been called yet on an RB name, 
> 
> I am tempted to accept your word as the authoritative truth, but I am
> puzzled because I see:

Sorry! I see now that neither of those actually contradict what you said. I suppose at issue is whether "unbinding" should affect IsRenderBuffer.
(In reply to Jeff Gilbert [:jgilbert] from comment #7)
> (In reply to Geoff Brown [:gbrown] from comment #6)
> > I think :snorp and I are on the same page: the fIsRenderBuffer assertions
> > fail because the render buffers are not bound at that point. Do they need to
> > be? Am I missing something?
> 
> No, IsRenderBuffer just asks whether BindRenderbuffer has been called yet on
> an RB name, which at this point, it has.

I see that now. That is the behavior on every other platform I checked, including the Android 2.3 emulator and B2G emulator: Once BindRenderbuffer has been called, IsRenderbuffer returns true, even after the ScopedBindRenderbuffer goes out of scope and calls BindRenderbuffer on its old RB.

It seems to be only on this Android 4.3 emulator that it behaves differently:

  GL->fGenRenderbuffers(1, &rb);
  ...
  GL->GetUIntegerv(LOCAL_GL_RENDERBUFFER_BINDING, &mOldRB);
  GL->fBindRenderbuffer(LOCAL_GL_RENDERBUFFER, rb);
  GL->fIsRenderbuffer(rb) is true
  ...
  GL->fBindRenderbuffer(LOCAL_GL_RENDERBUFFER, mOldRB);
  GL->fIsRenderbuffer(rb) is false, on Android 4.3 emulator only
Assignee: nobody → gbrown
Attachment #8595636 - Attachment is obsolete: true
Attachment #8601720 - Flags: review?(jgilbert)
Comment on attachment 8601720 [details] [diff] [review]
skip IsRenderbuffer assertions on Android emulator only

Review of attachment 8601720 [details] [diff] [review]:
-----------------------------------------------------------------

Only thing I'd add is maybe a comment about what's going on with a pointer to this bug.
Comment on attachment 8601720 [details] [diff] [review]
skip IsRenderbuffer assertions on Android emulator only

Review of attachment 8601720 [details] [diff] [review]:
-----------------------------------------------------------------

::: gfx/gl/GLContext.cpp
@@ +1875,5 @@
>                                target,
>                                colorTex,
>                                0);
>      } else if (colorRB) {
> +        MOZ_ASSERT(fIsRenderbuffer(colorRB) || Renderer() == GLRenderer::AndroidEmulator);

MOZ_ASSERT_IF(Renderer() != GLRenderer::AndroidEmulator, fIsRenderbuffer(colorRB))
Attachment #8601720 - Flags: review?(jgilbert) → review+
https://hg.mozilla.org/mozilla-central/rev/c2d19cce333f
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 40
See Also: → 1164088
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.