Hi Linaro Dev team,
I am trying to debug some scheduler changes on my new QUalcomm snapdragon development board. To debug it further, i have cross compiled the idlestat and tried to run for collecting traces. But it shows segfault right after starting it with `idlestat --trace -f /sdcard/mytrace -t 10 -p -c -w -- cyclictest
Pagefault logs can be found here [1] . Any suggestions will be much appreciated.
[1] http://hastebin.com/efuximudum.xml
On 07/06/2015 04:42 PM, $rik@nth wrote:
Hi Linaro Dev team,
I am trying to debug some scheduler changes on my new QUalcomm snapdragon development board. To debug it further, i have cross compiled the idlestat and tried to run for collecting traces. But it shows segfault right after starting it with `idlestat --trace -f /sdcard/mytrace -t 10 -p -c -w -- cyclictest
Pagefault logs can be found here [1] . Any suggestions will be much appreciated.
Hi,
thanks for reporting the issue.
Could you compile idlestat with the debug info, set the core limit (ulimit -c unlimited), run the idlestat again ? That will generate a 'core' file which we can exploit to do further investigation.
Otherwise run it with 'gdb' and then give the portion of code where the segfault occurs.
I realized that i am using pretty old version of idlestat. After fetching latest version from [1] i am getting cpu topo read error.
topo_folder_scan: No such file or directory Failed to read CPU topology info from sysfs.
My sysfs entries are
root@eng-bld:/ # ls -l /sys/devices/system/cpu/ drwxr-xr-x root root 1970-01-01 06:12 cpu0 drwxr-xr-x root root 1970-01-01 06:13 cpu1 drwxr-xr-x root root 1970-01-01 06:13 cpu2 drwxr-xr-x root root 1970-01-01 06:13 cpu3 drwxr-xr-x root root 1970-01-01 06:12 cpu4 drwxr-xr-x root root 1970-01-01 06:12 cpu5 drwxr-xr-x root root 1970-01-01 06:12 cpu6 drwxr-xr-x root root 1970-01-01 06:12 cpu7 drwxr-xr-x root root 1970-01-01 06:12 cpufreq drwxr-xr-x root root 1970-01-01 06:12 cpuidle -r--r--r-- root root 4096 1970-01-01 06:12 kernel_max -r--r--r-- root root 4096 1970-01-01 06:12 offline -r--r--r-- root root 4096 1970-01-01 06:12 online -r--r--r-- root root 4096 1970-01-01 06:12 possible drwxr-xr-x root root 1970-01-01 06:12 power -r--r--r-- root root 4096 1970-01-01 06:12 present -rw-r--r-- root root 4096 1970-01-01 06:12 uevent
[1] http://git.linaro.org/power/idlestat.git
On Mon, Jul 6, 2015 at 8:17 PM, Daniel Lezcano daniel.lezcano@linaro.org wrote:
On 07/06/2015 04:42 PM, $rik@nth wrote:
Hi Linaro Dev team,
I am trying to debug some scheduler changes on my new QUalcomm snapdragon development board. To debug it further, i have cross compiled the idlestat and tried to run for collecting traces. But it shows segfault right after starting it with `idlestat --trace -f /sdcard/mytrace -t 10 -p -c -w -- cyclictest
Pagefault logs can be found here [1] . Any suggestions will be much appreciated.
Hi,
thanks for reporting the issue.
Could you compile idlestat with the debug info, set the core limit (ulimit -c unlimited), run the idlestat again ? That will generate a 'core' file which we can exploit to do further investigation.
Otherwise run it with 'gdb' and then give the portion of code where the segfault occurs.
-- http://www.linaro.org/ Linaro.org │ Open source software for ARM SoCs
Follow Linaro: http://www.facebook.com/pages/Linaro Facebook | http://twitter.com/#!/linaroorg Twitter | http://www.linaro.org/linaro-blog/ Blog
On 07/07/2015 08:13 AM, $rik@nth wrote:
I realized that i am using pretty old version of idlestat. After fetching latest version from [1] i am getting cpu topo read error.
topo_folder_scan: No such file or directory Failed to read CPU topology info from sysfs.
Please use strace and give the tail of the traces, especially the failing system call.
root@eng-bld:/ # ls -l /sys/devices/system/cpu/ drwxr-xr-x root root 1970-01-01 06:12 cpu0 drwxr-xr-x root root 1970-01-01 06:13 cpu1 drwxr-xr-x root root 1970-01-01 06:13 cpu2 drwxr-xr-x root root 1970-01-01 06:13 cpu3 drwxr-xr-x root root 1970-01-01 06:12 cpu4 drwxr-xr-x root root 1970-01-01 06:12 cpu5 drwxr-xr-x root root 1970-01-01 06:12 cpu6 drwxr-xr-x root root 1970-01-01 06:12 cpu7 drwxr-xr-x root root 1970-01-01 06:12 cpufreq drwxr-xr-x root root 1970-01-01 06:12 cpuidle -r--r--r-- root root 4096 1970-01-01 06:12 kernel_max -r--r--r-- root root 4096 1970-01-01 06:12 offline -r--r--r-- root root 4096 1970-01-01 06:12 online -r--r--r-- root root 4096 1970-01-01 06:12 possible drwxr-xr-x root root 1970-01-01 06:12 power -r--r--r-- root root 4096 1970-01-01 06:12 present -rw-r--r-- root root 4096 1970-01-01 06:12 uevent
[1] http://git.linaro.org/power/idlestat.git
On Mon, Jul 6, 2015 at 8:17 PM, Daniel Lezcano <daniel.lezcano@linaro.org mailto:daniel.lezcano@linaro.org> wrote:
On 07/06/2015 04:42 PM, $rik@nth wrote: Hi Linaro Dev team, I am trying to debug some scheduler changes on my new QUalcomm snapdragon development board. To debug it further, i have cross compiled the idlestat and tried to run for collecting traces. But it shows segfault right after starting it with `idlestat --trace -f /sdcard/mytrace -t 10 -p -c -w -- cyclictest Pagefault logs can be found here [1] . Any suggestions will be much appreciated. Hi, thanks for reporting the issue. Could you compile idlestat with the debug info, set the core limit (ulimit -c unlimited), run the idlestat again ? That will generate a 'core' file which we can exploit to do further investigation. Otherwise run it with 'gdb' and then give the portion of code where the segfault occurs. -- <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog
-- Thanks & Regards, M.Srikanth Kumar.
Strange.. topology folder is not present in my sysfs. Here is the strace logs from the failure func.
newfstatat(AT_FDCWD, "/sys/devices/system/cpu/cpu0/topology", 0xbeb04668, 0) = -1 ENOENT (No such file or directory) close(3) = 0 writev(2, [{"topo_folder_scan", 16}, {": ", 2}, {"No such file or directory", 25}, {"\n", 1}], 4topo_folder_scan: No such file or directory ) = 44 mprotect(0xb6f0d000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0xb6f0d000, 4096, PROT_READ) = 0 write(2, "Failed to read CPU topology info"..., 45Failed to read CPU topology info from sysfs. ) = 45 mprotect(0xb6f0d000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0xb6f0d000, 4096, PROT_READ) = 0 close(0) = 0 close(1) = 0 close(2) = 0
On Tue, Jul 7, 2015 at 1:18 PM, Daniel Lezcano daniel.lezcano@linaro.org wrote:
On 07/07/2015 08:13 AM, $rik@nth wrote:
I realized that i am using pretty old version of idlestat. After fetching latest version from [1] i am getting cpu topo read error.
topo_folder_scan: No such file or directory Failed to read CPU topology info from sysfs.
Please use strace and give the tail of the traces, especially the failing system call.
root@eng-bld:/ # ls -l /sys/devices/system/cpu/
drwxr-xr-x root root 1970-01-01 06:12 cpu0 drwxr-xr-x root root 1970-01-01 06:13 cpu1 drwxr-xr-x root root 1970-01-01 06:13 cpu2 drwxr-xr-x root root 1970-01-01 06:13 cpu3 drwxr-xr-x root root 1970-01-01 06:12 cpu4 drwxr-xr-x root root 1970-01-01 06:12 cpu5 drwxr-xr-x root root 1970-01-01 06:12 cpu6 drwxr-xr-x root root 1970-01-01 06:12 cpu7 drwxr-xr-x root root 1970-01-01 06:12 cpufreq drwxr-xr-x root root 1970-01-01 06:12 cpuidle -r--r--r-- root root 4096 1970-01-01 06:12 kernel_max -r--r--r-- root root 4096 1970-01-01 06:12 offline -r--r--r-- root root 4096 1970-01-01 06:12 online -r--r--r-- root root 4096 1970-01-01 06:12 possible drwxr-xr-x root root 1970-01-01 06:12 power -r--r--r-- root root 4096 1970-01-01 06:12 present -rw-r--r-- root root 4096 1970-01-01 06:12 uevent
[1] http://git.linaro.org/power/idlestat.git
On Mon, Jul 6, 2015 at 8:17 PM, Daniel Lezcano <daniel.lezcano@linaro.org mailto:daniel.lezcano@linaro.org> wrote:
On 07/06/2015 04:42 PM, $rik@nth wrote: Hi Linaro Dev team, I am trying to debug some scheduler changes on my new QUalcomm snapdragon development board. To debug it further, i have cross compiled the idlestat and tried to run for collecting traces. But it shows segfault right after starting it with `idlestat --trace -f /sdcard/mytrace -t 10 -p -c -w -- cyclictest Pagefault logs can be found here [1] . Any suggestions will be
much appreciated.
Hi, thanks for reporting the issue. Could you compile idlestat with the debug info, set the core limit (ulimit -c unlimited), run the idlestat again ? That will generate a 'core' file which we can exploit to do further investigation. Otherwise run it with 'gdb' and then give the portion of code where the segfault occurs. -- <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog
-- Thanks & Regards, M.Srikanth Kumar.
-- http://www.linaro.org/ Linaro.org │ Open source software for ARM SoCs
Follow Linaro: http://www.facebook.com/pages/Linaro Facebook | http://twitter.com/#!/linaroorg Twitter | http://www.linaro.org/linaro-blog/ Blog