2

I am no longer able to run Chromium or Chrome as a normal user (though I can run as root). I have tried rebooting, reinstalling both applications, moving .config files, changing gtk themes, and running as a different (=new) user. None of these make any difference (i.e. both still refuse to run). Not only do they refuse to run, but they do not produce any error messages nor do they time-out (even when run from commandline).

Here is the output of running strace with Chromium.

I can't find anything which is obviously flagged as an error, though there are a number a 'missing file/directory' messages like this:

  open("tls/x86_64/libdbus-1.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory

I'm really rather stumped at this point, and not sure what else to try.

[I'm running under Arch Linux, in case that makes a difference.]

Edit: here is the output of doing nohup sudo strace sudo chromium -user-data-dir=/tmp for comparison (running this actually ends up with Chromium opening and functioning normally.)

  • 1
    Can you show the output of strace when you run as root as well, for comparison? – mtahmed Nov 19 '14 at 5:28
  • 1
    try ls -l /lib/i386-linux-gnu/libdbus-1.so.3 or wherever it is located and make sure it points to an existing library. Mine points to the following. lrwxrwxrwx 1 root root 18 Jul 3 14:04 /lib/i386-linux-gnu/libdbus-1.so.3 -> libdbus-1.so.3.7.4. I also have /lib/x86_64-linux-gnu/libdbus-1.so.3. – iyrin Nov 19 '14 at 6:11
  • @mtahmed: added. – emacsomancer Nov 19 '14 at 14:47
  • 1
    Does it work when you run chromium-browser --disable-setuid-sandbox? code.google.com/p/chromium/wiki/… – iyrin Nov 20 '14 at 3:04
  • 1
    Ok you're best bet is going to be debugging with gdb. See: code.google.com/p/chromium/wiki/LinuxDebugging – iyrin Nov 20 '14 at 6:10
1

Explanation

Please note that your issue has nothing to do with Chromium, as this issue could be affecting more than just Chromium. Your system has lost track of the location of some of the installed dynamic libraries, or you may have installed/updated them, and the update did not finish properly. This is verified by the fact that root can still run the application

Verify or Reinstall Missing Libraries

Doing these steps will verify that the forgotten libraries are reinstalled or already installed. In some cases, pacman may trigger step 4 below, which is what we want.

  1. Please install pkgfile, using this command:
    pacman -S pkgfile
  2. Issue the following command:
    pkgfile filename where filename is the name of the missing file. Example:
    pkgfile libdbus-1.so.3 should return libdbus or tls

Note that this is the AUR package but the binary may exist already.

  1. Now issue a:
    pacman -S libdbus tls

Testing

Now try restarting Chrome/Chromium from the terminal. If errors are dumped about missing files, reissue the command in Step 2 in the Verify Section, replacing filename with the new missing file. Lastly:

  1. Update your Dynamic Linker Libraries Cache by issuing:
    ldconfig

Step 4 Above rebuilds the Cache, which your user is searching in before trying to start the Applications that you start. We do this in case the pacman install of the missing/reinstalled packages doesn't trigger it automatically.


Additional Reference

In Arch Linux how can I find out which package to install that will contain file X?

  • (Un?)fortunately I cannot test this solution, as I "fixed" this problem by re-installing Arch Linux. – emacsomancer Dec 15 '14 at 15:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.