Kernel panic when opening YaST

Hello,

I have just upgraded openSUSE from 13.1 to 13.2 using https://en.opensuse.org/SDB:System_upgrade#Command_line with no problem.

Since then, whenever I want to open YaST, the KDE Run as Root popup appears and when I enter my root password, I get a kernel panic messages. It reboots ~1 minute later.

The info following the kernel panic is :

kernel BUG at ../arch/x86/mm/highmem_32.c:18!
invalid opcode : 000 #1] PREEMPT SMP
Modules linked in : [a bunch of modules]

More information on my system :

cat /etc/os-release 
NAME=openSUSE
VERSION="13.2 (Harlequin)"
VERSION_ID="13.2"
PRETTY_NAME="openSUSE 13.2 (Harlequin) (i586)"
ID=opensuse
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:opensuse:13.2"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://opensuse.org/"
ID_LIKE="suse"

Everything seems fine other than that so far (I have just upgraded, didn’t find anything else not working properly).

Looks like you have 32-bit openSUSE installed.

First, I’d recommend you list your configured repositories to make sure you didn’t accidentally configure any 64-bit repos

zypper lr -d

If your repos check out,
I’d then recommend you re-install YAST

zypper in -f yast yast2

I’d also suggest you take this opportunity (upgrading) to consider whether you might want to upgrade to 64-bit as well. There is very little x86 hardware in the world today that supports only 32-bit and not 64-bit and in general your system would likely run better.

Then again… of course if you intended to upgrade to 64-bit 13.2 in the first place but mucked that up…

TSU

My laptop is 7 years old and came with a 32bit OS, so I never gave some thought to the matter and always installed 32bit distributions afterwards. I just looked up ark.intel.com as well as cat /proc/cpuinfo and you seem to be correct and that my cpu supports 64bit.

I’m not sure how to figure if I have some 64bit repos defined, here are those I have :

#  | Alias                     | Name                               | Enabled | Refresh | Priority | Type   | URI                                                                       | Service
---+---------------------------+------------------------------------+---------+---------+----------+--------+---------------------------------------------------------------------------+--------
 1 | ftp.gwdg.de-suse          | Packman Repository                 | Yes     | Yes     |   99     | rpm-md | http://ftp.gwdg.de/pub/linux/packman/suse/openSUSE_13.2/                  |        
 2 | google-chrome             | google-chrome                      | Yes     | Yes     |   99     | rpm-md | http://dl.google.com/linux/chrome/rpm/stable/i386                         |        
 3 | multimedia:apps           | multimedia:apps                    | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/multimedia:/apps/openSUSE_13.2/ |        
 4 | multimedia:libs           | multimedia:libs                    | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/multimedia:/libs/openSUSE_13.2/ |        
 5 | repo-debug                | openSUSE-13.2-Debug                | No      | Yes     |   99     | NONE   | http://download.opensuse.org/debug/distribution/13.2/repo/oss/            |        
 6 | repo-debug-update         | openSUSE-13.2-Update-Debug         | No      | Yes     |   99     | NONE   | http://download.opensuse.org/debug/update/13.2/                           |        
 7 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | No      | Yes     |   99     | NONE   | http://download.opensuse.org/debug/update/13.2-non-oss/                   |        
 8 | repo-non-oss              | openSUSE-13.2-Non-Oss              | Yes     | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/13.2/repo/non-oss/              |        
 9 | repo-oss                  | openSUSE-13.2-Oss                  | Yes     | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/13.2/repo/oss/                  |        
10 | repo-source               | openSUSE-13.2-Source               | No      | Yes     |   99     | NONE   | http://download.opensuse.org/source/distribution/13.2/repo/oss/           |        
11 | repo-update               | openSUSE-13.2-Update               | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/update/13.2/                                 |        
12 | repo-update-non-oss       | openSUSE-13.2-Update-Non-Oss       | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/update/13.2-non-oss/                         |        

I did reinstall yast afterwards but the issue remains.

I messed with the kernel versions available during the booting process. I can only reproduce the kernel panic when I choose the default kernel-desktop. With either kernel-desktop (recovery mode) or kernel-default, yast opens up correctly and I have no issues.

So I did find a workaround but I would like to get it working with the default option (kernel-desktop), or at least, get a few hints on how I can debug the kernel panic. Are there any tools to help me find more information on the subject? As it stands, I only have

kernel BUG at ../arch/x86/mm/highmem_32.c:18!
invalid opcode : 000 #1] PREEMPT SMP
Modules linked in : [a bunch of modules]

and unfortunately I couldn’t find anything online.

Is my issue more appropriate in another subforum? If so, which one would be most appropriated?

Next time I’m doing a clean install, I will install openSUSE 64bit since I now know that is possible.

My initial surprise is that your repos are the same as for a 64bit system.
But then, I started looking around and couldn’t find special 32-bit repos, so at this moment I’m d/l the 32-bit DVD with the intention to build a VM and see what repos should be configured.

In the meantime,
I also took another look at the SDB:System Upgrade and noticed that it does not say anything about 32-bit vs 64-bit which could be an omission (or not depending on what I find configured by the DVD).

I’d also recommend you see if 64bit libraries were installed on your system during your upgrade

ls /usr/lib64/

Although 64-bit systems have plenty of 32-bit libraries, I’d be surprised if a 32-bit openSUSE 13.2 should point to a 64-bit repo (which might also contain 32-bit libraries). It would seem to me possible but could make mistakes more likely.

Will post again once I determine the correct repos for a 32-bit system.

TSU

Well,
It does look like both 32-bit and 64-bit openSUSE 13.2 are pointing to the same repos.
You can compare your install with the following from a fresh 32-bit install

2 | repo-debug                | openSUSE-13.2-Debug                | No      | Yes     |   99     | NONE  | http://download.opensuse.org/debug/distribution/13.2/repo/oss/                         |        
3 | repo-debug-update         | openSUSE-13.2-Update-Debug         | No      | Yes     |   99     | NONE  | http://download.opensuse.org/debug/update/13.2/                                        |        
4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | No      | Yes     |   99     | NONE  | http://download.opensuse.org/debug/update/13.2-non-oss/                                |        
5 | repo-non-oss              | openSUSE-13.2-Non-Oss              | Yes     | Yes     |   99     | NONE  | http://download.opensuse.org/distribution/13.2/repo/non-oss/                           |        
6 | repo-oss                  | openSUSE-13.2-Oss                  | Yes     | Yes     |   99     | NONE  | http://download.opensuse.org/distribution/13.2/repo/oss/                               |        
7 | repo-source               | openSUSE-13.2-Source               | No      | Yes     |   99     | NONE  | http://download.opensuse.org/source/distribution/13.2/repo/oss/                        |        
8 | repo-update               | openSUSE-13.2-Update               | Yes     | Yes     |   99     | NONE  | http://download.opensuse.org/update/13.2/                                              |        
9 | repo-update-non-oss       | openSUSE-13.2-Update-Non-Oss       | Yes     | Yes     |   99     | NONE  | http://download.opensuse.org/update/13.2-non-oss/                                      |     

You can also check whether you have 64-bit libraries installed (you should not) as I described in my previous post. Here is a listing from a fresh 32-bit install

 ls /usr/
bin  games  i586-suse-linux  include  lib  local  sbin  share  src  tmp

After verifying your repos and /usr/* looks exactly as I’ve posted(and temporarily disable all other repos like the packman and multimedia repos), you might go ahead and do a “zypper dup” which would re-install your entire system, picking up any and all online patches and updates.

TSU

My /usr/ directory is as yours :

bin  games  i586-suse-linux  include  lib  local  sbin  share  src  tmp

I did a zypper dup :

Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Loading repository data...
Reading installed packages...
Computing distribution upgrade...

Nothing to do.

I tried reinstalling kernel-desktop but I still have the issue. Like I said, it looks like there’s a problem between yast and the kernel-desktop but I have not additional information to investigate the problem.

Additional information on the issue : When I’m booting using kernel-desktop, I go directly to the KDE welcome screen. However, when I log out, I’m stuck at the lock/login screen. I enter my password, and a few seconds later, they bring me back to the login screen. From there, I can only restart the computer.

I don’t have that issue either using kernel-desktop (recovery) or kernel-default.

Should I make a new thread in the Install/Boot/Login subforum instead?

I’m out of ideas and can’t seem to replicate your issue… But then, I’ve just created a brand new 32-bit openSUSE 13.2 in a virtualized environment so could be different.

If you’d like to have this thread moved to another forum, click on the triangle at the bottom of eany post “Report Post” and message the Forum Admin where you want the thread moved to.

Maybe the shortcut solution would be to just not use the desktop kernel… My guess is that many people won’t notice the difference between the desktop and default kernels, particularly if you’re not pushing the limits of your machine.

TSU

You’re right, it should do the trick. Thank you for taking the time to help me.