How to convert a thread id with negative value in session logs on Linux platform
Last updated on MAY 08, 2018
Applies to:Siebel CRM - Version 126.96.36.199  and later
Due to the way thread ids in the header line of a session log file are calculated in Linux it can happen that we see negative values:
Here the value -1636828256 refers to the session thread id in the object manager process.
Now when a crash happens the same negative value can also be observed in the crash.txt file.
The crash.txt and the session log will display a negative value whereas the fdr file will display the correct positive value.
However it is not possible to directly correlate this negative number with the same thread's number in the corresponding fdr file. This is sometimes needed for crash analysis.
This happens when the thread id is greater than 2^31 (2 GB).
This thread id is generated randomly by the Linux threading library and can have any value less than 2^32 ( 4 GB ).
In that case, the output routines writing to the header line of a session log are displaying the negative interpretation of that bit string since they expect a maximum positive value of 2GB.
Bug 10643314: [CR#12-1VJIBWJ][FR#12-1VJIBX4] THREAD IDS ON LINUX ARE DISPLAYED AS NEGATIVE NUM
has been created to address this.
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
Million Knowledge Articles and hundreds of Community platforms