Index | Thread | Search

From:
joshua stein <jcs@jcs.org>
Subject:
Re: firefox zombies
To:
ports@openbsd.org
Date:
Mon, 2 Jun 2025 15:03:56 -0500

Download raw body.

Thread
On Wed, 28 May 2025 at 09:47:15 -0500, joshua stein wrote:
> Anyone else seeing this on -current amd64 with firefox-138.0.4?  The 
> zombies keep piling up until I run out of processes.  It doesn't 
> seem to be every new tab opened and closed, just some of them but I 
> can't figure out what's common about them.

These all seem to be pledge violations...

 60926 firefox  CALL  sysctl(4.17.0.0.3.0<net.route.0.0.3.0>,0,0x46ba38dc1c8,0,0)
 60926 firefox  RET   sysctl 0
 60926 firefox  CALL  sysctl(4.17.0.0.3.0<net.route.0.0.3.0>,0x46b63887000,0x46ba38dc1c8,0,0)
 60926 firefox  RET   sysctl 0
 60926 firefox  CALL  socket(AF_INET6,0x2<SOCK_DGRAM>,0)
 60926 firefox  RET   socket 18/0x12
 60926 firefox  CALL  ioctl(18,SIOCGIFAFLAG_IN6,0x46ba38dc240)
 60926 firefox  PLDG  ioctl, "tty", errno 1 Operation not permitted
 60926 firefox  STRU  struct pollfd [2] { fd=14, events=0x1<POLLIN>, revents=0<> } { fd=16, events=0x1<POLLIN>, revents=0<> }
 60926 firefox  PSIG  SIGABRT SIG_DFL

SIOCGIFAFLAG_IN6 appears in webrtc stuff:

    dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-bsd.c
      if (ioctl(s, SIOCGIFAFLAG_IN6, &ifr6) != -1) {

    third_party/libwebrtc/rtc_base/mac_ifaddrs_converter.cc
    #define SIOCGIFAFLAG_IN6 _IOWR('i', 73, struct in6_ifreq)
      int rv = ioctl(ioctl_socket_, SIOCGIFAFLAG_IN6, &ifr);

Adding "route" to /etc/firefox/pledge.socket seems to resolve the 
problem, though I'm not sure why Firefox isn't properly cleaning up 
after its child processes being killed.