Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Weird exception in Spawner

Am Mittwoch, 4. Mai 2022, 20:33:46 CEST schrieb Torbjorn SVENSSON via cdt-dev:

Hi Torbjörn,

> Hello Martin,
> 
> Just took a quick look at this and from what I can tell, the only path that
> would give this behavior is if fProcess.waitFor() got interrupted in
> CommandLauncher as that is ignored.

Looks like I'm doing it wrong: My code calls 
	process= Launcher#execute()
	Launcher#waitAndRead()
	process.exitValue()

No call to Process#waitFor() since I assumed that Launcher#waitAndRead() would 
handle that already :-(

/Martin

> 
> Do you have a simple replicator for the issue or does it only happen from
> time to time? (I do not have a CMake environment handy at the moment).
> 
> Kind regards,
> Torbjörn
> 
> 
> ST Restricted
> 
> -----Original Message-----
> From: cdt-dev <cdt-dev-bounces@xxxxxxxxxxx> On Behalf Of Martin Weber
> Sent: den 4 maj 2022 19:51
> To: cdt-dev@xxxxxxxxxxx
> Subject: [cdt-dev] Weird exception in Spawner
> 
> java.lang.IllegalThreadStateException: Process not Terminated
> 	at org.eclipse.cdt.utils.spawner.Spawner.exitValue(Spawner.java:
> 321)
> 	at
> org.eclipse.cdt.jsoncdb.core.internal.builtins.CompilerBuiltinsDetector.dete
> ctBuiltins(CompilerBuiltinsDetector.java: 134)
> 	at
> org.eclipse.cdt.jsoncdb.core.CompileCommandsJsonParser.detectBuiltins(Compil
> eCommandsJsonParser.java: 290)
> 	at
> org.eclipse.cdt.jsoncdb.core.CompileCommandsJsonParser.processJsonFile(Compi
> leCommandsJsonParser.java: 193)
> 	at
> org.eclipse.cdt.jsoncdb.core.CompileCommandsJsonParser.parse(CompileCommands
> JsonParser.java: 455)
> 	at
> de.marw.cmake4eclipse.mbs.internal.JsonCompilationDatabaseParser.parseAndSet
> Entries(JsonCompilationDatabaseParser.java: 255)
> 	at
> de.marw.cmake4eclipse.mbs.internal.JsonCompilationDatabaseParser$1.runInWork
> space(JsonCompilationDatabaseParser.java: 337)
> 	at
> org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspa
> ceJob.java: 42)
> 	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
> 
> 
> AFAICS, any method in Spawner that sets fState is synchronized.
> Any ideas?
> 
> Martin


-- 
Cd wrttn wtht vwls s mch trsr.






Back to the top