WebKitNix / webkitnix

A WebKit2 port based on POSIX and OpenGL/ES
http://nix.openbossa.org
66 stars 24 forks source link

ASSERTION FAILED: renderingMode != Accelerated in WebCore::ImageBuffer::ImageBuffer #27

Closed renatahodovan closed 11 years ago

renatahodovan commented 11 years ago

The following test caused the assertion failure:

<canvas></canvas>
<script>
    var canvas = document.getElementsByTagName('canvas')[0];
    var context = canvas.getContext('2d');
    context.fillRect(0, 0, 20, 10);   
</script> 

Backtrace:

ASSERTION FAILED: renderingMode != Accelerated
/home/reni/Data/REPOS/webkitnix/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp(106) : WebCore::ImageBuffer::ImageBuffer(const WebCore::IntSize&, float, WebCore::ColorSpace, WebCore::RenderingMode, bool&)
1   0x7ffff46cdc6b
2   0x7ffff3f6ab1c
3   0x7ffff2d85c3e
4   0x7ffff31165b2
5   0x7ffff3116914
6   0x7ffff311688e
7   0x7ffff31986e8
8   0x7ffff31959a3
9   0x7ffff3d8efcb
10  0x7fffa9f850e5

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffa6b93700 (LWP 25002)]
0x00007ffff46cdc70 in WTFCrash () at /home/reni/Data/REPOS/webkitnix/Source/WTF/wtf/Assertions.cpp:342
342     *(int *)(uintptr_t)0xbbadbeef = 0;
(gdb) bt
#0  0x00007ffff46cdc70 in WTFCrash () at /home/reni/Data/REPOS/webkitnix/Source/WTF/wtf/Assertions.cpp:342
#1  0x00007ffff3f6ab1c in WebCore::ImageBuffer::ImageBuffer (this=0x6ae150, size=..., renderingMode=WebCore::Accelerated, success=@0x7fffffffc05f: false)
    at /home/reni/Data/REPOS/webkitnix/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp:106
#2  0x00007ffff2d85c3e in WebCore::ImageBuffer::create (size=..., resolutionScale=1, colorSpace=WebCore::ColorSpaceDeviceRGB, 
    renderingMode=WebCore::Accelerated) at /home/reni/Data/REPOS/webkitnix/Source/WebCore/platform/graphics/ImageBuffer.h:85
#3  0x00007ffff31165b2 in WebCore::HTMLCanvasElement::createImageBuffer (this=0x713b80)
    at /home/reni/Data/REPOS/webkitnix/Source/WebCore/html/HTMLCanvasElement.cpp:589
#4  0x00007ffff3116914 in WebCore::HTMLCanvasElement::buffer (this=0x713b80) at /home/reni/Data/REPOS/webkitnix/Source/WebCore/html/HTMLCanvasElement.cpp:626
#5  0x00007ffff311688e in WebCore::HTMLCanvasElement::drawingContext (this=0x713b80)
    at /home/reni/Data/REPOS/webkitnix/Source/WebCore/html/HTMLCanvasElement.cpp:612
#6  0x00007ffff31986e8 in WebCore::CanvasRenderingContext2D::drawingContext (this=0x6ad7f0)
    at /home/reni/Data/REPOS/webkitnix/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp:1777
#7  0x00007ffff31959a3 in WebCore::CanvasRenderingContext2D::fillRect (this=0x6ad7f0, x=0, y=0, width=20, height=10)
    at /home/reni/Data/REPOS/webkitnix/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp:1074
#8  0x00007ffff3d8efcb in WebCore::jsCanvasRenderingContext2DPrototypeFunctionFillRect (exec=0x7fffa2bfe0b8)
    at /home/reni/Data/REPOS/webkitnix/WebKitBuild/Debug/DerivedSources/WebCore/JSCanvasRenderingContext2D.cpp:933
#9  0x00007fffa9f850e5 in ?? ()
#10 0x00007fffffffc300 in ?? ()
#11 0x00007ffff6d9e7a2 in llint_op_call () from /home/reni/Data/REPOS/webkitnix/WebKitBuild/Debug/lib/libWebKitNix.so.0
#12 0x00007fffa2bfe058 in ?? ()
#13 0x00000000007f62e8 in ?? ()
#14 0x00007fffffffc2c0 in ?? ()
#15 0x00007ffff42a9741 in JSC::JSStack::installTrapsAfterFrame (this=0x0, frame=0x0)
    at /home/reni/Data/REPOS/webkitnix/Source/JavaScriptCore/interpreter/JSStackInlines.h:212
#16 0x00007ffff42c0abc in JSC::JITCode::execute (this=0x66cb40, stack=0x7f62e8, callFrame=0x7fffa2bfe058, vm=0x9060b0)
    at /home/reni/Data/REPOS/webkitnix/Source/JavaScriptCore/jit/JITCode.cpp:46
#17 0x00007ffff42a601e in JSC::Interpreter::execute (this=0x7f62d0, program=0x7fffa83afef0, callFrame=0x7ffff7eef9e0, thisObj=0x7ffff7f2ffd8)
    at /home/reni/Data/REPOS/webkitnix/Source/JavaScriptCore/interpreter/Interpreter.cpp:766
#18 0x00007ffff4376272 in JSC::evaluate (exec=0x7ffff7eef9e0, source=..., thisValue=<incomplete type>, returnedException=0x7fffffffce80)
    at /home/reni/Data/REPOS/webkitnix/Source/JavaScriptCore/runtime/Completion.cpp:83
#19 0x00007ffff3b6c62d in WebCore::JSMainThreadExecState::evaluate (exec=0x7ffff7eef9e0, source=..., thisValue=<incomplete type>, exception=0x7fffffffce80)
    at /home/reni/Data/REPOS/webkitnix/Source/WebCore/bindings/js/JSMainThreadExecState.h:74
#20 0x00007ffff3b88f56 in WebCore::ScriptController::evaluateInWorld (this=0x70a6b0, sourceCode=..., world=0x8c1f70)
    at /home/reni/Data/REPOS/webkitnix/Source/WebCore/bindings/js/ScriptController.cpp:142
#21 0x00007ffff3b89062 in WebCore::ScriptController::evaluate (this=0x70a6b0, sourceCode=...)
    at /home/reni/Data/REPOS/webkitnix/Source/WebCore/bindings/js/ScriptController.cpp:158
#22 0x00007ffff2ff4f82 in WebCore::ScriptElement::executeScript (this=0x83e998, sourceCode=...)
    at /home/reni/Data/REPOS/webkitnix/Source/WebCore/dom/ScriptElement.cpp:315
#23 0x00007ffff2ff4794 in WebCore::ScriptElement::prepareScript (this=0x83e998, scriptStartPosition=..., 
    supportLegacyTypes=WebCore::ScriptElement::DisallowLegacyTypeInTypeAttribute) at /home/reni/Data/REPOS/webkitnix/Source/WebCore/dom/ScriptElement.cpp:246
#24 0x00007ffff31f6485 in WebCore::HTMLScriptRunner::runScript (this=0x735180, script=0x83e930, scriptStartPosition=...)
    at /home/reni/Data/REPOS/webkitnix/Source/WebCore/html/parser/HTMLScriptRunner.cpp:312
#25 0x00007ffff31f5c34 in WebCore::HTMLScriptRunner::execute (this=0x735180, scriptElement=<incomplete type>, scriptStartPosition=...)
    at /home/reni/Data/REPOS/webkitnix/Source/WebCore/html/parser/HTMLScriptRunner.cpp:181
#26 0x00007ffff31e0fbb in WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder (this=0x744e10)
    at /home/reni/Data/REPOS/webkitnix/Source/WebCore/html/parser/HTMLDocumentParser.cpp:271
#27 0x00007ffff31e10a6 in WebCore::HTMLDocumentParser::canTakeNextToken (this=0x744e10, mode=WebCore::HTMLDocumentParser::AllowYield, session=...)
    at /home/reni/Data/REPOS/webkitnix/Source/WebCore/html/parser/HTMLDocumentParser.cpp:290
#28 0x00007ffff31e16be in WebCore::HTMLDocumentParser::pumpTokenizer (this=0x744e10, mode=WebCore::HTMLDocumentParser::AllowYield)
    at /home/reni/Data/REPOS/webkitnix/Source/WebCore/html/parser/HTMLDocumentParser.cpp:535
#29 0x00007ffff31e0e29 in WebCore::HTMLDocumentParser::pumpTokenizerIfPossible (this=0x744e10, mode=WebCore::HTMLDocumentParser::AllowYield)
    at /home/reni/Data/REPOS/webkitnix/Source/WebCore/html/parser/HTMLDocumentParser.cpp:235
#30 0x00007ffff31e1fc8 in WebCore::HTMLDocumentParser::append (this=0x744e10, inputSource=<incomplete type>)
---Type <return> to continue, or q <return> to quit---
    at /home/reni/Data/REPOS/webkitnix/Source/WebCore/html/parser/HTMLDocumentParser.cpp:747
#31 0x00007ffff2f1f573 in WebCore::DecodedDataDocumentParser::flush (this=0x744e10, writer=0x745220)
    at /home/reni/Data/REPOS/webkitnix/Source/WebCore/dom/DecodedDataDocumentParser.cpp:60
#32 0x00007ffff333fccb in WebCore::DocumentWriter::end (this=0x745220) at /home/reni/Data/REPOS/webkitnix/Source/WebCore/loader/DocumentWriter.cpp:241
#33 0x00007ffff332ec35 in WebCore::DocumentLoader::finishedLoading (this=0x745180, finishTime=0)
    at /home/reni/Data/REPOS/webkitnix/Source/WebCore/loader/DocumentLoader.cpp:407
#34 0x00007ffff332e99e in WebCore::DocumentLoader::notifyFinished (this=0x745180, resource=0x8c2150)
    at /home/reni/Data/REPOS/webkitnix/Source/WebCore/loader/DocumentLoader.cpp:344
#35 0x00007ffff33b9c8a in WebCore::CachedResource::checkNotify (this=0x8c2150)
    at /home/reni/Data/REPOS/webkitnix/Source/WebCore/loader/cache/CachedResource.cpp:369
#36 0x00007ffff33b9d60 in WebCore::CachedResource::finishLoading (this=0x8c2150)
    at /home/reni/Data/REPOS/webkitnix/Source/WebCore/loader/cache/CachedResource.cpp:385
#37 0x00007ffff33b6bf8 in WebCore::CachedRawResource::finishLoading (this=0x8c2150, data=0x761e10)
    at /home/reni/Data/REPOS/webkitnix/Source/WebCore/loader/cache/CachedRawResource.cpp:94
#38 0x00007ffff337e2dd in WebCore::SubresourceLoader::didFinishLoading (this=0x8c26c0, finishTime=0)
    at /home/reni/Data/REPOS/webkitnix/Source/WebCore/loader/SubresourceLoader.cpp:282
#39 0x00007ffff337a531 in WebCore::ResourceLoader::didFinishLoading (this=0x8c26c0, finishTime=0)
    at /home/reni/Data/REPOS/webkitnix/Source/WebCore/loader/ResourceLoader.cpp:488
#40 0x00007ffff3fb97cb in WebCore::readCallback (asyncResult=0x7f91f0, data=0x8c2130)
    at /home/reni/Data/REPOS/webkitnix/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1329
#41 0x00007ffff0348389 in async_ready_callback_wrapper (source_object=0x83fb60, res=0x7f91f0, user_data=0x8c2130) at ginputstream.c:530
#42 0x00007ffff036a4db in g_task_return_now (task=0x7f91f0) at gtask.c:1105
#43 0x00007ffff036a4f9 in complete_in_idle_cb (task=0x7f91f0) at gtask.c:1114
#44 0x00007ffff068dcd5 in g_main_dispatch (context=0x6106f0) at gmain.c:3054
#45 g_main_context_dispatch (context=context@entry=0x6106f0) at gmain.c:3630
#46 0x00007ffff068e018 in g_main_context_iterate (context=0x6106f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3701
#47 0x00007ffff068e48a in g_main_loop_run (loop=0x610850) at gmain.c:3895
#48 0x00007ffff3f624ca in WebCore::RunLoop::run () at /home/reni/Data/REPOS/webkitnix/Source/WebCore/platform/nix/RunLoopNix.cpp:60
#49 0x00007ffff467a144 in WebKit::WebProcessMainNix (argc=2, argv=0x7fffffffdac8)
    at /home/reni/Data/REPOS/webkitnix/Source/WebKit2/WebProcess/nix/WebProcessMainNix.cpp:84
#50 0x000000000040084a in main (argc=2, argv=0x7fffffffdac8) at /home/reni/Data/REPOS/webkitnix/Source/WebKit2/nix/MainNix.cpp:30
lucianowolf commented 11 years ago

Hi, I couldn't reproduce this problem with the latest Nix version (issue #27).

lucianowolf commented 11 years ago

My bad. Was running as release instead of debug. Taking this one.

qrwteyrutiyoup commented 11 years ago

Fixed by commit 9e67461.