My Oracle Support Banner

How to convert a thread id with negative value in session logs on Linux platform (Doc ID 1500676.1)

Last updated on AUGUST 19, 2022

Applies to:

Siebel CRM - Version 8.0.0.2 [20412] to 22.6 [Release V8 to V17]
Linux x86-64
Linux x86

Goal

 

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 

was created to address this. 

Solution

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Goal
Solution
References

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.