Bug 9434

Summary: filtetrigger blocks
Product: Mageia Reporter: Guillaume Rousse <guillomovitch>
Component: RPM PackagesAssignee: Guillaume Rousse <guillomovitch>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Normal CC: mageia
Version: Cauldron   
Target Milestone: ---   
Hardware: i586   
OS: Linux   
Whiteboard:
Source RPM: CVE:
Status comment:
Bug Depends on:    
Bug Blocks: 6954    
Attachments: Backtrace of two "stuck" httpd processes

Description Guillaume Rousse 2013-03-17 22:21:19 CET
The filetrigger used to restart apache when a new configuration file is installed blocks on systemctl process return:

root     19148  8.9  4.4 252732 133844 pts/1   S+   22:15   0:01              |               \_ /usr/bin/perl /sbin/urpme ampache
root     19149  0.0  0.0  32000  2008 pts/1    S+   22:15   0:00              |                   \_ /usr/bin/perl /var/lib/rpm/filetriggers/h
root     19150  0.0  0.0  20532   924 pts/1    S+   22:15   0:00              |                       \_ systemctl try-restart httpd.service

strace shows the following output:
 Process 19150 attached
restart_syscall(<... resuming interrupted call ...>

recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"l\4\1\0016\0\0\0\5\0\0\0\233\0\0\0\1\1o\0\"\0\0\0/org/fre"..., 2048}], msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 230
recvmsg(3, 0x7fff8eed34b0, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN}], 1, 4294967295) = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"l\4\1\1I\0\0\0\6\0\0\0\223\0\0\0\1\1o\0\31\0\0\0/org/fre"..., 2048}], msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 241
recvmsg(3, 0x7fff8eed34b0, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
close(3)                                = 0
exit_group(0)                           = ?
+++ exited with 0 +++


Reproducible: 

Steps to Reproduce:
Guillaume Rousse 2013-03-17 22:22:15 CET

Blocks: (none) => 6954

Comment 1 Colin Guthrie 2013-03-20 16:43:01 CET
I'll look at this.

Status: NEW => ASSIGNED
CC: (none) => mageia
Assignee: bugsquad => mageia

Comment 2 Guillaume Rousse 2013-03-25 21:33:41 CET
Fixed with latest package release.

Status: ASSIGNED => RESOLVED
Resolution: (none) => FIXED

Comment 3 Colin Guthrie 2013-03-25 21:36:06 CET
Nice :)

Assignee: mageia => guillomovitch

Comment 4 Colin Guthrie 2013-03-28 11:27:46 CET
Created attachment 3670 [details]
Backtrace of two "stuck" httpd processes

I was able to reproduce this here.

It seems to be stuck in APR shutdown routines.

I was able to do all the work here within the time period systemd waits to kill things.

Both processes look stuck in the same place, but I'm not sure this is a deadlock as such - I've seen it happen with just one process before.