[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| 
Re: [linuxtools-dev] Q: control flow view
 | 
Hi
The Bug332905 was created for this reported problem. I've posted some 
investigation results. Please refer to this bug for more details.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=332905
Thanks
Bernd
On Thu, Dec 16, 2010 at 6:36 PM, Tony Jones 
<tonyj@xxxxxxx> wrote:
Hi.
I'm having some issues with the control flow view.
2.6.36 lttng enabled kernel, svn r27050 of the plugin.
I ran the following steps in single user with maxcpus=1
cc -o open-write open-write.c
lttctl -C -p <path> traceK
./open-write foo
lttctl -D traceK
This generated what seems to be a good trace.
lttv -m textDump -t <path> | grep "syscall_.*open-write" shows all the expected
syscalls.
My issue is that the eclipse plugin doesn't show what I expected it would.
Selecting the task in the control view and iterating the events with NextEv,
all I see is:
kernel/0/process_fork
kernel/0/sched_schedule
kernel/0/syscall_entry
[then nothing]
If I adjust the trace to 206.000 I can see two gantt entries for open-write,
one WAIT and another for SYSCALL but the later states that the stop time is
undefined which is consistent with it failing to see a syscall_exit event.
Trace is at:  http://ftp.suse.com/pub/people/tonyj/temp/trace.tar.bz2
Tony
---- open-write.c ----
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int main(int argc, char *argv[])
{
        int fd, cnt;
        pid_t pid=getpid();
        char *s="this is a sample string!";
        char buf[512];
        if (argc != 2) {
                fprintf(stderr, "usage: %s filename\n", argv[0]);
                return 1;
        }
        fd = open(argv[1], O_RDWR|O_CREAT, 0600);
        if (fd == -1) {
                perror("open");
                return 1;
        }
        if (write(fd, s, strlen(s)) != strlen(s)) {
                perror("write");
                return 1;
        }
        lseek(fd, SEEK_SET, 0);
        cnt=read(fd, buf, sizeof(buf));
        buf[cnt] = 0;
        printf("%u: %s\n", pid, buf);
        close(fd);
}
----------------------
_______________________________________________
linuxtools-dev mailing list
linuxtools-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/linuxtools-dev