Skip to content

expac hangs on a 'select' operation #4

Closed
X-dark opened this Issue Sep 5, 2012 · 3 comments

2 participants

@X-dark
X-dark commented Sep 5, 2012

I haven't been able to reproduce this on other computer but on one of them whenever I run expac (with any arguments) it never returns.

With strace, I see the process keeps doing a 'select' operation which timeout each time:

[...]
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=5322, si_status=0, si_utime=0, si_stime=0} ---
close(7)                                = 0
close(9)                                = 0
select(9, [6 8], [], NULL, {1, 0})      = 1 (in [8], left {0, 991841})
select(9, [8], [], NULL, {0, 0})        = 1 (in [8], left {0, 0})
read(8, "tru::1:1338890229:0:3:1:5\n", 1024) = 26
select(9, [6 8], [], NULL, {1, 0})      = 2 (in [6 8], left {0, 999996})
select(7, [6], [], NULL, {0, 0})        = 1 (in [6], left {0, 0})
read(6, "", 1024)                       = 0
close(6)                                = 0
select(9, [8], [], NULL, {0, 0})        = 1 (in [8], left {0, 0})
read(8, "", 1024)                       = 0
close(8)                                = 0
close(5)                                = 0
munmap(0x7f5a538f9000, 4096)            = 0
close(4)                                = 0
munmap(0x7f5a538f8000, 4096)            = 0
pipe([4, 5])                            = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f5a538fc9d0) = 5324
wait4(5324, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 5324
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=5324, si_status=0, si_utime=0, si_stime=0} ---
close(5)                                = 0
read(4, "gpg (GnuPG) 2.0.19\nlibgcrypt 1.5"..., 79) = 79
close(4)                                = 0
pipe([4, 5])                            = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
readlink("/proc/self/fd/1", "/dev/pts/1", 63) = 10
stat("/dev/pts/1", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
pipe([6, 7])                            = 0
fcntl(6, F_SETFD, FD_CLOEXEC)           = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f5a538fc9d0) = 5326
wait4(5326, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 5326
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=5326, si_status=0, si_utime=0, si_stime=0} ---
close(5)                                = 0
close(7)                                = 0
select(7, [4 6], [], NULL, {1, 0})      = 1 (in [6], left {0, 991749})
select(7, [6], [], NULL, {0, 0})        = 1 (in [6], left {0, 0})
read(6, "tru::1:1338890229:0:3:1:5\n", 1024) = 26
select(7, [4 6], [], NULL, {1, 0})      = 2 (in [4 6], left {0, 999996})
select(5, [4], [], NULL, {0, 0})        = 1 (in [4], left {0, 0})
read(4, "", 1024)                       = 0
close(4)                                = 0
select(7, [6], [], NULL, {0, 0})        = 1 (in [6], left {0, 0})
read(6, "", 1024)                       = 0
close(6)                                = 0
pipe([4, 5])                            = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f5a538fc9d0) = 5328
wait4(5328, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 5328
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=5328, si_status=0, si_utime=0, si_stime=0} ---
close(5)                                = 0
read(4, "gpg (GnuPG) 2.0.19\nlibgcrypt 1.5"..., 79) = 79
close(4)                                = 0
pipe([4, 5])                            = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
readlink("/proc/self/fd/1", "/dev/pts/1", 63) = 10
stat("/dev/pts/1", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
pipe([6, 7])                            = 0
fcntl(6, F_SETFD, FD_CLOEXEC)           = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f5a538fc9d0) = 5330
wait4(5330, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 5330
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=5330, si_status=0, si_utime=0, si_stime=0} ---
close(5)                                = 0
close(7)                                = 0
select(7, [4 6], [], NULL, {1, 0})      = 0 (Timeout)
select(7, [4 6], [], NULL, {1, 0})      = 0 (Timeout)
select(7, [4 6], [], NULL, {1, 0})      = 0 (Timeout)
select(7, [4 6], [], NULL, {1, 0})      = 0 (Timeout)
select(7, [4 6], [], NULL, {1, 0})      = 0 (Timeout)
select(7, [4 6], [], NULL, {1, 0})      = 0 (Timeout)
[...]

I'm running an uptodate Arch x86_64.

@falconindy
Owner

The 'select' is coming from gnupg, which might indicate a problem with your keyring. expac sets the pacman.conf equivalent of "SigLevel = DatabaseOptional PackageNever". I suggest looking to see if any of your repos are legitimately signed.

Strongly suspect this isn't anything that needs fixing in expac.

@X-dark
X-dark commented Sep 5, 2012

Thanks for the info. I am investigating it and will report back.

@X-dark
X-dark commented Sep 5, 2012

OK. It is happening whenever I have a repo with signed database enabled. If I disable database signature verification on [xyne] repo (only repo with signed db I use) everything works fine.

@falconindy falconindy closed this Dec 12, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.