ACPI BIOS Error (bug)

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
DeNite
Beiträge: 28
Registriert: 10.03.2015 12:25:24
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

ACPI BIOS Error (bug)

Beitrag von DeNite » 24.02.2017 19:41:32

Hallo zusammen,

ich habe mir vor ein paar Tagen ein HP Compaq DC7800p SFF organisiert.
Dieser hat 2048MB Arbeitspeicher und eine 500GB HDD und ohne zusätzliche Grafikkarte.

Sobald ich die Installation von Debian "Testing" mit Firmware auf der Maschine starten möchte bekomme ich folgende Meldung:

Code: Alles auswählen

[    0.203701] ACPI BIOS Error (bug): \_SB.PCI0._OSC: Excess arguments - ASL declared 5. ACPI requires 4 (20160831/nsarguments-189)
[    0.203826] ACPI Error: [CAPD] Namespace lookup failure. AE_ALREADY_EXISTS (20160831/dsfield-211)
[    0.203913] ACPI Error: Method parse/execution failed [\_SB.OCI0.__OSC] (Node ffffa07d570ad1b8), AE_ALREADY EXISTS (20160831/psparse-543)
Ich habe keinen schimmer was diese Fehlermeldungen bedeuten, aber vielleicht hat hier ja schonmal jemand diese gesehen und kann mir weiterhelfen.

Grüße
Ben / DeNite

Benutzeravatar
towo
Beiträge: 4403
Registriert: 27.02.2007 19:49:44
Lizenz eigener Beiträge: GNU Free Documentation License

Re: ACPI BIOS Error (bug)

Beitrag von towo » 24.02.2017 19:43:47

Wenn Dein System normal läuft, darfst Du die Meldung, welche mit Kernel 4.9 eingeführt wurde, einfach ignorieren.

Benutzeravatar
DeNite
Beiträge: 28
Registriert: 10.03.2015 12:25:24
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Re: ACPI BIOS Error (bug)

Beitrag von DeNite » 24.02.2017 19:53:39

Hallo towo,

danke für die schnelle Antwort. Ich werde die Installation jetzt mal durchlaufen lassen.
25.02.2017
Edit: Die Installation hat funktioniert und das System läuft.
Danke nochmal für die schnelle Antwort!
Was genau bedeutet diese Fehlermeldung den und warum gibt es diese erst seit Kernel 4.9?

Grüße
Ben / DeNite

whiizy
Beiträge: 662
Registriert: 23.07.2011 22:09:37

Re: ACPI BIOS Error (bug)

Beitrag von whiizy » 31.01.2018 14:04:54

Hallo DeNite,

ich wollte nur ein Feedback geben, daß ich die Meldung auch auf einem ähnlichen, älteren PC auch bekomme (HP dc7700). Aufgefallen, als ich das Wheezy darauf gegen Stretch auf einer neuen SSD ersetzt habe:

Code: Alles auswählen

/var/log/kern.log

kernel: [    0.130934] ACPI BIOS Error (bug): \_SB.PCI0._OSC: Excess arguments - ASL declared 5, ACPI requires 4 (20160831/nsarguments-189)
kernel: [    0.131061] ACPI Error: [CAPD] Namespace lookup failure, AE_ALREADY_EXISTS (20160831/dsfield-211)
kernel: [    0.131152] ACPI Error: Method parse/execution failed [\_SB.PCI0._OSC] (Node ffff8fdafb1b4e10), AE_ALREADY_EXISTS (20160831/psparse-543)
kernel: [    0.131272] acpi PNP0A08:00: _OSC failed (AE_ALREADY_EXISTS); disabling ASPM

ii  linux-image-4.9.0-5-amd64  4.9.65-3+deb9u2
Da ich nicht weiß, was das zu bedeuten hat, ignoriere ich diesen Error bislang mit Erfolg :) . Ein wenig blöd ist nur, daß der Boot-Prozess an der Stelle für ca. 30 s hängt, bevor es weitergeht. Dadurch ist die Boot-Beschleunigung durch SSD und systemd wieder für die Katz ...

Grüsse

Benutzeravatar
MSfree
Beiträge: 10686
Registriert: 25.09.2007 19:59:30

Re: ACPI BIOS Error (bug)

Beitrag von MSfree » 31.01.2018 14:19:41

whiizy hat geschrieben: ↑ zum Beitrag ↑
31.01.2018 14:04:54
Ein wenig blöd ist nur, daß der Boot-Prozess an der Stelle für ca. 30 s hängt, bevor es weitergeht.
Was aber nicht an ACPI hängen kann.

Denn, vom Zweitpunkt des ACPI-Fehler (0.130934) bis zur Meldung, daß ASPM ignoriert wird (0.131272), vergehen 0.000338s.

Das, was dich warten läßt, ist erst der darauf folgenden Logeintrag, den du uns leider unterschlagen. hast.

whiizy
Beiträge: 662
Registriert: 23.07.2011 22:09:37

Re: ACPI BIOS Error (bug)

Beitrag von whiizy » 31.01.2018 15:20:31

MSfree hat geschrieben: ↑ zum Beitrag ↑
31.01.2018 14:19:41
whiizy hat geschrieben: ↑ zum Beitrag ↑
31.01.2018 14:04:54
Ein wenig blöd ist nur, daß der Boot-Prozess an der Stelle für ca. 30 s hängt, bevor es weitergeht.
Was aber nicht an ACPI hängen kann.
Da hast du wohl recht, denn nach meinem Kommentar war ich doch noch neugierig geworden und hatte ACPI im Kernel abgeschaltet (acpi=off). Danach war der ACPI Error verschwunden, aber die 30 s Verzögerung blieben erhalten. Als Nebenwirkung erschien dann allerdings der VGA-Desktop leicht gestaucht und so habe ich den ACPI-interpreter (samt Fehlermeldung) wieder aktiviert.
Denn, vom Zweitpunkt des ACPI-Fehler (0.130934) bis zur Meldung, daß ASPM ignoriert wird (0.131272), vergehen 0.000338s.

Das, was dich warten läßt, ist erst der darauf folgenden Logeintrag, den du uns leider unterschlagen. hast.
... nicht beabsichtigt, sorry, danach kam halt lange nichts Auffälliges. Zur Vollständigkeit aber, wie sich das Log direkt danach fortsetzte:

Code: Alles auswählen

[...]
kernel: [    0.122582] ACPI BIOS Error (bug): \_SB.PCI0._OSC: Excess arguments - ASL declared 5, ACPI requires 4 (20160831/nsarguments-189)
kernel: [    0.122582] ACPI Error: [CAPD] Namespace lookup failure, AE_ALREADY_EXISTS (20160831/dsfield-211)
kernel: [    0.122582] ACPI Error: Method parse/execution failed [\_SB.PCI0._OSC] (Node ffff9b0bbe5b4e10), AE_ALREADY_EXISTS (20160831/psparse-543)
kernel: [    0.122582] acpi PNP0A08:00: _OSC failed (AE_ALREADY_EXISTS); disabling ASPM
kernel: [    0.122582] acpi PNP0A08:00: [Firmware Info]: MMCONFIG for domain 0000 [bus 00-3f] only partially covers this bridge
kernel: [    0.122582] PCI host bridge to bus 0000:00
kernel: [    0.122582] pci_bus 0000:00: root bus resource [mem 0xf8000000-0xfebfffff window]
kernel: [    0.122582] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
kernel: [    0.122582] pci_bus 0000:00: root bus resource [io  0x1000-0x2fff window]
kernel: [    0.122582] pci_bus 0000:00: root bus resource [io  0x3000-0x6fff window]
kernel: [    0.122582] pci_bus 0000:00: root bus resource [io  0x7000-0xafff window]
kernel: [    0.122582] pci_bus 0000:00: root bus resource [io  0xb000-0xffff window]
kernel: [    0.122582] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
kernel: [    0.122582] pci_bus 0000:00: root bus resource [mem 0xbf800000-0xf3ffffff window]
kernel: [    0.122582] pci_bus 0000:00: root bus resource [bus 00-ff]
[...]
Da die Zeitangaben Sekunden sind, entstehen die rund 30 s wohl an folgendere Stelle:

Code: Alles auswählen

[...]
kernel: [    1.993916] random: fast init done
kernel: [    2.524098] clocksource: Switched to clocksource tsc
kernel: [   33.795417] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
kernel: [   33.911870] ip_tables: (C) 2000-2006 Netfilter Core Team
[...]
Da im grub default "quiet" eingetragen ist, konnte ich bisher beim boot nicht sehen, was in der Lücke passiert. Nachdem ich "quiet" dann rausgenommen habe, erscheinen einige periodische Meldungen. Ich muss mal versuchen, ob ich die noch irgendwie in Logfiles zwingen kann, um sie dann hier abzubilden. War irgendwas mit resume/suspend oder sowas (unter Vorbehalt) ...

Danke für deinen Hinweis, MSfree!

Benutzeravatar
smutbert
Moderator
Beiträge: 8315
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: ACPI BIOS Error (bug)

Beitrag von smutbert » 31.01.2018 15:39:04

du könntest zusätzlich zu quiet mit systemd.show_status=1 booten, dann siehst du es zumindest, wenn es an einer systemd-unit hängt, Auch ohne diese Maßnahme sollte nach dem Systemstart die Ausgabe von

Code: Alles auswählen

$ systemd-analyze blame
zeigen ob es an einer unit von systemd hängt, das wird hier aber vermutlich gar nicht notwendig sein...


...wenn nämlich sda1 das /-Dateisystem enthält, dann passiert die Verzögerung wahrscheinlich in der initrd. Das würde zu
whiizy hat geschrieben: ↑ zum Beitrag ↑
31.01.2018 15:20:31
[…]
War irgendwas mit resume/suspend oder sowas (unter Vorbehalt) ...
[…]
passen. Mein Tipp ist, dass in der initrd eine alte UUID einer (nicht mehr vorhandenen) swap-Partition steht, die das System für suspend2disk und resume verwenden würde. Stell sicher, dass
  • kein Eintrag zu einer alten swap-Partition in der fstab steht – eigentlich brauchst du bei systemd überhaupt keinen Eintrag für swap mehr, weil swap-Partitionen automatisch aktiviert werden
  • kein resume=... bei den Kerneloptionen steht, besonders nicht, wenn es die betreffende swap-Partition gar nicht mehr gibt
  • führe nach den ersten beiden Maßnahmen

    Code: Alles auswählen

    # update-initramfs -u
    
    aus damit übriggebliebene Verweise auf die UUID verschwinden. Da sollte dann so etwas wie

    Code: Alles auswählen

    # update-initramfs -u
    update-initramfs: Generating /boot/initrd.img-4.14.0-0.bpo.3-amd64
    I: The initramfs will attempt to resume from /dev/sdxy
    I: (UUID=xyz)
    I: Set the RESUME variable to override this.
    
    herauskommen und zwar mit einer existierenden (!) UUID
Die UUIDs der Dateisystem kannst du mit

Code: Alles auswählen

# blkid
ausgeben lassen um sie zu überprüfen.

whiizy
Beiträge: 662
Registriert: 23.07.2011 22:09:37

Re: ACPI BIOS Error (bug)

Beitrag von whiizy » 31.01.2018 15:52:09

Über einen älteren Thread im debianforum 30 sec Hänger beim mounten bin ich auf die Spur der Verzögerung gekommen.

Es läuft zu dem Zeitpunkt ein script local-block oder so ähnlich, welches in der swap-partition nach images im Schlafmodus sucht. Durch den Plattenumbau auf SSD hatte die swap-partition jetzt eine andere UUID und die initramfs hatte davon noch nichts mitbekommen. Ein dpkg-reconfigure des Kernel-Paketes aktualisiert immer auch die initramfs und dort sieht man die Korrektur dann auch:

Code: Alles auswählen

:~# dpkg-reconfigure linux-image-4.9.0-5-amd64

/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-4.9.0-5-amd64
W: initramfs-tools configuration sets RESUME=UUID=86a3c2f2-4a91-4ddc-b7b1-b41d78a7394e
W: but no matching swap device is available.
I: The initramfs will attempt to resume from /dev/sda5
I: (UUID=6ef6c93f-e810-43ea-a4a9-75eb8d10248c)
I: Set the RESUME variable to override this.
/etc/kernel/postinst.d/zz-update-grub:
Generating grub configuration file ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-4.9.0-5-amd64
Found initrd image: /boot/initrd.img-4.9.0-5-amd64
Found linux image: /boot/vmlinuz-4.9.0-4-amd64
Found initrd image: /boot/initrd.img-4.9.0-4-amd64
done
Der Time-out ist danach verschwunden und die alte Kiste ist jetzt schwuppdiwupp oben.

Grüsse

PS: Smutbert du bist mal wieder der Schnellste :THX: , unsere Beiträge haben sich gekreuzt!

whiizy
Beiträge: 662
Registriert: 23.07.2011 22:09:37

Re: ACPI BIOS Error (bug)

Beitrag von whiizy » 23.02.2018 14:37:28

Zur Vollständigkeit noch ein kleiner Nachtrag:

Erst mit dem Kernel-Update unter Stretch von heute ist mir aufgefallen, daß immer noch Restinformationen über die veraltete Swap-Partition im System steckten. Beim regulären Bau des initramfs wird zunächst immer noch ein " no matching swap device" gesucht:

Code: Alles auswählen

[...]
 Setting up linux-image-4.9.0-6-amd64 (4.9.82-1+deb9u2) ...
I: /vmlinuz.old is now a symlink to boot/vmlinuz-4.9.0-5-amd64
I: /initrd.img.old is now a symlink to boot/initrd.img-4.9.0-5-amd64
I: /vmlinuz is now a symlink to boot/vmlinuz-4.9.0-6-amd64
I: /initrd.img is now a symlink to boot/initrd.img-4.9.0-6-amd64
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-4.9.0-6-amd64
W: initramfs-tools configuration sets RESUME=UUID=86a3c2f2-4a91-4ddc-b7b1-b41d78a7394e
W: but no matching swap device is available.
I: The initramfs will attempt to resume from /dev/sda5
I: (UUID=6ef6c93f-e810-43ea-a4a9-75eb8d10248c)
I: Set the RESUME variable to override this.
[...]
Zu finden war die veraltete "RESUME variable" sodann auch in einer /etc/initramfs-tools/conf.d/resume.

Wenn ich auch dort noch die alte UUID gegen die der neuen Swap-Partition austausche, verschwinden wie gewünscht auch die Warnmeldungen. Damit sind jetzt hoffentlich alle Verweise auf die veraltete swap getilgt.

Bleibt jetzt höchstens noch die (müßige) Frage, ob diese "Hartkodierung" einer swap-UUID in einer RESUME-Variable generell erforderlich ist (schließlich steht die UUID ja auch schon in der fstab). Manchmal schleppt man solche environment-Variablen ja nur über alte Dist-Upgrades mit, ohne sich dessen bewusst zu sein. Weiß das zufällig gerade irgendwer?

Grüsse

Benutzeravatar
smutbert
Moderator
Beiträge: 8315
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: ACPI BIOS Error (bug)

Beitrag von smutbert » 23.02.2018 14:43:32

Nein, ist nicht erforderlich.
Früher wurde resume automatisch angelegt (daher ist es wohl auch bei dir noch vorhanden gewesen), aber inzwischen passiert das nicht mehr und ohne bereits bestehende resume-Date/-Variable bei jedem Bau einer initrd automatisch die UUID der (ersten?) momentan aktiven swap-Parition in die initrd eingetragen.
Bei einem aktuellen System ohne diese Datei genügt es also auf jeden Fall einfach die initrd neu zu bauen um alte swap-UUIDs loszuwerden.

Ein fstab-Eintrag ist für swap übrigens meist auch nicht mehr notwendig (swap wird normalerweise auch ohne einen solchen Eintrag aktiviert).

whiizy
Beiträge: 662
Registriert: 23.07.2011 22:09:37

Re: ACPI BIOS Error (bug)

Beitrag von whiizy » 23.02.2018 15:09:52

smutbert hat geschrieben: ↑ zum Beitrag ↑
23.02.2018 14:43:32
Nein, ist nicht erforderlich.
Früher wurde resume automatisch angelegt (daher ist es wohl auch bei dir noch vorhanden gewesen), aber inzwischen passiert das nicht mehr und ohne bereits bestehende resume-Date/-Variable bei jedem Bau einer initrd automatisch die UUID der (ersten?) momentan aktiven swap-Parition in die initrd eingetragen.
Bei einem aktuellen System ohne diese Datei genügt es also auf jeden Fall einfach die initrd neu zu bauen um alte swap-UUIDs loszuwerden.

Ein fstab-Eintrag ist für swap übrigens meist auch nicht mehr notwendig (swap wird normalerweise auch ohne einen solchen Eintrag aktiviert).
Interessant, danke!
Ich hatte gerade noch Gelegenheit, mir mal eine Stretch-Installation anzusehen, die damals noch als Release Candidate 2 frisch aufgesetzt worden war. Auf dem System wurde die RESUME-Variable jedenfalls noch angelegt (vom debian-installer?). Ob das auf einem aktuell installierten Stretch jetzt anders wäre?

Zum Spaß werde ich die RESUME-Variable auf der Workstation mal auskommentieren und die initrd nochmal neugenerieren lassen (mit dpkg-reconfigure, wie oben schonmal gezeigt). Mal sehen, ob und wie sich das äußert. - Weiß allerdings nicht, ob ich heute noch dazu komme ...

LG

Benutzeravatar
smutbert
Moderator
Beiträge: 8315
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: ACPI BIOS Error (bug)

Beitrag von smutbert » 23.02.2018 16:40:43

Code: Alles auswählen

update-initramfs -u
oder

Code: Alles auswählen

update-initramfs -k all -u
für alle installierten Kernel und nicht nur den aktuell laufenden baut die initrd auch neu ohne gleich das ganze Kernelpaket zu rekonfigurieren.

Ohne resume-Variable wird wohl dasselbe passieren wie mit, denn offensichtlich haben dir initramfs-tools ohnehin eine richtige/vorhandene UUID in die initrd eingetragen, statt der nicht mehr vorhandenen – nur die Warnung, dass RESUME auf eine nicht existente UUID verweist wird wegfallen.

Ob oder wann die Variable eingetragen wird, kann ich nicht mich Sicherheit sagen, aber bei meinem mit debootstrap installierten stretch wurde keine derartige Datei angelegt.

whiizy
Beiträge: 662
Registriert: 23.07.2011 22:09:37

Re: ACPI BIOS Error (bug)

Beitrag von whiizy » 23.02.2018 23:12:11

Habe es mir gerade mal auf einem Laptop angesehen, der von einem USB-Stick aus Debian Stretch amd64 ( nach dem Release-Datum) installiert bekommen hatte. Hier wird die Datei /etc/initramfs-tools/conf.d/resume automatisch angelegt und die RESUME-Variable mit der Swap ID gesetzt, die während der Installation vorhanden war.

Wenn ich die RESUME-Zeile testweise mal auskommentiere, erscheint eine Information, daß man diese Variable zum Überschreiben benutzen könnte (wenn man denn wollte):

Code: Alles auswählen

dpkg-reconfigure linux-image-4.9.0-6-amd64
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-4.9.0-6-amd64
I: The initramfs will attempt to resume from /dev/mmcblk0p3                                                                                                             
I: (UUID=b50c3755-2783-4538-9d28-5bfcc7bae28c)                                                                                                                          
I: Set the RESUME variable to override this.                                                                                                                            
/etc/kernel/postinst.d/zz-update-grub:                                                                                                                                  
Generating grub configuration file ...                                                                                                                                  
Found background image: /usr/share/images/desktop-base/desktop-grub.png                                                                                                 
Found linux image: /boot/vmlinuz-4.9.0-6-amd64                                                                                                                          
Found initrd image: /boot/initrd.img-4.9.0-6-amd64                                                                                                                      
Found linux image: /boot/vmlinuz-4.9.0-5-amd64                                                                                                                          
Found initrd image: /boot/initrd.img-4.9.0-5-amd64                                                                                                                      
Adding boot menu entry for EFI firmware configuration                                                                                                                   
done
Wenn ich die RESUME-Varable dann wieder bewusst in der o.g. Konfigdatei aktiviere, verschwindet diese Informationsmeldung auch wieder:

Code: Alles auswählen

dpkg-reconfigure linux-image-4.9.0-6-amd64
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-4.9.0-6-amd64
/etc/kernel/postinst.d/zz-update-grub:
Generating grub configuration file ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-4.9.0-6-amd64
Found initrd image: /boot/initrd.img-4.9.0-6-amd64
Found linux image: /boot/vmlinuz-4.9.0-5-amd64
Found initrd image: /boot/initrd.img-4.9.0-5-amd64
Adding boot menu entry for EFI firmware configuration
done

Antworten