# [gelöst]invalid opcodes

## Christian99

Ich hab schon seit ner ganzen Weile Probleme mit meinem neuen Prozessor:

ich habe einfach die festplatte aus dem alten PC (Core2 prozessor) in den neuen (core i7 prozessor) getan und gehofft dass alles geht, weil der eine nachfolger vom anderen ist. (ich kompiliere alles mit march=native) Leider nicht ganz, gab einige problem mit invalid opcodes, aber ich konnte noch emergen, und nachdem ich eine emerge -e world durch hatte war auch das meiste OK, aber leider nicht alles. Dann vorsichtshalber nochmal emerge -e world. das hat aber nix weiter gebracht. hier mal ein dmesg auszug:

```
[   77.314799] traps: vdr[3840] trap invalid opcode ip:35d1a0bcea sp:7ffd0bfddfd8 error:0 in libpthread-2.20.so[35d1a00000+16000]

[   88.551221] traps: hostapd[3684] trap invalid opcode ip:35d1a0bcea sp:7ffcd369d798 error:0 in libpthread-2.20.so[35d1a00000+16000]

[  114.619741] traps: pulseaudio[3738] trap invalid opcode ip:35d1a0bcea sp:7ffe7b423ae8 error:0 in libpthread-2.20.so[35d1a00000+16000]

[  277.193764] traps: cupsd[3400] trap invalid opcode ip:7f5605e84cea sp:7ffe4e6445a8 error:0 in libpthread-2.20.so[7f5605e79000+16000]

[ 2503.860073] traps: dbus-daemon[2636] trap invalid opcode ip:35d1a0bcea sp:7ffd9fd93eb8 error:0 in libpthread-2.20.so[35d1a00000+16000]

[663094.892258] traps: dnsmasq[3166] trap invalid opcode ip:35d1a0bcea sp:7ffe2fbd3388 error:0 in libpthread-2.20.so[35d1a00000+16000]
```

vdr und hostapd passiert das immer beim booten, ein neustarten der dienste klappt aber ohne weitere Probleme. Die anderen treten (sehr selten) zufällig im laufenden Betrieb auf, neustarten behebt das aber auch (bis zum nächsten Crash).

Jetzt meine frage:

wo kommen diese invalid opcodes her? Ist irgendwo noch eine referenz auf meinen Core2 versteckt, die das beim kompilieren verursacht? Ich habe die betreffenden Pakete auch noch mehrfach neu gebaut, und auch glibc (zu der gehört libpthread), aber das hat nix gebracht, also vermute ich, dass beim kompilieren noch irgendwie was für meinen core2 konfiguriert, aber wo könnte das sein?

Achja: CFLAGS="-O2 -pipe -march=native"Last edited by Christian99 on Fri Jun 12, 2015 7:47 pm; edited 1 time in total

----------

## py-ro

Schau mal ins dmesg ob da was von Microcode Update auftaucht.

----------

## Christian99

ja, tut es:

```
[    0.401739] microcode: CPU0 sig=0x306c3, pf=0x2, revision=0x19

[    0.401744] microcode: CPU1 sig=0x306c3, pf=0x2, revision=0x19

[    0.401751] microcode: CPU2 sig=0x306c3, pf=0x2, revision=0x19

[    0.401759] microcode: CPU3 sig=0x306c3, pf=0x2, revision=0x19

[    0.401766] microcode: CPU4 sig=0x306c3, pf=0x2, revision=0x19

[    0.401774] microcode: CPU5 sig=0x306c3, pf=0x2, revision=0x19

[    0.401781] microcode: CPU6 sig=0x306c3, pf=0x2, revision=0x19

[    0.401788] microcode: CPU7 sig=0x306c3, pf=0x2, revision=0x19

[    0.401813] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba

[   76.438953] microcode: CPU0 sig=0x306c3, pf=0x2, revision=0x19

[   76.440619] microcode: CPU0 updated to revision 0x1c, date = 2014-07-03

[   76.440781] microcode: CPU1 sig=0x306c3, pf=0x2, revision=0x19

[   76.441664] microcode: CPU1 updated to revision 0x1c, date = 2014-07-03

[   76.441800] microcode: CPU2 sig=0x306c3, pf=0x2, revision=0x19

[   76.442680] microcode: CPU2 updated to revision 0x1c, date = 2014-07-03

[   76.442872] microcode: CPU3 sig=0x306c3, pf=0x2, revision=0x19

[   76.443817] microcode: CPU3 updated to revision 0x1c, date = 2014-07-03

[   76.444032] microcode: CPU4 sig=0x306c3, pf=0x2, revision=0x19

[   76.445319] microcode: CPU4 updated to revision 0x1c, date = 2014-07-03

[   76.445504] microcode: CPU5 sig=0x306c3, pf=0x2, revision=0x19

[   76.446859] microcode: CPU5 updated to revision 0x1c, date = 2014-07-03

[   76.447033] microcode: CPU6 sig=0x306c3, pf=0x2, revision=0x19

[   76.448385] microcode: CPU6 updated to revision 0x1c, date = 2014-07-03

[   76.448575] microcode: CPU7 sig=0x306c3, pf=0x2, revision=0x19

[   76.449877] microcode: CPU7 updated to revision 0x1c, date = 2014-07-03
```

aber ich dachte microcode-ctl wählt automatisch den für die cpu passenden?

----------

## py-ro

https://bugs.gentoo.org/show_bug.cgi?id=528712

Schau mal, evtl ist das dein Problem.

----------

## Christian99

ja, lol. da hab ich ja in der ganz falschen richtung gesucht....

Wie soll man auf sowas kommen. Aber danke, hat tatsächliuch am microcode gelegen.

----------

## py-ro

Hast Glück gehabt, ich hatte das nur im Hinterkopf da das gestern in #gentoo IRC Channel ein Thema war.  :Wink: 

Bye

Py

----------

## Christian99

dann war das ja wirklich glück. wollte das eigentlich schon 2-3 Wochen posten  :Smile: 

----------

