VersionExtractionException: Failed to extract executable version data
dani906 opened this issue · comments
Describe the bug
- I created a new wurst-project via the Wurst-Setup
- I configured my Wc3-executable
- when I now run
wurst: build
then the attached Exception is thrown in the languageserver - the project does compile however and the map is built into _build as expected
System
- Wurst is on the latest build (version 1344 by now)
- my Wc3 is on latest patch 1.36
Any clues?
wurstLanguageServer VSCode output
net.moonlightflower.wc3libs.misc.exeversion.VersionExtractionException: Failed to extract executable version data via 'PEHEADER' for file: F:\Sektor7\Warcraft III\_retail_\x86_64\Warcraft III.exe
at net.moonlightflower.wc3libs.misc.exeversion.ExeVersionPe.getVersion(ExeVersionPe.java:31)
at net.moonlightflower.wc3libs.bin.GameExe.getVersionString(GameExe.java:22)
at net.moonlightflower.wc3libs.bin.GameExe.getVersion(GameExe.java:52)
at de.peeeq.wurstio.utils.W3InstallationData.lambda$new$0(W3InstallationData.java:54)
at java.util.Optional.flatMap(Unknown Source)
at de.peeeq.wurstio.utils.W3InstallationData.<init>(W3InstallationData.java:52)
at de.peeeq.wurstio.languageserver.requests.MapRequest.getBestW3InstallationData(MapRequest.java:396)
at de.peeeq.wurstio.languageserver.requests.MapRequest.<init>(MapRequest.java:80)
at de.peeeq.wurstio.languageserver.requests.BuildMap.<init>(BuildMap.java:31)
at de.peeeq.wurstio.languageserver.WurstCommands.buildmap(WurstCommands.java:93)
at de.peeeq.wurstio.languageserver.WurstCommands.execute(WurstCommands.java:61)
at de.peeeq.wurstio.languageserver.WurstWorkspaceService.executeCommand(WurstWorkspaceService.java:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.lambda$null$0(GenericEndpoint.java:65)
at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.request(GenericEndpoint.java:120)
at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleRequest(RemoteEndpoint.java:261)
at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:190)
at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:194)
at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:94)
at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at dorkbox.peParser.types.ResourceDirName.<init>(ResourceDirName.java:89)
at dorkbox.peParser.headers.resources.ResourceDirectoryEntry.<init>(ResourceDirectoryEntry.java:71)
at dorkbox.peParser.headers.resources.ResourceDirectoryHeader.<init>(ResourceDirectoryHeader.java:62)
at dorkbox.peParser.PE.fromInputStream(PE.java:156)
at dorkbox.peParser.PE.<init>(PE.java:76)
at dorkbox.peParser.PE.getVersion(PE.java:284)
at net.moonlightflower.wc3libs.misc.exeversion.ExeVersionPe.getVersion(ExeVersionPe.java:24)
... 27 more
Error in File MyMapFile.w3x] line 1:
No war3map.j found in map file.
at de.peeeq.wurstio.languageserver.requests.MapRequest.processMapScript(MapRequest.java:125)
at de.peeeq.wurstio.languageserver.requests.MapRequest.compileScript(MapRequest.java:336)
at de.peeeq.wurstio.languageserver.requests.MapRequest.compileScript(MapRequest.java:375)
at de.peeeq.wurstio.languageserver.requests.BuildMap.execute(BuildMap.java:63)
at de.peeeq.wurstio.languageserver.requests.UserRequest.run(UserRequest.java:31)
at de.peeeq.wurstio.languageserver.LanguageWorker.lambda$getNextWorkItem$2(LanguageWorker.java:187)
at de.peeeq.wurstio.languageserver.LanguageWorker$Workitem.run(LanguageWorker.java:30)
at de.peeeq.wurstio.languageserver.LanguageWorker.run(LanguageWorker.java:162)
at java.lang.Thread.run(Unknown Source)
Jun 08, 2023 12:15:46 PM org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint notify
INFORMATION: Unsupported notification method: $/setTraceNotification
Jun 08, 2023 12:16:12 PM org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint notify
INFORMATION: Unsupported notification method: $/setTraceNotification
Hi, sorry I missed this. How did you configure your wc3 dir? The error is thrown even with correct dir, due to a bug in the parser lib. However the lib has been updated and it should be fixed via #1080 soon.
This has been fixed in wc3libs.