I'm using Radiator 2.14.1 on Solaris 2.7 with perl 5.005_02. I've got a scenario where radiator will occasionally hang. It stops writing logs, stops authentication, everything. A few times it happened, I was not around, and my colleague had to reboot the entire box to make the radiator work again. Today it happened when I was here, and what I did was a truss on the hung radiator process. It seems that it was stuck in some sort of loop, attempting to read some data from file descriptor 7, and then going back and forth (using seek). I've attached to this message a section of the truss output, showing the looping. The problem is I don't know which file it was trying to read from. I then tried to send a SIGHUP to the radiusd process, and it logged the fact that it was restarting. This showed up in the truss output too, where it showed the HUP signal, and then an open to the logfile, on descriptor 9, writing the log entry, and closing descriptor 9. However, it went on with the read from descriptor 7, and a loop. I tried kill it with SIGTERM; this appeared in the truss output, but the process did not die. I finally had to SIGKILL it. I then restarted radiusd under truss, and it worked normally. I was monitoring the truss output, and it seems to me that radiusd opens and closes many files, and it gets assigned descriptor 7 for each of these files (/etc/passwd, /etc/shadow, /etc/group, logs, and the DBM session database, online.dir and online.pag). So my assumption now is that it was one of these files that radiusd tried to read from, and got into a loop. Has anyone experienced this type of behaviour from radiator, and if so what was the problem, and how did you solve it? -- Anand
truss: non-existent process ignored: -f llseek(7, 23552, SEEK_SET) = 23552 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 24576, SEEK_SET) = 24576 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 25600, SEEK_SET) = 25600 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 26624, SEEK_SET) = 26624 read(7, "\01003EB03BE03AB038203 n".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 fstat64(7, 0xFFBEF550) = 0 llseek(7, 23552, SEEK_SET) = 23552 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 24576, SEEK_SET) = 24576 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 25600, SEEK_SET) = 25600 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 26624, SEEK_SET) = 26624 read(7, "\01003EB03BE03AB038203 n".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 fstat64(7, 0xFFBEF550) = 0 llseek(7, 23552, SEEK_SET) = 23552 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 24576, SEEK_SET) = 24576 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 25600, SEEK_SET) = 25600 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 26624, SEEK_SET) = 26624 read(7, "\01003EB03BE03AB038203 n".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 fstat64(7, 0xFFBEF550) = 0 llseek(7, 23552, SEEK_SET) = 23552 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 24576, SEEK_SET) = 24576 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 25600, SEEK_SET) = 25600 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 26624, SEEK_SET) = 26624 read(7, "\01003EB03BE03AB038203 n".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 fstat64(7, 0xFFBEF550) = 0 llseek(7, 23552, SEEK_SET) = 23552 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 24576, SEEK_SET) = 24576 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 25600, SEEK_SET) = 25600 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 26624, SEEK_SET) = 26624 read(7, "\01003EB03BE03AB038203 n".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 fstat64(7, 0xFFBEF550) = 0 llseek(7, 23552, SEEK_SET) = 23552 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 24576, SEEK_SET) = 24576 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 25600, SEEK_SET) = 25600 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 26624, SEEK_SET) = 26624 read(7, "\01003EB03BE03AB038203 n".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 fstat64(7, 0xFFBEF550) = 0 llseek(7, 23552, SEEK_SET) = 23552 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 24576, SEEK_SET) = 24576 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 25600, SEEK_SET) = 25600 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 26624, SEEK_SET) = 26624 read(7, "\01003EB03BE03AB038203 n".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 fstat64(7, 0xFFBEF550) = 0 llseek(7, 23552, SEEK_SET) = 23552 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 24576, SEEK_SET) = 24576 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 25600, SEEK_SET) = 25600 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 26624, SEEK_SET) = 26624 read(7, "\01003EB03BE03AB038203 n".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 fstat64(7, 0xFFBEF550) = 0 llseek(7, 23552, SEEK_SET) = 23552 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 24576, SEEK_SET) = 24576 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 25600, SEEK_SET) = 25600 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 26624, SEEK_SET) = 26624 read(7, "\01003EB03BE03AB038203 n".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 fstat64(7, 0xFFBEF550) = 0 llseek(7, 23552, SEEK_SET) = 23552 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 24576, SEEK_SET) = 24576 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 25600, SEEK_SET) = 25600 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 26624, SEEK_SET) = 26624 read(7, "\01003EB03BE03AB038203 n".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 fstat64(7, 0xFFBEF550) = 0 llseek(7, 23552, SEEK_SET) = 23552 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 24576, SEEK_SET) = 24576 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 25600, SEEK_SET) = 25600 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 26624, SEEK_SET) = 26624 read(7, "\01003EB03BE03AB038203 n".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 fstat64(7, 0xFFBEF550) = 0 llseek(7, 23552, SEEK_SET) = 23552 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 24576, SEEK_SET) = 24576 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 25600, SEEK_SET) = 25600 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 26624, SEEK_SET) = 26624 read(7, "\01003EB03BE03AB038203 n".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 fstat64(7, 0xFFBEF550) = 0 llseek(7, 23552, SEEK_SET) = 23552 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 24576, SEEK_SET) = 24576 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 25600, SEEK_SET) = 25600 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 26624, SEEK_SET) = 26624 read(7, "\01003EB03BE03AB038203 n".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 fstat64(7, 0xFFBEF550) = 0 llseek(7, 23552, SEEK_SET) = 23552 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 24576, SEEK_SET) = 24576 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 25600, SEEK_SET) = 25600 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 26624, SEEK_SET) = 26624 read(7, "\01003EB03BE03AB038203 n".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 fstat64(7, 0xFFBEF550) = 0 llseek(7, 23552, SEEK_SET) = 23552 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 24576, SEEK_SET) = 24576 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 25600, SEEK_SET) = 25600 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 26624, SEEK_SET) = 26624 read(7, "\01003EB03BE03AB038203 n".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 fstat64(7, 0xFFBEF550) = 0 llseek(7, 23552, SEEK_SET) = 23552 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 24576, SEEK_SET) = 24576 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 25600, SEEK_SET) = 25600 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 26624, SEEK_SET) = 26624 read(7, "\01003EB03BE03AB038203 n".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 fstat64(7, 0xFFBEF550) = 0 llseek(7, 23552, SEEK_SET) = 23552 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 24576, SEEK_SET) = 24576 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 25600, SEEK_SET) = 25600 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 26624, SEEK_SET) = 26624 read(7, "\01003EB03BE03AB038203 n".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024 llseek(7, 22528, SEEK_SET) = 22528 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 fstat64(7, 0xFFBEF550) = 0 llseek(7, 23552, SEEK_SET) = 23552 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 24576, SEEK_SET) = 24576 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 25600, SEEK_SET) = 25600 read(7, "\0\0\0\0\0\0\0\0\0\0\0\0".., 1024) = 1024 llseek(7, 26624, SEEK_SET) = 26624 read(7, "\01003EB03BE03AB038203 n".., 1024) = 1024 llseek(7, 6144, SEEK_SET) = 6144 read(7, "\01C03EF03C603B5038F03 y".., 1024) = 1024