Richard's picture

I'm fairly new to proxmox and containers, but every time I start a new TKL Redis container with default options I get the below continually printed on the console. Could it be a RAM/SWAP/Disk size issue?

Oct 27 11:12:05 redis1 inithooks[103]:  ────────#033[37m#033[47m│#033[0;10m#017#033[30m#033[47m#033[58X#033[2;69H│#033[0;10;1m#017#033[30m#033[40m──#033[36m#033[44m────────#033[K#033[3;9H#033[1K #033[37m#033[47m│#033[0;10m#017#033[30m#033[47m#033[58X#033[3;69H│#033[0;10;1m#017#033[30m#033[40m  #033[36m#033[44m#033[K#033[4;9H#033[1K #033[37m#033[47m│#033[0;10m#017#033[30m#033[47m#033[58X#033[4;69H│#033[0;10;1m#017#033[30m#033[40m  #033[36m#033[44m#033[K#033[5;9H#033[1K #033[37m#033[47m│#033[0;10m#017#033[30m#033[47m#033[58X#033[5;69H│#033[0;10;1m#017#033[30m#033[40m  #033[36m#033[44m#033[K#033[6;9H#033[1K #033[37m#033[47m│#033[0;10m#017#033[30m#033[47m#033[58X#033[6;69H│#033[0;10;1m#017#033[30m#033[40m  #033[36m#033[44m#033[K#033[7;9H#033[1K #033[37m#033[47m│#033[0;10m#017#033[30m#033[47m#033[58X#033[7;69H│#033[0;10;1m#017#033[30m#033[40m  #033[36m#033[44m#033[K#033[8;9H#033[1K #033[37m#033[47m│#033[0;10m#017#033[30m#033[47m#033[58X#033[8;69H│#033[0;10;1m#017#033[30m#033[40m  #033[36m#033[44m#033[K#033[9;9H#033[1K #033[37m#033[47m│#033[0;10m#017#033[30m#033[47m#033[58X#033[9;69H│#033[0;10;1m#017#033[30m#033[40m  #033[36m#033[44m#033[K#033[10;9H#033[1K #033[37m#033[47m│#033[0;10m#017#033[30m#033[47m#033[58X#033[10;69H│#033[0;10;1m#017#033[30m#033[40m  #033[36m#033[44m#033[K#033[11;9H#033[1K #033[37m#033[47m│#033[0;10m#017#033[30m#033[47m#033[58X#033[11;69H│#033[0;10;1m#017#033[30m#033[40m  #033[36m#033[44m#033[K#033[12;9H#033[1K #033[37m#033[47m│#033[0;10m#017#033[30m#033[47m#033[58X#033[12;69H│#033[0;10;1m#017#033[30m#033[40m  #033[36m#033[44m#033[K#033[13;9H#033[1K #033[37m#033[47m│#033[0;10m#017#033[30m#033[47m#033[58X#033[13;69H│#033[0;10;1m#017#033[30m#033[40m  #033[36m#033[44m#033[K#033[14;9H#033[1K #033[37m#033[47m│#033[0;10m#017#033[30m#033[47m#033[58X#033[14;69H│#033[0;10;1m#017#033[30m#033[40m  #033[36m#033[44m#033[K#033[15;9H#033[1K #033[37m#033[47m│#033[0;10m#017#033[30m#033[47m#033[58X#033[15;69H│#033[0;10;1m#017#033[30m#033[40m  #033[36m#033[44m#033[K#033[16;9H#033[1K #033[37m#033[47m│#033[0;10m#017#033[30m#033[47m#033[58X#033[16;69H│#033[0;10;1m#017#033[30m#033[40m  #033[36m#033[44m#033[K#033[17;9H#033[1K #033[37m#033[47m│#033[0;10m#017#033[30m#033[47m#033[58X#033[17;69H│#033[0;10;1m#017#033[30m#033[40m  #033[36m#033[44m#033[K#033[18;9H#033[1K #033[37m#033[47m│#033[0;10m#017#033[30m#033[47m#033[58X#033[18;69H│#033[0;10;1m#017#033[30m#033[40m  #033[36m#033[44m#033[K#033[19;9H#033[1K #033[37m#033[47m│#033[0;10m#017#033[30m#033[47m#033[58X#033[19;69H│#033[0;10;1m#017#033[30m#033[40m  #033[36m#033[44m#033[K#033[20;9H#033[1K #033[37m#033[47m│#033[0;10m#017#033[30m#033[47m#033[58X#033[20;69H│#033[0;10;1m#017#033[30m#033[40m  #033[36m#033[44m#033[K#033[21;9H#033[1K #033[37m#033[47m├──────────────────────────────────────────────────────────#033[0;10m#017#033[30m#033[47m┤#033[0;10;1m#017#033[30m#033[40m  #033[36m#033[44m#033[K#033[22;9H#033[1K #033[37m#033[47m│#033[0;10m#017#033[30m#033[47m#033[25X#033[22;36H#033[0;10;1m#017#033[37m#033[44m<#033[33m#033[44m  #033[37m#033[44mO#033[33m#033[44mK  #033[37m#033[44m>#033[0;10m#017#033[30m#033[47m#033[25X#033[22;69H│#033[0;10;1m#017#033[30m#033[40m  #033[36m#033[44m#033[K#033[23;9H#033[1K #033[37m#033[47m└#033[0;10m#017#033[30m#033[47m──────────────────────────────────────────────────────────┘#033[0;10;1m#017#033[30m#033[40m  #033[36m#033[44m#033[K#033[24;11H#033[1K #033[30m#033[40m#033[60X#033[24;72H#033[36m#033[44m#033[K#033[22;39H#033[39;49m#033[m#017#033[2;13H#033[30m#033[47m
Traceback (most recent call last):
File#033[3;12H"/usr/lib/inithooks/bin/dialog_wrapper.py", line 75, in#033[4;12Hwrapper     retcode = method("#033[5;12H" + text, *args, **kws)
File#033[6;12H"/usr/lib/python3/dist-packages/dialog.py", line 2911,#033[7;12Hin menu     cmd, kwargs, strip_xdialog_newline=True)#033[8;12H
File "/usr/lib/python3/dist-packages/dialog.py", line#033[9;12H1703, in _widget_with_string_output     code, output =#033[10;12Hself._perform(args, **kwargs)
File#033[11;12H"/usr/lib/python3/dist-packages/dialog.py", line 1504,#033[12;12Hin _perform     args_file)
File#033[13;12H"/usr/lib/python3/dist-packages/dialog.py", line 1469,#033[14;12Hin _handle_program_exit     child_output_rfd)
File#033[15;12H"/usr/lib/python3/dist-packages/dialog.py", line 1421,#033[16;12Hin _wait_for_program_termination#033[17;12Hchild_output.strip())) dialog.Dialog
Error: dialog-like#033[18;12Hterminated due to an error: the dialog-like program#033[19;12Hexited with status 3 (which was passed to it as the#033[20;12HDIALOG_ERROR environment variable). Sometimes, the#033[21;12Hreason is simply that dialog was given a height or width#033[22;12Hparameter that is too big for the terminal in use. Its#033[22;39H#033[39;49m#033[m#017#033[24;71H#033[24;1H#015#033)0#033[1;24r#033[m#017#033[4l#033[?7h#033[39;49m#033[39;49m#033[m#017#033[H#033[J#033[0;10;1m#017#033[36m#033[44m TurnKey #033[37m#033[47m┌────────────────────#033[34m#033[47mCaught exception#033[37m#033[47m──────────────────────#033[0;10m#017#033[30m#033[47m┐#033[0;10;1m#017#033[36m#033[44m#033[K
Forum: 
Jeremy Davis's picture

It looks like the dialog program (what draws the UI that we use for Confconsole and Inithooks as well as used by lots of other CLI UIs) has crashed. Most likely it tried to resize to invalid dimensions. At least that's what the error message suggests. Here's the relevant bit from your error message (with the cruft removed):

terminated due to an error: the dialog-like program exited with status 3 (which was passed to it as the DIALOG_ERROR environment variable). Sometimes, the reason is simply that dialog was given a height or width parameter that is too big for the terminal in use.

I'm guessing that you are using the Proxmox UI (in your web browser). So just closing the "console" window and reopening it should "fix" it. Alternatively, just try resizing the window and refreshing it. Having said that, I would encourage you to use a proper SSH client to connect to the server. It will give you a far superior experience.

If you are on Mac (or Linux) you should already have the openssh client installed and you should be able to access it by opening a terminal and logging into your server like this:

ssh root@APP_IP

(Where "APP_IP" is the actual IP of your TurnKey server)

If you are on Windows then you can either install openssh or use some other third party tool such as PuTTY or WinSCP (which is a SFTP file manager which also includes an SSH client).

Richard's picture

Thanks for the post Jeremy, closing the console didn't work, still continually outputting the above, and the container was pegged at >90% CPU.

But inspired I tried CTRL+ X C and D. After a few seconds something clearly terminated (I lost the backtrace sorry) and it fell to a login prompt which is further than I've got before. Might be something to look into?

Jeremy Davis's picture

I was assuming that this was just a case of a known intermittent issue that is outside our control. Essentially caused by a console being resized to an invalid size which causes the dialog program to crash.

However, I just thought I'd have a quick look myself and I can reproduce the issue you hit... FWIW there was a bug in the v16.1 appliance, but I was under the impression that it would only have an impact in limited circumstance. It seems likely that I was wrong and the issue also affected the LXC build.

Because I thought that the impact of the bug was quite limited and I'm really trying to focus all my energy on the new, upcoming v17.0 release I had put it aside and wasn't in a rush to do a new release. It looks like I need to rethink that.

Regardless, the issue only affects the firstboot. I think you'll probably need to manually run the firstboot initialisation though. You can do that like this:

/usr/lib/inithooks/bin/redis.py

[edit/update] I also meant to mention that if that doesn't work or you'd rather download and use the updated firstboot scripts, then I'm more that happy to assist with that if you wish. Just let me know.

Richard's picture

Thanks Jeremy.

I'll just add the redis server to another container I'm building and wait for the v17 release to try a nginx - redis container template merge.

Jeremy Davis's picture

FYI, we've published a (v16.3) bugfix release.

Richard's picture

Excellent, thanks!

Add new comment