Using `--verbose` inside the Docker container causes exception
mfridrikhson-tp opened this issue · 3 comments
Describe the bug
When running operation invoke
or collection invoke
using Docker image the command errors out with System.NullReferenceException
.
System.NullReferenceException: Object reference not set to an instance of an object.
at Kreya.Cli.Verbose.VerboseDelegateTerminal.get_IsOutputRedirected()
at Kreya.Cli.Api.Rendering.ConsoleExtensions.Write(IConsole console, ConsoleColor color, String text)
at Kreya.Cli.Invoker.CliInvokerTracingConsumer.Consume(TraceMessage message)
at Kreya.Cli.Api.Invoker.CliInvokerMessageConsumerAdapter`1.Consume(InvokerMessage message)
at Kreya.Cli.Invoker.CliOperationObserverBag.Consume(InvokerMessage message)
at Kreya.Cli.Invoker.CliInvoker`1.<>c__DisplayClass9_0.<InvokeOperation>b__0(Object _, MessageEventArgs e)
at Kreya.Core.Invoker.InvokerScope.<>c__DisplayClass30_0.<Initialize>b__1(Object _, MessageEventArgs args)
at Kreya.Core.Invoker.OperationInvoker.MessageReceived(InvokerMessage msg)
at Kreya.Core.Invoker.OperationInvoker.PassThroughMessage(InvokerMessage msg)
at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_1(Object state)
at System.Threading.QueueUserWorkItemCallback.Execute()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
To Reproduce
Steps to reproduce the behavior:
- Clone https://github.com/riok/Kreya and
cd
inside the project - Run
docker run --rm -v $(pwd)/example-project:/example-project riok/kreyac kreyac operation invoke -p /example-project -v 'grpc/**.krop'
- See error
Expected behavior
Command is completed successfully and verbose output is printed in terminal.
Environment (if possible, copy the information from the error dialog or the About menu):
Version 1.13.1
Release channel Stable
Telemetry enabled True
Theme OsDefault
Runtime identifier linux-arm64
OS Version Unix 6.4.16.0
OS Description Debian GNU/Linux 12 (bookworm)
OS architecture Arm64
Process architecture Arm64
This is because the docker container does not understand the colors used in the terminal. With docker run -t
this will work. https://docs.docker.com/reference/cli/docker/container/run/#tty
We will also fix this in the next release to have a fallback without colors.
This should be fixed with the newest beta release, which you could use with riok/kreyac:beta
. The fix will be included in the next stable release
Kreya 1.14 has been released, which fixes this