Analyzers
Talk to fellow users of Intel Analyzer tools (Intel VTune™ Profiler, Intel Advisor)
4975 Discussions

Getting the backtrace with the Linux Thread Checker

leo_franco
Beginner
283 Views
Hi...

I couldn't find a thread specific to the Thread Checker so please feel free to move this post if needed...

I'm testing a relatively simple algorithm of two threads and it looks like there is a potential deadlock... unfortunately, our mutexes are wrapped in a TMutex class so the actual call to the lock is always done in the place which renders the output given by the checker completely useless.

As you can see, all the erros reported involve the line number 55 of a given class (the lock, of course)...

Is there a way the get backtrace instead of just one line? I really need to know where it's coming from.

Thanks in advance,
Leandro Franco


|ID|Short |Seve|C|Conte|Description |1st Acc|2nd Acc|
| |Description |rity|o|xt[Be| |ess[Bes|ess[Bes|
| | |Name|u|st] | |t] |t] |
| | | |n| | | | |
| | | |t| | | | |
_______________________________________________________________________________
|1 |The sync |Caut|1|"TCon|The sync object notify |"TCondi|"TCondi|
| |object notify |ion | |ditio|operation at "TCondition.h":57|tion.h"|tion.h"|
| |operation wasa| | |n.h":|was a no-op |:57 |:57 |
| |no-op | | |57 | | | |
_______________________________________________________________________________
|2 |A sync object |Caut|1|Whole|A synchronization object |"TPosix|"TPosix|
| |was acquired |ion | |Progr|"TPosixMutex.cxx":55 was |Mutex.c|Mutex.c|
| |in the wrong | | |am 1 |acquired in the wrong order at|xx":55 |xx":55 |
| |order | | | |"TPosixMutex.cxx":55 | | |
_______________________________________________________________________________
|3 |A sync object |Caut|1|Whole|A synchronization object |"TPosix|"TPosix|
| |was acquired |ion | |Progr|"TPosixMutex.cxx":55 was |Mutex.c|Mutex.c|
| |in the wrong | | |am 1 |acquired in the wrong order at|xx":55 |xx":55 |
| |order | | | |"TPosixMutex.cxx":55 | | |
_______________________________________________________________________________
|4 |A sync object |Caut|1|Whole|A synchronization object |"TPosix|"TPosix|
| |was acquired |ion | |Progr|"TPosixMutex.cxx":55 was |Mutex.c|Mutex.c|
| |in the wrong | | |am 2 |acquired in the wrong order at|xx":55 |xx":55 |
| |order | | | |"TPosixMutex.cxx":55 | | |
_______________________________________________________________________________
|5 |A sync object |Caut|1|Whole|A synchronization object |"TPosix|"TPosix|
| |was acquired |ion | |Progr|"TPosixMutex.cxx":55 was |Mutex.c|Mutex.c|
| |in the wrong | | |am 2 |acquired in the wrong order at|xx":55 |xx":55 |
| |order | | | |"TPosixMutex.cxx":55 | | |
_______________________________________________________________________________
|6 |A sync object |Caut|1|Whole|A synchronization object |"TPosix|"TPosix|
| |was acquired |ion | |Progr|"TPosixMutex.cxx":55 was |Mutex.c|Mutex.c|
| |in the wrong | | |am 3 |acquired in the wrong order at|xx":55 |xx":55 |
| |order | | | |"TPosixMutex.cxx":55 | | |
_______________________________________________________________________________
|7 |A sync object |Caut|1|Whole|A synchronization object |"TPosix|"TPosix|
| |was acquired |ion | |Progr|"TPosixMutex.cxx":55 was |Mutex.c|Mutex.c|
| |in the wrong | | |am 3 |acquired in the wrong order at|xx":55 |xx":55 |
| |order | | | |"TPosixMutex.cxx":55 | | |
_______________________________________________________________________________
|8 |A sync object |Caut|1|Whole|A synchronization object |"TPosix|"TPosix|
| |was acquired |ion | |Progr|"TPosixMutex.cxx":55 was |Mutex.c|Mutex.c|
| |in the wrong | | |am 4 |acquired in the wrong order at|xx":55 |xx":55 |
| |order | | | |"TPosixMutex.cxx":55 | | |
_______________________________________________________________________________

0 Kudos
1 Reply
leo_franco
Beginner
283 Views
Silly me... That's one of the options ("-s n" in case somebody ends up here too)... Just ignore the post.... Cheers, Leo
0 Kudos
Reply