Re: [Linuxptp-users] phc2sys[273995.639]: failed to read clock: Invalid argument
PTP IEEE 1588 stack for Linux
Brought to you by:
rcochran
From: Pham, C. <Cal...@ne...> - 2014-03-04 15:49:11
|
Richard, Calvin> output of strace strace ./testptp -d /dev/ptp0 -g execve("./testptp", ["./testptp", "-d", "/dev/ptp0", "-g"], [/* 20 vars */]) = 0 brk(0) = 0x1aa3000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0f8e45d000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=41323, ...}) = 0 mmap(NULL, 41323, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f0f8e452000 close(3) = 0 open("/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\"@\2265\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=48128, ...}) = 0 mmap(0x3596400000, 2128984, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3596400000 mprotect(0x3596407000, 2093056, PROT_NONE) = 0 mmap(0x3596606000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x3596606000 close(3) = 0 open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\27\202\2255\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=2076800, ...}) = 0 mmap(0x3595800000, 3896632, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3595800000 mprotect(0x35959ad000, 2097152, PROT_NONE) = 0 mmap(0x3595bad000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1ad000) = 0x3595bad000 mmap(0x3595bb3000, 17720, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3595bb3000 close(3) = 0 open("/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320k\0\2265\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=145176, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0f8e451000 mmap(0x3596000000, 2208760, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3596000000 mprotect(0x3596017000, 2093056, PROT_NONE) = 0 mmap(0x3596216000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0x3596216000 mmap(0x3596218000, 13304, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3596218000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0f8e450000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0f8e44f000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0f8e44e000 arch_prctl(ARCH_SET_FS, 0x7f0f8e44f700) = 0 mprotect(0x3595bad000, 16384, PROT_READ) = 0 mprotect(0x3596216000, 4096, PROT_READ) = 0 mprotect(0x3596606000, 4096, PROT_READ) = 0 mprotect(0x3595621000, 4096, PROT_READ) = 0 munmap(0x7f0f8e452000, 41323) = 0 set_tid_address(0x7f0f8e44f9d0) = 2589 set_robust_list(0x7f0f8e44f9e0, 24) = 0 rt_sigaction(SIGRTMIN, {0x3596006720, [], SA_RESTORER|SA_SIGINFO, 0x359600f500}, NULL, 8) = 0 rt_sigaction(SIGRT_1, {0x35960067b0, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x359600f500}, NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0 open("/dev/ptp0", O_RDWR) = 3 clock_gettime(0xffffffe3 /* CLOCK_??? */, {1393947888, 731912808}) = 0 open("/proc/cpuinfo", O_RDONLY) = 4 read(4, "processor\t: 0\nvendor_id\t: Genuin"..., 4096) = 3764 close(4) = 0 dup(2) = 4 fcntl(4, F_GETFL) = 0x8402 (flags O_RDWR|O_APPEND|O_LARGEFILE) brk(0) = 0x1aa3000 brk(0x1ac4000) = 0x1ac4000 brk(0) = 0x1ac4000 fstat(4, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0f8e45c000 lseek(4, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek) write(4, "clock_gettime %m: Invalid argume"..., 35clock_gettime %m: Invalid argument ) = 35 close(4) = 0 munmap(0x7f0f8e45c000, 4096) = 0 close(3) = 0 exit_group(0) = ? +++ exited with 0 +++ Calvin> Here is output of ltrace [root@V4-CALVIN ptptest]# ltrace ./testptp -d /dev/ptp0 -g unexpected breakpoint at 0x35954016df (0, 0, 0, -1, 0x1f25bc2) = 0x3595623260 __libc_start_main(0x400ed4, 4, 0x7fff7d779898, 0x401790, 0x401820 <unfinished ...> strrchr("./testptp", '/') = "/testptp" getopt(4, 0x7fff7d779898, "a:A:cd:e:f:ghp:P:sSt:v") = 100 getopt(4, 0x7fff7d779898, "a:A:cd:e:f:ghp:P:sSt:v") = 103 getopt(4, 0x7fff7d779898, "a:A:cd:e:f:ghp:P:sSt:v") = -1 open("/dev/ptp0", 2, 022556611134) = 4 clock_gettime(0xffffffdb, 0x7fff7d779690, 0x7fff7d779690, -1, 0) = 0xffffffff perror("clock_gettime %m"clock_gettime %m: Invalid argument ) = <void> close(4) = 0 +++ exited (status 0) +++ Thanks! Calvin -----Original Message----- From: Richard Cochran [mailto:ric...@gm...] Sent: Tuesday, March 04, 2014 10:18 AM To: Pham, Calvin Cc: lin...@li... Subject: Re: [Linuxptp-users] phc2sys[273995.639]: failed to read clock: Invalid argument On Tue, Mar 04, 2014 at 01:55:56PM +0000, Pham, Calvin wrote: > > > testptp -g > [root@V4-CALVIN ptp]# ./testptp -g > gettime: CLK_ID 0xffffffe3 > clock time: 1393941119.523279956 or Tue Mar 4 08:51:59 2014 > clock_gettime %m: Invalid argument [ It looks like you changed testptp to always print the time. ] I looked at the igb driver, and it always returns 0 for its gettime method. So now this looks more like a glibc bug. Can you run 'testptp -g' under strace and ltrace and post the results? Thanks, Richard |