Bug 155897
Summary: | kernel badness during rpm transactions | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Dan Williams <dcbw> | ||||
Component: | kernel | Assignee: | Kernel Maintainer List <kernel-maint> | ||||
Status: | CLOSED RAWHIDE | QA Contact: | Brian Brock <bbrock> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | medium | ||||||
Version: | rawhide | CC: | dwalsh, wtogami | ||||
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: | 2005-07-27 04:58:05 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Bug Depends On: | |||||||
Bug Blocks: | 136450 | ||||||
Attachments: |
|
Description
Dan Williams
2005-04-25 15:04:52 UTC
This looks like a process transition is not happening can you attach the AVC messages from you log files. Dan Ok, I can only trigger this issue with "strace -f" as in: strace -f /bin/rpm -Uhvvvv /mnt/redhat/dist/fc4/java-1.4.2-gcj-compat/1.4.2.0-40jpp_18rh/i386/java-1.4.2-gcj-compat-devel-1.4.2.0-40jpp_18rh.i386.rpm --force It does not happen when using plain "strace". Created attachment 113634 [details]
avc messages from /var/log/messages
Relevant RPM debug output with "vvvv" is: D: install: %post(java-1.4.2-gcj-compat-devel-1.4.2.0-40jpp_18rh.i386) asynchronous scriptlet start D: install: %post(java-1.4.2-gcj-compat-devel-1.4.2.0-40jpp_18rh.i386) execv(/bin/sh) pid 19036 D: install: waitpid(19036) rc 19036 status ff00 secs 0.002 error: %post(java-1.4.2-gcj-compat-devel-1.4.2.0-40jpp_18rh.i386) scriptlet failed, exit status 255 relevant strace output of the rpm transaction with "strace" (no -f) is: write(2, "D: ", 3D: ) = 3 write(2, " install: %post(java-1.4.2-gcj-"..., 99 install: %post(java-1.4.2-gcj-compat-devel-1.4.2.0-40jpp_18rh.i386) asynchronous scriptlet start ) = 99 stat64("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat64("/var/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat64("/var/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=4096, ...}) = 0 time(NULL) = 1114442251 open("/var/tmp/rpm-tmp.23817", O_RDWR|O_CREAT|O_TRUNC|O_EXCL|O_LARGEFILE, 0666) = 19 fcntl64(19, F_SETFD, FD_CLOEXEC) = 0 stat64("/var/tmp/rpm-tmp.23817", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0 fstat64(19, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7bcf000 poll([{fd=19, events=POLLOUT, revents=POLLOUT}], 1, 2000) = 1 write(19, "set -x\n\nupdate-alternatives \\\n "..., 1419) = 1419 close(19) = 0 munmap(0xb7bcf000, 8192) = 0 dup(1) = 19 rt_sigprocmask(SIG_SETMASK, NULL, [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0 rt_sigprocmask(SIG_SETMASK, NULL, [CHLD], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGCHLD, {0xb840d8, [], SA_RESTORER|SA_SIGINFO, 0x878310}, {SIG_DFL}, 8) = 0 pipe([20, 21]) = 0 rt_sigprocmask(SIG_SETMASK, NULL, [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7f89a28) = 19042 rt_sigprocmask(SIG_SETMASK, NULL, [CHLD], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_SETMASK, NULL, [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0 close(20) = 0 close(21) = 0 rt_sigprocmask(SIG_SETMASK, NULL, [CHLD], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 futex(0x9ab2b40, FUTEX_WAIT, 1, NULLD: install: %post(java-1.4.2-gcj-compat-devel-1.4.2.0-40jpp_18rh.i386) execv(/bin/sh) pid 19042 ) = -1 EINTR (Interrupted system call) --- SIGCHLD (Child exited) @ 0 (0) --- waitpid(0, [{WIFEXITED(s) && WEXITSTATUS(s) == 255}], WNOHANG) = 19042 futex(0x9ab2b40, FUTEX_WAKE, 1) = 0 waitpid(0, 0xbf9a067c, WNOHANG) = -1 ECHILD (No child processes) rt_sigreturn(0x9ab2b40) = -1 EINTR (Interrupted system call) rt_sigprocmask(SIG_SETMASK, NULL, [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0 futex(0x9ab2b24, FUTEX_WAKE, 1) = 0 rt_sigprocmask(SIG_SETMASK, NULL, [CHLD], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_SETMASK, NULL, [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0 close(-1) = -1 EBADF (Bad file descriptor) close(-1) = -1 EBADF (Bad file descriptor) rt_sigprocmask(SIG_SETMASK, NULL, [CHLD], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigaction(SIGCHLD, {SIG_DFL}, NULL, 8) = 0 write(2, "D: ", 3D: ) = 3 write(2, " install: waitpid(19042) rc 190"..., 58 install: waitpid(19042) rc 19042 status ff00 secs 0.003 ) = 58 write(2, "error: ", 7error: ) = 7 write(2, "%post(java-1.4.2-gcj-compat-deve"..., 93%post(java-1.4.2-gcj-compat-devel-1.4.2.0-40jpp_18rh.i386) scriptlet failed, exit status 255 ) = 93 relevant strace of the rpm transaction _with_ the "-f" is: write(2, "D: ", 3D: ) = 3 write(2, " install: %post(java-1.4.2-gcj-"..., 99 install: %post(java-1.4.2-gcj-compat-devel-1.4.2.0-40jpp_18rh.i386) asynchronous scriptlet start ) = 99 stat64("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat64("/var/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat64("/var/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=4096, ...}) = 0 time(NULL) = 1114442319 open("/var/tmp/rpm-tmp.94618", O_RDWR|O_CREAT|O_TRUNC|O_EXCL|O_LARGEFILE, 0666) = 19 fcntl64(19, F_SETFD, FD_CLOEXEC) = 0 stat64("/var/tmp/rpm-tmp.94618", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0 fstat64(19, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7b71000 poll([{fd=19, events=POLLOUT, revents=POLLOUT}], 1, 2000) = 1 write(19, "set -x\n\nupdate-alternatives \\\n "..., 1419) = 1419 close(19) = 0 munmap(0xb7b71000, 8192) = 0 dup(1) = 19 rt_sigprocmask(SIG_SETMASK, NULL, [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0 rt_sigprocmask(SIG_SETMASK, NULL, [CHLD], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGCHLD, {0xb840d8, [], SA_RESTORER|SA_SIGINFO, 0x878310}, {SIG_DFL}, 8) = 0 pipe([20, 21]) = 0 rt_sigprocmask(SIG_SETMASK, NULL, [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0 clone(Process 19045 attached child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7f2ba28) = 19045 [pid 19044] rt_sigprocmask(SIG_SETMASK, NULL, [CHLD], 8) = 0 [pid 19045] +++ killed by SIGSEGV +++ rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 --- SIGCHLD (Child exited) @ 0 (0) --- waitpid(0, [{WIFSIGNALED(s) && WTERMSIG(s) == SIGSEGV}], WNOHANG) = 19045 waitpid(0, 0xbff4268c, WNOHANG) = -1 ECHILD (No child processes) rt_sigreturn(0x2) = 0 rt_sigprocmask(SIG_SETMASK, NULL, [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0 close(20) = 0 close(21) = 0 rt_sigprocmask(SIG_SETMASK, NULL, [CHLD], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_SETMASK, NULL, [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0 close(-1) = -1 EBADF (Bad file descriptor) close(-1) = -1 EBADF (Bad file descriptor) rt_sigprocmask(SIG_SETMASK, NULL, [CHLD], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigaction(SIGCHLD, {SIG_DFL}, NULL, 8) = 0 write(2, "D: ", 3D: ) = 3 write(2, " install: waitpid(19045) rc 190"..., 55 install: waitpid(19045) rc 19045 status b secs 0.000 ) = 55 write(2, "error: ", 7error: ) = 7 write(2, "%post(java-1.4.2-gcj-compat-deve"..., 91%post(java-1.4.2-gcj-compat-devel-1.4.2.0-40jpp_18rh.i386) scriptlet failed, exit status 0 ) = 91 Interesting that the exit status of this one is 0 while before it was 255? The transaction still fails in both cases. This is most definitely a labeling problem. Need to touch /.autorelabel reboot. closing as it works now |