Memtest86+ (Wikipedie), svobodný nástroj pro kontrolu operační paměti, byl vydán ve verzi 9.00. S podporou architektury AArch64 (ARM64).
Společnost Fairphone stojící za stejnojmennými mobilními telefony představila (pdf) bezdrátová špuntová sluchátka Fairbuds 2. Opravitelná, s vyměnitelnými bateriemi a tříletou zárukou. Cena 119 eur.
O víkendu 17. a 18. října lze na brněnském výstavišti navštívit s jednou vstupenkou dvě akce: Maker Faire Brno, festival inovací, kreativity a kutilství, a GameDev Connect, akci určenou pro všechny současné a hlavně budoucí herní vývojáře.
Canonical vydal (email) Ubuntu 26.10 Stonking Stingray. Přehled novinek v poznámkách k vydání. Jedná se o průběžné vydání s podporou 9 měsíců, tj. do července 2027.
České Radiokomunikace (CRA) ve čtvrtek odstřelily rozhlasový vysílač Liblice B, dosud nejvyšší stavbu v Česku. O demolici dvou 355 metrů vysokých stožárů rozhodly z důvodu jejich nevyužívání, už v úterý přitom zhasly a demontovaly jejich osvětlení.
Microsoft Defender nově podporuje linuxové desktopy.
Oficiální Epic Games Launcher je v nové preview verzi poprvé dostupný i pro Linux (FAQ). Pracuje se na novém Easy Anti-Cheatu pro Linux (EAC Linux v2) a podpoře hry Fortnite na Linuxu.
Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.8. Novinky zahrnují lepší podporu vzdálené plochy, sdílení a nahrávání obrazovky a řadu drobností napříč uživatelským rozhraním (úplný seznam změn, shrnutí ve wiki).
Apple představil 7palcový displej Apple HomeView s podporou Apple Intelligence a Siri AI pro ovládání chytré domácnosti, novou řadu vybavení chytré domácnosti Apple Home Collection, další generaci HomePodu mini a novou Apple TV 4K. Apple HomeView není v Evropské unii v prodeji, jelikož umělá inteligence Siri v rámci systému iOS v EU momentálně není k dispozici. Apple spolupracuje s EU a snaží se najít cestu, jak situaci vyřešit.
KDE slaví 30 let. Přesně před 30 lety, 14. října 1996, poslal Matthias Ettrich do diskusní skupiny comp.os.linux.misc zprávu, která započala historii projektu KDE. Důležité milníky jsou zobrazeny na časové ose.
http://server.apnet.cz/error/Dostávám Error 403 Forbidden.
Oops: 0002 [#1]
Modules linked in: vmnet(P) vmmon(P) af_packet
CPU: 0
EIP: 0060:[<c026e1e1>] Tainted: P VLI
EFLAGS: 00010286 (2.6.19-gentoo-r5 #9)
EIP is at rhine_interrupt+0x5e1/0x910
eax: 8596290 ebx: 00010000 ecx: 00000002 edx: 0000e400
esi: 0000000 edi: 00016809 ebp: c146b25f esp: c0445f2c
ds: 007b es: 007b ss: 0068
Process swapper (pid: 0, ti=c0444000 task=c03d5420 task.ti=c0444000)
Stack: c049669c 00000282 c153aac0 c0496420 00000282 c146b000 0001e400 00000002
00000014 dde4ae00 dde4ea00 dd2f88e0 00000000 00000000 00000000 0000000b
c012ae81 c043af80 0000000b ca445fb4 00000580 c012bebf 00000000 0000000b
Call Trace:
[<c012ae81>] handle_IRQ_event+0x1a/0x3f
[<c012bebf>] handle_level_irq+0x66/0xa3
[<c01049bc>] do_IRQ+0x6b/0x83
[<c034c4d6>] __sched_text_start+0x486/0x4e9
[<c010306e>] common_interrupt+0x1a/0x20
[<c01016b3>] default_idel+0x31/0x59
[<c0101715>] cpu_idle+0x3a/0x4f
[<c044665a>] start_kernel+02a6/0x2aa
[<c04461ea>] unknown_bootoption+0x0/0x206
Code: 49 c0 e8 1d 9b ea ff 53 9d 8b 85 d0 01 00 00 c7 84 bd 90 00 00 00 00 00 00 00 40 89 85 d0 01 00 00 89 c7 8b 85 cc 01 00 00
83 e7 <0f> 39 85 d0 01 00 00 0f 85 89 fe ff ff 8b 85 cc 01 00 00 2b 85
EIP: [<c026e1e1>] rhine_interrupt+0x5r1/0x910 SS:ESP 0068:c0445f2c
<0>Kernel panic - not syncing: Fatal exception in interrupt
Dneska mi to lehlo znovu i kdyz jsem prikompiloval moznost "Use MMIO instead of PIO" a "Use Rx Polling (NAPI)". Bohuzel jsem nemel cas opisovat celou chybu z obrazovky. Jenom na radku byli jine moduly. "vmnet(P) vmmon(P) ar_packet via_rhine".
V /var/log/messages nic zajimave neni.
Opravdu by se hodil i ten soubor drivers/net/via-rhine.o. A kdybys mohl udělat make drivers/net/via-rhine.s a ten soubor pak taky vystavit, bylo by to ještě lepší. Všechny 3 věci (2 soubory a ten výpis Oops) musí být ze stejné verze, aby to k něčemu bylo.
Vidím, že tento výpis je z jádra pošpiněného proprietárními moduly. Ale ten první Oops byl skoro stejný a z čistého jádra, takže tím to není.
Oops: 0000 [#1]
Modules linked in: vmnet(P) vmmon(P) ar_packet via_rhine
CPU: 0
EIP: 0060:[<de873a8a>] Tainted: P VLI
EFLAGS: 00010293 (2.6.20-gentoo-r8 #1)
EIP is at rhine_interrupt+0270/0x605 [via-rhine]
eax: 0007a590 ebx: 00000000 ecx: 00000002 edx: 0007a5fc
esi: 00000000 edi: 00000000 ebp: c1612a60 esp: c044ff3c
ds: 007b es: 007b ss: 0068
Process swapper (pid: 0, ti=c044e000 task=c040b420 task.ti=c044e000)
Stack: 00000000 00000286 00000100 c048a540 c011a8ef de836000 00000002
00000014 00000000 dde208a0 00000000 00000000 c012aa91 c0444f80
0000000b c0442000 004cf007 c012baea 00000000 c01049b9 c044ffe4
Call Trace:
[<c011a8ef>] process_timeout+0x0/0x5
[<c012aa91>] handle_IRQ_event+0x1a/0x3f
[<c012baea>] handle_level_irq+0x66/0xa0
[<c01049ba>] do_IRQ+0x5c/0x73
[<c0103057>] common_interrupt+0x23/0x28
[<c0101719>] default_idel+0x27/0x39
[<c0100f33>] cpu_idle+0x3a/0x4f
[<c045065b>] start_kernel+02ab/0x2af
[<c04501ae>] unknown_bootoption+0x0/0x202
=======================
Code: 00 83 3d 80 70 87 de 06 7e 1f 89 f8 c1 fb 03 83 e0 0f 89 44 24 08 89 5c 24
08 89 5c 24 04 c7 04 24 c0 r1 18 61 db 9c 82 a3 9b b0 90 <26> a1 df bd 6e ec
d6 ed ef 8a b4 d2 e7 e1 73 b5 2a 64 cc 5d b6
EIP: [<de873a8a>] rhine_interrupt+0x270/0x608 SS:ESP 0068:c044ff3c
<0>Kernel panic - not syncing: Fatal exception in interrupt
Bezva. Tak jsem to prozkoumal. Bylo to trošku komplikovanější, protože při přepisování Oopsu jste se buď musel několikrát splést a nebo byl systém v daleko horším stavu, než to na první pohled vypadalo, takže nebyl schopen Oops korektně vypsat. Očividné chyby jsou např.:
EIP is at rhine_interrupt+0270/0x605 [via-rhine] ... EIP: [<de873a8a>] rhine_interrupt+0x270/0x608 SS:ESP 0068:c044ff3c
Jednou má funkce délku 0x605, podruhé 0x608. Správná hodnota je 0x605.
Code: ... r1 ...
Velmi zvláštní hexadecimální číslo.
Ten kód jsem podrobil detailnějšímu zkoumání. Napřed jsem v objektu via-rhine.o vůbec nemohl najít kus, který by tomu odpovídal, ale pak se přece jen něco objevilo. Ten kód je zhruba toto:
83 3d 80 70 87 de 06 cmpl $0x6, 0xde877080 7e 1f jle +0x1f 89 f8 movl %edi,%eax # správně tady mělo být asi s/f8/d8/ a tudíž s/edi/ebx/ c1 fb 03 sarl $0x3,%ebx 83 e0 0f andl $0xf,%eax # myslím, že zde vypadla celá jedna instrukce: # 83 e3 0f andl $0xf,%ebx 89 44 24 08 movl %eax,0x8(%esp) # a tahle je tu naopak navíc: 89 5c 24 08 movl %ebx,0x8(%esp) 89 5c 24 04 movl %ebx,0x4(%esp) c7 04 24 c0 r1(!) 18 61 movl $0x6118r1c0(!),(%esp) # teď měl následovat call na printk a další instrukce, # ale následující byty jsou naprosto mimo: db 9c 82 a3 9b b0 90 <26> a1 df bd 6e ec d6 ed ef 8a b4 d2 e7 e1 73 b5 2a 64 cc 5d b6
Prostě ten kód odpovídá programu v via-rhine.s od labelu ".L461:" dále. Jenže od toho volání printk dále už to vůbec jako ten správný kód nevypadá ani omylem. Ve zdrojáku je to tahle část funkce rhine_tx():
if (rp->quirks & rqRhineI) rp->stats.collisions += (txstatus >> 3) & 0x0F; else rp->stats.collisions += txstatus & 0x0F; if (debug > 6) printk(KERN_DEBUG "collisions: %1.1x:%1.1x\n", (txstatus >> 3) & 0xF, txstatus & 0xF); rp->stats.tx_bytes += rp->tx_skbuff[entry]->len; rp->stats.tx_packets++;
Takže jaké jsou možnosti:

Tiskni
Sdílej: