NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

re: bin/59571: new bind crashes on arm64



The following reply was made to PR bin/59571; it has been noted by GNATS.

From: matthew green <mrg%eterna23.net@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: gnats-admin%netbsd.org@localhost, netbsd-bugs%netbsd.org@localhost
Subject: re: bin/59571: new bind crashes on arm64
Date: Tue, 05 Aug 2025 10:45:11 +1000

 having another look i see that the code i see it works around
 lack of working ctor with:
 
 void rcu_register_thread(void)
 {
 ...
         rcu_init();     /* In case gcc does not support constructor attrib=
 ute */
 
 rcu_init() is lacking concurrent support, but shouldn't matter
 because all threads will have the same answer, and on netbsd
 it will be rcu_sys_membarrier_status(false) (since we don't have
 a membarrier(2).)
 
 it should end up doing very little.. so i'm confused about what
 is happening here.  is the ctor running *too early* and trying
 to access other state not available - some other ctor needed?
 
 
 would be nice to properly understand what is going wrong here,
 i notice that there is also a dtor in this file, that calls a
 moderately complex function -- urcu_call_rcu_exit() -- which
 handles safe teardown of worker threads.
 
 
 .mrg.
 


Home | Main Index | Thread Index | Old Index