Fix lldb-vscode frame id integer overflow
This patch fixes a 32bit integer overflow in lldb-vscode. The current implementation of frame_id does `(thread_index << 19 | frame_index)`. Since thread_index is a 32 bit integer this leaves only 32 - 19 == 13 bits available for the thread_index. As a result, lldb-vscode can only handle 2^13 == 8192 threads. Normally, this would be sufficient, but we have seen crazy process having +12000 threads, causing the frame_id algorithm above to integer overflow during casting. The patch fixes the overflow by up casting to 64 bit integer first before bit shifiting. Differential Revision: https://reviews.llvm.org/D156375
Loading
Please sign in to comment