Widevine crashes on 3865

Having problems with building or using CEF's C/C++ APIs? This forum is here to help. Please do not post bug reports or feature requests here.

Widevine crashes on 3865

Postby edgardog » Wed Sep 18, 2019 1:48 pm

Hello,
I have updated my build to branch 3865 (from 3626 which is my previous build). I had to patch several files since there has been many changes (which is great! thanks for the good work).
I added the widevine binary like I always do and updated the manifest to match it, but when I try to use widevine (shaka player, netflix, etc) cefclient (and also my app) crashes.
There is not much info, just:
Trace/breakpoint trap (core dumped).

Different sites print different errors prior to the crash, but they also print these errors on my previous build (3626) so I don't think those are related.
As an example Netflix complains of no cast extension found.

Is anyone else getting the same crash on 3865?

I had to patch quite a bit of code in the CefApp implementation of my code, but since I get the same results with CefClient I don't think its related to this.

Best Regards
edgardog
Expert
 
Posts: 111
Joined: Mon Feb 01, 2016 2:05 pm

Re: Widevine crashes on 3865

Postby Czarek » Wed Sep 18, 2019 1:54 pm

Have you tested cefclient with standard Spotify binaries? What Widevine version with what CEF versions are you testing? You should debug app with GDB to see stack trace.
Maintainer of the CEF Python, PHP Desktop and CEF C API projects. My LinkedIn.
User avatar
Czarek
Virtuoso
 
Posts: 1927
Joined: Sun Nov 06, 2011 2:12 am

Re: Widevine crashes on 3865

Postby edgardog » Wed Sep 18, 2019 2:19 pm

Using: http://opensource.spotify.com/cefbuilds/index.html
I was able to build cefclient and use the widevine binaries I tried before and shaka player plays widevine (still have issues with netflix but might be related to something else).

But this cef build is from 3809 and I'm trying 3865 on my own build.
I'll make a build of 3809 tomorrow and will verify if I get the same results as using the binaries from: http://opensource.spotify.com/cefbuilds/index.html
I'll post my results.

Thanks
edgardog
Expert
 
Posts: 111
Joined: Mon Feb 01, 2016 2:05 pm

Re: Widevine crashes on 3865

Postby edgardog » Thu Sep 19, 2019 7:38 am

Here is the GDB output I get the moment it crashes:

Code: Select all
Thread 6 "Chrome_IOThread" received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 0x7fffdc5bf700 (LWP 10828)]
0x00007ffff15d30bd in operator() () at ../../media/audio/audio_output_controller.cc:133
133   ../../media/audio/audio_output_controller.cc: No such file or directory.
(gdb)
edgardog
Expert
 
Posts: 111
Joined: Mon Feb 01, 2016 2:05 pm

Re: Widevine crashes on 3865

Postby magreenblatt » Thu Sep 19, 2019 8:03 am

You need to type `bt` at the (gdb) prompt to get the stack trace.
magreenblatt
Site Admin
 
Posts: 12409
Joined: Fri May 29, 2009 6:57 pm

Re: Widevine crashes on 3865

Postby edgardog » Thu Sep 19, 2019 8:13 am

Here is its:
Code: Select all
Thread 6 "Chrome_IOThread" received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 0x7fffdc5bf700 (LWP 12405)]
0x00007ffff15d30bd in operator() () at ../../media/audio/audio_output_controller.cc:133
133   ../../media/audio/audio_output_controller.cc: No such file or directory.
(gdb) bt
#0  0x00007ffff15d30bd in operator() () at ../../media/audio/audio_output_controller.cc:133
#1  Create () at ../../media/audio/audio_output_controller.cc:133
#2  0x00007ffff1e5c5fa in AudioOutputDelegateImpl () at ../../content/browser/renderer_host/media/audio_output_delegate_impl.cc:154
#3  make_unique<content::AudioOutputDelegateImpl, std::__1::unique_ptr<media::AudioSyncReader, std::__1::default_delete<media::AudioSyncReader> >, std::__1::unique_ptr<base::CancelableSyncSocket, std::__1::default_delete<base::CancelableSyncSocket> >, media::AudioOutputDelegate::EventHandler*&, media::AudioManager*&, mojo::InterfacePtr<media::mojom::AudioLog>, content::MediaObserver*&, int&, int&, int&, media::AudioParameters const&, mojo::InterfacePtr<media::mojom::AudioOutputStreamObserver>, std::__1::basic_string<char> const&> () at ../../buildtools/third_party/libc++/trunk/include/memory:3131
#4  Create () at ../../content/browser/renderer_host/media/audio_output_delegate_impl.cc:118
#5  0x00007ffff1e81451 in CreateDelegate () at ../../content/browser/renderer_host/media/renderer_audio_output_stream_factory_context_impl.cc:71
#6  0x00007ffff1e7cc9a in Invoke<std::__1::unique_ptr<media::AudioOutputDelegate, std::__1::default_delete<media::AudioOutputDelegate> > (content::RendererAudioOutputStreamFactoryContext::*)(std::__1::basic_string<char> const&, int, int, media::AudioParameters const&, mojo::InterfacePtr<media::mojom::AudioOutputStreamObserver>, media::AudioOutputDelegate::EventHandler*), content::RendererAudioOutputStreamFactoryContext*, std::__1::basic_string<char>, int, int, media::AudioParameters const&, mojo::InterfacePtr<media::mojom::AudioOutputStreamObserver>, media::AudioOutputDelegate::EventHandler*> () at ../../base/bind_internal.h:499
#7  MakeItSo<std::__1::unique_ptr<media::AudioOutputDelegate, std::__1::default_delete<media::AudioOutputDelegate> > (content::RendererAudioOutputStreamFactoryContext::*)(std::__1::basic_string<char> const&, int, int, media::AudioParameters const&, mojo::InterfacePtr<media::mojom::AudioOutputStreamObserver>, media::AudioOutputDelegate::EventHandler*), content::RendererAudioOutputStreamFactoryContext*, std::__1::basic_string<char>, int, int, media::AudioParameters const&, mojo::InterfacePtr<media::mojom::AudioOutputStreamObserver>, media::AudioOutputDelegate::EventHandler*> () at ../../base/bind_internal.h:599
#8  RunImpl<std::__1::unique_ptr<media::AudioOutputDelegate, std::__1::default_delete<media::AudioOutputDelegate> > (content::RendererAudioOutputStreamFactoryContext::*)(std::__1::basic_string<char> const&, int, int, media::AudioParameters const&, mojo::InterfacePtr<media::mojom::AudioOutputStreamObserver>, media::AudioOutputDelegate::EventHandler*), std::__1::tuple<base::internal::UnretainedWrapper<content::RendererAudioOutputStreamFactoryContext>, std::__1::basic_string<char>, int, int>, 0, 1, 2, 3> ()
--Type <RET> for more, q to quit, c to continue without paging--c
   ind_internal.h:672
#9  RunOnce () at ../../base/bind_internal.h:641
#10 0x00007ffff496832b in Run () at ../../base/callback.h:98
#11 Invoke<base::OnceCallback<std::__1::unique_ptr<media::AudioOutputDelegate, std::__1::default_delete<media::AudioOutputDelegate> > (const media::AudioParameters &, mojo::InterfacePtr<media::mojom::AudioOutputStreamObserver>, media::AudioOutputDelegate::EventHandler *)>, media::AudioParameters, mojo::InterfacePtr<media::mojom::AudioOutputStreamObserver>, media::AudioOutputDelegate::EventHandler *> () at ../../base/bind_internal.h:560
#12 MakeItSo<base::OnceCallback<std::__1::unique_ptr<media::AudioOutputDelegate, std::__1::default_delete<media::AudioOutputDelegate> > (const media::AudioParameters &, mojo::InterfacePtr<media::mojom::AudioOutputStreamObserver>, media::AudioOutputDelegate::EventHandler *)>, media::AudioParameters, mojo::InterfacePtr<media::mojom::AudioOutputStreamObserver>, media::AudioOutputDelegate::EventHandler *> () at ../../base/bind_internal.h:599
#13 RunImpl<base::OnceCallback<std::__1::unique_ptr<media::AudioOutputDelegate, std::__1::default_delete<media::AudioOutputDelegate> > (const media::AudioParameters &, mojo::InterfacePtr<media::mojom::AudioOutputStreamObserver>, media::AudioOutputDelegate::EventHandler *)>, std::__1::tuple<media::AudioParameters, mojo::InterfacePtr<media::mojom::AudioOutputStreamObserver> >, 0, 1> () at ../../base/bind_internal.h:672
#14 RunOnce () at ../../base/bind_internal.h:641
#15 0x00007ffff4967043 in Run () at ../../base/callback.h:98
#16 MojoAudioOutputStream () at ../../media/mojo/services/mojo_audio_output_stream.cc:29
#17 0x00007ffff4968203 in Init<base::OnceCallback<std::__1::unique_ptr<media::AudioOutputDelegate, std::__1::default_delete<media::AudioOutputDelegate> > (media::AudioOutputDelegate::EventHandler *)>, base::OnceCallback<void (mojo::InterfacePtr<media::mojom::AudioOutputStream>, mojo::StructPtr<media::mojom::ReadWriteAudioDataPipe>)>, base::OnceCallback<void (bool)> > () at ../../base/optional.h:62
#18 emplace<base::OnceCallback<std::__1::unique_ptr<media::AudioOutputDelegate, std::__1::default_delete<media::AudioOutputDelegate> > (media::AudioOutputDelegate::EventHandler *)>, base::OnceCallback<void (mojo::InterfacePtr<media::mojom::AudioOutputStream>, mojo::StructPtr<media::mojom::ReadWriteAudioDataPipe>)>, base::OnceCallback<void (bool)> > () at ../../base/optional.h:695
#19 Acquire () at ../../media/mojo/services/mojo_audio_output_stream_provider.cc:66
#20 0x00007ffff173e373 in Accept () at gen/media/mojo/interfaces/audio_output_stream.mojom.cc:815
#21 0x00007ffff3393c3d in HandleValidatedMessage () at ../../mojo/public/cpp/bindings/lib/interface_endpoint_client.cc:554
#22 0x00007ffff3398fe8 in ProcessIncomingMessage () at ../../mojo/public/cpp/bindings/lib/multiplex_router.cc:877
#23 0x00007ffff3398a38 in Accept () at ../../mojo/public/cpp/bindings/lib/multiplex_router.cc:598
#24 0x00007ffff3391561 in DispatchMessage () at ../../mojo/public/cpp/bindings/lib/connector.cc:514
#25 0x00007ffff3391c39 in ReadAllAvailableMessages () at ../../mojo/public/cpp/bindings/lib/connector.cc:589
#26 0x00007ffff33a6574 in Run () at ../../base/callback.h:132
#27 OnHandleReady () at ../../mojo/public/cpp/system/simple_watcher.cc:292
#28 0x00007ffff33a688e in Notify () at ../../mojo/public/cpp/system/simple_watcher.cc:118
#29 0x00007ffff33a5e83 in CallNotify () at ../../mojo/public/cpp/system/simple_watcher.cc:57
#30 0x00007ffff19050b9 in InvokeWatchCallback () at ../../mojo/core/watcher_dispatcher.cc:94
#31 0x00007ffff190430c in InvokeCallback () at ../../mojo/core/watch.cc:78
#32 0x00007ffff1900bde in ~RequestContext () at ../../mojo/core/request_context.cc:72
#33 0x00007ffff18f6856 in OnChannelMessage () at ../../mojo/core/node_channel.cc:697
#34 0x00007ffff18e6cd2 in TryDispatchMessage () at ../../mojo/core/channel.cc:724
#35 OnReadComplete () at ../../mojo/core/channel.cc:622
#36 0x00007ffff190a7cd in OnFileCanReadWithoutBlocking () at ../../mojo/core/channel_posix.cc:294
#37 0x00007ffff32cdde4 in OnFileCanReadWithoutBlocking () at ../../base/message_loop/message_pump_libevent.cc:83
#38 OnLibeventNotification () at ../../base/message_loop/message_pump_libevent.cc:325
#39 0x00007ffff338c99f in event_process_active () at ../../base/third_party/libevent/event.c:381
#40 event_base_loop () at ../../base/third_party/libevent/event.c:521
#41 0x00007ffff32ce1d7 in Run () at ../../base/message_loop/message_pump_libevent.cc:242
#42 0x00007ffff3275f85 in Run () at ../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:463
#43 0x00007ffff324f95a in RunWithTimeout () at ../../base/run_loop.cc:157
#44 0x00007ffff1b66344 in content::BrowserProcessSubThread::IOThreadRun(base::RunLoop*) () at ../../content/browser/browser_process_sub_thread.cc:158
#45 0x00007ffff32922be in ThreadMain () at ../../base/threading/thread.cc:312
#46 0x00007ffff32c8328 in ThreadFunc () at ../../base/threading/platform_thread_posix.cc:81
#47 0x00007fffece3d6ba in start_thread (arg=0x7fffdc5bf700) at pthread_create.c:333
#48 0x00007fffecb7341d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

edgardog
Expert
 
Posts: 111
Joined: Mon Feb 01, 2016 2:05 pm

Re: Widevine crashes on 3865

Postby magreenblatt » Thu Sep 19, 2019 8:34 am

Looks like the audio_manager check is failing here. This could be Chromium issue 993802 (sorry, view restricted) which has not yet been resolved. Beyond listing the same crash stack trace there's no useful information in that bug report currently.
magreenblatt
Site Admin
 
Posts: 12409
Joined: Fri May 29, 2009 6:57 pm


Return to Support Forum

Who is online

Users browsing this forum: cybersight, Google [Bot] and 59 guests