[Bug 1982487] [NEW] apport fails with PermissionError for dump mode 2 in containers
Benjamin Drung
1982487 at bugs.launchpad.net
Thu Jul 21 13:03:27 UTC 2022
Public bug reported:
[Impact]
Apport will fail for processes with dump mode 2 inside of containers.
[Test plan]
Run following testcase script inside a LXC container:
```
#!/bin/sh
sudo rm -rf /var/crash/* /var/log/apport.log
sudo -u mail sh -c "ping 127.0.0.1 > /dev/null" &
sleep 0.3
killall -11 ping
sleep 0.3
cat /var/log/apport.log
```
apport.log for the affected version:
```
ERROR: apport (pid 6452) Thu Jul 21 12:59:45 2022: called for pid 6449, signal 11, core limit 0, dump mode 2
ERROR: apport (pid 6452) Thu Jul 21 12:59:45 2022: not creating core for pid with dump mode of 2
ERROR: apport (pid 6452) Thu Jul 21 12:59:45 2022: Unhandled exception:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport/report.py", line 681, in add_proc_info
self["ExecutablePath"] = _read_proc_link(
File "/usr/lib/python3/dist-packages/apport/report.py", line 92, in _read_proc_link
return os.readlink(path, dir_fd=dir_fd)
PermissionError: [Errno 13] Permission denied: 'exe'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/share/apport/apport", line 862, in <module>
info.add_proc_info(proc_pid_fd=proc_pid_fd)
File "/usr/lib/python3/dist-packages/apport/report.py", line 686, in add_proc_info
raise ValueError("not accessible")
ValueError: not accessible
ERROR: apport (pid 6452) Thu Jul 21 12:59:45 2022: pid: 6452, uid: 0, gid: 0, euid: 8, egid: 8
ERROR: apport (pid 6452) Thu Jul 21 12:59:45 2022: environment: environ({'LANG': 'C.UTF-8', 'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin', 'LISTEN_PID': '6452', 'LISTEN_FDS': '1', 'LISTEN_FDNAMES': 'connection', 'INVOCATION_ID': '1352c67b4a21480a9b35db8012dafb42', 'JOURNAL_STREAM': '8:29587491', 'SYSTEMD_EXEC_PID': '6452'})
```
The apport log should not show a Traceback.
[Other Info]
The autopkgtest for armhf are run inside a LXC container and some test
cases like test_crash_setuid_drop trigger this bug.
** Affects: apport
Importance: Undecided
Status: Triaged
** Affects: apport (Ubuntu)
Importance: Undecided
Status: Triaged
** Also affects: apport
Importance: Undecided
Status: New
** Changed in: apport
Milestone: None => 2.23.0
** Description changed:
[Impact]
Apport will fail for processes with dump mode 2 inside of containers.
[Test plan]
Run following testcase script inside a LXC container:
```
#!/bin/sh
sudo rm -rf /var/crash/* /var/log/apport.log
sudo -u mail sh -c "ping 127.0.0.1 > /dev/null" &
sleep 0.3
killall -11 ping
sleep 0.3
cat /var/log/apport.log
```
apport.log for the affected version:
```
ERROR: apport (pid 6452) Thu Jul 21 12:59:45 2022: called for pid 6449, signal 11, core limit 0, dump mode 2
ERROR: apport (pid 6452) Thu Jul 21 12:59:45 2022: not creating core for pid with dump mode of 2
ERROR: apport (pid 6452) Thu Jul 21 12:59:45 2022: Unhandled exception:
Traceback (most recent call last):
- File "/usr/lib/python3/dist-packages/apport/report.py", line 681, in add_proc_info
- self["ExecutablePath"] = _read_proc_link(
- File "/usr/lib/python3/dist-packages/apport/report.py", line 92, in _read_proc_link
- return os.readlink(path, dir_fd=dir_fd)
+ File "/usr/lib/python3/dist-packages/apport/report.py", line 681, in add_proc_info
+ self["ExecutablePath"] = _read_proc_link(
+ File "/usr/lib/python3/dist-packages/apport/report.py", line 92, in _read_proc_link
+ return os.readlink(path, dir_fd=dir_fd)
PermissionError: [Errno 13] Permission denied: 'exe'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
- File "/usr/share/apport/apport", line 862, in <module>
- info.add_proc_info(proc_pid_fd=proc_pid_fd)
- File "/usr/lib/python3/dist-packages/apport/report.py", line 686, in add_proc_info
- raise ValueError("not accessible")
+ File "/usr/share/apport/apport", line 862, in <module>
+ info.add_proc_info(proc_pid_fd=proc_pid_fd)
+ File "/usr/lib/python3/dist-packages/apport/report.py", line 686, in add_proc_info
+ raise ValueError("not accessible")
ValueError: not accessible
ERROR: apport (pid 6452) Thu Jul 21 12:59:45 2022: pid: 6452, uid: 0, gid: 0, euid: 8, egid: 8
ERROR: apport (pid 6452) Thu Jul 21 12:59:45 2022: environment: environ({'LANG': 'C.UTF-8', 'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin', 'LISTEN_PID': '6452', 'LISTEN_FDS': '1', 'LISTEN_FDNAMES': 'connection', 'INVOCATION_ID': '1352c67b4a21480a9b35db8012dafb42', 'JOURNAL_STREAM': '8:29587491', 'SYSTEMD_EXEC_PID': '6452'})
```
The apport log should not show a Traceback.
+
+ [Other Info]
+
+ The autopkgtest for armhf are run inside a LXC container and some test
+ cases like test_crash_setuid_drop trigger this bug.
** Changed in: apport (Ubuntu)
Status: New => Triaged
** Changed in: apport
Status: New => Triaged
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to apport in Ubuntu.
https://bugs.launchpad.net/bugs/1982487
Title:
apport fails with PermissionError for dump mode 2 in containers
Status in Apport:
Triaged
Status in apport package in Ubuntu:
Triaged
Bug description:
[Impact]
Apport will fail for processes with dump mode 2 inside of containers.
[Test plan]
Run following testcase script inside a LXC container:
```
#!/bin/sh
sudo rm -rf /var/crash/* /var/log/apport.log
sudo -u mail sh -c "ping 127.0.0.1 > /dev/null" &
sleep 0.3
killall -11 ping
sleep 0.3
cat /var/log/apport.log
```
apport.log for the affected version:
```
ERROR: apport (pid 6452) Thu Jul 21 12:59:45 2022: called for pid 6449, signal 11, core limit 0, dump mode 2
ERROR: apport (pid 6452) Thu Jul 21 12:59:45 2022: not creating core for pid with dump mode of 2
ERROR: apport (pid 6452) Thu Jul 21 12:59:45 2022: Unhandled exception:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport/report.py", line 681, in add_proc_info
self["ExecutablePath"] = _read_proc_link(
File "/usr/lib/python3/dist-packages/apport/report.py", line 92, in _read_proc_link
return os.readlink(path, dir_fd=dir_fd)
PermissionError: [Errno 13] Permission denied: 'exe'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/share/apport/apport", line 862, in <module>
info.add_proc_info(proc_pid_fd=proc_pid_fd)
File "/usr/lib/python3/dist-packages/apport/report.py", line 686, in add_proc_info
raise ValueError("not accessible")
ValueError: not accessible
ERROR: apport (pid 6452) Thu Jul 21 12:59:45 2022: pid: 6452, uid: 0, gid: 0, euid: 8, egid: 8
ERROR: apport (pid 6452) Thu Jul 21 12:59:45 2022: environment: environ({'LANG': 'C.UTF-8', 'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin', 'LISTEN_PID': '6452', 'LISTEN_FDS': '1', 'LISTEN_FDNAMES': 'connection', 'INVOCATION_ID': '1352c67b4a21480a9b35db8012dafb42', 'JOURNAL_STREAM': '8:29587491', 'SYSTEMD_EXEC_PID': '6452'})
```
The apport log should not show a Traceback.
[Other Info]
The autopkgtest for armhf are run inside a LXC container and some test
cases like test_crash_setuid_drop trigger this bug.
To manage notifications about this bug go to:
https://bugs.launchpad.net/apport/+bug/1982487/+subscriptions
More information about the foundations-bugs
mailing list