Igalia / chromium

Old repo. See https://crbug.com/578890 instead.
https://chromium.googlesource.com/chromium/src.git
BSD 3-Clause "New" or "Revised" License
115 stars 16 forks source link

Crash on youtube videos #484

Closed ammen99 closed 6 years ago

ammen99 commented 6 years ago
Received signal 11 SEGV_MAPERR 000000000000
#0 0x5634f49fa76c base::debug::StackTrace::StackTrace()
#1 0x5634f49fa2d1 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#2 0x7fded2555fc0 <unknown>
#3 0x5634f2ed517e ui::GbmPixmapWayland::InitializeBuffer()
#4 0x5634f2ed0a60 ui::WaylandSurfaceFactory::CreateNativePixmap()
#5 0x5634f5b39b0e gpu::GpuMemoryBufferFactoryNativePixmap::CreateGpuMemoryBuffer()
#6 0x5634f30320fa viz::GpuServiceImpl::CreateGpuMemoryBuffer()
#7 0x5634f302b385 viz::mojom::GpuServiceStubDispatch::AcceptWithResponder()
#8 0x5634f30363a6 viz::mojom::GpuServiceStub<>::AcceptWithResponder()
#9 0x5634f4a4ccf8 mojo::InterfaceEndpointClient::HandleValidatedMessage()
#10 0x5634f4a51934 mojo::internal::MultiplexRouter::ProcessIncomingMessage()
#11 0x5634f4a51138 mojo::internal::MultiplexRouter::Accept()
#12 0x5634f4a4ba48 mojo::Connector::ReadSingleMessage()
#13 0x5634f4a4c261 mojo::Connector::ReadAllAvailableMessages()
#14 0x5634f4a5e9da mojo::SimpleWatcher::OnHandleReady()
#15 0x5634f4950e10 base::debug::TaskAnnotator::RunTask()
#16 0x5634f496cb5e base::MessageLoop::RunTask()
#17 0x5634f496cff2 base::MessageLoop::DoWork()
#18 0x5634f4a0c7a9 base::MessagePumpLibevent::Run()
#19 0x5634f498d665 base::RunLoop::Run()
#20 0x5634f49cd7f6 base::Thread::ThreadMain()
#21 0x5634f4a0f317 base::(anonymous namespace)::ThreadFunc()
#22 0x7fded254b594 start_thread
#23 0x7fdece3d90df __GI___clone
  r8: 0000000000000000  r9: 0000000000000004 r10: 0000000000000011 r11: 0000000000000000
 r12: 0000000000000011 r13: 0000269c5895ea50 r14: 0000000000000005 r15: 0000000000000004
  di: 0000000000000000  si: 0000000000000000  bp: 00007fdeaf441eb0  bx: 0000269c5895ea50
  dx: 00005634f91a61f8  ax: 0000000020203852  cx: 0000269c54bdc540  sp: 00007fdeaf441d10
  ip: 00005634f2ed517e efl: 0000000000010293 cgf: 002b000000000033 erf: 0000000000000004
 trp: 000000000000000e msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]

Just open a youtube video, this happens. Please tell me if I can/should provide more information.

msisov commented 6 years ago

can you paste the output of about://gpu?

ammen99 commented 6 years ago

I'm using it under wayland, and can't copy for some reason. Will try under X11/another compositor

msisov commented 6 years ago

clipboard implementation is not in place yet. that's expected

msisov commented 6 years ago

I'd also like to see a full startup log since you type to the terminal and hit enter

ammen99 commented 6 years ago
ATTENTION: default value of option vblank_mode overridden by environment.
[2964:2964:0925/132901.706845:ERROR:screen_base.cc(40)] Not implemented reached in virtual display::Display display::ScreenBase::GetDisplayNearestWindow(gfx::NativeWindow) const
[2964:2964:0925/132901.715998:ERROR:desktop_window_tree_host_platform.cc(428)] Not implemented reached in virtual void views::DesktopWindowTreeHostPlatform::InitModalType(ui::ModalType)
[2964:2964:0925/132901.716030:ERROR:desktop_window_tree_host_platform.cc(438)] Not implemented reached in virtual bool views::DesktopWindowTreeHostPlatform::IsAnimatingClosed() const
[2964:2964:0925/132901.718765:ERROR:desktop_window_tree_host_platform.cc(451)] Not implemented reached in virtual void views::DesktopWindowTreeHostPlatform::SizeConstraintsChanged()
[2964:2964:0925/132901.741378:ERROR:screen_base.cc(16)] Not implemented reached in virtual gfx::Point display::ScreenBase::GetCursorScreenPoint()
[2964:2964:0925/132901.741989:ERROR:desktop_window_tree_host_platform.cc(422)] Not implemented reached in virtual void views::DesktopWindowTreeHostPlatform::SetWindowIcons(const gfx::ImageSkia &, const gfx::ImageSkia &)
[2964:2964:0925/132901.742010:ERROR:desktop_window_tree_host_platform.cc(361)] Not implemented reached in virtual bool views::DesktopWindowTreeHostPlatform::SetWindowTitle(const base::string16 &)
[2964:2964:0925/132901.747839:ERROR:screen_base.cc(26)] Not implemented reached in virtual gfx::NativeWindow display::ScreenBase::GetWindowAtScreenPoint(const gfx::Point &)
[2964:2964:0925/132901.750985:ERROR:desktop_window_tree_host_platform.cc(299)] Not implemented reached in virtual void views::DesktopWindowTreeHostPlatform::Activate()
[2964:2964:0925/132901.761873:ERROR:desktop_window_tree_host_platform.cc(210)] Not implemented reached in virtual bool views::DesktopWindowTreeHostPlatform::IsVisible() const
error: received delete_id for unknown id (26)
[2964:2964:0925/132901.906662:ERROR:desktop_window_tree_host_platform.cc(367)] Not implemented reached in virtual void views::DesktopWindowTreeHostPlatform::ClearNativeFocus()
[2964:2990:0925/132901.975666:ERROR:texture_manager.cc(3428)] [GroupMarkerNotSet(crbug.com/242999)!:A0DE9A496E3C0000]GL ERROR :GL_INVALID_ENUM : glTexImage2D: <- error from previous GL command
error: received delete_id for unknown id (28)
[2964:2964:0925/132902.144540:ERROR:account_tracker.cc(242)] AccessTokenFetched error: Invalid credentials (1).
Received signal 11 SEGV_MAPERR 000000000000
#0 0x55fecce2e76c base::debug::StackTrace::StackTrace()
#1 0x55fecce2e2d1 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#2 0x7fed852c3fc0 <unknown>
#3 0x55fecb30917e ui::GbmPixmapWayland::InitializeBuffer()
#4 0x55fecb304a60 ui::WaylandSurfaceFactory::CreateNativePixmap()
#5 0x55fecdf6db0e gpu::GpuMemoryBufferFactoryNativePixmap::CreateGpuMemoryBuffer()
#6 0x55fecb4660fa viz::GpuServiceImpl::CreateGpuMemoryBuffer()
#7 0x55fecb45f385 viz::mojom::GpuServiceStubDispatch::AcceptWithResponder()
#8 0x55fecb46a3a6 viz::mojom::GpuServiceStub<>::AcceptWithResponder()
#9 0x55fecce80cf8 mojo::InterfaceEndpointClient::HandleValidatedMessage()
#10 0x55fecce85934 mojo::internal::MultiplexRouter::ProcessIncomingMessage()
#11 0x55fecce85138 mojo::internal::MultiplexRouter::Accept()
#12 0x55fecce7fa48 mojo::Connector::ReadSingleMessage()
#13 0x55fecce80261 mojo::Connector::ReadAllAvailableMessages()
#14 0x55fecce929da mojo::SimpleWatcher::OnHandleReady()
#15 0x55feccd84e10 base::debug::TaskAnnotator::RunTask()
#16 0x55feccda0b5e base::MessageLoop::RunTask()
#17 0x55feccda0ff2 base::MessageLoop::DoWork()
#18 0x55fecce407a9 base::MessagePumpLibevent::Run()
#19 0x55feccdc1665 base::RunLoop::Run()
#20 0x55fecce017f6 base::Thread::ThreadMain()
#21 0x55fecce43317 base::(anonymous namespace)::ThreadFunc()
#22 0x7fed852b9594 start_thread
#23 0x7fed811470df __GI___clone
  r8: 0000000000000000  r9: 0000000000000004 r10: 000000000000000a r11: 0000000000000000
 r12: 0000000000000011 r13: 00003c6e4ca1ab40 r14: 0000000000000005 r15: 0000000000000004
  di: 0000000000000000  si: 0000000000000000  bp: 00007fed631b1eb0  bx: 00003c6e4ca1ab40
  dx: 000055fed15da1f8  ax: 0000000020203852  cx: 00003c6e48878540  sp: 00007fed631b1d10
  ip: 000055fecb30917e efl: 0000000000010293 cgf: 002b000000000033 erf: 0000000000000004
 trp: 000000000000000e msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]
Calling _exit(1). Core file will not be generated.
ammen99 commented 6 years ago

I also thought you had implemented the clipboard & DnD for wayland

ammen99 commented 6 years ago

Tested under Ozone/X11, works fine, so this is definitely something related to Wayland (More specifically GBM buffers by looking at the trace, but you'll know better than me :)

Another thing: those error: received delete_id for unknown id (28) happen quite often.

ammen99 commented 6 years ago

Forgot to mention, I can manually copy info from about://gpu, just tell me what parts are of interest to you.

msisov commented 6 years ago

everything is important

ammen99 commented 6 years ago

Just realized I can simply screenshot the about://gpu page, sorry for the delay. https://imgur.com/a/nabsHGI

msisov commented 6 years ago

Ok, I have one idea.

Can you please remove the if condition on the lines 28-32 here and try to recompile chromium?

ammen99 commented 6 years ago

@msisov Just tested it, works fine with the if removed.

msisov commented 6 years ago

Seems like the compositor does not announce supported drm formats in your case. And just guessing buffer formats is a bad idea, which results in crashes as yours.

What is your system and what hardware do you use?

ammen99 commented 6 years ago

My computer is a Lenovo Yoga 510 (intel i7-7500U, GPU: intel HD 620), running Fedora 28 with a wlroots-based compositor (Wayfire). But happens under weston as well.

ammen99 commented 6 years ago

Actually this doesn't happen under gnome, maybe this really should be a compositor bug. Anyway, if this is the case, shouldn't chromium log something more useful and not just crash?

UPD: happens under latest wlroots/weston, so this is not due to using an outdated version.

msisov commented 6 years ago

As I said it was a bad idea to guess buffer formats if they are not announced by the compositor at all.

I will remove that code and just silently fallback to software pixmap.

ammen99 commented 6 years ago

I'm fine as long as it doesn't crash.

msisov commented 6 years ago

fixed by https://chromium-review.googlesource.com/c/1253641/

ammen99 commented 5 years ago

Just built latest chromium, the bug is still here (or maybe slightly different):

[18899:18899:1201/232354.490330:ERROR:desktop_window_tree_host_platform.cc(434)] Not implemented reached in virtual void views::DesktopWindowTreeHostPlatform::InitModalType(ui::ModalType)
[18899:18899:1201/232354.490372:ERROR:desktop_window_tree_host_platform.cc(444)] Not implemented reached in virtual bool views::DesktopWindowTreeHostPlatform::IsAnimatingClosed() const
[18899:18899:1201/232354.493110:ERROR:desktop_window_tree_host_platform.cc(457)] Not implemented reached in virtual void views::DesktopWindowTreeHostPlatform::SizeConstraintsChanged()
[18899:18899:1201/232354.518564:ERROR:wayland_screen.cc(86)] Not implemented reached in virtual gfx::Point ui::WaylandScreen::GetCursorScreenPoint() const
[18899:18899:1201/232354.519261:ERROR:desktop_window_tree_host_platform.cc(428)] Not implemented reached in virtual void views::DesktopWindowTreeHostPlatform::SetWindowIcons(const gfx::ImageSkia &, const gfx::ImageSkia &)
[18899:18899:1201/232354.519291:ERROR:desktop_window_tree_host_platform.cc(367)] Not implemented reached in virtual bool views::DesktopWindowTreeHostPlatform::SetWindowTitle(const base::string16 &)
[18899:18899:1201/232354.529020:ERROR:desktop_window_tree_host_platform.cc(305)] Not implemented reached in virtual void views::DesktopWindowTreeHostPlatform::Activate()
[18899:18899:1201/232354.529048:ERROR:desktop_window_tree_host_platform.cc(373)] Not implemented reached in virtual void views::DesktopWindowTreeHostPlatform::ClearNativeFocus()
[18899:18899:1201/232354.537355:ERROR:desktop_window_tree_host_platform.cc(216)] Not implemented reached in virtual bool views::DesktopWindowTreeHostPlatform::IsVisible() const
error: received delete_id for unknown id (26)
[18899:18924:1201/232354.775230:ERROR:texture_manager.cc(3466)] [GroupMarkerNotSet(crbug.com/242999)!:A85AA1662E220000]GL ERROR :GL_INVALID_ENUM : glTexImage2D: <- error from previous GL command
error: received delete_id for unknown id (28)
[18899:18899:1201/232354.944711:ERROR:account_tracker.cc(240)] AccessTokenFetched error: Invalid credentials (credentials rejected by server).
Received signal 11 SEGV_MAPERR 000000000000
#0 0x5556fe56ac7f base::debug::StackTrace::StackTrace()
#1 0x5556fe56a7e1 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#2 0x7f069a2a3fc0 <unknown>
#3 0x5556fc77e4c5 ui::GbmPixmapWayland::InitializeBuffer()
#4 0x5556fc7795e0 ui::WaylandSurfaceFactory::CreateNativePixmap()
#5 0x5556ff91626e gpu::GpuMemoryBufferFactoryNativePixmap::CreateGpuMemoryBuffer()
#6 0x5556fc8e471a viz::GpuServiceImpl::CreateGpuMemoryBuffer()
#7 0x5556fc8dd6de viz::mojom::GpuServiceStubDispatch::AcceptWithResponder()
#8 0x5556fc8e89e6 viz::mojom::GpuServiceStub<>::AcceptWithResponder()
#9 0x5556fe5bd3c8 mojo::InterfaceEndpointClient::HandleValidatedMessage()
#10 0x5556fe5c1ff4 mojo::internal::MultiplexRouter::ProcessIncomingMessage()
#11 0x5556fe5c17f8 mojo::internal::MultiplexRouter::Accept()
#12 0x5556fe5bc163 mojo::Connector::ReadSingleMessage()
#13 0x5556fe5bc931 mojo::Connector::ReadAllAvailableMessages()
#14 0x5556fe5cf23a mojo::SimpleWatcher::OnHandleReady()
#15 0x5556fe4beeb5 base::debug::TaskAnnotator::RunTask()
#16 0x5556fe4db33f base::MessageLoopImpl::RunTask()
#17 0x5556fe4db9b2 base::MessageLoopImpl::DoWork()
#18 0x5556fe57dfd9 base::MessagePumpLibevent::Run()
#19 0x5556fe4fc225 base::RunLoop::Run()
#20 0x5556fe53dfd1 base::Thread::ThreadMain()
#21 0x5556fe580d8e base::(anonymous namespace)::ThreadFunc()
#22 0x7f069a299594 start_thread
#23 0x7f06961270df __GI___clone
  r8: 0000000000000000  r9: 0000000000000004 r10: 0000000000000000 r11: 0000000000000000
 r12: 0000000000000011 r13: 0000000000000000 r14: 0000222e6a69c180 r15: 0000000000000004
  di: 0000000000000000  si: 0000000000000000  bp: 00007f0678586e90  bx: 0000222e6a69c180
  dx: 0000000000000000  ax: 0000000020203852  cx: 0000222e65ea6f00  sp: 00007f0678586d00
  ip: 00005556fc77e4c5 efl: 0000000000010293 cgf: 002b000000000033 erf: 0000000000000004
 trp: 000000000000000e msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]
Calling _exit(1). Core file will not be generated.

This is just opening chromium and starting a youtube video.