BBBsmoke / angleproject

Automatically exported from code.google.com/p/angleproject
Other
0 stars 0 forks source link

Cross-DLL allocation problems after libANGLE refactor #847

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Running "content_gl_tests.exe --use-gpu-in-tests" with TOT ANGLE in the 
Chromium workspace on Windows Debug with a static library build, the following 
assertion failure is quickly triggered:

[ RUN      ] GLHelperTest.RGBASyncReadbackTest
Backtrace:
        _free_dbg_nolock [0x18D6BC0D+1181] (f:\dd\vctools\crt\crtw32\misc\dbgheap.c:1424)
        _free_dbg [0x18D6B73E+78] (f:\dd\vctools\crt\crtw32\misc\dbgheap.c:1265)
        operator delete [0x18D64C1C+188] (f:\dd\vctools\crt\crtw32\misc\dbgdel.cpp:54)
        std::allocator<std::_Container_proxy>::deallocate [0x18B37037+23] (d:\src\depot_tools\win_toolchain\vs2013_files\vc\include\xmemory0:573)
        std::_String_alloc<0,std::_String_base_types<char,std::allocator<char> > >::_Free_proxy [0x18B35E48+72] (d:\src\depot_tools\win_toolchain\vs2013_files\vc\include\xstring:678)
        std::_String_alloc<0,std::_String_base_types<char,std::allocator<char> > >::~_String_alloc<0,std::_String_base_types<char,std::allocator<char> > > [0x18B34CB6+22] (d:\src\depot_tools\win_toolc
hain\vs2013_files\vc\include\xstring:651)
        std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> > [0x18B34E02+34] (d:\src\depot_tools\win_toolchain\vs2013_
files\vc\include\xstring:992)
        gl::Context::initRendererString [0x18BD90F6+150] (d:\src\chrome\src\third_party\angle\src\libangle\context.cpp:1629)
        gl::Context::makeCurrent [0x18BDA671+49] (d:\src\chrome\src\third_party\angle\src\libangle\context.cpp:181)
        gl::makeCurrent [0x18B56472+66] (d:\src\chrome\src\third_party\angle\src\libglesv2\main.cpp:144)
        glMakeCurrent [0x18B56564+20] (d:\src\chrome\src\third_party\angle\src\libglesv2\main.cpp:186)
        eglMakeCurrent [0x18F53EF3+515] (d:\src\chrome\src\third_party\angle\src\libegl\libegl.cpp:1016)
        gfx::EGLApiBase::eglMakeCurrentFn [0x007648FC+44] (d:\src\chrome\src\out\debug\gen\ui\gl\gl_bindings_autogen_egl.cc:714)
        gfx::GLContextEGL::MakeCurrent [0x00771C92+610] (d:\src\chrome\src\ui\gl\gl_context_egl.cc:109)
        gpu::InProcessCommandBuffer::InitializeOnGpuThread [0x06622C5E+2862] (d:\src\chrome\src\gpu\command_buffer\service\in_process_command_buffer.cc:394)
        base::internal::RunnableAdapter<bool (__thiscall gpu::InProcessCommandBuffer::*)(gpu::InProcessCommandBuffer::InitializeOnGpuThreadParams const &)>::Run [0x066253A0+48] (d:\src\chrome\src\base
\bind_internal.h:185)
        base::internal::InvokeHelper<0,bool,base::internal::RunnableAdapter<bool (__thiscall gpu::InProcessCommandBuffer::*)(gpu::InProcessCommandBuffer::InitializeOnGpuThreadParams const &)>,void __c
decl(gpu::InProcessCommandBuffer *,gpu::InProcessCommandBuffer: [0x066237F7+39] 
(d:\src\chrome\src\base\bind_internal.h:375)
        base::internal::Invoker<2,base::internal::BindState<base::internal::RunnableAdapter<bool (__thiscall gpu::InProcessCommandBuffer::*)(gpu::InProcessCommandBuffer::InitializeOnGpuThreadParams co
nst &)>,bool __cdecl(gpu::InProcessCommandBuffer *,gpu::InProce 
[0x06624B40+112] (d:\src\chrome\src\base\bind_internal.h:562)
        base::Callback<bool __cdecl(void)>::Run [0x031B2EEF+47] (d:\src\chrome\src\base\callback.h:396)
        gpu::`anonymous namespace'::RunTaskWithResult<bool> [0x0661DBBB+11] (d:\src\chrome\src\gpu\command_buffer\service\in_process_command_buffer.cc:52)
        base::internal::RunnableAdapter<void (__cdecl*)(base::Callback<bool __cdecl(void)>,bool *,base::WaitableEvent *)>::Run [0x06625080+80] (d:\src\chrome\src\base\bind_internal.h:166)
        base::internal::InvokeHelper<0,void,base::internal::RunnableAdapter<void (__cdecl*)(base::Callback<bool __cdecl(void)>,bool *,base::WaitableEvent *)>,void __cdecl(base::Callback<bool __cdecl(v
oid)> const &,bool * const &,base::WaitableEvent * const &)>::M [0x06623672+50] 
(d:\src\chrome\src\base\bind_internal.h:382)
        base::internal::Invoker<3,base::internal::BindState<base::internal::RunnableAdapter<void (__cdecl*)(base::Callback<bool __cdecl(void)>,bool *,base::WaitableEvent *)>,void __cdecl(base::Callbac
k<bool __cdecl(void)>,bool *,base::WaitableEvent *),void __cdec 
[0x06624CA6+134] (d:\src\chrome\src\base\bind_internal.h:692)
        base::Callback<void __cdecl(void)>::Run [0x005F25AF+47] (d:\src\chrome\src\base\callback.h:396)
        base::debug::TaskAnnotator::RunTask [0x008481EB+555] (d:\src\chrome\src\base\debug\task_annotator.cc:65)
        base::MessageLoop::RunTask [0x0078B58D+493] (d:\src\chrome\src\base\message_loop\message_loop.cc:451)
        base::MessageLoop::DeferOrRunPendingTask [0x007892C4+52] (d:\src\chrome\src\base\message_loop\message_loop.cc:461)
        base::MessageLoop::DoWork [0x007898AD+221] (d:\src\chrome\src\base\message_loop\message_loop.cc:567)
        base::MessagePumpDefault::Run [0x0084FC74+244] (d:\src\chrome\src\base\message_loop\message_pump_default.cc:32)
        base::MessageLoop::RunHandler [0x0078B377+247] (d:\src\chrome\src\base\message_loop\message_loop.cc:417)
        base::RunLoop::Run [0x007CEB36+70] (d:\src\chrome\src\base\run_loop.cc:56)
        base::MessageLoop::Run [0x0078B22B+43] (d:\src\chrome\src\base\message_loop\message_loop.cc:311)
        base::Thread::Run [0x008093E6+22] (d:\src\chrome\src\base\threading\thread.cc:175)
        base::Thread::ThreadMain [0x00809E08+584] (d:\src\chrome\src\base\threading\thread.cc:228)
        base::`anonymous namespace'::ThreadFunc [0x007D309B+219] (d:\src\chrome\src\base\threading\platform_thread_win.cc:78)
        BaseThreadInitThunk [0x76AA919F+14]
        RtlInitializeExceptionChain [0x77320BBB+132]
        RtlInitializeExceptionChain [0x77320B91+90]

This is a side-effect of the libANGLE refactor and will need to be addressed 
before ANGLE rolls again. Will investigate.

Original issue reported on code.google.com by kbr@chromium.org on 3 Dec 2014 at 1:21

GoogleCodeExporter commented 9 years ago

Original comment by kbr@chromium.org on 3 Dec 2014 at 1:21

GoogleCodeExporter commented 9 years ago
I'm really sorry I didn't get to this today. I'll take it back tomorrow morning 
if nobody's made progress on it by then.

Original comment by kbr@chromium.org on 3 Dec 2014 at 3:00

GoogleCodeExporter commented 9 years ago
Geoff fixed this already under Issue 733, so duplicating this into it.

Original comment by kbr@chromium.org on 5 Dec 2014 at 11:20