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

Chromium stable 84.0.4147.125 crashes on startup #95319

Closed
SFrijters opened this issue Aug 13, 2020 · 6 comments · Fixed by #95362
Closed

Chromium stable 84.0.4147.125 crashes on startup #95319

SFrijters opened this issue Aug 13, 2020 · 6 comments · Fixed by #95362
Labels
0.kind: regression Something that worked before working no longer 1.severity: channel blocker Blocks a channel

Comments

@SFrijters
Copy link
Member

Describe the bug

When I try to start chromium 84.0.4147.125 it crashes and I get a nice big stacktrace. With the previous version 84.0.4147.105 it works.

To Reproduce
Steps to reproduce the behavior:

  1. Install chromium including (edb0920 - or maybe 7a34bf1)
  2. Try to run chromium

Expected behavior

Chromium should not crash.

Additional context

Console messages with the working version 84.0.4147.105:

Fontconfig warning: "/etc/fonts/fonts.conf", line 86: unknown element "blank"
amdgpu: os_same_file_description couldn't determine if two DRM fds reference the same file description.
If they do, bad things may happen!
[8387:8387:0813/101626.603889:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
mesa: for the   --simplifycfg-sink-common option: may only occur zero or one times!
mesa: for the   --global-isel-abort option: may only occur zero or one times!

Console messages with the broken version 84.0.4147.125.

Fontconfig error: Cannot load default config file: No such file: (null)
_amdgpu: os_same_file_description couldn't determine if two DRM fds reference the same file description.
If they do, bad things may happen!
[2800:2800:0813/101138.023224:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
mesa: for the   --simplifycfg-sink-common option: may only occur zero or one times!
mesa: for the   --global-isel-abort option: may only occur zero or one times!_
[2767:2767:0813/101137.948177:FATAL:platform_font_skia.cc(97)] Check failed: InitDefaultFont(). Could not find the default font
#0 0x5562a7619e99 base::debug::CollectStackTrace()
#1 0x5562a757ff13 base::debug::StackTrace::StackTrace()
#2 0x5562a758da00 logging::LogMessage::~LogMessage()
#3 0x5562a758e2ae logging::LogMessage::~LogMessage()
#4 0x5562a7ee0aff gfx::PlatformFontSkia::PlatformFontSkia()
#5 0x5562a7ee261b gfx::PlatformFont::CreateDefault()
#6 0x5562a7ecbbae gfx::Font::Font()
#7 0x5562a7ecc5d0 gfx::FontList::GetDefaultImpl()
#8 0x5562a7ecc4be gfx::FontList::FontList()
#9 0x5562a7974142 ui::ResourceBundle::GetFontListWithTypefaceAndDelta()
#10 0x5562a9c3ef0b ChromeTypographyProvider::GetFont()
#11 0x5562a9cdb5dd StatusBubbleViews::Reposition()
#12 0x5562a9c4fe58 BrowserView::BrowserView()
#13 0x5562a9c599ef BrowserWindow::CreateBrowserWindow()
#14 0x5562a9b7519e Browser::Browser()
#15 0x5562a9bb0ad1 StartupBrowserCreatorImpl::OpenTabsInBrowser()
#16 0x5562a9bb1885 StartupBrowserCreatorImpl::RestoreOrCreateBrowser()
#17 0x5562a9bb07ca StartupBrowserCreatorImpl::DetermineURLsAndLaunch()
#18 0x5562a9baff73 StartupBrowserCreatorImpl::Launch()
#19 0x5562a9baca32 StartupBrowserCreator::LaunchBrowser()
#20 0x5562a9bac7a9 StartupBrowserCreator::ProcessCmdLineImpl()
#21 0x5562a9babe9e StartupBrowserCreator::Start()
#22 0x5562a74924b5 ChromeBrowserMainParts::PreMainMessageLoopRunImpl()
#23 0x5562a7491509 ChromeBrowserMainParts::PreMainMessageLoopRun()
#24 0x5562a5594194 content::BrowserMainLoop::PreMainMessageLoopRun()
#25 0x5562a5a2aa33 content::StartupTaskRunner::RunAllTasksNow()
#26 0x5562a5592eda content::BrowserMainLoop::CreateStartupTasks()
#27 0x5562a55960c1 content::BrowserMainRunnerImpl::Initialize()
#28 0x5562a559136d content::BrowserMain()
#29 0x5562a70c9110 content::ContentMainRunnerImpl::RunServiceManager()
#30 0x5562a70c8db7 content::ContentMainRunnerImpl::Run()
#31 0x5562a71315bf service_manager::Main()
#32 0x5562a70c7011 content::ContentMain()
#33 0x5562a4609d2e ChromeMain
#34 0x7effbce21c7d __libc_start_main
#35 0x5562a4609b8a _start

Received signal 6
#0 0x5562a7619e99 base::debug::CollectStackTrace()
#1 0x5562a757ff13 base::debug::StackTrace::StackTrace()
#2 0x5562a7619a3a base::debug::(anonymous namespace)::StackDumpSignalHandler()
#3 0x7effbe7bbee0 (/nix/store/mh78fk3x12q2a77srgkzv16h0irl8r61-glibc-2.31/lib/libpthread-2.31.so+0x12edf)
#4 0x7effbce3608a __GI_raise
#5 0x7effbce20528 __GI_abort
#6 0x5562a7618995 base::debug::BreakDebugger()
#7 0x5562a758dea0 logging::LogMessage::~LogMessage()
#8 0x5562a758e2ae logging::LogMessage::~LogMessage()
#9 0x5562a7ee0aff gfx::PlatformFontSkia::PlatformFontSkia()
#10 0x5562a7ee261b gfx::PlatformFont::CreateDefault()
#11 0x5562a7ecbbae gfx::Font::Font()
#12 0x5562a7ecc5d0 gfx::FontList::GetDefaultImpl()
#13 0x5562a7ecc4be gfx::FontList::FontList()
#14 0x5562a7974142 ui::ResourceBundle::GetFontListWithTypefaceAndDelta()
#15 0x5562a9c3ef0b ChromeTypographyProvider::GetFont()
#16 0x5562a9cdb5dd StatusBubbleViews::Reposition()
#17 0x5562a9c4fe58 BrowserView::BrowserView()
#18 0x5562a9c599ef BrowserWindow::CreateBrowserWindow()
#19 0x5562a9b7519e Browser::Browser()
#20 0x5562a9bb0ad1 StartupBrowserCreatorImpl::OpenTabsInBrowser()
#21 0x5562a9bb1885 StartupBrowserCreatorImpl::RestoreOrCreateBrowser()
#22 0x5562a9bb07ca StartupBrowserCreatorImpl::DetermineURLsAndLaunch()
#23 0x5562a9baff73 StartupBrowserCreatorImpl::Launch()
#24 0x5562a9baca32 StartupBrowserCreator::LaunchBrowser()
#25 0x5562a9bac7a9 StartupBrowserCreator::ProcessCmdLineImpl()
#26 0x5562a9babe9e StartupBrowserCreator::Start()
#27 0x5562a74924b5 ChromeBrowserMainParts::PreMainMessageLoopRunImpl()
#28 0x5562a7491509 ChromeBrowserMainParts::PreMainMessageLoopRun()
#29 0x5562a5594194 content::BrowserMainLoop::PreMainMessageLoopRun()
#30 0x5562a5a2aa33 content::StartupTaskRunner::RunAllTasksNow()
#31 0x5562a5592eda content::BrowserMainLoop::CreateStartupTasks()
#32 0x5562a55960c1 content::BrowserMainRunnerImpl::Initialize()
#33 0x5562a559136d content::BrowserMain()
#34 0x5562a70c9110 content::ContentMainRunnerImpl::RunServiceManager()
#35 0x5562a70c8db7 content::ContentMainRunnerImpl::Run()
#36 0x5562a71315bf service_manager::Main()
#37 0x5562a70c7011 content::ContentMain()
#38 0x5562a4609d2e ChromeMain
#39 0x7effbce21c7d __libc_start_main
#40 0x5562a4609b8a _start
  r8: 0000000000000000  r9: 00007fff5ec2c540 r10: 0000000000000008 r11: 0000000000000246
 r12: 00003777d993ab40 r13: aaaaaaaaaaaaaaaa r14: 00003777d993ab50 r15: 00007fff5ec2c790
  di: 0000000000000002  si: 00007fff5ec2c540  bp: 00007fff5ec2c780  bx: 0000000000000006
  dx: 0000000000000000  ax: 0000000000000000  cx: 00007effbce3608a  sp: 00007fff5ec2c5b8
  ip: 00007effbce3608a 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.

Notify maintainers

@primeos any ideas?

Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

  • system: "x86_64-linux"
  • host os: Linux 5.7.15, NixOS, 20.09.20200809.e280872 (Nightingale)
  • multi-user?: yes
  • sandbox: yes
  • version: nix-env (Nix) 2.4pre20200721_ff314f1
  • channels(frijters): "nixos-unstable-20.09pre223023.fce7562cf46"
  • channels(root): "nixos, nixos-unstable-20.09pre225264.683c68232e9"
  • nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Maintainer information:

# a list of nixpkgs attributes affected by the problem
attribute:
  chromium
# a list of nixos modules affected by the problem
module:
@rtldg
Copy link
Contributor

rtldg commented Aug 13, 2020

I'm getting the same thing where it can't load /etc/fonts/fonts.conf for Bitwarden and Discord.
It seems to have started in #93562
Editing this file add in another link to fonts.conf file seems to work.

    # fonts.conf
    ln -s ${pkg.out}/etc/fonts/fonts.conf \
           $dst/../fonts.conf
    ln -s ${pkg.out}/etc/fonts/fonts.conf \
          $dst/../../fonts.conf

The top command puts it in as /etc/fonts/2.11/fonts.conf and I'm not sure if it's needed.

@flokli might know if it matters in that folder.

@flokli
Copy link
Contributor

flokli commented Aug 13, 2020

From f527651:

@aszlig You mean, chromium bundles its own version of fontconfig 2.10, which is still used inside chromium, and it stumbles over our fontconfig config? Wow.

In that case, could we provide a fontconfig 2.10-compatible config (and not build the optional fc caches), so we can keep fontconfig_210 removed?

flokli referenced this issue Aug 13, 2020
This fontconfig version isn't used anywhere inside nixpkgs anymore.
@primeos
Copy link
Member

primeos commented Aug 13, 2020

Hm, strange. I just looked at https://source.chromium.org/chromium/chromium/src/+/refs/tags/84.0.4147.125:third_party/fontconfig/README.chromium and according to that Chromium should use a bundled fontconfig based on master that's even newer than 2.13.91 (currently the latest tag).

If I get #95319 (comment) right we'd need:

    ln -s ${pkg.out}/etc/fonts/fonts.conf \
          $dst/../../fonts.conf

for /etc/fonts/fonts.conf and that part (or something similar) was removed as a side-effect of #93562.

Apart from that Chromium also provides use_bundled_fontconfig but using system dependencies for Chromium is unfortunately a bad idea as it's too time consuming to maintain.

@primeos primeos added 0.kind: regression Something that worked before working no longer and removed 0.kind: bug labels Aug 13, 2020
@jtojnar
Copy link
Contributor

jtojnar commented Aug 13, 2020

Just to check, are you running Chromium from the same nixpkgs revision as your NixOS system? Otherwise it would be #94073.

@aszlig
Copy link
Member

aszlig commented Aug 13, 2020

@aszlig You mean, chromium bundles its own version of fontconfig 2.10, which is still used inside chromium, and it stumbles over our fontconfig config? Wow.

I don't know... haven't had anything to do with Chromium since years, but since I'm tracking test failures I stumbled on this. Besides Chromium, I could also see the same issue to arise whenever proprietary stuff is involved which bundles an older fontconfig. Since we have a bunch of Electron packages that are based on patching pre-built binaries, I'm pretty sure some of them might also be affected.

@SFrijters
Copy link
Member Author

@jtojnar I recently switched to using flakes, and if I understand it correctly I'm using my own fork of nixpkgs, and everything else on default. At the moment my fork is just master + #95019 . I started getting this chromium problem because of updating from 593ec80 + that PR to 6fffd50 + that PR.

{
  inputs = {
    nixpkgs.url = github:SFrijters/nixpkgs/falazure;
  };

  outputs = { nixpkgs, nix, self, ... }@inputs: {
    nixosConfigurations.falazure = nixpkgs.lib.nixosSystem {
      system = "x86_64-linux";
      modules =
        [ (import ./configuration.nix) ];
      specialArgs = { inherit inputs; };
    };
  };
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0.kind: regression Something that worked before working no longer 1.severity: channel blocker Blocks a channel
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants