# [SOLVED] Kernel panic - not syncing: CPU context [...]

## kacper

Witam,

Przy kopiowaniu dużych plików (~4GB) z partycji zaszyfrowanej (dmcrypt) kopiowanie w mc dochodzi do 4-5% a później pojawią się błąd :

```

CPU 0 : Machine Check Exeption 0000000000000004

Bank 4  : b200000000070f0f

Kernel panic - not syncing: CPU context corrupt

```

W sumie dawno nie kopiowałem z tej partycji, jakieś 2-3 tygodnie, wcześniej wszystko było ok.

Trochę o systemie :

```

Linux legion 2.6.21-gentoo-r2-legion #1 PREEMPT Wed May 30 02:28:36 CEST 2007 i686 AMD Sempron(tm) Processor 3000+ AuthenticAMD GNU/Linux

```

```

Portage 2.1.3_rc4 (default-linux/x86/2006.1/desktop, gcc-4.1.2, glibc-2.5-r3, 2.6.21-gentoo-r2-legion i686)

=================================================================

System uname: 2.6.21-gentoo-r2-legion i686 AMD Sempron(tm) Processor 3000+

Gentoo Base System release 1.12.10

Timestamp of tree: Thu, 21 Jun 2007 17:50:01 +0000

ccache version 2.4 [enabled]

dev-java/java-config: 1.3.7, 2.0.33-r1

dev-lang/python:     2.4.4-r4

dev-python/pycrypto: 2.0.1-r5

dev-util/ccache:     2.4-r7

sys-apps/sandbox:    1.2.18.1

sys-devel/autoconf:  2.13, 2.61

sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10

sys-devel/binutils:  2.17

sys-devel/gcc-config: 1.3.16

sys-devel/libtool:   1.5.23b

virtual/os-headers:  2.6.21

ACCEPT_KEYWORDS="x86 ~x86"

AUTOCLEAN="yes"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-O3 -march=athlon-xp -pipe -falign-functions=4 -falign-jumps -falign-loops -fprefetch-loop-arrays -funroll-loops -frerun-loop-opt -mmmx -m3dnow -msse"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"

CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/revdep-rebuild /etc/terminfo"

CXXFLAGS="-O3 -march=athlon-xp -pipe -falign-functions=4 -falign-jumps -falign-loops -fprefetch-loop-arrays -funroll-loops -frerun-loop-opt -mmmx -m3dnow -msse"

DISTDIR="/usr/portage/distfiles"

FEATURES="autoaddcvs buildpkg ccache cvs distcc distlocks keeptemp keepwork metadata-transfer noclean notitles parallel-fetch sandbox sfperms strict unmerge-orphans userpriv usersandbox"

GENTOO_MIRRORS="ftp://pandemonium.tiscali.de/pub/gentoo/ http://pandemonium.tiscali.de/pub/gentoo/ http://ftp.club-internet.fr/pub/mirrors/gentoo ftp://213.186.33.37/gentoo-distfiles/ http://src.gentoo.pl"

LANG="pl_PL"

LC_ALL="pl_PL"

LINGUAS="pl"

MAKEOPTS="-j1"

PKGDIR="/usr/portage/packages"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/usr/local/portage"

SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"

USE="X alsa berkdb bitmap-fonts cairo cdr cli cracklib crypt cups dbus dri dvd dvdr eds emboss encode esd fam firefox fortran gdbm gif gpm gstreamer gtk gtk+ hal iconv ipv6 isdnlog jpeg ldap libg++ mad midi mikmod mp3 mpeg mudflap ncurses nls nptl nptlonly ogg opengl openmp oss pam pcre pdf perl pic png ppds pppd python quicktime readline reflection sdl session spell spl ssl symlink tcpd truetype truetype-fonts type1-fonts unicode userlocales vorbis win32codecs x264 x86 xcomposite xml xorg xv xvx86 zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="mouse keyboard" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="pl" USERLAND="GNU" VIDEO_CARDS="nv nvidia"

Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

```

```

processor       : 0

vendor_id       : AuthenticAMD

cpu family      : 15

model           : 44

model name      : AMD Sempron(tm) Processor 3000+

stepping        : 2

cpu MHz         : 1809.276

cache size      : 128 KB

fdiv_bug        : no

hlt_bug         : no

f00f_bug        : no

coma_bug        : no

fpu             : yes

fpu_exception   : yes

cpuid level     : 1

wp              : yes

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni lahf_lm ts fid vid ttp tm stc

bogomips        : 3620.22

clflush size    : 64

```

Google coś tam mówi, że to procesor, tylko mnie nie załamcie, nie mam już kasy na wymianę procesora :(

Proszę o jakąś optymistyczną wiadomość :)

----------

## mbar

optymistyczna wiadomosc jest taka, ze masz poje..ne CFLAGS, ustaw jakieś normalne i przekompiluj world.

poza tym problemem może być kernel, spróbuj to samo na jakimś livecd. może też partycja uległa uszkodzeniu? wiatrak się zepsuł?

----------

## kacper

 *mbar wrote:*   

> 
> 
> optymistyczna wiadomosc jest taka, ze masz poje..ne CFLAGS, ustaw jakieś normalne i przekompiluj world.
> 
> 

 

Ok, możesz powiedzieć co w nich jest złego? Prawdę mówiąc dawno do nich nie zaglądałem, ale kiedyś na forum mówili/pisali, że są ok :)

 *mbar wrote:*   

> 
> 
> poza tym problemem może być kernel, spróbuj to samo na jakimś livecd. może też partycja uległa uszkodzeniu? wiatrak się zepsuł?
> 
> 

 

Ok, jeszcze dziś sprawdzę na knoppixie, mam nadzieje, że on ma narzędzia do dmcrypta :) A jak sprawdzić czy partycja mogła ulec uszkodzeniu? Czy fsck można użyć na zaszyfrowanej partycji? Który wiatrak? na procesorze? Dziś wymieniłem go razem z coolerem, problem występuje od dwóch dni, właśnie pierwsze podejrzenia poszły na wiatrak na procku, ale niestety jest to samo.

----------

## kacper

Problem właściwie sam się rozwiązał, otóż po jakimś czasie, czyli koło godziny 00:30 zaczęło się normalnie kopiować bez zawieszania komputera z w/w komunikatem. Na 99% jest to problem chłodzenia, niestety jeszcze nie wiem czego dokładnie, ale do tego dojdę :)

Jeszcze tylko fajnie by było jakbyś kolego mbar napisał mi co tam złego w moich flagach. I rozumiem, że po zmianie flag robimy emerge -N world czy inaczej niż z USE?

----------

## mbar

praktycznie wszystko jest źle  :Wink:  użyj Safe CFLAGS z gentoo wiki a potem emerge -e world

----------

## Redhot

Ja bym raczej polecił:

```
emerge -e system && emerge -e world
```

;P

----------

## SlashBeast

System zawiera sie w world. Wiec nie ma sensu system i potem world ktory sam w sobie ma paczki z system.

Co do flag, widze ze to sempron 64bitowy, masz nawet sse3 wiec daj flagi

CFLAGS="-march=athlon64 -msse3 -O2 -pipe -fomit-frame-pointer"

CXXFLAGS="${CFLAGS}"

CHOST="i686-pc-linux-gnu"

i juz.

----------

## kacper

 *SlashBeast wrote:*   

> 
> 
> CFLAGS="-march=athlon64 -msse3 -O2 -pipe -fomit-frame-pointer"
> 
> 

 

Ale to mi automagicznie nie zrobi systemu 64bitowego? Bo jak tak to ja nie chce :)

--

dobra, zajrzałem na wiki, będzie ok, dzięki za odpowiedzi :)

----------

## Paczesiowa

 *SlashBeast wrote:*   

> System zawiera sie w world. Wiec nie ma sensu system i potem world ktory sam w sobie ma paczki z system.

 

wlasnie o to chodzi zeby tak bylo! pierwszy raz kompilujemy gcc, glibc i reszte podstawowych pakietow tak zeby juz dzialaly poprawnie. (gcc bedzie dzialac poprawnie tzn generowac poprawny kod) ale jeszcze nie beda tego robic optymalnie poniewaz zostaly stworzone przez zle wersje kompilatora i glibc. potem jak juz mamy poprawne generowanie kodu kompilujemy caly world i mamy wszystkie pakiety nie dosc ze poprawne to i robiace to optymalnie.

----------

## kacper

 *Paczesiowa wrote:*   

> 
> 
> wlasnie o to chodzi zeby tak bylo! pierwszy raz kompilujemy gcc, glibc i reszte podstawowych pakietow tak zeby juz dzialaly poprawnie. (gcc bedzie dzialac poprawnie tzn generowac poprawny kod) ale jeszcze nie beda tego robic optymalnie poniewaz zostaly stworzone przez zle wersje kompilatora i glibc. potem jak juz mamy poprawne generowanie kodu kompilujemy caly world i mamy wszystkie pakiety nie dosc ze poprawne to i robiace to optymalnie.
> 
> 

 

Ok, czyli najpierw emerge -e system, a później emerge -e world? przy emerge -e chyba --resume działa jak będzie trzeba _coś_ przerwać?

----------

## Arfrever

 *Paczesiowa wrote:*   

> (gcc bedzie dzialac poprawnie tzn generowac poprawny kod) ale jeszcze nie beda tego robic optymalnie poniewaz zostaly stworzone przez zle wersje kompilatora i glibc.

 

```
$ sed -ne "15p" /usr/portage/sys-devel/gcc/gcc-4.1.2.ebuild

inherit toolchain

$ sed -ne "25,27p;1518,1519p;1458,1469p" /usr/portage/eclass/toolchain.eclass

toolchain_src_compile() {

        gcc_src_compile

}

gcc_do_filter_flags() {

        strip-flags

        # In general gcc does not like optimization, and add -O2 where

        # it is safe.  This is especially true for gcc 3.3 + 3.4

        replace-flags -O? -O2

        # ... sure, why not?

        strip-unsupported-flags

        # dont want to funk ourselves

        filter-flags '-mabi*' -m31 -m32 -m64

gcc_src_compile() {

        gcc_do_filter_flags

$ sed -ne "1144,1145p;994p;1014p;646p;661,667p;726,734p" /usr/portage/sys-libs/glibc/glibc-2.5-r3.ebuild

setup_flags() {

        # Over-zealous CFLAGS can often cause problems.  What may work for one

        # person may not work for another.  To avoid a large influx of bugs

        # relating to failed builds, we strip most CFLAGS out to ensure as few

        # problems as possible.

        strip-flags

        strip-unsupported-flags

        filter-flags -m32 -m64 -mabi=*

        # Lock glibc at -O2 -- linuxthreads needs it and we want to be

        # conservative here.  -fno-strict-aliasing is to work around #155906

        filter-flags -O?

        append-flags -O2 -fno-strict-aliasing

        # building glibc with SSP is fraught with difficulty, especially

        # due to __stack_chk_fail_local which would mean significant changes

        # to the glibc build process. See bug #94325

        filter-flags -fstack-protector

setup_env() {

        setup_flags

src_compile() {

        setup_env

$ sed -ne "8p" /usr/portage/sys-devel/binutils/binutils-2.17.ebuild

inherit toolchain-binutils

$ sed -ne "163p;168,169p" /usr/portage/eclass/toolchain-binutils.eclass

toolchain-binutils_src_compile() {

        # keep things sane

        strip-flags
```

Perduodu linkėjimus

Arfrever

----------

## SlashBeast

 *Paczesiowa wrote:*   

>  *SlashBeast wrote:*   System zawiera sie w world. Wiec nie ma sensu system i potem world ktory sam w sobie ma paczki z system. 
> 
> wlasnie o to chodzi zeby tak bylo! pierwszy raz kompilujemy gcc, glibc i reszte podstawowych pakietow tak zeby juz dzialaly poprawnie. (gcc bedzie dzialac poprawnie tzn generowac poprawny kod) ale jeszcze nie beda tego robic optymalnie poniewaz zostaly stworzone przez zle wersje kompilatora i glibc. potem jak juz mamy poprawne generowanie kodu kompilujemy caly world i mamy wszystkie pakiety nie dosc ze poprawne to i robiace to optymalnie.

 

Nie zgadzam się z Toba iż bedzie produkować zły kod, moze co najwyzej zrobić nieco wolniej ale i tak TEN SAM kod.

----------

## c2p

@kacper: i po co Ci w ALSA_CARDS i w ALSA_PCM_PLUGINS wszystkie możliwe opcje?

----------

## kacper

 *c2p wrote:*   

> 
> 
> @kacper: i po co Ci w ALSA_CARDS i w ALSA_PCM_PLUGINS wszystkie możliwe opcje?
> 
> 

 

Może dlatego, że nie mam tego ustawionego w /etc/make.conf, to jest potrzebne jeśli używam modułów z jądra?

----------

## SlashBeast

tak jak z VIDEO_CARDS, nie podasz zadnego to w --info beda niby wszystkie. Wpadka panie szeryfie.

----------

## kacper

 *SlashBeast wrote:*   

> 
> 
> tak jak z VIDEO_CARDS, nie podasz zadnego to w --info beda niby wszystkie. Wpadka panie szeryfie.
> 
> 

 

No tak, ale VIDEO_CARDS ma znaczenie przy instalowaniu xorg'a, a jakie znaczenie ma ALSA_CARDS przy użyciu sterowników z jądra?

----------

## SlashBeast

Zadne, wiec je w ogole nie definujesz i potem w --info masz takie kwiatki.

----------

## c2p

 *SlashBeast wrote:*   

> tak jak z VIDEO_CARDS, nie podasz zadnego to w --info beda niby wszystkie. Wpadka panie szeryfie.

 

No dobra, niech wam będzie. Mój błąd  :Embarassed:  .

----------

