IDE hangs on startup: "Error verifying signature: openpgp: signature expired"

Hi!
I've just installed Arduino IDE 2.3.2 on a clean install of Windows 11 Pro (23H2), and I'm unable to launch Arduino successfully, I get stuck at the loading logo and it just hangs.

Launched using PowerShell, and I get the following:

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

Install the latest PowerShell for new features and improvements! https://aka.ms/PSWindows

PS C:\Users\Jaz> CD "C:\Program Files\Arduino IDE"
PS C:\Program Files\Arduino IDE> ls


    Directory: C:\Program Files\Arduino IDE


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        05/04/2024     11:04                locales
d-----        05/04/2024     11:04                resources
-a----        20/02/2024     10:06      172661440 Arduino IDE.exe
-a----        20/02/2024     10:06         135642 chrome_100_percent.pak
-a----        20/02/2024     10:06         195396 chrome_200_percent.pak
-a----        20/02/2024     10:06        4916712 d3dcompiler_47.dll
-a----        20/02/2024     10:06        2887680 ffmpeg.dll
-a----        20/02/2024     10:06       10717392 icudtl.dat
-a----        20/02/2024     10:06         488960 libEGL.dll
-a----        20/02/2024     10:06        7613952 libGLESv2.dll
-a----        20/02/2024     10:06           1096 LICENSE.electron.txt
-a----        20/02/2024     10:06        9227221 LICENSES.chromium.html
-a----        20/02/2024     10:06        5483548 resources.pak
-a----        20/02/2024     10:06         267462 snapshot_blob.bin
-a----        20/02/2024     10:06         229928 Uninstall Arduino IDE.exe
-a----        20/02/2024     09:49          47519 uninstallerIcon.ico
-a----        20/02/2024     10:06         626313 v8_context_snapshot.bin
-a----        20/02/2024     10:06        5180416 vk_swiftshader.dll
-a----        20/02/2024     10:06            106 vk_swiftshader_icd.json
-a----        20/02/2024     10:06         953856 vulkan-1.dll


PS C:\Program Files\Arduino IDE> & ".\Arduino IDE"
PS C:\Program Files\Arduino IDE>
Arduino IDE 2.3.2
Checking for frontend application configuration customizations. Module path: C:\Program Files\Arduino IDE\resources\app\lib\backend\electron-main.js, destination 'package.json': C:\Program Files\Arduino IDE\resources\app\package.json
Setting 'theia.frontend.config.appVersion' application configuration value to: "2.3.2" (type of string)
Setting 'theia.frontend.config.cliVersion' application configuration value to: "0.35.3" (type of string)
Setting 'theia.frontend.config.buildDate' application configuration value to: "2024-02-20T10:04:35.814Z" (type of string)
Frontend application configuration after modifications: {"applicationName":"Arduino IDE","defaultTheme":{"light":"arduino-theme","dark":"arduino-theme-dark"},"defaultIconTheme":"none","electron":{"windowOptions":{}},"defaultLocale":"","validatePreferencesSchema":false,"preferences":{"window.title":"${rootName}${activeEditorShort}${appName}","files.autoSave":"afterDelay","editor.minimap.enabled":false,"editor.tabSize":2,"editor.scrollBeyondLastLine":false,"editor.quickSuggestions":{"other":false,"comments":false,"strings":false},"editor.maxTokenizationLineLength":500,"editor.bracketPairColorization.enabled":false,"breadcrumbs.enabled":false,"workbench.tree.renderIndentGuides":"none","explorer.compactFolders":false},"appVersion":"2.3.2","cliVersion":"0.35.3","buildDate":"2024-02-20T10:04:35.814Z"}
Starting backend process. PID: 21600
Using browser-only version of superagent in non-browser environment
Configuration directory URI: 'file:///c%3A/Users/Jaz/.arduinoIDE'
Configuring to accept webviews on '^.+\.webview\..+$' hostname.
2024-04-05T12:27:00.770Z root INFO Backend Object.initialize: 3.9 ms [Finished 0.463 s after backend start]
2024-04-05T12:27:00.771Z root INFO Backend Object.configure: 3.2 ms [Finished 0.463 s after backend start]
2024-04-05T12:27:00.771Z root INFO Backend s.onStart: 1.6 ms [Finished 0.463 s after backend start]
2024-04-05T12:27:00.772Z root INFO Backend s.configure: 0.4 ms [Finished 0.483 s after backend start]
2024-04-05T12:27:00.773Z root INFO Backend d.onStart: 0.3 ms [Finished 0.483 s after backend start]
2024-04-05T12:27:00.774Z root INFO Backend d.configure: 0.1 ms [Finished 0.483 s after backend start]
2024-04-05T12:27:00.774Z root INFO Backend d.initialize: 20.8 ms [Finished 0.484 s after backend start]
2024-04-05T12:27:00.774Z root INFO Backend c.onStart: 0.3 ms [Finished 0.484 s after backend start]
2024-04-05T12:27:00.775Z root INFO Backend a.configure: 1.3 ms [Finished 0.485 s after backend start]
2024-04-05T12:27:00.776Z config INFO >>> Initializing CLI configuration...
2024-04-05T12:27:00.776Z root INFO Backend c.initialize: 0.7 ms [Finished 0.485 s after backend start]
2024-04-05T12:27:00.776Z root INFO Backend R.onStart: 0.9 ms [Finished 0.486 s after backend start]
2024-04-05T12:27:00.777Z config INFO Loading CLI configuration from c:\Users\Jaz\.arduinoIDE\arduino-cli.yaml...
2024-04-05T12:27:00.778Z daemon INFO Starting daemon from C:\Program Files\Arduino IDE\resources\app\lib\backend\resources\arduino-cli.exe...
2024-04-05T12:27:00.778Z root INFO Backend a.initialize: 0.4 ms [Finished 0.487 s after backend start]
2024-04-05T12:27:00.778Z root INFO Backend w.onStart: 1.0 ms [Finished 0.488 s after backend start]
2024-04-05T12:27:00.778Z root INFO Backend r.configure: 1.6 ms [Finished 0.488 s after backend start]
2024-04-05T12:27:00.778Z discovery-log INFO start
2024-04-05T12:27:00.778Z discovery-log INFO start new deferred
2024-04-05T12:27:00.778Z root INFO Backend d.initialize: 0.4 ms [Finished 0.488 s after backend start]
2024-04-05T12:27:00.778Z root INFO Backend y.onStart: 1.9 ms [Finished 0.490 s after backend start]
2024-04-05T12:27:00.778Z root INFO Backend r.configure: 1.6 ms [Finished 0.490 s after backend start]
2024-04-05T12:27:00.778Z root INFO Backend a.onStart: 0.4 ms [Finished 0.491 s after backend start]
2024-04-05T12:27:00.778Z root INFO Backend h.configure: 0.4 ms [Finished 0.491 s after backend start]
2024-04-05T12:27:00.778Z root INFO Backend s.configure: 0.1 ms [Finished 0.491 s after backend start]
2024-04-05T12:27:00.778Z root INFO Backend l.configure: 0.1 ms [Finished 0.491 s after backend start]
2024-04-05T12:27:00.781Z root INFO Theia app listening on http://127.0.0.1:65107.
2024-04-05T12:27:00.781Z root INFO Finished starting backend application: 2.9 ms [Finished 0.494 s after backend start]
2024-04-05T12:27:00.786Z root WARN The local plugin referenced by local-dir:/c%3A/Users/Jaz/.arduinoIDE/plugins does not exist.
2024-04-05T12:27:00.786Z root WARN The local plugin referenced by local-dir:/c%3A/Users/Jaz/.arduinoIDE/extensions does not exist.
2024-04-05T12:27:00.786Z root WARN The local plugin referenced by local-dir:C:\Users\Jaz\.arduinoIDE\plugins does not exist.
2024-04-05T12:27:00.795Z config INFO Loaded CLI configuration: {"board_manager":{"additional_urls":[]},"build_cache":{"compilations_before_purge":10,"ttl":"720h0m0s"},"daemon":{"port":"50051"},"directories":{"data":"C:\\Users\\Jaz\\AppData\\Local\\Arduino15","downloads":"C:\\Users\\Jaz\\AppData\\Local\\Arduino15\\staging","user":"C:\\Users\\Jaz\\Documents\\Arduino"},"library":{"enable_unsafe_install":false},"logging":{"file":"","format":"text","level":"info"},"metrics":{"addr":":9090","enabled":true},"output":{"no_color":false},"sketch":{"always_export_binaries":false},"updater":{"enable_notification":true}}
2024-04-05T12:27:00.795Z config INFO 'directories.data' and 'directories.user' are set in the CLI configuration model.
2024-04-05T12:27:00.795Z config INFO Loaded the CLI configuration.
2024-04-05T12:27:00.798Z config INFO Mapped the CLI configuration: {"dataDirUri":"file:///c%3A/Users/Jaz/AppData/Local/Arduino15","sketchDirUri":"file:///c%3A/Users/Jaz/Documents/Arduino","additionalUrls":[],"network":"none","locale":"en"}
2024-04-05T12:27:00.798Z config INFO Validating the CLI configuration...
2024-04-05T12:27:00.798Z config INFO The CLI config is valid.
2024-04-05T12:27:00.798Z config INFO <<< Initialized the CLI configuration.
2024-04-05T12:27:00.814Z root INFO Resolve plugins list: 36.8 ms [Finished 0.527 s after backend start]
2024-04-05T12:27:00.890Z daemon INFO time="2024-04-05T13:27:00+01:00" level=info msg="Using config file: c:\\Users\\Jaz\\.arduinoIDE\\arduino-cli.yaml"
time="2024-04-05T13:27:00+01:00" level=info msg="arduino-cli.exe version 0.35.3"
time="2024-04-05T13:27:00+01:00" level=info msg="Executing `arduino-cli daemon`"
Daemon is now listening on 127.0.0.1:65108
{"IP":"127.0.0.1","Port":"65108"}
2024-04-05T12:27:00.890Z daemon INFO Daemon is running.
2024-04-05T12:27:00.916Z daemon INFO time="2024-04-05T13:27:00+01:00" level=info msg="Updating libraries index"
time="2024-04-05T13:27:00+01:00" level=info msg="Starting download" url="https://downloads.arduino.cc/libraries/library_index.tar.bz2"
2024-04-05T12:27:01.511Z root INFO Deploy plugins list: 36.8 ms [Finished 1.224 s after backend start]
Opening channel for service path '/services/electron-window'.
Opening channel for service path '/services/ide-updater'.
2024-04-05T12:27:02.409Z root WARN Frontend a.configure took longer than the expected maximum 100 milliseconds: 121.7 ms [Finished 1.538 s after frontend start]
2024-04-05T12:27:02.409Z root WARN A command editor.action.toggleStickyScroll is already registered.
2024-04-05T12:27:04.847Z root ERROR Detected an error response during the gRPC core client initialization: code: 3, message: Error verifying signature: openpgp: signature expired
2024-04-05T12:27:04.857Z daemon INFO time="2024-04-05T13:27:04+01:00" level=info msg="Checking signature" index="C:\\Users\\Jaz\\AppData\\Local\\Arduino15\\package_index.json" signatureFile="C:\\Users\\Jaz\\AppData\\Local\\Arduino15\\package_index.json.sig" trusted=true
2024-04-05T12:27:04.858Z daemon INFO time="2024-04-05T13:27:04+01:00" level=info msg="Loading hardware from: C:\\Users\\Jaz\\AppData\\Local\\Arduino15\\packages"
2024-04-05T12:27:04.859Z daemon INFO time="2024-04-05T13:27:04+01:00" level=info msg="Loading package builtin from: C:\\Users\\Jaz\\AppData\\Local\\Arduino15\\packages\\builtin"
2024-04-05T12:27:04.859Z daemon INFO time="2024-04-05T13:27:04+01:00" level=info msg="Checking existence of 'tools' path: C:\\Users\\Jaz\\AppData\\Local\\Arduino15\\packages\\builtin\\tools"
time="2024-04-05T13:27:04+01:00" level=info msg="Loading tools from dir: C:\\Users\\Jaz\\AppData\\Local\\Arduino15\\packages\\builtin\\tools"
2024-04-05T12:27:04.860Z daemon INFO time="2024-04-05T13:27:04+01:00" level=info msg="Loaded tool" tool="builtin:ctags@5.8-arduino11"
2024-04-05T12:27:04.860Z daemon INFO time="2024-04-05T13:27:04+01:00" level=info msg="Loaded tool" tool="builtin:dfu-discovery@0.1.2"
2024-04-05T12:27:04.860Z daemon INFO time="2024-04-05T13:27:04+01:00" level=info msg="Loaded tool" tool="builtin:mdns-discovery@1.0.9"
2024-04-05T12:27:04.861Z daemon INFO time="2024-04-05T13:27:04+01:00" level=info msg="Loaded tool" tool="builtin:serial-discovery@1.4.0"
2024-04-05T12:27:04.861Z daemon INFO time="2024-04-05T13:27:04+01:00" level=info msg="Loaded tool" tool="builtin:serial-monitor@0.14.1"
2024-04-05T12:27:04.861Z daemon INFO time="2024-04-05T13:27:04+01:00" level=info msg="Loading libraries index file" index="C:\\Users\\Jaz\\AppData\\Local\\Arduino15\\library_index.json"
2024-04-05T12:27:04.861Z daemon INFO time="2024-04-05T13:27:04+01:00" level=info msg="Adding libraries dir" dir="C:\\Users\\Jaz\\AppData\\Local\\Arduino15\\libraries" location=ide
2024-04-05T12:27:04.862Z root ERROR Detected an error response during the gRPC core client initialization: code: 9, message: Loading index file: reading library_index.json: open C:\Users\Jaz\AppData\Local\Arduino15\library_index.json: The system cannot find the file specified.
2024-04-05T12:27:04.862Z daemon INFO time="2024-04-05T13:27:04+01:00" level=info msg="Adding libraries dir" dir="C:\\Users\\Jaz\\Documents\\Arduino\\libraries" location=user
2024-04-05T12:27:04.866Z root ERROR The primary packages indexes are missing. Running indexes update before initializing the core gRPC client The index of the cores and libraries must be updated before initializing the core gRPC client.
The following problems were detected during the gRPC client initialization:
[library-index] - code: 9, message: Loading index file: reading library_index.json: open C:\Users\Jaz\AppData\Local\Arduino15\library_index.json: The system cannot find the file specified.

2024-04-05T12:27:04.866Z daemon INFO time="2024-04-05T13:27:04+01:00" level=info msg="Updating libraries index"
2024-04-05T12:27:04.868Z daemon INFO time="2024-04-05T13:27:04+01:00" level=info msg="Starting download" url="https://downloads.arduino.cc/libraries/library_index.tar.bz2"
2024-04-05T12:27:04.869Z root INFO core-client-provider [library-index] Downloading index: library_index.tar.bz2

2024-04-05T12:27:08.564Z daemon INFO time="2024-04-05T13:27:08+01:00" level=info msg="Updating libraries index"
2024-04-05T12:27:08.566Z daemon INFO time="2024-04-05T13:27:08+01:00" level=info msg="Starting download" url="https://downloads.arduino.cc/libraries/library_index.tar.bz2"
2024-04-05T12:27:12.050Z root ERROR Detected an error response during the gRPC core client initialization: code: 3, message: Error verifying signature: openpgp: signature expired
2024-04-05T12:27:12.060Z daemon INFO time="2024-04-05T13:27:12+01:00" level=info msg="Checking signature" index="C:\\Users\\Jaz\\AppData\\Local\\Arduino15\\package_index.json" signatureFile="C:\\Users\\Jaz\\AppData\\Local\\Arduino15\\package_index.json.sig" trusted=true
2024-04-05T12:27:12.061Z daemon INFO time="2024-04-05T13:27:12+01:00" level=info msg="Loading hardware from: C:\\Users\\Jaz\\AppData\\Local\\Arduino15\\packages"
2024-04-05T12:27:12.061Z daemon INFO time="2024-04-05T13:27:12+01:00" level=info msg="Loading package builtin from: C:\\Users\\Jaz\\AppData\\Local\\Arduino15\\packages\\builtin"
2024-04-05T12:27:12.061Z daemon INFO time="2024-04-05T13:27:12+01:00" level=info msg="Checking existence of 'tools' path: C:\\Users\\Jaz\\AppData\\Local\\Arduino15\\packages\\builtin\\tools"
time="2024-04-05T13:27:12+01:00" level=info msg="Loading tools from dir: C:\\Users\\Jaz\\AppData\\Local\\Arduino15\\packages\\builtin\\tools"
2024-04-05T12:27:12.062Z daemon INFO time="2024-04-05T13:27:12+01:00" level=info msg="Loaded tool" tool="builtin:ctags@5.8-arduino11"
2024-04-05T12:27:12.062Z daemon INFO time="2024-04-05T13:27:12+01:00" level=info msg="Loaded tool" tool="builtin:dfu-discovery@0.1.2"
2024-04-05T12:27:12.062Z daemon INFO time="2024-04-05T13:27:12+01:00" level=info msg="Loaded tool" tool="builtin:mdns-discovery@1.0.9"
2024-04-05T12:27:12.062Z daemon INFO time="2024-04-05T13:27:12+01:00" level=info msg="Loaded tool" tool="builtin:serial-discovery@1.4.0"
2024-04-05T12:27:12.062Z daemon INFO time="2024-04-05T13:27:12+01:00" level=info msg="Loaded tool" tool="builtin:serial-monitor@0.14.1"
2024-04-05T12:27:12.063Z daemon INFO time="2024-04-05T13:27:12+01:00" level=info msg="Loading libraries index file" index="C:\\Users\\Jaz\\AppData\\Local\\Arduino15\\library_index.json"
2024-04-05T12:27:12.063Z daemon INFO time="2024-04-05T13:27:12+01:00" level=info msg="Adding libraries dir" dir="C:\\Users\\Jaz\\AppData\\Local\\Arduino15\\libraries" location=ide
2024-04-05T12:27:12.063Z root ERROR Detected an error response during the gRPC core client initialization: code: 9, message: Loading index file: reading library_index.json: open C:\Users\Jaz\AppData\Local\Arduino15\library_index.json: The system cannot find the file specified.
2024-04-05T12:27:12.063Z daemon INFO time="2024-04-05T13:27:12+01:00" level=info msg="Adding libraries dir" dir="C:\\Users\\Jaz\\Documents\\Arduino\\libraries" location=user
2024-04-05T12:27:12.065Z root ERROR Uncaught Exception:  Error: The index of the cores and libraries must be updated before initializing the core gRPC client.
The following problems were detected during the gRPC client initialization:
[library-index] - code: 9, message: Loading index file: reading library_index.json: open C:\Users\Jaz\AppData\Local\Arduino15\library_index.json: The system cannot find the file specified.

2024-04-05T12:27:12.065Z root ERROR Error: The index of the cores and libraries must be updated before initializing the core gRPC client.
The following problems were detected during the gRPC client initialization:
[library-index] - code: 9, message: Loading index file: reading library_index.json: open C:\Users\Jaz\AppData\Local\Arduino15\library_index.json: The system cannot find the file specified.

    at C:\Program Files\Arduino IDE\resources\app\lib\backend\main.js:2:622877
    at E.evaluateErrorStatus (C:\Program Files\Arduino IDE\resources\app\lib\backend\main.js:2:622893)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async a.<anonymous> (C:\Program Files\Arduino IDE\resources\app\lib\backend\main.js:2:622563)
2024-04-05T12:49:09.778Z root ERROR Uncaught Exception:  Error: transport close
2024-04-05T12:49:09.779Z root ERROR Error: transport close
    at C:\Program Files\Arduino IDE\resources\app\lib\backend\main.js:2:1095642
    at Map.forEach (<anonymous>)
    at C:\Program Files\Arduino IDE\resources\app\lib\backend\main.js:2:1095621
    at C:\Program Files\Arduino IDE\resources\app\lib\backend\main.js:2:1062813
    at i.invoke (C:\Program Files\Arduino IDE\resources\app\lib\backend\main.js:2:1062903)
    at s.fire (C:\Program Files\Arduino IDE\resources\app\lib\backend\main.js:2:1064706)
    at C:\Program Files\Arduino IDE\resources\app\lib\backend\main.js:2:1090506
    at Map.forEach (<anonymous>)
    at Object.<anonymous> (C:\Program Files\Arduino IDE\resources\app\lib\backend\main.js:2:1090476)
    at e.dispose (C:\Program Files\Arduino IDE\resources\app\lib\backend\main.js:2:1055872)

After trying the solutions posted under similar issues (IDE Hangs On Startup, Can't Open Arduino IDE 2.3.2, Arduino IDE 3.2.3 Windows 10 Won't Launch), I tried the solution which was posted under IDE 2.2.01 Hangs On Startup, which was to launch Arduino IDE from PowerShell using:

PS C:\Users\Jaz> CD "C:\Program Files\Arduino IDE"
PS C:\Program Files\Arduino IDE> & ".\Arduino IDE" --hostname ::

This has got it up and running, so that's a start.

A suggested patch is to modify the Arduino IDE shortcut with the " --hostname ::" flag.
More detail in the original post, screenshot below:

Hopefully this can help others who are stuck with the same issue, and possibly contribute to a fix for the bug its self.

TheTechnician

Thanks for taking the time to share the solution you found @thetechnician!

There are many different things that can cause Arduino IDE to hang on startup as you experienced. Normally we can get some clue about the specific cause of the general fault (and thus the appropriate remedy) by examining the logs. Reports like IDE 2.2.0 hangs on startup are quite tricky because in that case the logs don't show any error at all so we don't have any distinctive symptom to identify the cause. It seems the lack of a symptom may be the only symptom we have to indicate this --hostname :: flag might be the solution.

However, your logs are different in that we do have a distinctive symptom:

From my investigations, I found the cause of this error is the system clock being out of sync. For me, and for the other users with this error I have supported, the solution was simply to sync the clock.

Since the system clock is periodically synced automatically (dependent on Internet access), I'm wondering if the problem might have resolved itself on your system and the fact that the IDE was able to start once you added that --hostname :: flag was purely coincidental.

Anyway, if the IDE is working then all is well and we don't need to be so concerned about the reasons why it is working unless you happen to find that boring subject generally interesting (as I do). I only thought I should mention it in case others discover this post through a search for the distinctive "openpgp: signature expired" message and find that the stated --hostname :: flag solution doesn't fix it for them.

Hi, I'm the OP of that last post. I just removed --hostname :: from the shortcut and synced the clock. It runs fine now, however I'm no longer on 2.2.0, I'm using 2.3.2. Either this version fixed it or syncing the clock fixed it. Couldn't tell you for certain, unfortunately. Is there anything I can do to help you figure things out?

Hi @majhi. Thanks for sharing your findings!

I did a survey of the reports of Arduino IDE hanging with this "openpgp: signature expired" message in the logs. I found that all of the reports were from users with an IDE of 2.3.0 or newer. This made me wonder if maybe an out of sync clock was the cause of some of the mysterious reports of the IDE hanging on startup without any "smoking gun" in the logs and that the difference from 2.3.0 was that the IDE is now able to communicate about the cause of the problem by logging this error.

To test this hypothesis, I deliberately put my system clock out of sync and then attempted to start Arduino IDE 2.2.1. It was able to start up without any problem. I then tried starting Arduino IDE 2.3.2 and it hung so I am confident that I produced the conditions under which the fault occurs.

So this tells me that IDE versions prior to 2.3.0 were not affected by an out of sync clock and so this could not have been the cause of reports of earlier versions of the IDE hanging on startup.

Thanks for the offer! Unfortunately although I am aware of the context around the --hostname :: fix/workaround, I don't have a good understanding of the conditions under which the hang which is fixed by it occurs. I made quite some efforts to reproduce the fault (using the unfortunately quite vague information provided in the discussion at Stuck at loading screen · Issue #12751 · eclipse-theia/theia · GitHub) at one point but was not able to do so.

I would definitely be interested to understand whether the bug has been fixed incidentally through some of the changes to Arduino IDE 2.x that were made since 2.2.0, but I would need to be able to reproduce the fault with 2.2.0 in order to determine that.

Anyway, I'm happy enough that everything is working fine for you now even without having to use that --hostname :: workaround. If you do end up learning anything more about the subject, or if you find that the problem comes back even with Arduino IDE 2.3.2, please do let me know.

Sometimes I am able to slowly gather clues from user reports that finally allows me to reach a breakthrough in understanding a previously mysterious problem. I actually had something like that with the "openpgp: signature expired" fault. I had noticed several user reports but found no good solutions after some research. Then I happened to experience the problem by chance while using a virtual machine with an out of sync clock due to not being connected to the network. That allowed me to understand the nature of the problem and also verify the solution.