[ltt-dev] "Kernel/LTTV event size differs for event udpv4_rcv_extended: kernel 32, LTTV 28" error when view trace

xufeng zhang xufeng.zhang at windriver.com
Tue Nov 9 02:29:04 EST 2010


On 11/08/2010 05:55 PM, Mathieu Desnoyers wrote:
> * xufeng zhang (xufeng.zhang at windriver.com) wrote:
>    
>> On 11/08/2010 09:45 AM, Benjamin Poirier wrote:
>>      
>>> On 05/11/10 02:24 AM, xufeng zhang wrote:
>>>
>>>        
>>>> Hi,
>>>> I'm using ltt-control-0.86 and lttv-0.12.31 on ARM to trace the kernel,
>>>> however,
>>>>
>>>>          
>>> Hello,
>>>
>>> Which version of the kernel tracer patches are you using?
>>>
>>>        
>> I have query the developers who merged LTTng into kernel, they said
>> there is no incompatibility
>> between LTTV and LTTng, so does there any other reasons which lead to
>> this error?
>>
>> Thanks,
>> Xufeng Zhang
>>      
>>> -Ben
>>>
>>>
>>>        
>>>> I cannot view the trace after I have successfully generated, here is the
>>>> error
>>>> when I run 'lttv-gui -t trace1' command:
>>>> ** Message: statistics viewer : background computation data ready.
>>>>
>>>> ** (lttv.real:6559): WARNING **: Cannot find pin_in in schedchange 671
>>>>
>>>> ** ERROR **: Kernel/LTTV event size differs for event
>>>> udpv4_rcv_extended: kernel 32, LTTV 28
>>>>          
> Please compare the /ltt/probes/net-extended-trace.c file from your
> distro kernel tree to the:
>
> lttng-modules package, file: /probes/net-extended-trace.c
>
> Also compare the /ltt/ltt-type-serializer.h (or was it
> include/linux/ltt-type-serializer.h ?) from your distro kernel with the
> lttng-modules package:
>
> /ltt-type-serializer.h
>
> I remember having fixed this problem in the past months. Look closely at
> the structure layout for "struct serialize_l214421224411111", "struct
> serialize_l4412228" and "struct serialize_l4421224411111" vs the types
> passed to the DEFINE_MARKER_TP() in net-extended-trace.c.
>    
I have compare my kernel tree to lttng-modules-0.19.2, there is no 
different
in ltt-type-serializer.h file, and below is the diff info for 
net-extended-trace.c:

--- net-extended-trace.c.kernel 2010-11-09 15:09:24.000000000 +0800
+++ net-extended-trace.c        2010-11-09 15:12:47.000000000 +0800
@@ -20,14 +20,15 @@

  #include <linux/in_route.h>
  #include <linux/ip.h>
-#include <linux/ltt-type-serializer.h>
  #include <linux/module.h>
  #include <linux/tcp.h>
  #include <linux/udp.h>
  #include <net/route.h>
  #include <trace/net.h>

-void probe_net_dev_xmit_extended(struct sk_buff *skb);
+#include "../ltt-type-serializer.h"
+
+void probe_net_dev_xmit_extended(void *_data, struct sk_buff *skb);

  DEFINE_MARKER_TP(net, dev_xmit_extended, net_dev_xmit,
         probe_net_dev_xmit_extended, "skb 0x%lX network_protocol #n2u%hu "
@@ -35,7 +36,7 @@
         "tot_len #n2u%hu ihl #1u%u source #n2u%hu dest #n2u%hu seq 
#n4u%lu "
         "ack_seq #n4u%lu doff #1u%u ack #1u%u rst #1u%u syn #1u%u fin 
#1u%u");

-notrace void probe_net_dev_xmit_extended(struct sk_buff *skb)
+notrace void probe_net_dev_xmit_extended(void *_data, struct sk_buff *skb)
  {
         struct marker *marker;
         struct serialize_l214421224411111 data;
@@ -70,14 +71,14 @@
&data, serialize_sizeof(data), sizeof(long));
  }

-void probe_tcpv4_rcv_extended(struct sk_buff *skb);
+void probe_tcpv4_rcv_extended(void *_data, struct sk_buff *skb);

  DEFINE_MARKER_TP(net, tcpv4_rcv_extended, net_tcpv4_rcv,
         probe_tcpv4_rcv_extended, "skb 0x%lX saddr #n4u%lu daddr #n4u%lu "
         "tot_len #n2u%hu ihl #1u%u source #n2u%hu dest #n2u%hu seq 
#n4u%lu "
         "ack_seq #n4u%lu doff #1u%u ack #1u%u rst #1u%u syn #1u%u fin 
#1u%u");

-notrace void probe_tcpv4_rcv_extended(struct sk_buff *skb)
+notrace void probe_tcpv4_rcv_extended(void *_data, struct sk_buff *skb)
  {
         struct marker *marker;
         struct serialize_l4421224411111 data;
@@ -104,14 +105,14 @@
&data, serialize_sizeof(data), sizeof(long));
  }

-void probe_udpv4_rcv_extended(struct sk_buff *skb);
+void probe_udpv4_rcv_extended(void *_data, struct sk_buff *skb);

  DEFINE_MARKER_TP(net, udpv4_rcv_extended, net_udpv4_rcv,
         probe_udpv4_rcv_extended, "skb 0x%lX saddr #n4u%lu daddr #n4u%lu "
         "unicast #1u%u ulen #n2u%hu source #n2u%hu dest #n2u%hu "
         "data_start #8u%lx");

-notrace void probe_udpv4_rcv_extended(struct sk_buff *skb)
+notrace void probe_udpv4_rcv_extended(void *_data, struct sk_buff *skb)
  {
         struct marker *marker;
         struct serialize_l4412228 data;


I don't think the difference in net-extended-trace.c will make any impact.
This problem has troubled me for weeks.

Thanks,
Xufeng Zhang
> Thanks,
>
> Mathieu
>
>
>    
>>>> aborting...
>>>> /usr/local/bin/lttv-gui: line 10:  6559 Aborted
>>>> $LTTV_CMD.real -m lttvwindow -m guievents -m guifilter -m guicontrolflow
>>>> -m resourceview -m guistat
>>>>
>>>>
>>>> And I found another people met the same problem on MIPS32, a patch have
>>>> also been provided for MIPS32.
>>>> Here is the similar code in ARM trace-clock.c:
>>>> linux/arch/arm/mach-omap2/trace-clock.c line 537
>>>> void get_trace_clock(void)
>>>> {
>>>>           spin_lock(&trace_clock_lock);
>>>>           if (trace_clock_refcount++)
>>>>                   goto end;
>>>>           _start_trace_clock();
>>>> end:
>>>>           spin_unlock(&trace_clock_lock);
>>>> }
>>>> EXPORT_SYMBOL_GPL(get_trace_clock);
>>>>
>>>> void put_trace_clock(void)
>>>> {
>>>>           spin_lock(&trace_clock_lock);
>>>>           WARN_ON(trace_clock_refcount<= 0);
>>>>           if (trace_clock_refcount != 1)
>>>>                   goto end;
>>>>           _stop_trace_clock();
>>>> end:
>>>>           trace_clock_refcount--;
>>>>           spin_unlock(&trace_clock_lock);
>>>> }
>>>> EXPORT_SYMBOL_GPL(put_trace_clock);
>>>>
>>>> Could anybody figure out what's wrong with the kernel code? Any
>>>> suggestion would be appreciated.
>>>>
>>>>
>>>> Thanks,
>>>> Xufeng Zhang
>>>>
>>>>
>>>> _______________________________________________
>>>> ltt-dev mailing list
>>>> ltt-dev at lists.casi.polymtl.ca
>>>> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
>>>>
>>>>          
>>>
>>>        
>>
>> _______________________________________________
>> ltt-dev mailing list
>> ltt-dev at lists.casi.polymtl.ca
>> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
>>
>>      
>    





More information about the lttng-dev mailing list