Lubomir Petrik - Sun Microsystems
2007-May-09 13:28 UTC
[dtrace-discuss] Problem: PID provider can''t see certain user functions on Solaris 10
Hi, we are experiencing following problem. We have a process on a non-global zone and we want to monitor it from the global zone using DTrace. However we can''t since DTrace does not recognize certain user functions. Process on non-global zone root at global-zone> dtrace -n ''pid2713:::entry { @[probefunc] = count() }'' dtrace: description ''pid2713:::entry '' matched 5866 probes ^C dequeue 1 ... mutex_unlock 191 However issuing following command fails: root at global-zone> dtrace -n ''pid2713::sge_log:entry { }'' dtrace: invalid probe specifier pid2713::sge_log:entry {}: probe description pid2713::sge_log:entry does not match any probes sge_log for sure exits (verified with nm)! When running same command on the same process (this time process is started on the global zone) , DTrace does not report any errors and reports sge_log entry as expected. I tried it on Solaris 10U1 and U2 with the same result. At first I though this might have to do something with the permissions however as Casper pointed out this should not be the case. Is this a known bug or limitation? If not any idea why are we experiencing this behavior? Thanks in advance, Lubos.
Adam Leventhal
2007-May-09 17:05 UTC
[dtrace-discuss] Problem: PID provider can''t see certain user functions on Solaris 10
Hi Lubos, This is surprising behavior. Can you try this? # echo sge_log=K | mdb -p 2713 Also, I''d be interested to see the result of your dtrace invocation with the DTRACE_DEBUG environment variabl set (send it privately since that will generate a lot of output). Adam On Wed, May 09, 2007 at 03:28:35PM +0200, Lubomir Petrik - Sun Microsystems wrote:> Hi, > we are experiencing following problem. We have a process on a non-global > zone and we want to monitor it from the global zone using DTrace. > However we can''t since DTrace does not recognize certain user functions. > > Process on non-global zone > root at global-zone> dtrace -n ''pid2713:::entry { @[probefunc] = count() }'' > dtrace: description ''pid2713:::entry '' matched 5866 probes > ^C > dequeue 1 > ... > mutex_unlock 191 > > > However issuing following command fails: > root at global-zone> dtrace -n ''pid2713::sge_log:entry { }'' > dtrace: invalid probe specifier pid2713::sge_log:entry {}: probe > description pid2713::sge_log:entry does not match any probes > > sge_log for sure exits (verified with nm)! > > > > When running same command on the same process (this time process is > started on the global zone) , DTrace does not report any errors and > reports sge_log entry as expected. I tried it on Solaris 10U1 and U2 > with the same result. At first I though this might have to do something > with the permissions however as Casper pointed out this should not be > the case. > > Is this a known bug or limitation? If not any idea why are we > experiencing this behavior? > > Thanks in advance, > Lubos. > _______________________________________________ > dtrace-discuss mailing list > dtrace-discuss at opensolaris.org-- Adam Leventhal, Solaris Kernel Development http://blogs.sun.com/ahl
Adam Leventhal
2007-May-17 20:09 UTC
[dtrace-discuss] Problem: PID provider can''t see certain user functions on Solaris 10
The problem is that the executable that you''re trying to trace is being hosted by NFS in the local zone. The global zone isn''t current able to open or access NFS mounted files from a local zone due to a limitation in the zones infrastructure. This is a known issue, but I don''t know the status of a fix. Adam On Wed, May 09, 2007 at 03:28:35PM +0200, Lubomir Petrik - Sun Microsystems wrote:> Hi, > we are experiencing following problem. We have a process on a non-global > zone and we want to monitor it from the global zone using DTrace. > However we can''t since DTrace does not recognize certain user functions. > > Process on non-global zone > root at global-zone> dtrace -n ''pid2713:::entry { @[probefunc] = count() }'' > dtrace: description ''pid2713:::entry '' matched 5866 probes > ^C > dequeue 1 > ... > mutex_unlock 191 > > > However issuing following command fails: > root at global-zone> dtrace -n ''pid2713::sge_log:entry { }'' > dtrace: invalid probe specifier pid2713::sge_log:entry {}: probe > description pid2713::sge_log:entry does not match any probes > > sge_log for sure exits (verified with nm)! > > > > When running same command on the same process (this time process is > started on the global zone) , DTrace does not report any errors and > reports sge_log entry as expected. I tried it on Solaris 10U1 and U2 > with the same result. At first I though this might have to do something > with the permissions however as Casper pointed out this should not be > the case. > > Is this a known bug or limitation? If not any idea why are we > experiencing this behavior? > > Thanks in advance, > Lubos. > _______________________________________________ > dtrace-discuss mailing list > dtrace-discuss at opensolaris.org-- Adam Leventhal, Solaris Kernel Development http://blogs.sun.com/ahl
Lubomir Petrik - Sun Microsystems
2007-May-18 06:47 UTC
[dtrace-discuss] Problem: PID provider can''t see certain user functions on Solaris 10
Hi Adam, you''re right! Once I moved the binary to a local filesystem, DTrace was working again. Thank you very much for identifying the problem, Lubos. Adam Leventhal wrote:> The problem is that the executable that you''re trying to trace is being > hosted by NFS in the local zone. The global zone isn''t current able to > open or access NFS mounted files from a local zone due to a limitation > in the zones infrastructure. This is a known issue, but I don''t know the > status of a fix. > > Adam > > On Wed, May 09, 2007 at 03:28:35PM +0200, Lubomir Petrik - Sun Microsystems wrote: > >> Hi, >> we are experiencing following problem. We have a process on a non-global >> zone and we want to monitor it from the global zone using DTrace. >> However we can''t since DTrace does not recognize certain user functions. >> >> Process on non-global zone >> root at global-zone> dtrace -n ''pid2713:::entry { @[probefunc] = count() }'' >> dtrace: description ''pid2713:::entry '' matched 5866 probes >> ^C >> dequeue 1 >> ... >> mutex_unlock 191 >> >> >> However issuing following command fails: >> root at global-zone> dtrace -n ''pid2713::sge_log:entry { }'' >> dtrace: invalid probe specifier pid2713::sge_log:entry {}: probe >> description pid2713::sge_log:entry does not match any probes >> >> sge_log for sure exits (verified with nm)! >> >> >> >> When running same command on the same process (this time process is >> started on the global zone) , DTrace does not report any errors and >> reports sge_log entry as expected. I tried it on Solaris 10U1 and U2 >> with the same result. At first I though this might have to do something >> with the permissions however as Casper pointed out this should not be >> the case. >> >> Is this a known bug or limitation? If not any idea why are we >> experiencing this behavior? >> >> Thanks in advance, >> Lubos. >> _______________________________________________ >> dtrace-discuss mailing list >> dtrace-discuss at opensolaris.org >> > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.opensolaris.org/pipermail/dtrace-discuss/attachments/20070518/434cbfcc/attachment.html>