You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "Jean-Baptiste Onofré (JIRA)" <ji...@apache.org> on 2016/05/19 11:56:12 UTC

[jira] [Commented] (KARAF-4532) SystemCollector throws IOException

    [ https://issues.apache.org/jira/browse/KARAF-4532?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15290984#comment-15290984 ] 

Jean-Baptiste Onofré commented on KARAF-4532:
---------------------------------------------

Can you share your cfg file where you defined the system command ?

> SystemCollector throws IOException
> ----------------------------------
>
>                 Key: KARAF-4532
>                 URL: https://issues.apache.org/jira/browse/KARAF-4532
>             Project: Karaf
>          Issue Type: Bug
>          Components: decanter
>    Affects Versions: decanter-1.1.0
>         Environment: Karaf 4.0.5 
> Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
>            Reporter: AggelosGroumas
>            Priority: Minor
>             Fix For: decanter-1.1.1
>
>
> I tried following the decanter guide and noticed that the system collector throws java.io.IOException when trying to execute the commands i specified inside the "org.apache.karaf.decanter.collector.system.cfg" file. 
> E.g 
> {quote}
> 2016-05-17 16:58:36,682 | WARN  | scheduler-simple | SystemCollector                  | 55 - org.apache.karaf.decanter.collector.system - 1.1.0 | Command decanter.collector.name execution failed
> java.io.IOException: Cannot run program "system" (in directory "."): error=2, No such file or directory
> 	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
> 	at java.lang.Runtime.exec(Runtime.java:620)
> 	at org.apache.commons.exec.launcher.Java13CommandLauncher.exec(Java13CommandLauncher.java:61)
> 	at org.apache.commons.exec.DefaultExecutor.launch(DefaultExecutor.java:279)
> 	at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:336)
> 	at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166)
> 	at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:153)
> 	at org.apache.karaf.decanter.collector.system.SystemCollector.run(SystemCollector.java:89)
> 	at org.apache.karaf.decanter.scheduler.simple.SimpleScheduler.run(SimpleScheduler.java:72)
> 	at java.lang.Thread.run(Thread.java:745)
> Caused by: java.io.IOException: error=2, No such file or directory
> 	at java.lang.UNIXProcess.forkAndExec(Native Method)
> 	at java.lang.UNIXProcess.<init>(UNIXProcess.java:248)
> 	at java.lang.ProcessImpl.start(ProcessImpl.java:134)
> 	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
> 	... 9 more
> {quote}
> This happens because the Dictionary object returned by the injected ComponentContext contains some extra keys except those skipped by [line 70 of the SystemCollector class|https://github.com/apache/karaf-decanter/blob/master/collector/system/src/main/java/org/apache/karaf/decanter/collector/system/SystemCollector.java#L70].
> As you can see here
> bq. 2016-05-17 16:58:36,671 | DEBUG | scheduler-simple | SystemCollector                  | 55 - org.apache.karaf.decanter.collector.system - 1.1.0 | properties: {service.pid=org.apache.karaf.decanter.collector.system, date=date "+%Y", component.name=org.apache.karaf.decanter.collector.system, felix.fileinstall.filename=file:/Users/agroumas/Downloads/apache-karaf-4.0.5/etc/org.apache.karaf.decanter.collector.system.cfg, decanter.collector.name=system, component.id=1}
> the properties object contains three more properties which are being mistaken as commands: 
> - component.name=org.apache.karaf.decanter.collector.system
> - decanter.collector.name=system
> - component.id=1



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)