Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use patchelfUnstable in chromium/plugins.nix #29640

Closed
wants to merge 1 commit into from

Conversation

michalrus
Copy link
Member

@michalrus michalrus commented Sep 21, 2017

Motivation for this change

(Kind of) solves #22333.

Thanks to this change, the system builds correctly, but chromium itself, with WideVine plugin, segfaults. That’s a step forward, I think and someone can take if from here.

Received signal 11 SEGV_MAPERR 7f81d066a868
#0 0x55a7355dd695 base::debug::StackTrace::StackTrace()
#1 0x55a7355ddab9 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#2 0x7f804f53e840 <unknown>
#3 0x7f804f756986 _dl_relocate_object
#4 0x7f804f75e8a9 dl_open_worker
#5 0x7f8048446d31 __GI__dl_catch_error
#6 0x7f804f75e0a7 _dl_open
#7 0x7f804f329f66 dlopen_doit
#8 0x7f8048446d31 __GI__dl_catch_error
#9 0x7f804f32a569 _dlerror_run
#10 0x7f804f329ff1 __dlopen_check
#11 0x55a7356194ca base::LoadNativeLibraryWithOptions()
#12 0x55a735619396 base::LoadNativeLibrary()
#13 0x55a733fed671 content::PreloadPepperPlugins()
#14 0x55a733feddd5 content::ZygoteMain()
#15 0x55a7351e6dc7 content::RunZygote()
#16 0x55a7351e755f content::ContentMainRunnerImpl::Run()
#17 0x55a7351f29e2 service_manager::Main()
#18 0x55a7351e6031 content::ContentMain()
#19 0x55a733ad2143 ChromeMain
#20 0x7f8048348530 __libc_start_main
#21 0x55a733ad1faa _start
  r8: 00007f8048332ef8  r9: 00007f804f95b500 r10: 00007f80483bf140 r11: 00007f804f95b500
 r12: 000000001532e800 r13: 00007f8034966af0 r14: cde800001532e800 r15: 0000256ed93c7300
  di: 00007f803496a868  si: 0000256ed9369e00  bp: 00007fffd72f36f0  bx: 00007f803497d840
  dx: 00007f804f96dc80  ax: 00000000cde80000  cx: 0000000000000000  sp: 00007fffd72f35c0
  ip: 00007f804f756986 efl: 0000000000010206 cgf: 002b000000000033 erf: 0000000000000004
 trp: 000000000000000e msk: 0000000000000000 cr2: 00007f81d066a868
[end of stack trace]
Calling _exit(1). Core file will not be generated.
[16341:16341:0921/142607.149640:FATAL:zygote_host_impl_linux.cc(196)] Check failed: ReceiveFixedMessage(fds[0], kZygoteHelloMessage, sizeof(kZygoteHelloMessage), &real_pid). 
#0 0x559e92cb2695 base::debug::StackTrace::StackTrace()
#1 0x559e92ccd1b5 logging::LogMessage::~LogMessage()
#2 0x559e91b35813 content::ZygoteHostImpl::LaunchZygote()
#3 0x559e91b345f4 content::ZygoteCommunication::Init()
#4 0x559e91b34c2c content::CreateGenericZygote()
#5 0x559e9174b7e4 content::BrowserMainLoop::EarlyInitialization()
#6 0x559e9174f0e4 content::BrowserMainRunnerImpl::Initialize()
#7 0x559e91747504 content::BrowserMain()
#8 0x559e928bc55f content::ContentMainRunnerImpl::Run()
#9 0x559e928c79e2 service_manager::Main()
#10 0x559e928bb031 content::ContentMain()
#11 0x559e911a7143 ChromeMain
#12 0x7f5bd3bfb530 __libc_start_main
#13 0x559e911a6faa _start

Received signal 6
#0 0x559e92cb2695 base::debug::StackTrace::StackTrace()
#1 0x559e92cb2ab9 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#2 0x7f5bdadf1840 <unknown>
#3 0x7f5bd3c0e384 __GI_raise
#4 0x7f5bd3c0f7ea __GI_abort
#5 0x559e92cb2325 base::debug::BreakDebugger()
#6 0x559e92ccd299 logging::LogMessage::~LogMessage()
#7 0x559e91b35813 content::ZygoteHostImpl::LaunchZygote()
#8 0x559e91b345f4 content::ZygoteCommunication::Init()
#9 0x559e91b34c2c content::CreateGenericZygote()
#10 0x559e9174b7e4 content::BrowserMainLoop::EarlyInitialization()
#11 0x559e9174f0e4 content::BrowserMainRunnerImpl::Initialize()
#12 0x559e91747504 content::BrowserMain()
#13 0x559e928bc55f content::ContentMainRunnerImpl::Run()
#14 0x559e928c79e2 service_manager::Main()
#15 0x559e928bb031 content::ContentMain()
#16 0x559e911a7143 ChromeMain
#17 0x7f5bd3bfb530 __libc_start_main
#18 0x559e911a6faa _start
  r8: 0000000000000000  r9: 00007fff458f6b90 r10: 0000000000000008 r11: 0000000000000246
 r12: 00007fff458f6e90 r13: 00000000000000ae r14: 00007fff458f6ec0 r15: 00007fff458f7540
  di: 0000000000000002  si: 00007fff458f6b90  bp: 00007fff458f70b0  bx: 00007fff458f7630
  dx: 0000000000000000  ax: 0000000000000000  cx: 00007f5bd3c0e384  sp: 00007fff458f6c08
  ip: 00007f5bd3c0e384 efl: 0000000000000246 cgf: 002b000000000033 erf: 0000000000000000
 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]
Calling _exit(1). Core file will not be generated.
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • Linux
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

@bendlas
Copy link
Contributor

bendlas commented Oct 28, 2017

Next step would be to verify via strace, whether the segfault actually happens, when loading libwidevinecdm.so. If so, maybe our ldd has an issue similar to our patchelf in #22333

Does that sound plausible, @edolstra ?

@bendlas
Copy link
Contributor

bendlas commented Jan 22, 2018

I've committed this in 7b062dc, but marked chromium with enableWideVine as broken: 6b77189

Please discuss breakage in #34123

@bendlas bendlas closed this Jan 22, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants