Wenn Sie Diskriminierung oder sexualisierte Gewalt erleben oder beobachten oder Fragen zum Thema haben, können Sie sich beispielsweise an folgende Stellen wenden:
<!--
{ "options":
{
"locale": "de-DE",
"scales": {
"x": {
"ticks": {
"color":"var(--foreground-color)"
}
},
"y": {
"ticks": {
"color":"var(--foreground-color)"
}
}
},
"plugins": {
"legend": {
"position": "right",
"labels": {
"color": "var(--foreground-color)"
},
"title": {
"display": true,
"color": "var(--foreground-color)",
"text": "Gruppen"
}
}
},
"colorschemes": {
"scheme": "Aspect6"
}
}
}
-->
Größe (kByte)
01,2104
02 (second),1136
02 (evy),3572
03,5492
04,1800
05,1136
06,2144
06 (sysv),1256
07,12528
08,10016
[ 28.399265] sysrq: Trigger a crash
[ 28.400808] Kernel panic - not syncing: sysrq triggered crash
[ 28.402661] CPU: 1 PID: 423 Comm: bash Not tainted 6.1.55 #1
[ 28.404340] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[ 28.407068] Call Trace:
[ 28.407904] <TASK>
[ 28.408640] dump_stack_lvl+0x33/0x46
[ 28.409829] panic+0x10d/0x298
[ 28.414116] ? _printk+0x63/0x7e
[ 28.415266] sysrq_handle_crash+0x11/0x20
[ 28.416503] __handle_sysrq.cold+0x44/0x11c
...
[ 28.422665] ? __do_sys_newfstatat+0x4e/0x80
[ 28.424027] ksys_write+0x66/0xe0
[ 28.425089] do_syscall_64+0x3b/0x90
[ 28.426394] entry_SYSCALL_64_after_hwframe+0x64/0xce
[ 28.436010] RIP: 0033:0x7f2ce5c97240
[ 28.437316] Code: 40 00 48 8b 15 c1 9b 0d 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 00 80 3d a1 23 0e 00 00 74 17 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00 48 83 ec 28 48 89
[ 28.442991] RSP: 002b:00007ffc1e8f92b8 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
[ 28.446632] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007f2ce5c97240
[ 28.448944] RDX: 0000000000000002 RSI: 000055b536e4c840 RDI: 0000000000000001
[ 28.456037] RBP: 000055b536e4c840 R08: 00007f2ce5d71c68 R09: 0000000000000073
[ 28.458338] R10: 0000000000001000 R11: 0000000000000202 R12: 0000000000000002
[ 28.461827] R13: 00007f2ce5d72760 R14: 0000000000000002 R15: 00007f2ce5d6d9e0
[ 28.464128] </TASK>
[ 28.465561] Kernel Offset: 0x1b200000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff)
[ 28.468976] ---[ end Kernel panic - not syncing: sysrq triggered crash ]---
BUG_ON(X)
mit einer Bedingung X
versehen ausgelöstWARN_ON(X)
mit einer Bedingung X
versehen ausgelöstsysctl
(man sysctl
) auf Kernelparameter in /proc/sys
kernel.panic
bestimmt
kernel.panic
: Sekunden nach einer Panik bis zum automatischen Neustart (0 = kein Neustart)kernel.panic_on_oops
: Behandle ein Oops
wie eine Panik, wenn auf 1 gesetztkernel.panic_on_warn
: Behandle eine Warnung wie eine Panik, wenn auf 1 gesetztSetzen der Kern-Parameter mittels sysctl
Dann helfen Linux Sys-Requests (sysrq) [1]
Alt Gr + Druck + X
[ +0,147076] usb 3-1.3: New USB device found, idVendor=17ef, idProduct=30a9, bcdDevice=30.80
[ +0,000012] usb 3-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ +0,000007] usb 3-1.3: Product: 40AY
[ +0,000004] usb 3-1.3: Manufacturer: Lenovo
[ +0,000004] usb 3-1.3: SerialNumber: 1S40AY0090EUZVW0E6XW
[ +0,332044] usbcore: registered new device driver r8152-cfgselector
[ +0,118921] r8152-cfgselector 4-1.1: reset SuperSpeed USB device number 3 using xhci_hcd
[ +0,034908] r8152 4-1.1:1.0 (unnamed net_device) (uninitialized): Invalid header when reading pass-thru MAC addr
[ +0,011818] r8152 4-1.1:1.0: load rtl8153b-2 v2 04/27/23 successfully
[ +0,032424] r8152 4-1.1:1.0 eth0: v1.12.13
[ +0,000070] usbcore: registered new interface driver r8152
[ +0,008583] usbcore: registered new interface driver cdc_ether
[ +0,002117] usbcore: registered new interface driver r8153_ecm
[ +0,107748] r8152 4-1.1:1.0 enxf4a80d20224c: renamed from eth0
[ +0,696365] r8169 0000:06:00.0 enp6s0: Link is Down
[ +1,972187] r8152 4-1.1:1.0 enxf4a80d20224c: carrier on
[ +0,032709] r8152 4-1.1:1.0 enxf4a80d20224c: carrier off
[ +0,499472] usb 4-1.2: new SuperSpeed USB device number 5 using xhci_hcd
[ +0,032679] usb 4-1.2: New USB device found, idVendor=0bda, idProduct=0411, bcdDevice= 1.21
[ +0,000011] usb 4-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ +0,000005] usb 4-1.2: Product: 4-Port USB 3.0 Hub
[ +0,000003] usb 4-1.2: Manufacturer: Generic
[ +0,028545] hub 4-1.2:1.0: USB hub found
[ +0,001410] hub 4-1.2:1.0: 4 ports detected
[ +0,092498] usb 3-1.1.2: new high-speed USB device number 13 using xhci_hcd
[ +0,168774] usb 3-1.1.2: New USB device found, idVendor=0bda, idProduct=5411, bcdDevice= 1.21
[ +0,000010] usb 3-1.1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ +0,000006] usb 3-1.1.2: Product: 4-Port USB 2.0 Hub
[ +0,000003] usb 3-1.1.2: Manufacturer: Generic
[ +0,053780] hub 3-1.1.2:1.0: USB hub found
[ +0,001043] hub 3-1.1.2:1.0: 4 ports detected
[ +0,368374] usb 3-1.1.2.2: new high-speed USB device number 14 using xhci_hcd
[ +0,117874] usb 3-1.1.2.2: New USB device found, idVendor=046d, idProduct=08e5, bcdDevice= 0.0c
[ +0,000009] usb 3-1.1.2.2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ +0,000005] usb 3-1.1.2.2: Product: HD Pro Webcam C920
[ +0,060303] usb 3-1.1.2.2: Found UVC 1.00 device HD Pro Webcam C920 (046d:08e5)
[ +0,010773] uvcvideo 3-1.1.2.2:1.1: Failed to set UVC probe control : -32 (exp. 26).
[ +0,278985] usb 3-1.1.2.2: current rate 16000 is different from the runtime rate 24000
[ +0,214588] usb 3-1.1.2.2: current rate 16000 is different from the runtime rate 32000
[ +0,221574] usb 3-1.1.2.3: new low-speed USB device number 15 using xhci_hcd
[ +0,123111] usb 3-1.1.2.3: New USB device found, idVendor=413c, idProduct=2113, bcdDevice=33.09
[ +0,000011] usb 3-1.1.2.3: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ +0,000005] usb 3-1.1.2.3: Product: Dell KB216 Wired Keyboard
pr_debug
verwenden (siehe linux/printk.h)/sys/kernel/debug/dynamic_debug/control
im debugfscat /sys/kernel/debug/dynamic_debug/control
(Nehmt lieber less
)Alle 12 Nachrichten in der Funktion svc_process()
aktivieren:
echo 'func svc_process +p' > /sys/[...]/dynamic_debug/control
Aktiviere die Nachricht in Zeile 1603 in Datei vcsock.c
:
echo 'file svcsock.c line 1603 +p' > ...
Diese und weitere Beispiele finden sich in der Dokumentation ([2])
cat /sys/kernel/debug/kmemleak
echo scan > /sys/kernel/debug/kmemleak
echo scan=<secs> > /sys/kernel/debug/kmemleak
echo dump=<addr> > /sys/kernel/debug/kmemleak
panic_on_warn
den Kernel bei einem Fehler anDie Unterbrechungen werden beim Zugriff aus dem Faden nicht gesperrt!
🚨 Verklemmungsgefahr 🚨
(Für weitere Informationen siehe Foliensatz 05-IRQ-Synchronisation zur Veranstaltung „Betriebssystembau” (WS23))
inode_lock
aus der Datenstruktur struct inode
gehört zu der gleichen Klasse