For us this crash was introduced in OpenBSD 7.4 . That was the reason we reverted back to 7.3.

In our case, the crash goes through the ixgbe driver and bpf_filter, but the start it always in wg_encap_worker

It this patch somehow related to the issue? https://github.com/openbsd/src/commit/dbebf518da97d8c0c7746cce71f5ea4ae909cb89
We are using fq_codel in pf.




On 04.03.24 05:10, Alexandr Nedvedicky wrote:
Hello,

I don't know what to think of it. It does not make much sense
to me at the moment. If I'm not mistaken kernel crashes
here at line 156:

     119 chacha20poly1305_encrypt(
     120     uint8_t *dst,
     121     const uint8_t *src,
     122     const size_t src_len,
     123     const uint8_t *ad,
     124     const size_t ad_len,
     125     const uint64_t nonce,
     126     const uint8_t key[CHACHA20POLY1305_KEY_SIZE]
     127 ) {                                                                    
                                                                                
                                                                                
                                                                                
 128         poly1305_state poly1305_ctx;                                       
                                                                                
                                                                                
                                                                             
129         chacha_ctx chacha_ctx;
     130         union {
     131                 uint8_t b0[CHACHA20POLY1305_KEY_SIZE];
     132                 uint64_t lens[2];
     133         } b = { { 0 } };
     ...
     152
     153         poly1305_finish(&poly1305_ctx, dst + src_len);
     154
     155         explicit_bzero(&chacha_ctx, sizeof(chacha_ctx));
     156         explicit_bzero(&b, sizeof(b));
     157 }

explicit_bzero() as a kind of memset() alias. would you be able to
grab the same information plus output of 'show registers' command
in ddb? next time when APU box will crash.

I wonder what makes those two boxes so special that wg makes them
to crash. Can you think of something? this might help every
detail counts.

thanks and
regards
sashan


On Sat, Mar 02, 2024 at 06:26:09PM +0000, Nemanja Domazetovi? wrote:
HI all

This is first time I'm reporting a problem.

We have over 15 spokes (PCEngine APU4) on OpenBSD 7.4 (syspatched up to
013_unbound) running wireguard to our central location (also OpenBSD 7.4
syspatched to 011_ssh). On 2 of those spokes OBSD is crashing once per day.
Others are still working fine. Downbelow is the error I receive, and I also
added otput of commands (show uvm, show bcstats, show panic). Before we
siwtched to wireguard, they had IPsec and we didn't have those problems.



e This is what I got from serial console once I got problem reported from users:



uvm_fault(0xfffff825891a0, 0x8, 0, 2) -> e

kernel: page fault trap, code=2

Stopped at      memset+0x52:    repe stosq      %es:(%rdi)



     TID    PID    UID     PRFLAGS     PFLAGS  CPU  COMMAND



  364339  89739      0    0x100032          0    0  login_passwd



  226712  33190      0     0x14000      0x200    2  wg_crypt



*225815  71495      0     0x14000      0x200    1  wg_crypt



  282190  76283      0     0x14000      0x200    3  softnet3



memset() at memset+0x52

chacha20poly1305_encrypt(fffffd80bcb20010,fffffd80bcb20010,200,0,0,11a73,df3c64

05eb66b84a) at chacha20poly1305_encrypt+0x162

noise_remote_encrypt(ffff80000801c740,fffffd80bcb20004,ffff80002279f4f0,fffffd8

0bcb20010,200) at noise_remote_encrypt+0x113

wg_encap(ffff800000791000,fffffd80bcb1ad00) at wg_encap+0x176

wg_encap_worker(ffff800000791000) at wg_encap_worker+0x7a

taskq_thread(ffff800000766a00) at taskq_thread+0x100

end trace frame: 0x0, count: 9


   *   show uvm
Current UVM status:
   pagesize=4096 (0x1000), pagemask=0xfff, pageshift=12
   1005750 VM pages: 22187 active, 154041 inactive, 1 wired, 648481 free (81919 
zero)
   min  10% (25) anon, 10% (25) vnode, 5% (12) vtext
   freemin=33525, free-target=44700, inactive-target=0, wired-max=335250
   faults=5744799, traps=5747928, intrs=64193578, ctxswitch=186137457 
fpuswitch=0
   softint=3299560, syscalls=6630594, kmapent=13
   fault counts:
     noram=0, noanon=0, noamap=0, pgwait=0, pgrele=0
     ok relocks(total)=207395(210035), anget(retries)=2231572(0), 
amapcopy=2237418
     neighbor anon/obj pg=461876/3422212, gets(lock/unlock)=1305770/210057
     cases: anon=1858336, anoncow=373236, obj=1098448, prcopy=204660, 
przero=2210104
   daemon and swap counts:
     woke=0, revs=0, scans=0, obscans=0, anscans=0
     busy=0, freed=0, reactivate=0, deactivate=0
     pageouts=0, pending=0, nswget=0
     nswapdev=1
     swpages=263063, swpginuse=0, swpgonly=0 paging=0
--db_ kernel pointers:
     objs(kern)=0xffffffff8252e560


   *   show bcstats
Current BufferCache status:
numbufs 41004 busymapped 0, delwri 5
kvaslots 6553 avail kva slots 6553
bufpages 162582, dmapages 162582, dirtypages 10
pendingreads 0, pendingwrites 0
highflips 0, highflops 0, dmaflips 0


   *   show panic
*cpu1: uvm_fault(0xffffffff825891a0, 0x8, 0, 2) -> e

Srda?an pozdrav / Best regards
--
Nemanja Domazetovi?
Senior IT Network in?enjer
Kappa Star Group,
Bulevar kneza Aleksandra Kara?or?evi?a 36,
11000 Beograd,
Srbija
e-mail: nemanja.domazeto...@kappastar.com
web: https://www.kappastar.com
P ?uvajte drve?e. Nemojte ?tampati ovu poruku ako to nije neophodno. / Please 
consider the environment before printing this email.


--
Dr. rer. nat. Alexander Haensch


AG Weimar
Institute of Theoretical and Physical Chemistry
Eberhard Karls University Tübingen
Auf der Morgenstelle 15
72076 Tuebingen
Germany

Tel1: +49(0) 7071 1389483
Tel2: +49(0) 7071 2977633
Fax : +49(0) 7071 295960

Reply via email to