-
Bug
-
Resolution: Done
-
Major
-
7.0.0.fuse-beta-039
-
None
-
None
-
%
When an error occurs while processing a console command (e.g. installing a bundle using an incorrect url), you only get the information from the MultiException in the console and the logs (both using log:display as in the actual log file), hiding the root cause.
2012-03-30 21:19:48,163 | INFO | l Console Thread | Console | ? ? | 19 - org.apache.karaf.shell.console - 2.2.5.fuse-7-037 | Exception caught while executing command org.apache.karaf.shell.console.MultiException: Error installing bundles: Unable to install bundle fab:mvn:some.bogus/artifact/7.0-SNAPSHOT at org.apache.karaf.shell.console.MultiException.throwIf(MultiException.java:87) at org.apache.karaf.shell.osgi.InstallBundle.doExecute(InstallBundle.java:70)[32:org.apache.karaf.shell.osgi:2.2.5.fuse-7-037] at org.apache.karaf.shell.console.OsgiCommandSupport.execute(OsgiCommandSupport.java:38)[19:org.apache.karaf.shell.console:2.2.5.fuse-7-037] at org.apache.felix.gogo.commands.basic.AbstractCommand.execute(AbstractCommand.java:35)[19:org.apache.karaf.shell.console:2.2.5.fuse-7-037] at org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:78)[19:org.apache.karaf.shell.console:2.2.5.fuse-7-037] at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:474)[19:org.apache.karaf.shell.console:2.2.5.fuse-7-037] at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:400)[19:org.apache.karaf.shell.console:2.2.5.fuse-7-037] at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)[19:org.apache.karaf.shell.console:2.2.5.fuse-7-037] at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)[19:org.apache.karaf.shell.console:2.2.5.fuse-7-037] at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)[19:org.apache.karaf.shell.console:2.2.5.fuse-7-037] at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:89)[19:org.apache.karaf.shell.console:2.2.5.fuse-7-037] at org.apache.karaf.shell.console.jline.Console.run(Console.java:225)[19:org.apache.karaf.shell.console:2.2.5.fuse-7-037] at java.lang.Thread.run(Thread.java:680)[:1.6.0_29]
or
org.apache.karaf.shell.console.MultiException: Error installing bundles: Unable to start bundle fab:mvn:org.fusesource.fabric.fab.tests/fab-sample-camel-velocity-share/7.0-SNAPSHOT: Activator start error in bundle org.fusesource.fabric.fab.tests.fab-sample-camel-velocity-share [185]. at org.apache.karaf.shell.console.MultiException.throwIf(MultiException.java:87) at org.apache.karaf.shell.osgi.InstallBundle.doExecute(InstallBundle.java:70)[32:org.apache.karaf.shell.osgi:2.2.5.fuse-7-037] at org.apache.karaf.shell.console.OsgiCommandSupport.execute(OsgiCommandSupport.java:38)[19:org.apache.karaf.shell.console:2.2.5.fuse-7-037] at org.apache.felix.gogo.commands.basic.AbstractCommand.execute(AbstractCommand.java:35)[19:org.apache.karaf.shell.console:2.2.5.fuse-7-037] at org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:78)[19:org.apache.karaf.shell.console:2.2.5.fuse-7-037] at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:474)[19:org.apache.karaf.shell.console:2.2.5.fuse-7-037] at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:400)[19:org.apache.karaf.shell.console:2.2.5.fuse-7-037] at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)[19:org.apache.karaf.shell.console:2.2.5.fuse-7-037] at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)[19:org.apache.karaf.shell.console:2.2.5.fuse-7-037] at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)[19:org.apache.karaf.shell.console:2.2.5.fuse-7-037] at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:89)[19:org.apache.karaf.shell.console:2.2.5.fuse-7-037] at org.apache.karaf.shell.console.jline.Console.run(Console.java:225)[19:org.apache.karaf.shell.console:2.2.5.fuse-7-037] at java.lang.Thread.run(Thread.java:680)[:1.6.0_29]
For example: in the latter case, it would be very nice to know the actual exception thrown from the Activator's start() method