[ltt-dev] LTTng on arm target and LTTv on x86 host

Mathieu Desnoyers compudj at krystal.dyndns.org
Tue Sep 9 15:09:55 EDT 2008


Can you try with a more recent kernel and newer lttv/ltt control
versions to see if it fixes your problem first ?

Thanks,

Mathieu

* Gaurav Singh (gausinghnsit at gmail.com) wrote:
> Hi,
> I solved my problem using a patch for tracecontext.c file of lttv
> published in Dec 2007 by Greg.
> 
> --- tracecontext.c~     2007-11-11 23:33:20.000000000 -0500
> +++ tracecontext.c      2007-12-18 07:37:04.000000000 -0500
> @@ -1038,6 +1038,10 @@
>  void lttv_trace_hook_remove_all(GArray **th)
>  {
>    int i;
> +
> +  if (!(*th))
> +      return;
> +
>    for(i=0; i<(*th)->len; i++) {
>      g_ptr_array_free(g_array_index(*th, LttvTraceHook, i).fields, TRUE);
>    }
> 
> Thanks Greg. After solving this problem I'm able to open the trace in
> lttv-gui. But now I am unable to see any data. I am getting :
> 
> 
> ttv -m textDump -t /new/trace/
> 
> ** (process:308): WARNING **: No marker of name kernel_arch_syscall_entry found
> 
> (process:308): GLib-CRITICAL **: g_array_remove_range: assertion
> `index_ < array->len' failed
> 
> ** (process:308): WARNING **: No marker of name kernel_arch_trap_entry found
> 
> ** (process:308): WARNING **: No marker of name kernel_irq_entry found
> 
> (process:308): GLib-CRITICAL **: g_array_free: assertion `array' failed
> 
> ** (process:308): WARNING **: No marker of name kernel_arch_syscall_entry found
> 
> ** (process:308): WARNING **: No marker of name kernel_arch_syscall_exit found
> 
> ** (process:308): WARNING **: No marker of name kernel_arch_trap_entry found
> 
> ** (process:308): WARNING **: No marker of name kernel_arch_trap_exit found
> 
> ** (process:308): WARNING **: No marker of name kernel_irq_entry found
> 
> ** (process:308): WARNING **: No marker of name kernel_irq_exit found
> 
> ** (process:308): WARNING **: No marker of name kernel_softirq_entry found
> 
> ** (process:308): WARNING **: No marker of name kernel_softirq_exit found
> 
> ** (process:308): WARNING **: No marker of name kernel_sched_schedule found
> 
> ** (process:308): WARNING **: No marker of name kernel_process_fork found
> 
> ** (process:308): WARNING **: No marker of name kernel_arch_kthread_create found
> 
> ** (process:308): WARNING **: No marker of name kernel_process_exit found
> 
> ** (process:308): WARNING **: No marker of name kernel_process_free found
> 
> ** (process:308): WARNING **: No marker of name fs_exec found
> 
> ** (process:308): WARNING **: No marker of name user_generic_thread_brand found
> 
> ** (process:308): WARNING **: No marker of name list_process_state found
> 
> ** (process:308): WARNING **: No marker of name list_statedump_end found
> 
> ** (process:308): WARNING **: No marker of name list_interrupt found
> 
> ** (process:308): WARNING **: No marker of name block__blk_request_issue found
> 
> ** (process:308): WARNING **: No marker of name
> block__blk_request_complete found
> 
> ** (process:308): WARNING **: No marker of name
> user_generic_function_entry found
> 
> ** (process:308): WARNING **: No marker of name user_generic_function_exit found
> 
> ** (process:308): WARNING **: No marker of name statedump_sys_call_table found
> 
> ** (process:308): WARNING **: No marker of name statedump_softirq_vec found
> Trace set contains 1 traces
> 
> End trace set
> 
> Traceset statistics:
> 
> statistics summed: 1
> mode_types:
>   MODE_UNKNOWN:
>     submodes:
>       UNKNOWN:
>         event_types:
>         events count: 0
>     events:
>     mode_types:
>       event_types:
>       events count: 0
> event_types:
> events count: 0
>   processes:
>     unknown process:
>       cpu:
>         0:
>           functions:
>             0x0:
>               mode_types:
>                 MODE_UNKNOWN:
>                   submodes:
>                     UNKNOWN:
>                       event_types:
>                       events count: 0
>                   events:
>                   mode_types:
>                     event_types:
>                     events count: 0
>               event_types:
>               events count: 0
>           mode_types:
>             MODE_UNKNOWN:
>               submodes:
>                 UNKNOWN:
>                   event_types:
>                   events count: 0
>               events:
>               mode_types:
>                 event_types:
>                 events count: 0
>           event_types:
>           events count: 0
>       mode_types:
>         MODE_UNKNOWN:
>           submodes:
>             UNKNOWN:
>               event_types:
>               events count: 0
>           events:
>           mode_types:
>             event_types:
>             events count: 0
>       event_types:
>       events count: 0
>   statistics summed: 1
>   cpu:
>     0:
>       mode_types:
>         MODE_UNKNOWN:
>           submodes:
>             UNKNOWN:
>               event_types:
>               events count: 0
>           events:
>           mode_types:
>             event_types:
>             events count: 0
>       event_types:
>       events count: 0
>   mode_types:
>     MODE_UNKNOWN:
>       submodes:
>         UNKNOWN:
>           event_types:
>           events count: 0
>       events:
>       mode_types:
>         event_types:
>         events count: 0
>   event_types:
>   events count: 0
> 
> (process:308): GLib-CRITICAL **: g_array_remove_range: assertion
> `index_ < array->len' failed
> 
> (process:308): GLib-CRITICAL **: g_array_free: assertion `array' failed.
> 
> What could be the reason for not getting any trace? I'm checking the
> applied patches again but everything seems to be in order.
> 
> I noticed that the ltt-armall script has changed and doesnt arm the
> markers in 0.47 version on ltt-control. Adding the arming part and
> performing the trace resulted in some events shown by lttv but lttv
> crashed due to Kernel/LTTV no. of parameters mismatch error.
> 
> My qu is :
> 1. Is the arm part of the script reqd. - as it seems to be giving some events.
> 2. I'm using a 2.6.24.7 kernel - the compatibility file doesn't
> mention this kernel version - I assumed that the packages for 2.6.24
> version will work.
> 
> Pls help
> Regards
> Gaurav
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> On 8/28/08, Gaurav Singh <gausinghnsit at gmail.com> wrote:
> > ALSO : is 2.6.24 LTTng tested for ARM926 CPU? - this is what im using
> >
> > Hi,
> > Im using the following versions:
> > 1. LTTV - 0.10.0-pre11
> > 2. LTTng - 0.10.0-pre43
> > 3. LTT control - 0.47.
> > Linux kernel version is 2.6.24
> >
> >
> >
> > output of /proc/ltt
> >
> > marker: kernel_arch_kthread_create format: "pid %ld fn %p" state: 0
> > probe: 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_arch_syscall_exit format: " " state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_arch_syscall_entry format: "syscall_id %d ip #p%ld"
> > state: 0 probe: 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_arch_ipc_call format: "call %u first %d" state: 0
> > probe: 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_arch_trap_exit format: " " state: 0 probe: 0xc006f1e0
> > pdata: 0x00000000
> > marker: kernel_arch_trap_entry format: "trap_id %ld ip #p%ld" state: 0
> > probe: 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_sched_try_wakeup format: "pid %d state %ld" state: 0
> > probe: 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_sched_schedule format: "prev_pid %d next_pid %d
> > prev_state %ld" state: 0 probe: 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_sched_wakeup_new_task format: "pid %d state %ld" state:
> > 0 probe: 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_process_fork format: "parent_pid %d child_pid %d
> > child_tgid %d" state: 0 probe: 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_vprintk format: "loglevel %c string %s ip %p" state: 0
> > probe: 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_printk format: "ip %p" state: 0 probe: 0xc006f1e0
> > pdata: 0x00000000
> > marker: kernel_process_wait format: "pid %d" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_process_exit format: "pid %d" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_process_free format: "pid %d" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_timer_itimer_set format: "which %d interval_sec %ld
> > interval_usec %ld value_sec %ld value_usec %ld" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_timer_itimer_expired format: "pid %d" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_tasklet_high_exit format: "func %p data %lu" state: 0
> > probe: 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_tasklet_high_entry format: "func %p data %lu" state: 0
> > probe: 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_tasklet_low_exit format: "func %p data %lu" state: 0
> > probe: 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_tasklet_low_entry format: "func %p data %lu" state: 0
> > probe: 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_softirq_raise format: "softirq_id %u" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_softirq_exit format: "softirq_id %lu" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_softirq_entry format: "softirq_id %lu" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_timer_set format: "expires %lu function %p data %lu"
> > state: 0 probe: 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_timer_timeout format: "pid %d" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_timer_update_time format: "jiffies #8u%llu xtime_sec
> > %ld xtime_nsec %ld walltomonotonic_sec %ld walltomonotonic_nsec %ld"
> > state: 0 probe: 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_send_signal format: "pid %d signal %d" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_kthread_stop_ret format: "ret %d" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_kthread_stop format: "pid %d" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: list_module format: "name %s state %d refcount %lu" state: 0
> > probe: 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_module_load format: "name %s" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_module_free format: "name %s" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_irq_exit format: " " state: 0 probe: 0xc006f1e0 pdata: 0x00000000
> > marker: kernel_irq_entry format: "irq_id %u kernel_mode %u" state: 0
> > probe: 0xc006f1e0 pdata: 0x00000000
> > marker: core_marker_format format: "name %s format %s" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: core_marker_format format: "name %s format %s" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: mm_filemap_wait_end format: "pfn %lu bit_nr %d" state: 0
> > probe: 0xc006f1e0 pdata: 0x00000000
> > marker: mm_filemap_wait_start format: "pfn %lu bit_nr %d" state: 0
> > probe: 0xc006f1e0 pdata: 0x00000000
> > marker: mm_page_free format: "order %u pfn %lu" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: mm_page_free format: "order %u pfn %lu" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: mm_page_alloc format: "order %u pfn %lu" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: mm_handle_fault_exit format: " " state: 0 probe: 0xc006f1e0
> > pdata: 0x00000000
> > marker: mm_handle_fault_entry format: "address %lu ip #p%ld
> > write_access %d" state: 0 probe: 0xc006f1e0 pdata: 0x00000000
> > marker: mm_swap_in format: "address #p%lu" state: 0 probe: 0xc006f1e0
> > pdata: 0x00000000
> > marker: fs_close format: "fd %u" state: 0 probe: 0xc006f1e0 pdata: 0x00000000
> > marker: fs_open format: "fd %d filename %s" state: 0 probe: 0xc006f1e0
> > pdata: 0x00000000
> > marker: fs_writev format: "fd %lu vlen %lu" state: 0 probe: 0xc006f1e0
> > pdata: 0x00000000
> > marker: fs_readv format: "fd %lu vlen %lu" state: 0 probe: 0xc006f1e0
> > pdata: 0x00000000
> > marker: fs_pwrite64 format: "fd %u count %zu pos %llu" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: fs_pread64 format: "fd %u count %zu pos %llu" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: fs_write format: "fd %u count %zu" state: 0 probe: 0xc006f1e0
> > pdata: 0x00000000
> > marker: fs_read format: "fd %u count %zu" state: 0 probe: 0xc006f1e0
> > pdata: 0x00000000
> > marker: fs_llseek format: "fd %u offset %llu origin %u" state: 0
> > probe: 0xc006f1e0 pdata: 0x00000000
> > marker: fs_lseek format: "fd %u offset %ld origin %u" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: fs_exec format: "filename %s" state: 0 probe: 0xc006f1e0
> > pdata: 0x00000000
> > marker: fs_ioctl format: "fd %u cmd %u arg %lu" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: fs_pollfd format: "fd %d" state: 0 probe: 0xc006f1e0 pdata: 0x00000000
> > marker: fs_select format: "fd %d timeout #8d%lld" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: fs_buffer_wait_end format: "bh %p" state: 0 probe: 0xc006f1e0
> > pdata: 0x00000000
> > marker: fs_buffer_wait_start format: "bh %p" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: ipc_msg_create format: "id %ld flags %d" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: ipc_sem_create format: "id %ld flags %d" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: ipc_shm_create format: "id %ld flags %d" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: core_heartbeat_32 format: " " state: 0 probe: 0xc006f1e0
> > pdata: 0x00000000
> > marker: core_heartbeat_64 format: "timestamp #8u%llu" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: list_statedump_end format: " " state: 0 probe: 0xc006f1e0
> > pdata: 0x00000000
> > marker: list_process_state format: "pid %d parent_pid %d name %s type
> > %d mode %d submode %d status %d tgid %d" state: 0 probe: 0xc006f1e0
> > pdata: 0x00000000
> > marker: list_file_descriptor format: "filename %s pid %d fd %u" state:
> > 0 probe: 0xc006f1e0 pdata: 0x00000000
> > marker: list_vm_map format: "pid %d start %lu end %lu flags %lu pgoff
> > %lu inode %lu" state: 0 probe: 0xc006f1e0 pdata: 0x00000000
> > marker: list_interrupt format: "name %s action %s irq_id %u" state: 0
> > probe: 0xc006f1e0 pdata: 0x00000000
> > marker: list_network_ip_interface format: "name %s address #4u%lu up
> > %d" state: 0 probe: 0xc006f1e0 pdata: 0x00000000
> > marker: list_network_ipv4_interface format: "name %s address #4u%lu up
> > %d" state: 0 probe: 0xc006f1e0 pdata: 0x00000000
> > marker: core_marker_id format: "name %s id %hu int #1u%zu long #1u%zu
> > pointer #1u%zu size_t #1u%zu alignment #1u%u" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: core_marker_id format: "name %s id %hu int #1u%zu long #1u%zu
> > pointer #1u%zu size_t #1u%zu alignment #1u%u" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: core_marker_format format: "name %s format %s" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: core_marker_id format: "name %s id %hu int #1u%zu long #1u%zu
> > pointer #1u%zu size_t #1u%zu alignment #1u%u" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: core_marker_id format: "name %s id %hu int #1u%zu long #1u%zu
> > pointer #1u%zu size_t #1u%zu alignment #1u%u" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: input_event format: "type %u code %u value %d" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: net_socket_call format: "call %d a0 %lu" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: net_socket_create format: "sock %p family %d type %d protocol
> > %d fd %d" state: 0 probe: 0xc006f1e0 pdata: 0x00000000
> > marker: net_socket_recvmsg format: "sock %p family %d type %d protocol
> > %d size %zu" state: 0 probe: 0xc006f1e0 pdata: 0x00000000
> > marker: net_socket_sendmsg format: "sock %p family %d type %d protocol
> > %d size %zu" state: 0 probe: 0xc006f1e0 pdata: 0x00000000
> > marker: net_dev_receive format: "skb %p protocol #2u%hu" state: 0
> > probe: 0xc006f1e0 pdata: 0x00000000
> > marker: net_dev_xmit format: "skb %p protocol #2u%hu" state: 0 probe:
> > 0xc006f1e0 pdata: 0x00000000
> > marker: net_insert_ifa_ipv4 format: "label %s address #4u%lu" state: 0
> > probe: 0xc006f1e0 pdata: 0x00000000
> > marker: net_del_ifa_ipv4 format: "label %s" state: 0 probe: 0xc006f1e0
> > pdata: 0x00000000
> >
> > Also .config is attached
> >
> > Regards
> > Gaurav
> >
> >
> >
> > On 8/27/08, Mathieu Desnoyers <compudj at krystal.dyndns.org> wrote:
> > > * Gaurav Singh (gausinghnsit at gmail.com) wrote:
> > > > Hi,
> > > > I am trying to view the details of a trace obtained on ARM target on
> > > > x86 host. I compile 2.6.24 kernel with LTTng patches and also compile
> > > > LTT control package for arm. After running LTT control pack in normal
> > > > mode
> > > >
> > > > ltt-armall
> > > > lttctl -n trace -d -l /mnt/debugfs/ltt -t /tmp/trace'
> > > > some ops
> > > > lttctl -n trace -R
> > > >
> > > > I got a trace in /tmp/trace directory
> > > >
> > > > Compiled lttv-gui for x86 server running linux and ran-
> > > >
> > > > lttv-gui
> > > >
> > > > selected the trace folder and got the following msgs-
> > > >
> > > > ** (lttv.real:31254): WARNING **: No marker of name
> > > > kernel_arch_syscall_entry found
> > > >
> > > > (lttv.real:31254): GLib-CRITICAL **: g_array_remove_range: assertion
> > > > `index_ < array->len' failed
> > > >
> > > > ** (lttv.real:31254): WARNING **: No marker of name kernel_arch_trap_entry found
> > > > /home/gaurav/install/bin/lttv-gui: line 10: 31254 Segmentation fault
> > > >    $LTTV_CMD.real -m guievents -m guifilter -m guicontrolflow -m
> > > > resourceview -m guistatistics -m guitracecontrol $*
> > > >
> > > >
> > > > Qus.1. Am I following the correct procedure - cn I view target traces on host
> > > > 2. I am compiling LTT contol and LTT viewer on same machines buyt
> > > > kernel on another - is that a prb?
> > > > 3. What can be the reason for this error
> > > >
> > >
> > > A few questions :
> > >
> > > what lttng, ltt-control, lttv versions do you use ?
> > > did you follow the compatibility list on the website ?
> > >
> > > Can you show me the output of
> > >
> > > cat /proc/ltt
> > >
> > > on the ARM target ?
> > >
> > > Thanks,
> > >
> > > Mathieu
> > >
> > >
> > > > Regards
> > > > Gaurav
> > > >
> > > > _______________________________________________
> > > > ltt-dev mailing list
> > > > ltt-dev at lists.casi.polymtl.ca
> > > > http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
> > > >
> > >
> > > --
> > > Mathieu Desnoyers
> > > OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68
> > >
> >
> >
> 

-- 
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68




More information about the lttng-dev mailing list