LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   Google Chrome crashes (http://www.linuxquestions.org/questions/slackware-14/google-chrome-crashes-4175456130/)

ag33k 03-30-2013 05:17 AM

Google Chrome crashes
 
I build Google Chrome from extra.
But since a few versions ago Google Chrome crashes without reason!
Where and how I can track the reason of this issue?


EDIT: The Slackbuild wasn't from Slackbuilds.

Bazzaah 03-30-2013 06:07 AM

You could run google-chrome from the command line and post the results here.

cynwulf 03-30-2013 08:02 AM

Maybe I'm missing something, but I don't see google chrome in slackbuilds? I do see chromium if that's what you mean.

Run it from the terminal first and note the error when it next crashes.

Also try running it with strace e.g.

Code:

$ strace -f -o ~/strace_chromium /usr/bin/chromium

Bazzaah 03-30-2013 08:37 AM

Quote:

Originally Posted by caravel (Post 4921562)
Maybe I'm missing something, but I don't see google chrome in slackbuilds? I do see chromium if that's what you mean.

Run it from the terminal first and note the error when it next crashes.

Also try running it with strace e.g.

Code:

$ strace -f -o ~/strace_chromium /usr/bin/chromium

There used to be one and it is referenced here - not sure where it's gone on SlackBuilds though!

http://docs.slackware.com/howtos:software:google-chrome

ruario 03-30-2013 08:57 AM

That references the Chrome SlackBuild provided by Pat himself in extra, not a SlackBuild from SlackBuilds.org.

ag33k 03-31-2013 02:27 AM

The code from terminal

http://pastebin.com/v8J5T4QX


I had to use pastebin because is too much text.


The Slackbuild is

Code:

#!/bin/sh

# Copyright 2009-2010  Erik Hanson, Minneapolis, MN, USA
# Copyright 2011  Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
#----------------------------------------------------------------------------

if [ -x /usr/bin/google-chrome ]; then
  CURVERSION=$(google-chrome --version | awk '{print$3}')
  echo "Google Chrome $CURVERSION is installed."
else
  CURVERSION=UNKNOWN
  echo "Could not detect an installed version of Google Chrome"
fi

case "$(uname -m)" in
  i?86) DEBARCH="i386";;
  x86_64) DEBARCH="amd64";;
  *) echo "Package for $(uname -m) architecture is not available." ; exit 1 ;;
esac

if ! curl -fs https://dl.google.com/linux/chrome/deb/dists/stable/main/binary-${DEBARCH}/Packages.gz -o /tmp/google-packages-list.gz; then
  echo "Could not connect to the Google repository to check the latest version"
  exit 1
fi

NEWVERSION=$(zcat /tmp/google-packages-list.gz | awk -F "[ -]" '/Package: google-chrome-stable/{getline;print$2}')

if [ "${CURVERSION}" = "${NEWVERSION}" ]; then
  echo "You appear to have the latest version of Google Chrome already."
else
  echo "Downloading Google Chrome ${NEWVERSION}."
  curl -O https://dl.google.com/linux/direct/google-chrome-stable_current_${DEBARCH}.deb
fi

#------------------------------------------------------------------------------


PKGNAM=google-chrome
RELEASE=${RELEASE:-stable}    # stable, beta, or unstable

# Allow $ARCH to be preset before running the script.  This is useful in the
# case where someone is running a 32-bit chroot environment under an x86_64
# kernel:
ARCH=${ARCH:-$(uname -m)}

case "$ARCH" in
  i?86) DEBARCH="i386" ; LIBDIRSUFFIX="" ; ARCH=i386 ;;
  x86_64) DEBARCH="amd64" ; LIBDIRSUFFIX="64" ; ARCH=x86_64 ;;
  *) echo "Package for $(uname -m) architecture is not available." ; exit 1 ;;
esac
# Get the version from the Debian/Ubuntu .deb (thanks to Fred Richards):
VERSION=$(ar p google-chrome-${RELEASE}_current_${DEBARCH}.deb control.tar.gz 2> /dev/null | tar zxO ./control 2> /dev/null | grep Version | awk '{print $2}' | cut -d- -f1)
BUILD=${BUILD:-1}


if [ ! $UID = 0 ]; then
  cat << EOF

This script must be run as root.

EOF
  exit 1
fi

if ! /bin/ls google-chrome-*.deb 1> /dev/null 2> /dev/null ; then
  cat << EOF

This is a script to repackage a Debian/Ubuntu Google Chrome .deb package
for Slackware.  Run this script in the same directory as one of these
binary packages:

  google-chrome-stable_current_amd64.deb  (for 64-bit x86_64)
  google-chrome-stable_current_i386.deb  (for 32-bit x86)
 
This will create a Slackware .txz package.  Install it with installpkg
or use upgradepkg to upgrade from a previous version.

EOF
  exit 1
fi

CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
OUTPUT=${OUTPUT:-/tmp}

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $PKG
ar p $CWD/google-chrome-${RELEASE}_current_${DEBARCH}.deb data.tar.lzma | lzma -d | tar xv || exit 1
chown -R root:root .
chmod -R u+w,go+r-w,a-s .

# Make sure top-level perms are correct:
chmod 0755 .
# This needs to be setuid root:
chmod 4711 opt/google/chrome/chrome-sandbox
# The cron job is for Debian/Ubuntu only:
rm -rf etc

# Link to the standard Mozilla library names:
sed -i 's,libnss3.so.1d,libnss3.so\x00\x00\x00,g;
        s,libnssutil3.so.1d,libnssutil3.so\x00\x00\x00,g;
        s,libsmime3.so.1d,libsmime3.so\x00\x00\x00,g;
        s,libssl3.so.1d,libssl3.so\x00\x00\x00,g;
        s,libplds4.so.0d,libplds4.so\x00\x00\x00,g;
        s,libplc4.so.0d,libplc4.so\x00\x00\x00,g;
        s,libnspr4.so.0d,libnspr4.so\x00\x00\x00,g;' opt/google/chrome/chrome

# --mandir=/usr/man:
mv $PKG/usr/share/man $PKG/usr/man
# Compress manual pages:
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do
  ln -s $( readlink $i ).gz $i.gz
  rm $i
done

# Install a .desktop launcher:
sed -i -e "s#Icon=google-chrome#Icon=/opt/google/chrome/product_logo_256.png#" \
  $PKG/opt/google/chrome/google-chrome.desktop
mkdir -p $PKG/usr/share/applications
ln -s /opt/google/chrome/google-chrome.desktop \
  $PKG/usr/share/applications/google-chrome.desktop

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc

cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PKGNAM-$VERSION-$ARCH-$BUILD.txz


ponce 03-31-2013 03:02 AM

half of the messages from the log you pasted are
Code:

NVIDIA: could not open the device file /dev/nvidia0 (Operation not permitted).
you probably haven't added the user you're launching chrome with to the default groups needed for a desktop use

http://docs.slackware.com/slackbook:users

ag33k 03-31-2013 03:25 AM

Quote:

Originally Posted by ponce (Post 4922011)
half of the messages from the log you pasted are
Code:

NVIDIA: could not open the device file /dev/nvidia0 (Operation not permitted).
you probably haven't added the user you're launching chrome with to the default groups needed for a desktop use

http://docs.slackware.com/slackbook:users

the user is on audio,cdrom,plugdev,video groups

ponce 03-31-2013 03:27 AM

check permissions for /dev/nvidia0
Code:

ls -la /dev/nvidia0

ag33k 03-31-2013 03:29 AM

Quote:

Originally Posted by ponce (Post 4922021)
check permissions for /dev/nvidia0
Code:

ls -la /dev/nvidia0

Code:

# ls -la /dev/nvidia0
crw-rw-rw- 1 root root 195, 0 Mar 31 09:11 /dev/nvidia0


ponce 03-31-2013 03:34 AM

how have you installed the nvidia drivers? probably the culprit is there.

I just tried google-chrome-26.0.1410.43-x86_64 with the nvidia drivers 313.26 and it's working fine here.

some questions, trying to understand:
- which slackware version are you using?
- it's a full installation?
- which desktop environment?
- are you using a customized ~/.xinitrc?

ag33k 03-31-2013 03:40 AM

Slackware 14 64 bits
I din't install the KDE packages.
I installed the nvidia drivers running the file from nvidia

Code:

# ./NVIDIA-Linux-x86_64-304.84.run

ponce 03-31-2013 03:45 AM

can you please answer also to the other questions?

ag33k 03-31-2013 03:52 AM

Quote:

Originally Posted by ponce (Post 4922024)
how have you installed the nvidia drivers? probably the culprit is there.

I just tried google-chrome-26.0.1410.43-x86_64 with the nvidia drivers 313.26 and it's working fine here.

some questions, trying to understand:
- which slackware version are you using?
- it's a full installation?
- which desktop environment?
- are you using a customized ~/.xinitrc?

Sorry!

- which slackware version are you using?
A: Slackware 14 64 bits

- it's a full installation?
A: I installed everything except KDE packages.

- which desktop environment?
A: fluxbox

- are you using a customized ~/.xinitrc?
A: I don't have ~/.xinitrc


And upgraded google-chrome to google-chrome-26.0.1410.43-x86_64-1 just now
I was using google-chrome-25.0.1364.172-x86_64-1

ponce 03-31-2013 03:57 AM

I found a similar topic in the forum (maybe related)

https://www.linuxquestions.org/quest...urrent-937022/

can you try if renaming ~/.cache/google-chrome and ~/.config/google-chrome helps?

but I still suspect it's a problem with permissions/nvidia-drivers: can you post the output of glxinfo on pastebin?

Quote:

Originally Posted by ag33k (Post 4922020)
the user is on audio,cdrom,plugdev,video groups

the user is not in the "users" group?

try also to create a new user as described in the docs and see if the problem persists with that new user.


All times are GMT -5. The time now is 12:11 PM.