Making a thread dump
- Overview
- Finding jstack
- Generating a thread dump on Windows
- Generating a thread dump on Mac and Linux
- Generating a thread dump without Java
Sometimes (due to some bug) DBeaver UI hangs, freezes, or works incorrectly. It is usually impossible to find the reason for such an issue without a thread dump. A thread dump is information about the internal execution state of the Java program.
DBeaver incorporates the jstack
tool for generating thread dumps. To use this pre-installed tool, it is essential to
locate its directory in the DBeaver installation and execute it from there.
Important: The
jstack
tool is not included in the tar.gz without Java on the DBeaver download page, and in Downstream packages.
The location of jstack
varies depending on your operating system:
- Find the directory where DBeaver is installed. On macOS, proceed to the
Contents/Eclipse
subdirectory. Then, in both macOS and Linux systems, locate thejre/bin/jstack
directory. This is the typical location forjstack
in DBeaver installations.
- Find the directory where DBeaver is installed.
- Within this directory, go to
jre/bin/jstack.exe
. This is the standard path to findjstack
in DBeaver installations on Windows systems.
Note: If you did not install Java during the DBeaver installation (by unchecking the
Install Java
checkbox),jstack.exe
will not be present. In this case, you need to install Java separately and locatejstack.exe
within the Java installation directory.
To create a thread dump in DBeaver on Windows, follow these steps:
- Find DBeaver's Process ID:
-
Open Task Manager by pressing CTRL+SHIFT+ESC.
-
In Windows 8 and later, switch to the "Details" tab.
-
Locate
DBeaver
(orDBeaver[your version]
) in the process list and note its process ID (PID).Tip: For example, if you are using the DBeaver Lite version, you should look for
DBeaverLite
.
- Open Command Prompt:
- Press Win+R, type
cmd
, and press ENTER to open the command prompt.
- Run the Thread Dump command:
- Navigate to the
jre/bin
directory within the DBeaver installation path. - Run the following command, replacing
PID
with the actual process ID of DBeaver:jstack.exe PID > "%HOMEPATH%\dbeaver-thread-dump.txt"
- This command executes
jstack.exe
, generates a thread dump for the specified PID, and saves the output todbeaver-thread-dump.txt
in your home directory (e.g.,C:\Users\Username
). This file contains the thread dump information that can be attached to a GitHub issue for further analysis.
To create a thread dump in DBeaver on macOS and Linux systems, you can use the included jstack
tool via the terminal. The
following script will generate a thread dump and save it as dbeaver-thread-dump.txt
in your home directory:
/Applications/YOUR-VERSION-OF-DBEAVER.app/Contents/Eclipse/jre/Contents/Home/bin/jstack $(pgrep dbeaver) > ~/dbeaver-thread-dump.txt
Tip: Replace
YOUR-VERSION-OF-DBEAVER.app
with the version of DBeaver you have installed. For example, if you have DBeaver Lite version, the path would be/Applications/DBeaverLite.app/Contents/Eclipse/jre/Contents/Home/bin/jstack
.
If you are running DBeaver on Linux using the tar.gz version without Java included, you will need to install the Java Development Kit (JDK) to generate a thread dump. Follow these steps:
-
Check for Existing JDK Installation:
- Open your terminal.
- Type
which jstack
and press Enter. - If the JDK is installed, a version number will appear.
-
Install JDK:
- If JDK is not installed, you need to install it.
- Use your distribution's package manager to install JDK. For example, on Ubuntu, you can
use
sudo apt install default-jdk
.
After successfully installing JDK, proceed with the thread dump script:
jstack $(pgrep dbeaver) > ~/dbeaver-thread-dump.txt
After running this script, you will find the dbeaver-thread-dump.txt
file in your home directory, containing the
necessary thread information for diagnosing issues.
If you are using DBeaver on Windows without Java, consider installing Adoptium OpenJDK.
Alternatively, you can reinstall DBeaver and ensure to check the Install Java
checkbox during installation.
After installing Java through either method, you can follow the instructions in the section Generating a Thread Dump on Windows to successfully generate a thread dump.
- Installation
- Application Window Overview
- Views
- Database Object Editor
- SQL Editor
- Search
- Schema compare
- Using Liquibase in DBeaver
- Data compare
- MockData generation
- Spelling
- Dashboards, DB monitoring
- Projects
- Managing Master password
- Security in PRO products
- Certificate Management
- Bookmarks
- Shortcuts
- Accessibility
- Sample Database
-
Database Connections
- Edit Connection
- Invalidate/Reconnect to Database
- Disconnect from Database
- Change current user password
- Advanced settings
- Cloud configuration settings
- Local Client Configuration
- Connection Types
- Configure Connection Initialization Settings
- Tableau integration
- Transactions
- Drivers
- Tasks
- Cloud Explorer
- Cloud Storage
- Classic
- Cloud
- Changing interface language
- DBeaver extensions - Office, Debugger, SVG
- Installing extensions - Themes, version control, etc
- User Interface Themes
- Command Line
- Reset UI settings
- Reset workspace
- Troubleshooting system issues
- Posting issues
- Log files
- JDBC trace
- Thread dump
- Managing connections
- Managing variables
- Managing drivers
- Managing preferences
- Managing restrictions
- Windows Silent Install
- Snap installation