WAM: crash in browser process GPU thread launching apps in qemux86_64
Description
Environment
qemux86_64 launched with kvm qemu: qemu-system-x86_64 -enable-kvm -m 2048 -hda tmp/deploy/images/qemux86-64/agl-demo-platform-wam-qemux86-64.wic.vmdk -cpu kvm64 -cpu qemu64,+ssse3,+sse4.1,+sse4.2,+popcnt -vga virtio -show-cursor -device virtio-rng-pci -serial mon:stdio -serial null -soundhw hda -net nic,vlan=0 -net user,hostfwd=tcp::2222-:22 -device piix3-usb-uhci -device usb-tablet -device usb-kbd
Activity
Walt Miner
February 11, 2019 at 11:11 PM
Close for FF 6.0.4 and GG 7.0.0
José Dapena Paz
November 19, 2018 at 9:24 AM
Landed the patches fixing the crashes with swrast: https://github.com/webosose/meta-agl-lge/pull/15
I will create a new bug for the black screen issue.
José Dapena Paz
November 16, 2018 at 3:26 PM
I tried those fixes, and I dont' see the crash anymore. But, when the applications are launched,I I see only black in the app area of the screen.
José Dapena Paz
November 16, 2018 at 12:03 PM
This issue could be already fixed in recent mesa. Related commits:
https://gitlab.freedesktop.org/mesa/mesa/commit/a9fb331ea7d1a78936ea8d8385e44cfd66f835c1
https://gitlab.freedesktop.org/mesa/mesa/commit/1fe7cbdf05b90034577dac4e4aa6157031d80521
https://gitlab.freedesktop.org/mesa/mesa/commit/55af17ffed289bdcc1396829e461245644175ed4
José Dapena Paz
November 16, 2018 at 9:50 AM
Stacktrace from GDB:
#0 __memcpy_ssse3 () at ../sysdeps/x86_64/multiarch/memcpy-ssse3.S:2925
#1 0x00007f28e85e53fe in memcpy (__len=18446744073709551612, __src=0x7f28ec45c7c0, __dest=<optimized out>) at /usr/include/bits/string_fortified.h:34
#2 dri2_wl_swrast_put_image2 (draw=0x7f28ec299d70, op=<optimized out>, x=<optimized out>, y=0, w=<optimized out>, h=1, stride=64, data=0x7f28ec45c7c0 '\377' <repetidos 16 veces>, loaderPrivate=0x7f28ec4513a0)
at /usr/src/debug/mesa/2_17.1.7-r0/mesa-17.1.7/src/egl/drivers/dri2/platform_wayland.c:1706
#3 0x00007f28e85e560b in dri2_wl_swrast_put_image (draw=<optimized out>, op=<optimized out>, x=<optimized out>, y=<optimized out>, w=<optimized out>, h=<optimized out>, data=0x7f28ec45c7c0 '\377' <repetidos 16 veces>, loaderPrivate=0x7f28ec4513a0)
at /usr/src/debug/mesa/2_17.1.7-r0/mesa-17.1.7/src/egl/drivers/dri2/platform_wayland.c:1722
#4 0x00007f28e271c4d6 in put_image (height=<optimized out>, width=<optimized out>, data=<optimized out>, dPriv=<optimized out>) at /usr/src/debug/mesa/2_17.1.7-r0/mesa-17.1.7/src/gallium/state_trackers/dri/drisw.c:71
#5 drisw_put_image (drawable=<optimized out>, data=<optimized out>, width=<optimized out>, height=<optimized out>) at /usr/src/debug/mesa/2_17.1.7-r0/mesa-17.1.7/src/gallium/state_trackers/dri/drisw.c:141
#6 0x00007f28e271cccd in drisw_present_texture (sub_box=0x0, ptex=0x7f28ec451640, dPriv=0x7f28ec299d70) at /usr/src/debug/mesa/2_17.1.7-r0/mesa-17.1.7/src/gallium/state_trackers/dri/drisw.c:164
#7 drisw_copy_to_front (ptex=0x7f28ec451640, dPriv=0x7f28ec299d70) at /usr/src/debug/mesa/2_17.1.7-r0/mesa-17.1.7/src/gallium/state_trackers/dri/drisw.c:181
#8 drisw_swap_buffers (dPriv=0x7f28ec299d70) at /usr/src/debug/mesa/2_17.1.7-r0/mesa-17.1.7/src/gallium/state_trackers/dri/drisw.c:208
#9 0x00007f28e85e33d6 in dri2_wl_swrast_swap_buffers (drv=<optimized out>, disp=<optimized out>, draw=<optimized out>) at /usr/src/debug/mesa/2_17.1.7-r0/mesa-17.1.7/src/egl/drivers/dri2/platform_wayland.c:1732
#10 0x00007f28e85d90c8 in eglSwapBuffers (dpy=0x7f28ec0120e0, surface=<optimized out>) at /usr/src/debug/mesa/2_17.1.7-r0/mesa-17.1.7/src/egl/main/eglapi.c:1235
#11 0x00007f2916031fa2 in gl::NativeViewGLSurfaceEGL::SwapBuffers () at ../../git/src/ui/gl/gl_surface_egl.cc:789
#12 0x00007f2916051f79 in SwapBuffers () at ../../git/src/ui/gl/init/gl_surface_ozone.cc:128
#13 0x00007f2916102e80 in gpu::PassThroughImageTransportSurface::SwapBuffers () at ../../git/src/gpu/ipc/service/pass_through_image_transport_surface.cc:46
#14 0x00007f2915f90fce in gpu::gles2::GLES2DecoderImpl::DoSwapBuffers () at ../../git/src/gpu/command_buffer/service/gles2_cmd_decoder.cc:13518
#15 0x00007f2915f91a09 in gpu::gles2::GLES2DecoderImpl::HandleSwapBuffers () at ../../git/src/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h:4956
#16 0x00007f2915f9337d in gpu::gles2::GLES2DecoderImpl::DoCommandsImpl<false> () at ../../git/src/gpu/command_buffer/service/gles2_cmd_decoder.cc:5028
#17 0x00007f2915f3b76a in gpu::CommandParser::ProcessCommands () at ../../git/src/gpu/command_buffer/service/cmd_parser.cc:54
#18 0x00007f2915f3c5aa in gpu::CommandExecutor::PutChanged () at ../../git/src/gpu/command_buffer/service/command_executor.cc:61
#19 0x00007f29160fc8a3 in gpu::GpuCommandBufferStub::OnAsyncFlush () at ../../git/src/gpu/ipc/service/gpu_command_buffer_stub.cc:783
#20 0x00007f2916100140 in base::DispatchToMethodImpl<gpu::GpuCommandBufferStub*, void (gpu::GpuCommandBufferStub::*)(int, unsigned int, std::vector<ui::LatencyInfo, std::allocator<ui::LatencyInfo> > const&), int, unsigned int, std::vector<ui::LatencyInfo, std::allocator<ui::LatencyInfo> >, 0ul, 1ul, 2ul> () at ../../git/src/base/tuple.h:140
#21 base::DispatchToMethod<gpu::GpuCommandBufferStub*, void (gpu::GpuCommandBufferStub::*)(int, unsigned int, std::vector<ui::LatencyInfo, std::allocator<ui::LatencyInfo> > const&), int, unsigned int, std::vector<ui::LatencyInfo, std::allocator<ui::LatencyInfo> > > ()
at ../../git/src/base/tuple.h:147
#22 IPC::DispatchToMethod<gpu::GpuCommandBufferStub, void (gpu::GpuCommandBufferStub::*)(int, unsigned int, std::vector<ui::LatencyInfo, std::allocator<ui::LatencyInfo> > const&), void, std::tuple<int, unsigned int, std::vector<ui::LatencyInfo, std::allocator<ui::LatencyInfo> > > > () at ../../git/src/ipc/ipc_message_templates.h:26
#23 IPC::MessageT<GpuCommandBufferMsg_AsyncFlush_Meta, std::tuple<int, unsigned int, std::vector<ui::LatencyInfo, std::allocator<ui::LatencyInfo> > >, void>::Dispatch<gpu::GpuCommandBufferStub, gpu::GpuCommandBufferStub, void, void (gpu::GpuCommandBufferStub::*)(int, unsigned int, std::vector<ui::LatencyInfo, std::allocator<ui::LatencyInfo> > const&)> () at ../../git/src/ipc/ipc_message_templates.h:121
#24 gpu::GpuCommandBufferStub::OnMessageReceived () at ../../git/src/gpu/ipc/service/gpu_command_buffer_stub.cc:243
#25 0x00007f291596ed6c in IPC::MessageRouter::RouteMessage () at ../../git/src/ipc/message_router.cc:52
#26 0x00007f29160fab15 in gpu::GpuChannel::HandleMessageHelper () at ../../git/src/gpu/ipc/service/gpu_channel.cc:816
#27 0x00007f29160fabce in gpu::GpuChannel::HandleMessage () at ../../git/src/gpu/ipc/service/gpu_channel.cc:796
#28 0x00007f2914ebc9fa in base::Callback<void (), (base::internal::CopyMode)1>::Run() const () at ../../git/src/base/callback.h:389
#29 base::debug::TaskAnnotator::RunTask () at ../../git/src/base/debug/task_annotator.cc:51
#30 0x00007f2914edc03f in base::MessageLoop::RunTask () at ../../git/src/base/message_loop/message_loop.cc:493
#31 0x00007f2914edc9a8 in base::MessageLoop::DeferOrRunPendingTask () at ../../git/src/base/message_loop/message_loop.cc:502
#32 0x00007f2914edcf0f in base::MessageLoop::DoWork () at ../../git/src/base/message_loop/message_loop.cc:624
#33 0x00007f2914ede621 in base::MessagePumpDefault::Run () at ../../git/src/base/message_loop/message_pump_default.cc:35
#34 0x00007f2914ef7c1b in base::RunLoop::Run () at ../../git/src/base/run_loop.cc:35
#35 0x00007f2914edb5c8 in base::MessageLoop::Run () at ../../git/src/base/message_loop/message_loop.cc:295
#36 0x00007f2914f1bb73 in base::Thread::ThreadMain () at ../../git/src/base/threading/thread.cc:256
#37 0x00007f2914f17ebb in ThreadFunc () at ../../git/src/base/threading/platform_thread_posix.cc:70
#38 0x00007f2910c133e7 in start_thread (arg=0x7f28e8ff9700) at /usr/src/debug/glibc/2.26-r0/git/nptl/pthread_create.c:465
#39 0x00007f291006cc7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Fixed
Details
Details
Assignee
José Dapena Paz
José Dapena PazReporter
José Dapena Paz
José Dapena PazFix versions
Contract ID
Components
Priority
Created November 13, 2018 at 3:55 PM
Updated February 11, 2019 at 11:11 PM
Resolved November 19, 2018 at 9:24 AM
Steps to reproduce:
Launch qemu
Wait for the launcher icons to be visible.
Launch memory match (or any other webapp)
Expected behavior: app is visible after some seconds.
Actual behavior: WebAppMgr crashes:
Nov 13 15:54:03 qemux86-64 daemon.info WebAppMgr[389]: Error from reader: * Line 1, Column 1
Nov 13 15:54:03 qemux86-64 daemon.info WebAppMgr[389]: Syntax error: value, object or array expected.
Nov 13 15:54:03 qemux86-64 daemon.info WebAppMgr[389]: Error from reader: * Line 1, Column 1
Nov 13 15:54:03 qemux86-64 daemon.info WebAppMgr[389]: Syntax error: value, object or array expected.
Nov 13 15:54:03 qemux86-64 daemon.info WebAppMgr[389]: Error from reader: * Line 1, Column 1
Nov 13 15:54:03 qemux86-64 daemon.info WebAppMgr[389]: Syntax error: value, object or array expected.
Nov 13 15:54:03 qemux86-64 daemon.info WebAppMgr[389]: Error from reader: * Line 1, Column 1
Nov 13 15:54:03 qemux86-64 daemon.info WebAppMgr[389]: Syntax error: value, object or array expected.
Nov 13 15:54:03 qemux86-64 daemon.info WebAppMgr[389]: [1113/155403:ERROR:screen.cc(106)] Not implemented reached in static void ozonewayland::WaylandScreen::OutputHandleScale(void*, wl_output*, int32_t) SCALE FACTOR 1
Nov 13 15:54:04 qemux86-64 user.info kernel: [ 92.748599] Chrome_InProcGp[544]: segfault at 7f4d208fffec ip 00007f4d5967c1a9 sp 00007f4d297f8ed8 error 6 in libc-2.26.so[7f4d5954d000+1a6000]