chromium browser crash on fresh offline system install

Bug #1821403 reported by Jozef Behran
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
chromium-browser (Ubuntu)
New
Undecided
Unassigned

Bug Description

Steps to reproduce (and also what I expected and what happened):

1. Disconnect computer from Internet
2. Install Ubuntu (complete with reboot at the end).
3. After running the (freshly installed) system, connect it to Internet
   and open a terminal and follow with the session outlined below. Enter
   commands on lines starting with "$" into the terminal. Things on lines
   starting with "//" are my comments and/or descriptions of what is
   expected output of the preceding command.

$ sudo apt-get update
// you should get the normal apt-get update output with no errors
$ sudo apt-get install -y chromium-browser
// you should get the normal apt-get install output here with no errors
$ chromium-browser
// expected result is to have the browser running and possibly some harmless
// warnings below the "$ chromium-browser" line. What actually happens instead
// is this:
Fontconfig warning: "/etc/fonts/fonts.conf", line 146: blank doesn't take any effect anymore. please remove it from your fonts.conf
[2805:2844:0322/144827.306513:FATAL:nss_util.cc(631)] NSS_VersionCheck("3.26") failed. NSS >= 3.26 is required. Please upgrade to the latest NSS, and if you still get this error, contact your distribution maintainer.
Aborted (core dumped)
// I believe that the problem is that the package "chromium-browser"
// is either missing dependency on "libnss3-nssdb" or broken dependency
// on "libnss3" (missing version number). To see, why, continue with:
$ sudo apt-get install -y libnss3
// What I got on the terminal myself follows (with some comments)
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libnss3-nssdb
// This is why I said the missing dependency might be "libnss3-nssdb"
// Here apt-get is telling me that "libnss3-nssdb" is going to be
// installed.
The following packages will be upgraded:
  libnss3 libnss3-nssdb
2 upgraded, 0 newly installed, 0 to remove and 452 not upgraded.
Need to get 1,135 kB of archives.
After this operation, 2,048 B of additional disk space will be used.
// I didn't use "-y" on my command line so apt-get asked for permission.
// You might be missing the line below if you follow the session
// exactly. I included the rest of apt-get output to show you what
// exactly got installed by the command.
Do you want to continue? [Y/n]
Get:1 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main libnss3-nssdb all 2:3.28.4-0ubuntu0.14.04.5 [10.6 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main libnss3 amd64 2:3.28.4-0ubuntu0.14.04.5 [1,124 kB]
Fetched 1,135 kB in 2s (477 kB/s)
(Reading database ... 166878 files and directories currently installed.)
Preparing to unpack .../libnss3-nssdb_2%3a3.28.4-0ubuntu0.14.04.5_all.deb ...
Unpacking libnss3-nssdb (2:3.28.4-0ubuntu0.14.04.5) over (2:3.23-0ubuntu0.14.04.1) ...
Preparing to unpack .../libnss3_2%3a3.28.4-0ubuntu0.14.04.5_amd64.deb ...
Unpacking libnss3:amd64 (2:3.28.4-0ubuntu0.14.04.5) over (2:3.23-0ubuntu0.14.04.1) ...
Setting up libnss3-nssdb (2:3.28.4-0ubuntu0.14.04.5) ...
Setting up libnss3:amd64 (2:3.28.4-0ubuntu0.14.04.5) ...
Processing triggers for libc-bin (2.19-0ubuntu6.9) ...
// Now when I try to run the browser ...
$ chromium-browser
// ... this warning is still there ...
Fontconfig warning: "/etc/fonts/fonts.conf", line 146: blank doesn't take any effect anymore. please remove it from your fonts.conf
[2991:2991:0322/145149.851132:ERROR:gpu_process_transport_factory.cc(1019)] Lost UI shared context.
// ... but no more "NSS_VersionCheck failed" nor "Aborted (core dumped)"
// (and, of course, the terminal window on the desktop is no longer
// alone as the fresh google-chrome window is making a company to it ...

Final notes:

- This bug may not occur if you try to install Ubuntu while connected to Internet.
- The reason why I did a "fresh offline install" was that installing it while online
  takes over a hour on my system, installing offline and then doing the commands above
  took only about 10 minutes. You might want to try to take a look into why is online
  Ubuntu install so slow but that is not the bug I want to report here (I will file
  a different bug for that if I can figure out, how).
- Offline installs are pretty common in areas with slow Internet. And by "slow
  Internet" I don't mean just rural areas with dialup. My current setup is Colombian
  optical wire from Claro and by watching the RX/TX using ifconfig I can tell the
  download process is taking large pauses on this connection, even for simple "apt-get
  update" (an actual apt-get update on the system is much faster).
- Another idea why someone might want to install the system offline is that they don't
  want to mess up with connecting to Internet just yet or they want the system "fresh
  as coming from the CD".

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: chromium-browser 65.0.3325.181-0ubuntu0.14.04.1
ProcVersionSignature: Ubuntu 4.4.0-31.50~14.04.1-generic 4.4.13
Uname: Linux 4.4.0-31-generic x86_64
ApportVersion: 2.14.1-0ubuntu3.21
Architecture: amd64
CurrentDesktop: Unity
Date: Fri Mar 22 14:57:04 2019
Desktop-Session:
 'ubuntu'
 '/etc/xdg/xdg-ubuntu:/usr/share/upstart/xdg:/etc/xdg'
 '/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/'
DetectedPlugins:

Env:
 'None'
 'None'
InstallationDate: Installed on 2019-03-22 (0 days ago)
InstallationMedia: Ubuntu 14.04.5 LTS "Trusty Tahr" - Release amd64 (20160803)
Load-Avg-1min: 1.14
Load-Processes-Running-Percent: 0.3%
Lsusb:
 Bus 001 Device 002: ID 80ee:0021 VirtualBox USB Tablet
 Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
MachineType: innotek GmbH VirtualBox
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.4.0-31-generic root=UUID=744b095e-2ee9-43f1-8fb1-8f32956ccbd8 ro quiet splash vt.handoff=7
SourcePackage: chromium-browser
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 12/01/2006
dmi.bios.vendor: innotek GmbH
dmi.bios.version: VirtualBox
dmi.board.name: VirtualBox
dmi.board.vendor: Oracle Corporation
dmi.board.version: 1.2
dmi.chassis.type: 1
dmi.chassis.vendor: Oracle Corporation
dmi.modalias: dmi:bvninnotekGmbH:bvrVirtualBox:bd12/01/2006:svninnotekGmbH:pnVirtualBox:pvr1.2:rvnOracleCorporation:rnVirtualBox:rvr1.2:cvnOracleCorporation:ct1:cvr:
dmi.product.name: VirtualBox
dmi.product.version: 1.2
dmi.sys.vendor: innotek GmbH
modified.conffile..etc.default.chromium.browser: [deleted]

Revision history for this message
Jozef Behran (jctech) wrote :
Revision history for this message
Jozef Behran (jctech) wrote :

The additional attached information was sampled at the time after the chromium-browser successfully completed its install (and after that was confirmed by successfully launching it as shown in the terminal session) so any traces of its misbehavior might be long gone before the attachments were created.

Revision history for this message
Olivier Tilloy (osomon) wrote :

chromium-browser requires a newer version of libnss3 than what was initially installed. This is not a bug in chromium or libnss itself. A half-updated system is in an inconstistent state, and will result in undefined behaviours like this crash.

If you had run "sudo apt-get dist-upgrade" before "sudo apt-get install -y chromium-browser", this would have avoided the problem.

Changed in chromium-browser (Ubuntu):
status: New → Invalid
Revision history for this message
Jozef Behran (jctech) wrote :

> chromium-browser requires a newer version of libnss3 than what was initially installed.

It is the job of the package manager to either upgrade an outdated version of a dependency package when the user tries to install something or to ask the user to update the system first and then try again, not to silently install a package with its requirement missing and leave the user wondering what exactly happened.

The bug is that apt-get does not know that, probably because the package-metadata is missing the information. The expected behavior here is that "sudo apt-get install -y chromium-browser" does also upgrade libnss3 when the libnss3 version currently installed is not enough to run chromium-browser. Or to have it report an error saying something like "your system must be updated before you can install this".

My understanding is that this requirement is not recorded in the chromium-browser package metadata, so when an user tries to install the package, the apt-get fails to pull in the correct version of libnss3, leading to a broken package being installed.

> This is not a bug in chromium or libnss itself.

Agree. The bug in in the chromium-browser package metadata which does not record the minimal libnss3 version necessary correctly, leading to apt-get believing that "what was initially installed" is sufficient even though it is not.

> A half-updated system is in an inconstistent state, and will
> result in undefined behaviours like this crash.

1. The system should be in a consistent state when just being
   freshly installed. If it is not, then the official
   installation image of the distribution is broken.
   There is no updating during the installation process nor
   any administrative commands being forcibly aborted
   afterwards.
2. If apt-get install <something> brings the system into an
   inconsistent state, then the <something> (or one of its
   dependencies) has broken or incomplete metadata which
   should get fixed. In the case of this bug the
   incomplete/broken metadata is missing "minimal version"
   for libnss3 in the chromium-browser package dependencies.

Revision history for this message
Jozef Behran (jctech) wrote :

The chromium-browser metadata needs fixing (as explained in my last comment) so that libnss3 gets upgraded automatically on "apt-get install chromium-browser".

Changed in chromium-browser (Ubuntu):
status: Invalid → New
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.