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

Gaurav Singh gausinghnsit at gmail.com
Tue Sep 9 14:04:13 EDT 2008


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
> >
>
>




More information about the lttng-dev mailing list