From: Maynard J. <may...@us...> - 2012-07-30 23:05:49
|
On 07/30/2012 03:55 AM, Avi Gozlan wrote: > Hello again, > > I did not get any response for the below issue. I would be thankful if any OProfile expert could take a look. Avi, It seems that somehow oprofile has gotten into a weird state on your system. I suggest doing the following: 1. Reboot the system 2. rm /root/.oprofile/daemonrc 3. rm -rf /var/lib/oprofile 4. Setup and run oprofile again. If these steps don't help, it may be best to ask for help on IRC at #oprofile (see http://oprofile.sourceforge.net/irc/). Sometimes it's easier to debug things like this "live" versus via email. -Maynard > > Thanks, > > Avi > > -----Original Message----- > From: Avi Gozlan > Sent: Thursday, July 19, 2012 3:22 PM > To: opr...@li... > Cc: Avi Gozlan > Subject: Failed to open profile device: Device or resource busy > > Hi, > > I'm using OProfile 0.9.7 on a Nhealem machine (8-core, cpu family = 6, model=26) booting as x86_64. > > The first run of 'opcontrol --start' and then 'opcontrol --shutdown' succeeds. However, if trying then to sample again using 'opcontrol --start' I get a failure with the following message: > > Using 2.6+ OProfile kernel interface. > Reading module info. > Failed to open profile device: Device or resource busy Couldn't start oprofiled. > Check the log file "/var/lib/oprofile/samples/oprofiled.log" and kernel syslog > > Following is the content of /var/lib/oprofile/samples/oprofiled.log: > > oprofiled started Thu Jul 19 15:02:33 2012 kernel pointer size: 8 > > dmesg Oprofile related output: > > oprofile: using NMI interrupt > > Various utilities used to unload the kernel module (opcontrol --deinit, rmmod oprofile) fail. For 'opcontrol --deinit' I get: > > umount: /dev/oprofile: device is busy > umount: /dev/oprofile: device is busy > Unloading oprofile module > ERROR: Module oprofile is in use > > After about 5 minutes apparently the driver becomes free again as 'opcontrol --start' succeeds. During the long time beforehand this operation fails. > > The machine has only 2G RAM. Can this explain the problem? How? > > Output of 'strace opcontrol --start': > > ... > open("/dev/oprofile/1/unit_mask", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = > 3 > fcntl64(1, F_GETFD) = 0 > fcntl64(1, F_DUPFD, 10) = 10 > fcntl64(1, F_GETFD) = 0 > fcntl64(10, F_SETFD, FD_CLOEXEC) = 0 > dup2(3, 1) = 1 > close(3) = 0 > write(1, "15\n", 3) = 3 > dup2(10, 1) = 1 > fcntl64(10, F_GETFD) = 0x1 (flags FD_CLOEXEC) > close(10) = 0 > pipe([3, 4]) = 0 > rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, chil > d_tidptr=0xf7e2a988) = 23966 > rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigaction(SIGCHLD, {0x807a420, [], 0}, {0x807a420, [], 0}, 8) = 0 > close(4) = 0 > read(3, "0\n", 128) = 2 > read(3, "", 128) = 0 > close(3) = 0 > rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigaction(SIGINT, {0x807afe0, [], 0}, {SIG_DFL}, 8) = 0 waitpid(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 23966 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 > --- SIGCHLD (Child exited) @ 0 (0) --- > waitpid(-1, 0xffb0ef78, WNOHANG) = -1 ECHILD (No child processes) > sigreturn() = ? (mask now []) > rt_sigaction(SIGINT, {SIG_DFL}, {0x807afe0, [], 0}, 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 ... > rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [INT CHLD], 8) = 0 rt_sigprocmask(SIG_SETMASK, [INT CHLD], NULL, 8) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, chil > d_tidptr=0xf7e2a988) = 23969 > rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigaction(SIGINT, {0x807afe0, [], 0}, {SIG_DFL}, 8) = 0 waitpid(-1, Failed to open profile device: Device or resource busy Using 2.6+ OProfile kernel interface. > Reading module info. > [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0) = 23969 ... > > I would be thankful if you can shel some light on this issue or suggest a workaround. > > Thanks, > > Avi > > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > oprofile-list mailing list > opr...@li... > https://lists.sourceforge.net/lists/listinfo/oprofile-list > |