Project

General

Profile

Bug #1350

Updated by Jonathan Rajotte Julien about 2 years ago

Below lttng packages are using in our project. 
 Lttng_tools: 2.12.3 
 Lttng_ust: 2.12.1 
 Babeltrace: 1.5.8 

 1. 
 In Lttng live mode, we get below babletrace error when we call "babeltrace --clock-date --no-delta -i lttng-live net://localhost/host/xxxxx/session" 
 <pre> 
 [error] ctf_clock_declaration_visit: unexpected unary expression for clock offset 
 [error] ctf_visitor_construct_metadata: clock declaration error 
 [error] Error in CTF metadata constructor -22 
 [error] [Context] Cannot open_mmap_trace of format ctf. 
 [error] Error adding trace 
 [warning] [Context] Cannot open_trace of format lttng-live at path net://localhost/host/xxxxx/session. 
 [warning] [Context] cannot open trace "net://localhost/host/xxxxx/session" for reading. 
 [error] opening trace "net://localhost/host/xxxxx/session" for reading. 
 [error] none of the specified trace paths could be opened. 
 </pre> 

 Finally we port commit: 61cf588beae752e5ddfc60b6b5310f769ac9e852 from master branch to 1.5.8, then the issue is fixed. 

 2. With this commit: 61cf588beae752e5ddfc60b6b5310f769ac9e852, we find test case: tests/bin/intersection/test_intersection fails. 
 1) The 1st reason is wrong clock offset_s    = 1351530929945824323, refer to below : 
 <pre> 
 cat tests/ctf-traces/intersection/3eventsintersect/metadata 

 ..... 
 clock { 
	 name = test_clock; 
	 uuid = "7b9e2f2a-530e-4ab1-816f-0831b5c09140"; 
	 description = "This is a test clock"; 
	 freq = 1000000000; 
	 precision = 10; 
	 offset_s = 1351530929945824323; 
	 offset = 0; 
	 absolute = TRUE; 
 }; 
 </pre> 
 There is a overflow in clock_offset_ns() if clock offset_s    = 1351530929945824323. 
 <pre> 
 static inline 
 uint64_t clock_offset_ns(struct ctf_clock *clock) 
 { 
         return clock->offset_s * 1000000000ULL 
                         + clock_cycles_to_ns(clock, clock->offset); 
 } 
 </pre> <pre> 

 Double check the babeltrace 2, it is already fixed to "offset_s = 13515309;" in tests/data/ctf-traces/intersection/3eventsintersect/metadata  

 2) The 2nd reason is the regression of commit: 61cf588beae752e5ddfc60b6b5310f769ac9e852. uint64_t should be changed to int64_t in some codes related to option "--stream-intersection". 
 Attach 3 related patches based on branch remotes/origin/stable-1.5. 

 So why commit 61cf588beae752e5ddfc60b6b5310f769ac9e852 is not merged to branch 1.5? Is there any reason or side effect of this commit? 


Back