Insight Control for Linux
cancel
Showing results for 
Search instead for 
Did you mean: 

hpsum not running on livecd on dl380g7

Paulo Pereira Vingada
Occasional Contributor

hpsum not running on livecd on dl380g7

I have a RHEL5.5 64 bits livecd (made it myself with livecd-tools-014-8.el5.rf from epel) that I use to prepare a server for a RHEL/ESX installation.
I have all necessary dependencies on the LiveCD. When I launch hpsum -s -dryrun -b bp000870.xml once copied everything on a temporary disk this runs forever until I cancel operation. The strace output is :
read(5, 0xff852670, 16) = -1 EAGAIN (Resource temporarily unavailable)
clock_gettime(CLOCK_MONOTONIC, {25007, 760141630}) = 0
write(9, "Manager.cpp[102]", 16) = 16
write(9, ": ", 2) = 2
write(9, "Starting Inventory", 18) = 18
write(9, "\r\n", 2) = 2
pipe([13, 14]) = 0
fcntl64(13, F_SETFD, FD_CLOEXEC) = 0
fcntl64(14, F_SETFD, FD_CLOEXEC) = 0
write(6, "\0", 1) = 1
pipe([15, 16]) = 0
fcntl64(15, F_SETFD, FD_CLOEXEC) = 0
fcntl64(16, F_SETFD, FD_CLOEXEC) = 0
fcntl64(15, F_SETFD, FD_CLOEXEC) = 0
fcntl64(16, F_SETFD, FD_CLOEXEC) = 0
pipe([17, 18]) = 0
fcntl64(17, F_SETFD, FD_CLOEXEC) = 0
fcntl64(18, F_SETFD, FD_CLOEXEC) = 0
pipe([19, 20]) = 0
fcntl64(19, F_SETFD, FD_CLOEXEC) = 0
fcntl64(20, F_SETFD, FD_CLOEXEC) = 0
pipe([21, 22]) = 0
fcntl64(21, F_SETFD, FD_CLOEXEC) = 0
fcntl64(22, F_SETFD, FD_CLOEXEC) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0) = 5052
fcntl64(15, F_GETFL) = 0 (flags O_RDONLY)
fcntl64(15, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
close(14) = 0
close(17) = 0
fcntl64(18, F_GETFL) = 0x1 (flags O_WRONLY)
fcntl64(18, F_SETFL, O_WRONLY|O_NONBLOCK) = 0
close(20) = 0
fcntl64(19, F_GETFL) = 0 (flags O_RDONLY)
fcntl64(19, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
close(22) = 0
fcntl64(21, F_GETFL) = 0 (flags O_RDONLY)
fcntl64(21, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
select(1024, [13], NULL, NULL, {5, 0}) = 1 (in [13], left {5, 0})
read(13, "", 1) = 0
close(13) = 0
clock_gettime(CLOCK_MONOTONIC, {25007, 762503630}) = 0
clock_gettime(CLOCK_MONOTONIC, {25007, 762539630}) = 0
select(22, [5 12 15 19 21], [], [], NULL) = 1 (in [5])
read(5, "\0", 16) = 1
read(5, 0xff852670, 16) = -1 EAGAIN (Resource temporarily unavailable)
clock_gettime(CLOCK_MONOTONIC, {25007, 762726630}) = 0
clock_gettime(CLOCK_MONOTONIC, {25007, 762762630}) = 0
select(22, [5 12 15 19 21], [], [], NULL) = ? ERESTARTNOHAND (To be restarted)

It works like a charm when the operating system rhel55 64bits has been installed (but I MUST do it with my livecd)

the kernel boot options are :
initrd=initrd0.img root=CDLABEL=LiveCDLCI-6.1 rootfstype=iso9660 ro quiet liveimg live_ram ide=nodma ide=noraid n
opat pnpbios=off vga=791 BOOT_IMAGE=vmlinuz0

Thanks for your help
2 REPLIES
Matti_Kurkela
Honored Contributor

Re: hpsum not running on livecd on dl380g7

Here are the parts in your strace output that look like errors:

> read(5, 0xff852670, 16) = -1 EAGAIN (Resource temporarily unavailable)
[...]
> read(5, "\0", 16) = 1
> read(5, 0xff852670, 16) = -1 EAGAIN (Resource temporarily unavailable)
[...]
> select(22, [5 12 15 19 21], [], [], NULL) = ? ERESTARTNOHAND (To be restarted)

Curiously, it seems that file descriptor number 5 is involved each time. I wonder what it's about?

It looks like the program is using that file descriptor to either read something, or to communicate with something. But looks like it isn't getting the results it's expecting.

If you still have the whole strace output available, please try to find the line where the file descriptor 5 is initialized. It might be an open() system call, or it might be socket(), pipe(), or perhaps something else entirely.

If it's open() or socket(), it would look like this in the strace output:

open() = 5

socket() = 5

If it's a pipe, it might look like this:

pipe([x,y]) = 0
where x and y are file descriptor numbers; one of those would be 5.

If file descriptor 5 is initialized with open(), the filename should be mentioned in the open() system call. But if socket() or pipe() is used, it would be necessary to see what happens _after_ those system calls: is a socket used to connect to something or listen for incoming connections? What process is in the other end of the pipe?

Without this information, your strace output won't be very useful.

MK
MK
Paulo Pereira Vingada
Occasional Contributor

Re: hpsum not running on livecd on dl380g7

I have the output of the all strace (attachment) I have tried to know what's behind the 'read(X' without any chance using lsof do you have any idea ?