[GH-ISSUE #2314] Fail to open firefox in firejail: Error send: arp.c:182 arp_check: Invalid argument #1543

Closed
opened 2026-05-05 08:12:22 -06:00 by gitea-mirror · 6 comments
Owner

Originally created by @SleepyMario on GitHub (Dec 24, 2018).
Original GitHub issue: https://github.com/netblue30/firejail/issues/2314

Hello, this happened after upgrading the kernel from 4.19.12 to 4.20.0. Full output is below and I have no idea where even to start looking (same thing happens with apparmor disabled):


firejail --x11=xephyr --apparmor --name=firefox --net=br10 --profile=/etc/firejail/firefox.profile openbox --startup /usr/lib64/firefox/firefox

*** Starting xephyr server: "Xephyr" "-ac" "-br" "-noreset" "-screen" "800x600" "-title" "firejail x11 sandbox" "-resizeable" ":363" ***

The XKEYBOARD keymap compiler (xkbcomp) reports:

Warning: Unsupported high keycode 372 for name ignored
X11 cannot support keycodes above 255.
This warning only shows for the first high keycode.
Errors from xkbcomp are not fatal to the X server

*** Attaching to Xephyr display 363 ***

Reading profile /etc/firejail/firefox.profile
Reading profile /etc/firejail/firefox.local
Reading profile /etc/firejail/firefox-common.profile
Reading profile /etc/firejail/disable-common.inc
Reading profile /etc/firejail/disable-devel.inc
Reading profile /etc/firejail/disable-interpreters.inc
Reading profile /etc/firejail/disable-programs.inc
Reading profile /etc/firejail/whitelist-common.inc
Reading profile /etc/firejail/whitelist-var-common.inc
Error send: arp.c:182 arp_check: Invalid argument

Originally created by @SleepyMario on GitHub (Dec 24, 2018). Original GitHub issue: https://github.com/netblue30/firejail/issues/2314 Hello, this happened after upgrading the kernel from 4.19.12 to 4.20.0. Full output is below and I have no idea where even to start looking (same thing happens with apparmor disabled): ---- firejail --x11=xephyr --apparmor --name=firefox --net=br10 --profile=/etc/firejail/firefox.profile openbox --startup /usr/lib64/firefox/firefox *** Starting xephyr server: "Xephyr" "-ac" "-br" "-noreset" "-screen" "800x600" "-title" "firejail x11 sandbox" "-resizeable" ":363" *** The XKEYBOARD keymap compiler (xkbcomp) reports: > Warning: Unsupported high keycode 372 for name <I372> ignored > X11 cannot support keycodes above 255. > This warning only shows for the first high keycode. Errors from xkbcomp are not fatal to the X server *** Attaching to Xephyr display 363 *** Reading profile /etc/firejail/firefox.profile Reading profile /etc/firejail/firefox.local Reading profile /etc/firejail/firefox-common.profile Reading profile /etc/firejail/disable-common.inc Reading profile /etc/firejail/disable-devel.inc Reading profile /etc/firejail/disable-interpreters.inc Reading profile /etc/firejail/disable-programs.inc Reading profile /etc/firejail/whitelist-common.inc Reading profile /etc/firejail/whitelist-var-common.inc Error send: arp.c:182 arp_check: Invalid argument
Author
Owner

@SleepyMario commented on GitHub (Dec 24, 2018):

Sorry this is on Gentoo, firejail v. 0.9.56-r1

<!-- gh-comment-id:449761324 --> @SleepyMario commented on GitHub (Dec 24, 2018): Sorry this is on Gentoo, firejail v. 0.9.56-r1
Author
Owner

@NickMolloy commented on GitHub (Dec 31, 2018):

I am able to reproduce this whenever net is set to an interface:

$ firejail --noprofile --net=eth0 ls
Parent pid 8521, child pid 8522
Error send: arp.c:182 arp_check: Invalid argument
Error: proc 8521 cannot sync with peer: unexpected EOF
Peer 8522 unexpectedly exited with status 1
<!-- gh-comment-id:450613429 --> @NickMolloy commented on GitHub (Dec 31, 2018): I am able to reproduce this whenever `net` is set to an interface: ```bash $ firejail --noprofile --net=eth0 ls Parent pid 8521, child pid 8522 Error send: arp.c:182 arp_check: Invalid argument Error: proc 8521 cannot sync with peer: unexpected EOF Peer 8522 unexpectedly exited with status 1 ```
Author
Owner

@SleepyMario commented on GitHub (Dec 31, 2018):

Yes I forgot to report, turning off the bridge in my particularly case made firejail work again. I figured that out a bit later.

<!-- gh-comment-id:450620100 --> @SleepyMario commented on GitHub (Dec 31, 2018): Yes I forgot to report, turning off the bridge in my particularly case made firejail work again. I figured that out a bit later.
Author
Owner

@greencopper commented on GitHub (Dec 31, 2018):

I can also confirm this. I am on Arch, but not using a bridge. In this case I am using iptables as a "application firewall" for wine in combination with firejail. This normally works very well, until the kernel upgrade.

#! /bin/bash
# Flush and delete tables
sudo iptables -F
sudo iptables -X

# Default policies
sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT DROP
sudo iptables -P FORWARD DROP

# Accept loopback
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT

# Keep State for already stablished traffic
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allow DNS
sudo iptables -A INPUT --proto udp --sport 53 --jump ACCEPT
sudo iptables -A OUTPUT --proto udp --dport 53 --jump ACCEPT
sudo iptables -A OUTPUT --proto tcp --dport 53 --jump ACCEPT

# Allow LAN
sudo iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
sudo iptables -A OUTPUT -d 192.168.1.0/24 -j ACCEPT

firejail --noprofile --net=enp3s0 --dns=192.168.1.1 --iprange=192.168.1.100,192.168.1.110 wine foo.exe

I get:

Parent pid 1440, child pid 1441
Error send: arp.c:182 arp_check: Invalid argument
Error: proc 1440 cannot sync with peer: unexpected EOF
Peer 1441 unexpectedly exited with status 1

I am running with "firejail 0.9.56-1" and "linux 4.20.arch1-1".

<!-- gh-comment-id:450670616 --> @greencopper commented on GitHub (Dec 31, 2018): I can also confirm this. I am on Arch, but not using a bridge. In this case I am using iptables as a "application firewall" for wine in combination with firejail. This normally works very well, until the kernel upgrade. ``` #! /bin/bash # Flush and delete tables sudo iptables -F sudo iptables -X # Default policies sudo iptables -P INPUT DROP sudo iptables -P OUTPUT DROP sudo iptables -P FORWARD DROP # Accept loopback sudo iptables -A INPUT -i lo -j ACCEPT sudo iptables -A OUTPUT -o lo -j ACCEPT # Keep State for already stablished traffic sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT sudo iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Allow DNS sudo iptables -A INPUT --proto udp --sport 53 --jump ACCEPT sudo iptables -A OUTPUT --proto udp --dport 53 --jump ACCEPT sudo iptables -A OUTPUT --proto tcp --dport 53 --jump ACCEPT # Allow LAN sudo iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT sudo iptables -A OUTPUT -d 192.168.1.0/24 -j ACCEPT firejail --noprofile --net=enp3s0 --dns=192.168.1.1 --iprange=192.168.1.100,192.168.1.110 wine foo.exe ``` I get: ``` Parent pid 1440, child pid 1441 Error send: arp.c:182 arp_check: Invalid argument Error: proc 1440 cannot sync with peer: unexpected EOF Peer 1441 unexpectedly exited with status 1 ``` I am running with "firejail 0.9.56-1" and "linux 4.20.arch1-1".
Author
Owner

@minus7 commented on GitHub (Dec 31, 2018):

I'm passing a VPN network interface to firejail to confine an application to the VPN and see the same problem.

The relevant code tries to send an ethernet frame on a raw socket:
803d629fcc/src/firejail/arp.c (L177-L182)

In the kernel logs I also get warnings regarding some interface; probably a zombie from a failed firejail start: unregister_netdevice: waiting for eth0-1988 to become free. Usage count = 1
Smells more like a kernel bug than something firejail has to fix.

<!-- gh-comment-id:450678913 --> @minus7 commented on GitHub (Dec 31, 2018): I'm passing a VPN network interface to firejail to confine an application to the VPN and see the same problem. The relevant code tries to send an ethernet frame on a raw socket: https://github.com/netblue30/firejail/blob/803d629fcc2517e3423c9a3e6865997f080517eb/src/firejail/arp.c#L177-L182 In the kernel logs I also get warnings regarding some interface; probably a zombie from a failed firejail start: `unregister_netdevice: waiting for eth0-1988 to become free. Usage count = 1` Smells more like a kernel bug than something firejail has to fix.
Author
Owner

@NickMolloy commented on GitHub (Jan 2, 2019):

The kernel commit that causes this is 99137b7888f4058087895d035d81c6b2d31015c5.

<!-- gh-comment-id:450803465 --> @NickMolloy commented on GitHub (Jan 2, 2019): The kernel commit that causes this is [99137b7888f4058087895d035d81c6b2d31015c5](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=99137b7888f4058087895d035d81c6b2d31015c5).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/firejail#1543
No description provided.