Fyi, uploaded to 0.36.1-4ubuntu0.1 and 0.36-6ubuntu1.1 to jammy-proposed
and focal-proposed, respectively.
** Changed in: ufw (Ubuntu Focal)
Status: Triaged => In Progress
** Changed in: ufw (Ubuntu Jammy)
Status: Triaged => In Progress
** Changed in: ufw (Ubuntu Focal)
Assignee: (unassigned) => Jamie Strandboge (jdstrand)
** Changed in: ufw (Ubuntu Jammy)
Assignee: (unassigned) => Jamie Strandboge (jdstrand)
** Changed in: ufw (Ubuntu Mantic)
Assignee: (unassigned) => Jamie Strandboge (jdstrand)
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ufw in Ubuntu.
https://bugs.launchpad.net/bugs/2015645
Title:
ufw crashes in wsl2
Status in ufw:
Fix Released
Status in ufw package in Ubuntu:
Fix Released
Status in ufw source package in Focal:
In Progress
Status in ufw source package in Jammy:
In Progress
Status in ufw source package in Mantic:
Fix Released
Bug description:
[ Impact ]
Currently, ufw is unusable on WSL due to this bug because the
get_ppid() function traces back on /proc when the command name has
parentheses (like in WSL). get_ppid() is called with 'ufw enable' and
so ufw is not able to be enabled on WSL. The upstream patch adjusts
get_ppid() for this and adds unit tests for this function.
[ Test Plan ]
Call 'sudo ufw enable' (it should not trace back) and call 'sudo ufw
status' to show that it was enabled. Importantly, this is called as
part of autopkgtests already.
Furthermore, look in the build logs for:
test_util
...
test_get_ppid (tests.unit.test_util.UtilTestCase)
Test get_ppid() ... ok
test_get_ppid_no_space (tests.unit.test_util.UtilTestCase)
Test get_ppid() no space ... ok
test_get_ppid_with_parens (tests.unit.test_util.UtilTestCase)
Test get_ppid() with parens ... ok
test_get_ppid_with_space (tests.unit.test_util.UtilTestCase)
Test get_ppid() with space ... ok
...
----------------------------------------------------------------------
Ran 49 tests in 0.355s
OK
[ Where problems could occur ]
The risk of regression is considered low since comprehensive unit
tests are added for the patched function. Not only is this change in
upstream ufw 0.36.2, it is already in Debian Bookworm and Ubuntu
Mantic as part of 0.36.2-1.
# Original Description
When I enable systemd in WSL2 (it became supported recently), install
ufw, and run sudo ufw enable, I get the error detailed in
https://superuser.com/questions/1775776/enabling-ufw-failed-with-
ubuntu-from-wsl2. You may already be aware of this error, I'm not sure
if "NotTheDr01ds" has talked to you about this yet. Note that the WSL2
/proc/[pid]/stat format, although weird, does comply with the spec:
https://man7.org/linux/man-pages/man5/proc.5.html
I verified that you can fix this issue by replacing the first split in
line 427 with rsplit(')', 1) so it splits based on the last
parenthesis instead of the all parenthesis.
Before:
ppid = open(name).readlines()[0].split(')')[1].split()[1]
After:
ppid = open(name).readlines()[0].rsplit(')',1)[1].split()[1]
C:\Users\caleb>wsl --version
WSL version: 1.1.6.0
Kernel version: 5.15.90.1
WSLg version: 1.0.50
MSRDC version: 1.2.3770
Direct3D version: 1.608.2-61064218
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.19045.2728
➜ ufw git:(master) ufw --version
ufw 0.36
Copyright 2008-2015 Canonical Ltd.
➜ ufw git:(master) cat /proc/229/stat | cut -c -23
229 (Relay(230)) S 228
To manage notifications about this bug go to:
https://bugs.launchpad.net/ufw/+bug/2015645/+subscriptions
--
Mailing list: https://launchpad.net/~touch-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~touch-packages
More help : https://help.launchpad.net/ListHelp