GNOME 3 won’t unlock

Every couple days something on my RHEL 7 box goes into a swapstorm and uses up all the memory. I think it’s Firefox, but I never figured out why, generally I have four different Firefoxes running with four different profiles, so it’s hard to tell which one’s failing (if it even is that). Anyway, sometimes it makes the screen lock crash or something, and I can’t get in, and I can never remember what process you have to kill to get back in, so here it is: gnome-shell. You have to killall -9 gnome-shell, and it lets you back in. Also killall -STOP firefox and killall -STOP "Web Content" are handy if the swapstorm is still under way.

2 thoughts on “GNOME 3 won’t unlock

  1. Hi Gary,
    Don’t know if you still need this or are interested,
    below (I hope) is a shell script that associates pids with profiles in default firefox linux installs, maybe it can help?
    (Works for me on Centos 7.8.)

    #! /bin/sh
    # gegrep -A 2 ‘^.ThemeDirs’ ${HOME}/_FF_/*/extensions.ini |\
    # gegrep Extension0 | sed ‘s#^[^\.]*\.\([^/]*\).*/local/\(.[^/]*\).*$#\1\t\2#’
    ( for d in `ls ${HOME}/.mozilla/firefox/*/prefs.js` ; do
    # echo $d
    dd=`dirname $d`
    bn=`basename $dd | sed ‘s#^[^.]*\.\(.*\)#\1#’`
    zdt=`stat –format=”%z” $d | awk ‘{ print $1,$2 }’ | sed ‘s#\.[0-9]*$##’`
    state=””
    if [ -L ${dd}/lock ]; then
    state=” Active:`ls -l ${dd}/lock | sed ‘s#^.*[-][>][ ]\(.*\)$#\1#’ | sed ‘s#127.0.0.1##’` ”
    fi
    #
    # echo “${dd} ${bn} $zdt”
    # sw=`gegrep -A 2 ‘^.ThemeDirs’ $dd/extensions.ini | gegrep Extension0 | sed ‘s#^.*/local/\([^/]*\).*$#\1#’`
    # nsw=`gegrep -A 2 ‘^.ThemeDirs’ $dd/extensions.ini | gegrep Extension0 | sed ‘s#^.*/local/ff/\([^/]*\).*$#\1#’`
    # nff=`gegrep -A 2 ‘^.ThemeDirs’ $dd/extensions.ini | gegrep Extension0 | sed ‘s#^.*/opt/sfw/lib/\([^/]*\).*$#\1#’`
    #
    if [ -f $dd/compatibility.ini ];then
    swv=`egrep ‘^LastVersion=’ $dd/compatibility.ini | sed ‘s#^[^=]*[=]\([^/]*\)[/].*$#\1#’`
    swd=`egrep ‘^LastPlatformDir=’ $dd/compatibility.ini | sed ‘s#^[^=]*[=]\(.*\)$#\1#’`
    sw=”${swd}/firefox \t${swv}”
    elif [ -f /usr/lib64/firefox/application.ini ];then
    sw=`egrep ‘^Version=’ /usr/lib64/firefox/application.ini`
    sw=`echo $sw | sed -n ‘s#Version=#Firefox_#p’`
    else
    sw=`/usr/lib64/firefox/firefox –version`
    fi
    # echo ” This is sw: $sw ”
    # echo ” This is nsw: $nsw ”
    # echo ” This is nff: $nff ”
    #
    # if [ “x${sw}” = “xff” ] ; then
    # echo “Using nsw”
    # echo “${bn}\t${zdt}:\t${nsw} ${state}”
    # else
    # if [ `echo “$nff” | gegrep ‘/’` ] ; then
    # echo “Using sw”
    printf “${bn}\t${zdt}:\t$sw \t${state}\n”
    # else
    # echo “Using nff”
    # echo “${bn}\t${zdt}:\t[opt]$nff ${state}”
    # fi
    # fi
    done ) | sort -r -k 2,3

    % ListFF
    speedtest 2020-06-24 07:45:54: /usr/lib64/firefox/firefox 68.9.0_20200604071918
    default 2020-06-22 12:19:37: /usr/lib64/firefox/firefox 68.9.0_20200604071918
    __ff__ 2020-06-21 18:11:44: /usr/lib64/firefox/firefox 68.9.0_20200604071918
    oneshot 2020-06-18 23:49:08: /usr/lib64/firefox/firefox 68.9.0_20200604071918
    f2 2020-06-01 12:48:38: /usr/lib64/firefox/firefox 68.8.0_20200507181246
    zoom 2020-05-16 14:05:49: /usr/lib64/firefox/firefox 68.8.0_20200507181246

  2. Hi Gary,
    Don’t know if you still need this or are interested,
    below (I hope) is a shell script that associates pids with profiles in default firefox linux installs, maybe it can help?
    (Works for me on Centos 7.8.)

    #! /bin/sh
    # gegrep -A 2 ‘^.ThemeDirs’ ${HOME}/_FF_/*/extensions.ini |\
    # gegrep Extension0 | sed ‘s#^[^\.]*\.\([^/]*\).*/local/\(.[^/]*\).*$#\1\t\2#’
    ( for d in `ls ${HOME}/.mozilla/firefox/*/prefs.js` ; do
    # echo $d
    dd=`dirname $d`
    bn=`basename $dd | sed ‘s#^[^.]*\.\(.*\)#\1#’`
    zdt=`stat –format=”%z” $d | awk ‘{ print $1,$2 }’ | sed ‘s#\.[0-9]*$##’`
    state=””
    if [ -L ${dd}/lock ]; then
    state=” Active:`ls -l ${dd}/lock | sed ‘s#^.*[-][>][ ]\(.*\)$#\1#’ | sed ‘s#127.0.0.1##’` ”
    fi
    #
    # echo “${dd} ${bn} $zdt”
    # sw=`gegrep -A 2 ‘^.ThemeDirs’ $dd/extensions.ini | gegrep Extension0 | sed ‘s#^.*/local/\([^/]*\).*$#\1#’`
    # nsw=`gegrep -A 2 ‘^.ThemeDirs’ $dd/extensions.ini | gegrep Extension0 | sed ‘s#^.*/local/ff/\([^/]*\).*$#\1#’`
    # nff=`gegrep -A 2 ‘^.ThemeDirs’ $dd/extensions.ini | gegrep Extension0 | sed ‘s#^.*/opt/sfw/lib/\([^/]*\).*$#\1#’`
    #
    if [ -f $dd/compatibility.ini ];then
    swv=`egrep ‘^LastVersion=’ $dd/compatibility.ini | sed ‘s#^[^=]*[=]\([^/]*\)[/].*$#\1#’`
    swd=`egrep ‘^LastPlatformDir=’ $dd/compatibility.ini | sed ‘s#^[^=]*[=]\(.*\)$#\1#’`
    sw=”${swd}/firefox \t${swv}”
    elif [ -f /usr/lib64/firefox/application.ini ];then
    sw=`egrep ‘^Version=’ /usr/lib64/firefox/application.ini`
    sw=`echo $sw | sed -n ‘s#Version=#Firefox_#p’`
    else
    sw=`/usr/lib64/firefox/firefox –version`
    fi
    # echo ” This is sw: $sw ”
    # echo ” This is nsw: $nsw ”
    # echo ” This is nff: $nff ”
    #
    # if [ “x${sw}” = “xff” ] ; then
    # echo “Using nsw”
    # echo “${bn}\t${zdt}:\t${nsw} ${state}”
    # else
    # if [ `echo “$nff” | gegrep ‘/’` ] ; then
    # echo “Using sw”
    printf “${bn}\t${zdt}:\t$sw \t${state}\n”
    # else
    # echo “Using nff”
    # echo “${bn}\t${zdt}:\t[opt]$nff ${state}”
    # fi
    # fi
    done ) | sort -r -k 2,3

    % ListFF
    Tech 2020-06-24 13:56:01: /usr/lib64/firefox/firefox 68.9.0_20200604071918 Active:10.10.149.229:+21871
    speedtest 2020-06-24 07:45:54: /usr/lib64/firefox/firefox 68.9.0_20200604071918
    default 2020-06-22 12:19:37: /usr/lib64/firefox/firefox 68.9.0_20200604071918
    __ff__ 2020-06-21 18:11:44: /usr/lib64/firefox/firefox 68.9.0_20200604071918
    oneshot 2020-06-18 23:49:08: /usr/lib64/firefox/firefox 68.9.0_20200604071918
    f2 2020-06-01 12:48:38: /usr/lib64/firefox/firefox 68.8.0_20200507181246
    zoom 2020-05-16 14:05:49: /usr/lib64/firefox/firefox 68.8.0_20200507181246

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.