On Wed, 9 Jun 2021 07:43:08 +0200 (CEST) Julia Lawall <julia.lawall@xxxxxxxx> wrote: > > If a trace event wraps the special __entry variable to dereference it with > > parenthesis, it shows up in the trace event format file wrapping the > > "(REC)" as well. For example, the "func_repeats" event passed the __entry > > into a helper macro in the TP_printk() portion, and the macro correctly > > wrapped its parameter in parenthesis. This caused the output to show: > > > > "(((u64)(REC)->top_delta_ts << 32) | (REC)->bottom_delta_ts)" > > > > The parser then failed to parse the "(REC)->" portion, as it expected the > > "->" to appear directly after the "REC". This is not a requirement, and > > the parser should be able to handle such cases. > > > > When this occurred, trace-cmd would error with the following message: > > > > trace-cmd: No such file or directory > > Error: expected type 4 but read 5 > > For the record, I have tried tracing two programs with Linux v5.13-rc4 or > rc5 and both of them had this problem, while they didn't have this problem > when traced with the same arguments with earlier Linux versions. So it > may be systematic for Linux v5.13. The event mentioned in the change log was added in 5.13. But it is a valid pattern, and not a bug in the 5.13 kernel. -- Steve