Bug 894875

Summary: tmpwatch is removing PrivateTmp directories which are in use
Product: [Fedora] Fedora Reporter: Ronny Buchmann <ronny-rhbugzilla>
Component: systemdAssignee: systemd-maint
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 17CC: johannbg, lnykryn, metherid, msekleta, notting, plautrba, systemd-maint, vpavlin
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-01-14 18:33:45 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ronny Buchmann 2013-01-13 21:53:26 UTC
Description of problem:
Services malfunction after some days of inactivity (for example mysql)

Version-Release number of selected component (if applicable):
systemd-44-23.fc17
tmpwatch-2.10.3-2.fc17

How reproducible:
always

Steps to Reproduce:
1. start mysqld (systemctl start mysqld.service)
2. wait 10 days - /tmp/systemd-namespace-xxxxx is deleted
3. try to run a mysql query which writes to /tmp:
"Can't create/write to file '/tmp/#sql_696_0.MYI' (Errcode: 2)"

strace -e trace=file:
[pid 15889] lstat("/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=0, ...}) = 0
[pid 15889] lstat("/tmp/#sql_696_0.MYI", 0x7fb3579e07b0) = -1 ENOENT (No such file or directory)
[pid 15889] open("/tmp/#sql_696_0.MYI", O_RDWR|O_CREAT|O_EXCL|O_TRUNC|O_NOFOLLOW, 0660) = -1 ENOENT (No such file or directory)
[pid 15889] lstat("/tmp/#sql_696_0.MYI", 0x7fb3579e2e60) = -1 ENOENT (No such file or directory)
[pid 15889] unlink("/tmp/#sql_696_0.MYI") = -1 ENOENT (No such file or directory)

excerpt from /proc/<mysqld-pid>mountinfo:
121 86 253:1 /tmp/systemd-namespace-Ej9Z5G/private//deleted /tmp rw,relatime - ext4 /dev/mapper/ssdvg-rootlv rw,seclabel,data=ordered
122 86 253:1 /tmp/systemd-namespace-Ej9Z5G/private//deleted /var/tmp rw,relatime - ext4 /dev/mapper/ssdvg-rootlv rw,seclabel,data=ordered

So systemd and tmpwatch seem to not play well together.

A solution could be that systemd itself would touch all currently used namespace directories every day. That way tmpwatch could still remove old namespace directories.

Comment 1 Lennart Poettering 2013-01-14 18:33:45 UTC

*** This bug has been marked as a duplicate of bug 866693 ***