Community
cancel
Showing results for 
Search instead for 
Did you mean: 
leo_franco
Beginner
77 Views

Getting the backtrace with the Linux Thread Checker

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

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