-
Notifications
You must be signed in to change notification settings - Fork 325
Open
Labels
Description
Describe the bug
When using VisualVM on a Windows 10 laptop with external monitors, the application window opens off-screen after the external monitors are disconnected. The main window cannot be seen or accessed, even though VisualVM is running.
To Reproduce
Steps to reproduce the behavior:
- Connect one or more external monitors to a Windows 10 laptop.
- Open VisualVM and move its main window to an external monitor.
- Close VisualVM.
- Disconnect the external monitor(s), leaving only the laptop display active.
1.Start VisualVM again. - The window does not appear on the visible display.
Expected behavior
VisualVM should detect when its last saved window position is no longer valid (outside visible screen bounds) and automatically reposition the window onto an available display (e.g. centered on the laptop screen).
VisualVM log
-------------------------------------------------------------------------------
>Log Session: Sunday, November 2, 2025, 6:31:05 PM Central European Standard Time
>System Info:
Product Version = VisualVM 2.2
Operating System = Windows 10 version 10.0 running on amd64
Java; VM; Vendor = 21.0.2; OpenJDK 64-Bit Server VM 21.0.2+13-jvmci-23.1-b30; GraalVM Community
Runtime = OpenJDK Runtime Environment 21.0.2+13-jvmci-23.1-b30
Java Home = C:\apps\jdk21
System Locale; Encoding = en_US (visualvm); UTF-8
Home Directory = C:\Users\User
Current Directory = C:\Windows\system32
User Directory = C:\Users\User\AppData\Roaming\VisualVM\2.2
Cache Directory = C:\Users\User\AppData\Local\VisualVM\Cache\2.2
Installation = C:\apps\visualvm_220\visualvm
C:\apps\visualvm_220\platform
Boot & Ext. Classpath =
Application Classpath = C:\apps\visualvm_220\platform\lib\boot.jar;C:\apps\visualvm_220\platform\lib\org-openide-modules.jar;C:\apps\visualvm_220\platform\lib\org-openide-util-lookup.jar;C:\apps\visualvm_220\platform\lib\org-openide-util-ui.jar;C:\apps\visualvm_220\platform\lib\org-openide-util.jar
Startup Classpath = C:\apps\visualvm_220\platform\core\asm-9.7.jar;C:\apps\visualvm_220\platform\core\asm-commons-9.7.jar;C:\apps\visualvm_220\platform\core\asm-tree-9.7.jar;C:\apps\visualvm_220\platform\core\core-base.jar;C:\apps\visualvm_220\platform\core\core.jar;C:\apps\visualvm_220\platform\core\org-netbeans-libs-asm.jar;C:\apps\visualvm_220\platform\core\org-openide-filesystems.jar;C:\apps\visualvm_220\visualvm\core\org-graalvm-visualvm-modules-startup.jar;C:\apps\visualvm_220\visualvm\core\locale\core_visualvm.jar
-------------------------------------------------------------------------------
INFO [org.graalvm.visualvm.modules.startup.ImportSettings]: Importing from C:\Users\User\AppData\Roaming\VisualVM\2.1.9 to C:\Users\User\AppData\Roaming\VisualVM\2.2
INFO [org.netbeans.core.startup.NbEvents]: Turning on modules:
org.openide.util.lookup [8.58 20250323-0d0bfcf3fa]
org.openide.util [9.32 20250323-0d0bfcf3fa]
org.openide.util.ui [9.33 20250323-0d0bfcf3fa]
org.openide.modules [7.72 20250323-0d0bfcf3fa]
org.netbeans.api.annotations.common/1 [1.52 20250323-0d0bfcf3fa]
org.openide.filesystems [9.37 20250323-0d0bfcf3fa]
org.openide.awt [7.92 20250323-0d0bfcf3fa]
org.netbeans.api.progress/1 [1.72 20250323-0d0bfcf3fa]
org.netbeans.api.progress.nb [1.72 20250323-0d0bfcf3fa]
org.openide.dialogs [7.71 20250323-0d0bfcf3fa]
org.openide.nodes [7.69 20250323-0d0bfcf3fa]
org.openide.windows [6.101 20250323-0d0bfcf3fa]
org.netbeans.modules.editor.mimelookup/1 [1.64 20250323-0d0bfcf3fa]
org.openide.text [6.92 20250323-0d0bfcf3fa]
org.netbeans.api.scripting [1.21 20250323-0d0bfcf3fa]
org.netbeans.swing.tabcontrol [1.81 20250323-0d0bfcf3fa]
org.netbeans.swing.outline [1.58 20250323-0d0bfcf3fa]
org.openide.explorer [6.86 20250323-0d0bfcf3fa]
org.openide.actions [6.63 20250323-0d0bfcf3fa]
org.netbeans.modules.queries/1 [1.67 20250323-0d0bfcf3fa]
org.netbeans.api.templates [1.32 20250323-0d0bfcf3fa]
org.openide.filesystems.nb [9.34 20250323-0d0bfcf3fa]
org.openide.loaders [7.94 20250323-0d0bfcf3fa]
org.netbeans.api.intent [1.26 20250323-0d0bfcf3fa]
org.netbeans.api.io [1.27 20250323-0d0bfcf3fa]
org.openide.io [1.73 20250323-0d0bfcf3fa]
org.netbeans.swing.plaf [1.66 20250323-0d0bfcf3fa]
org.netbeans.modules.keyring [1.48 20250323-0d0bfcf3fa]
org.netbeans.libs.asm [5.27 20250323-0d0bfcf3fa]
org.netbeans.bootstrap/1 [2.103 20250323-0d0bfcf3fa]
org.netbeans.core.startup.base [1.86.0.1 1 20250323-0d0bfcf3fa]
org.netbeans.core.startup/1 [1.87.0.1 20250323-0d0bfcf3fa]
org.netbeans.modules.sampler [1.38 20250323-0d0bfcf3fa]
org.netbeans.core/2 [3.75 20250323-0d0bfcf3fa]
org.netbeans.spi.quicksearch [1.51 20250323-0d0bfcf3fa]
org.netbeans.modules.options.api/1 [1.69 20250323-0d0bfcf3fa]
org.netbeans.libs.flatlaf/1 [1.18 3.3 20250323-0d0bfcf3fa]
org.netbeans.swing.laf.flatlaf [1.17 20250323-0d0bfcf3fa]
org.netbeans.modules.settings/1 [1.73 20250323-0d0bfcf3fa]
org.netbeans.modules.sendopts/2 [2.60 20250323-0d0bfcf3fa]
org.netbeans.modules.progress.ui [1.57 20250323-0d0bfcf3fa]
org.netbeans.modules.options.keymap [1.61 20250323-0d0bfcf3fa]
org.netbeans.libs.jna/2 [2.19 20250323-0d0bfcf3fa]
org.netbeans.modules.masterfs/2 [2.79.0.2 2 20250323-0d0bfcf3fa]
org.netbeans.modules.masterfs.windows [1.40 20250323-0d0bfcf3fa]
org.netbeans.modules.masterfs.ui [2.27.0.2 20250323-0d0bfcf3fa]
org.netbeans.modules.masterfs.nio2 [1.39 20250323-0d0bfcf3fa]
org.netbeans.modules.keyring.fallback [1.32 20250323-0d0bfcf3fa]
org.netbeans.modules.keyring.impl [1.48 20250323-0d0bfcf3fa]
org.netbeans.modules.editor.mimelookup.impl/1 [1.56 20250323-0d0bfcf3fa]
org.netbeans.modules.autoupdate.services [1.80 20250323-0d0bfcf3fa]
org.netbeans.modules.autoupdate.ui [1.70 20250323-0d0bfcf3fa]
org.netbeans.modules.autoupdate.cli [1.38 20250323-0d0bfcf3fa]
org.netbeans.libs.jna.platform/2 [2.19 20250323-0d0bfcf3fa]
org.netbeans.core.windows/2 [2.109 20250323-0d0bfcf3fa]
org.netbeans.core.ui/1 [1.69 20250323-0d0bfcf3fa]
org.netbeans.core.network [1.36 20250323-0d0bfcf3fa]
org.netbeans.core.nativeaccess/1 [1.55 20250323-0d0bfcf3fa]
org.netbeans.core.multitabs/1 [1.36.0.1 1 20250323-0d0bfcf3fa]
org.netbeans.core.io.ui/1 [1.54 20250323-0d0bfcf3fa]
org.graalvm.visualvm.lib.jfluid/2 [2.19 250417]
org.graalvm.visualvm.lib.charts/2 [2.1 250417]
org.graalvm.visualvm.lib.common/2 [2.12 250417]
org.graalvm.visualvm.lib.profiler.api/2 [2.2 250417]
org.graalvm.visualvm.lib.ui/2 [2.4 250417]
org.graalvm.visualvm.uisupport/2 [2.1 250417]
org.graalvm.visualvm.core/2 [2.4 250417]
org.graalvm.visualvm.host/2 [2.1 250417]
org.graalvm.visualvm.application/2 [2.4 250417]
org.graalvm.visualvm.tools/2 [2.4 250417]
org.graalvm.visualvm.coredump/2 [2.1 250417]
org.graalvm.visualvm.threaddump/2 [2.1 250417]
org.graalvm.visualvm.lib.profiler.utilities/2 [2.0 250417]
org.graalvm.visualvm.lib.profiler.attach/2 [2.4 250417]
org.graalvm.visualvm.lib.profiler/2 [2.4 250417]
org.graalvm.visualvm.lib.profiler.snaptracer/2 [2.0 250417]
org.graalvm.visualvm.profiling/2 [2.3 250417]
org.graalvm.visualvm.lib.jfluid.heap [1.3 250417]
org.graalvm.visualvm.lib.profiler.oql/2 [2.0 250417]
org.graalvm.visualvm.lib.profiler.heapwalker/2 [2.2 250417]
org.graalvm.visualvm.heapviewer/2 [2.8 250417]
org.graalvm.visualvm.heapdump/2 [2.1 250417]
org.graalvm.visualvm.sampler.truffle/2 [2.1 250417]
org.graalvm.visualvm.sampler/2 [2.2 250417]
org.graalvm.visualvm.sa/2 [2.0 250417]
org.graalvm.visualvm.modules.startup/2 [2.1 250417]
org.graalvm.visualvm.profiler/2 [2.1 250417]
org.graalvm.visualvm.pluginimporter [1.0 250417]
org.graalvm.visualvm.nashorn.jdk15 [1.1 250417]
org.graalvm.visualvm.modules.killapp/1 [1.2 250417]
org.graalvm.visualvm.modules.appui/2 [2.1 250417]
org.graalvm.visualvm.jvmstat/2 [2.0 250417]
org.graalvm.visualvm.jvm/2 [2.0 250417]
org.graalvm.visualvm.jmx/2 [2.2 250417]
org.graalvm.visualvm.charts/2 [2.1 250417]
org.graalvm.visualvm.jfr/2 [2.3 250417]
org.graalvm.visualvm.jfr.jdk11/2 [2.2 250417]
org.graalvm.visualvm.jfr.generic/2 [2.5 250417]
org.graalvm.visualvm.host.views/2 [2.0 250417]
org.graalvm.visualvm.host.remote/2 [2.0 250417]
org.graalvm.visualvm.heapviewer.truffle/2 [2.1 250417]
org.graalvm.visualvm.heapviewer.console/2 [2.0 250417]
org.graalvm.visualvm.application.views/2 [2.1 250417]
org.graalvm.visualvm.graalvm/2 [2.0 250417]
org.graalvm.visualvm.gotosource/2 [2.0 250417]
org.graalvm.visualvm.attach/2 [2.0 250417]
INFO [org.netbeans.core.network.proxy.NetworkProxyReloader]: System network proxy resolver: Windows
INFO [org.netbeans.core.network.proxy.windows.WindowsNetworkProxy]: Windows system proxy resolver: auto detect
INFO [org.netbeans.core.network.proxy.windows.WindowsNetworkProxy]: Windows system proxy resolver: auto - PAC (http://wpad/wpad.dat)
INFO [org.netbeans.core.network.proxy.NetworkProxyReloader]: System network proxy reloading succeeded.
INFO [org.netbeans.core.network.proxy.ProxyAutoConfig]: InputStream for http://wpad/wpad.dat throws
java.io.IOException: Server returned HTTP response code: 400 for URL: http://wpad/wpad.dat
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1998)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1599)
at org.netbeans.core.network.proxy.ProxyAutoConfig.downloadPAC(ProxyAutoConfig.java:158)
[catch] at org.netbeans.core.network.proxy.ProxyAutoConfig.initEngine(ProxyAutoConfig.java:94)
at org.netbeans.core.network.proxy.ProxyAutoConfig$1.run(ProxyAutoConfig.java:82)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1420)
at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
at org.openide.util.lookup.Lookups.executeWith(Lookups.java:287)
at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2035)
INFO [org.netbeans.core.network.proxy.NetworkProxyReloader]: System network proxy - mode: auto
INFO [org.netbeans.core.network.proxy.NetworkProxyReloader]: System network proxy - pac url: http://wpad/wpad.dat
INFO [org.netbeans.core.network.proxy.NetworkProxyReloader]: System network proxy TEST - http host:
INFO [org.netbeans.core.network.proxy.NetworkProxyReloader]: System network proxy TEST - http port: 0
INFO [org.netbeans.ui.metrics.laf]: USG_LOOK_AND_FEEL
Diagnostic information
Input arguments:
-XX:ThreadPriorityPolicy=1
-XX:+UnlockExperimentalVMOptions
-XX:+EnableJVMCIProduct
-XX:-UnlockExperimentalVMOptions
-Xms24m
-Xmx768m
-Dnetbeans.accept_license_class=org.graalvm.visualvm.modules.startup.AcceptLicense
-Dnetbeans.importclass=org.graalvm.visualvm.modules.startup.ImportSettings
-Dsun.jvmstat.perdata.syncWaitMs=10000
-Dsun.java2d.noddraw=true
-Dsun.java2d.d3d=false
-DTopSecurityManager.disable=true
-Dorg.netbeans.core.TimeableEventQueue.quantum=360000
-Dpolyglot.js.nashorn-compat=true
-Dsun.misc.URLClassPath.disableJarChecking=true
-Djdk.attach.allowAttachSelf=true
-Dorg.openide.util.ImageUtilities.level=950
--add-exports=java.desktop/com.sun.java.swing.plaf.gtk=ALL-UNNAMED
--add-exports=java.desktop/sun.awt=ALL-UNNAMED
--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor.event=ALL-UNNAMED
--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED
--add-exports=java.desktop/sun.swing=ALL-UNNAMED
--add-exports=jdk.attach/sun.tools.attach=ALL-UNNAMED
--add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED
--add-opens=java.desktop/javax.swing.plaf.synth=ALL-UNNAMED
--add-opens=java.base/java.net=ALL-UNNAMED
--add-opens=java.base/java.lang.ref=ALL-UNNAMED
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.desktop/javax.swing=ALL-UNNAMED
--add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED
-XX:+IgnoreUnrecognizedVMOptions
-Xms1024m
-Xmx2048m
-Djdk.home=C:\apps\jdk21
-Dnetbeans.home=C:\apps\visualvm_220\platform
-Dnetbeans.user=C:\Users\User\AppData\Roaming\VisualVM\2.2
-Dnetbeans.default_userdir_root=C:\Users\User\AppData\Roaming\VisualVM
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=C:\Users\User\AppData\Roaming\VisualVM\2.2\var\log\heapdump.hprof
-Dsun.awt.keepWorkingSetOnMinimize=true
-Dnetbeans.dirs=C:\apps\visualvm_220\visualvm
Compiler: HotSpot 64-Bit Tiered Compilers
Heap memory usage: initial 1024,0MB maximum 2048,0MB
Non heap memory usage: initial 7,3MB maximum -1b
Garbage collector: G1 Young Generation (Collections=3 Total time spent=0s)
Garbage collector: G1 Concurrent GC (Collections=4 Total time spent=0s)
Garbage collector: G1 Old Generation (Collections=0 Total time spent=0s)
Classes: loaded=6339 total loaded=6339 unloaded 0
INFO [org.netbeans.core.ui.warmup.DiagnosticTask]: Total memory 64.065.466.368
INFO [null]: Total physical memory 64.065.466.368
INFO [org.graalvm.visualvm.pluginimporter.PluginImporter]: Inspecting plugins took 19 ms
INFO [org.graalvm.visualvm.pluginimporter.Installer]: 7 available plugins for import in C:\Users\User\AppData\Roaming\VisualVM\2.2
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
- OS: Microsoft Windows [Version 10.0.19045.6456]
- JDK version: openjdk 21.0.2 2024-01-16
- Version: 2.2
Additional context
n/a