17.01.2026 23:47, Miod Vallat пишет:
>> Every now and then my router sits in ddb due to this,
>> requiring manual reboot (no panic, so ddb.panic=0 does not help).
> 
> No message prior entering ddb?

Console wasn't connected at that time, the the ddb prompt whas
the first i saw after attaching and hitting enter.

> 
>> cnmac_recv_mbuf+0x134 (77e060040f88a,1,980000000fd97a00,980000000fd979fc)  
>> ra 0xffffffff8132c9fc sp 0x980000000fd979d0, sz 32
> 
> This looks like the call to panic() on line 1147 of
> sys/arch/octeon/dev/if_cnmac.c.


1137         m0 = mprev = NULL;
1138         total = left = (word1 & PIP_WQE_WORD1_LEN) >> 48;
1139         for (i = 0; i < nbufs; i++) {
1140                 addr = word3 & PIP_WQE_WORD3_ADDR;
1141                 back = (word3 & PIP_WQE_WORD3_BACK) >> 
PIP_WQE_WORD3_BACK_SHIFT;
1142                 pktbuf = (addr & ~(CACHELINESIZE - 1)) - back * 
CACHELINESIZE;
1143                 pm = (struct mbuf **)PHYS_TO_XKPHYS(pktbuf, CCA_CACHED) - 
1;
1144                 m = *pm;
1145                 *pm = NULL;
1146                 if ((paddr_t)m->m_pkthdr.ph_cookie != pktbuf)
1147                         panic("%s: packet pool is corrupted, mbuf cookie 
%p != "
1148                             "pktbuf %p", __func__, m->m_pkthdr.ph_cookie,
1149                             (void *)pktbuf);
1150 
1151                 /*
1152                  * Because of a hardware bug in some Octeon models the size
1153                  * field of word3 can be wrong (erratum PKI-100).
1154                  * However, the hardware uses all space in a buffer before
1155                  * moving to the next one so it is possible to derive
1156                  * the size of this data segment from the size
1157                  * of packet data buffers.
1158                  */
1159                 size = OCTEON_POOL_SIZE_PKT - (addr - pktbuf);
1160                 if (size > left)
1161                         size = left;


Odd given 'show panic' said "the kernel did not panic" and ddb.panic=0 did not 
kick in.

On the other hand, "%s: packet pool is corrupted, mbuf cookie %p != pktbuf %p"
sounds related to "cnmac5: cannot allocate command buffer from free pool 
allocator"
I reported to bugs@ earlier.  Could this be related due to the uvm changes?


Just hit it again... third time today, as if it got worse:

cnmac_recv_mbuf+0x134 (77e060040f88a,1,98000000242bfe10,98000000242bfe0c)  ra 
0xffffffff8132c9fc sp 0x98000000242bfde0, sz 32
cnmac_recv+0x7c (77e060040f88a,1,98000000242bfe10,f81267b1ca5a6cd4)  ra 
0xffffffff8132aa2c sp 0x98000000242bfe00, sz 80
cnmac_intr+0xfc 
(77e060040f88a,4d411df681f0fe65,98000000242bfe10,f81267b1ca5a6cd4)  ra 
0xffffffff814e3110 sp 0x98000000242bfe50, sz 96
octciu_intr_bank+0x270 
(77e060040f88a,4d411df681f0fe65,98000000242bfe10,4a2c270c96f57e95)  ra 
0xffffffff814e2814 sp 0x98000000242bfeb0, sz 160
octciu_intr0+0x94 
(77e060040f88a,4d411df681f0fe65,4560ca232182e387,4a2c270c96f57e95)  ra 
0xffffffff81465648 sp 0x98000000242bff50, sz 64
interrupt+0x170 
(77e060040f88a,b15ea342f33579be,4560ca232182e387,4a2c270c96f57e95)  ra 
0xffffffff8137cb48 sp 0x98000000242bff90, sz 64
u_intr+0xb8 (98000000242bc000,b15ea342f33579be,4560ca232182e387,3dadad9450)  ra 
0x0 sp 0x98000000242bffd0, sz 0
User-level: pid 90410
...
*90410  246744  91772      0  7         0x2                ruby34
...

Not connect either, sorry;  setting up a permanent cu session soon.

This time it sysupgraded to

        OpenBSD 7.8-current (GENERIC.MP) #124: Wed Jan 14 11:01:22 MST 2026
            
[email protected]:/usr/src/sys/arch/octeon/compile/GENERIC.MP


Can't back it up with dates or logs, but I'm very certain that none of that ever
happened before I went from 7.8-release (or -beta perhaps) to snapshots,
otherwise I'd have mailed earlier.  Back then the box just worked for 
weeks/months.

Reply via email to