Bug#901843: ncurses-base: bad error message "Cannot find terminfo entry for 'xterm-256color'."

2018-06-20 Thread Sven Joachim
Am 19.06.2018 um 21:55 schrieb w...@chaos.in-kiel.de:

> And I just got an idea...
>
> $ ps $(pgrep screen)
>   PID TTY  STAT   TIME COMMAND
>  2631 ?Ss17:26 SCREEN -d -m -S IRC irssi
>  7083 pts/0Ss+0:00 screen -xRR IRC
> # ls -la /proc/2631/exe 
> lrwxrwxrwx 1 root root 0 Jun 19 00:39 /proc/2631/exe -> '/usr/bin/screen 
> (deleted)'
>
> That screen instance is running since before the last upgrades - could
> that have something to do with it? Despite the newly started frontend
> and libraries being the newer version?

Indeed, that appears to be the problem.  If I start a session with
"screen -d -m" where screen, libtinfo5 and ncurses-base are from stretch
and then upgrade those to their buster versions, I get the same error as
you with "screen -R".

The good news is that starting a fresh screen session will solve that
problem, the bad news is that there's nothing I can do about it in
ncurses.  Perhaps the release notes will have to mention this issue.

Cheers,
   Sven



Bug#901843: ncurses-base: bad error message "Cannot find terminfo entry for 'xterm-256color'."

2018-06-19 Thread w
Am Tue, Jun 19, 2018 at 08:11:03PM +0200 schrieb Sven Joachim:
> Am 19.06.2018 um 11:07 schrieb w...@chaos.in-kiel.de:
> 
> > I regularly connect (via mosh) to remote machine from my desktop and
> > reattach to a "screen" there. For some time now, screen on the remote
> > machine reports
> >
> > Cannot find terminfo entry for 'xterm-256color'.
> >
> > and quits.
> >
> > After some searching around the web and finding out that
> >
> > export TERM=xterm-color
> >
> > before connecting to the remote machine helps,
> 
> Not directly relevant for this bugreport, but you most likely do not
> want to set $TERM to xterm-color as it lacks many features.  A better
> choice would be TERM=xterm.

That works too.
>
> > but not liking that
> > workaround, I tried moving /lib/terminfo/x/xterm-256color aside and
> > adding a symling xterm-256color -> xterm-color. This made the above
> > misbehaviour disappear.
> 
> Just to be sure I understand the problem correctly: you did that on the
> remote machine, right?

Correct.

And linking to xterm instead of xterm-color works too.

> > I therefore guess the problem is not /lib/terminfo/x/xterm-256color
> > not being found, but it being broken somehow, but I lack knowledge to
> > investigate further.
> 
> The file is certainly not broken, unless it became corrupted on your
> system, which is possible but not very likely.  A more likely
> explanation follows.
> 
> In ncurses 6.1 a new terminfo format has been introduced which is used
> by the various *-256color entries, and older versions of the tinfo
> library do not understand it.  In the Debian package appropriate Breaks
> were added to deal with incompatibilities, but if your screen package
> uses a local version of the tinfo/ncurses library this won't help.  I
> suspect this might be the case here.

I only ever had packaged versions of those.

> > Some more package versions:
> >
> > screen 4.6.2-1+b1
> > libtinfo6 6.1+20180210-4
> > ncurses-term 6.1+20180210-4
> >
> > If there's any further questions or test steps to try, I'll happily help.
> 
> Please show the output of these commands on the remote machine:
> 
> screen -v
> which screen
> ldd $(which screen)

$ screen -v
Screen version 4.06.02 (GNU) 23-Oct-17

$ which screen
/usr/bin/screen

$ ldd $(which screen)
linux-vdso.so.1 (0x7ffd85f94000)
libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 
(0x7fb868cfe000)
libutempter.so.0 => /usr/lib/x86_64-linux-gnu/libutempter.so.0 
(0x7fb868afb000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 
(0x7fb8688c3000)
libpam.so.0 => /lib/x86_64-linux-gnu/libpam.so.0 (0x7fb8686b5000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x7fb8682fb000)
libaudit.so.1 => /lib/x86_64-linux-gnu/libaudit.so.1 
(0x7fb8680d2000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x7fb867ece000)
/lib64/ld-linux-x86-64.so.2 (0x7fb8691ab000)
libcap-ng.so.0 => /lib/x86_64-linux-gnu/libcap-ng.so.0 
(0x7fb867cc8000)


And I just got an idea...

$ ps $(pgrep screen)
  PID TTY  STAT   TIME COMMAND
 2631 ?Ss17:26 SCREEN -d -m -S IRC irssi
 7083 pts/0Ss+0:00 screen -xRR IRC
# ls -la /proc/2631/exe 
lrwxrwxrwx 1 root root 0 Jun 19 00:39 /proc/2631/exe -> '/usr/bin/screen 
(deleted)'

That screen instance is running since before the last upgrades - could
that have something to do with it? Despite the newly started frontend
and libraries being the newer version?

Regards,
Wilfried



Bug#901843: ncurses-base: bad error message "Cannot find terminfo entry for 'xterm-256color'."

2018-06-19 Thread Sven Joachim
Am 19.06.2018 um 11:07 schrieb w...@chaos.in-kiel.de:

> I regularly connect (via mosh) to remote machine from my desktop and
> reattach to a "screen" there. For some time now, screen on the remote
> machine reports
>
> Cannot find terminfo entry for 'xterm-256color'.
>
> and quits.
>
> After some searching around the web and finding out that
>
> export TERM=xterm-color
>
> before connecting to the remote machine helps,

Not directly relevant for this bugreport, but you most likely do not
want to set $TERM to xterm-color as it lacks many features.  A better
choice would be TERM=xterm.

> but not liking that
> workaround, I tried moving /lib/terminfo/x/xterm-256color aside and
> adding a symling xterm-256color -> xterm-color. This made the above
> misbehaviour disappear.

Just to be sure I understand the problem correctly: you did that on the
remote machine, right?

> I therefore guess the problem is not /lib/terminfo/x/xterm-256color
> not being found, but it being broken somehow, but I lack knowledge to
> investigate further.

The file is certainly not broken, unless it became corrupted on your
system, which is possible but not very likely.  A more likely
explanation follows.

In ncurses 6.1 a new terminfo format has been introduced which is used
by the various *-256color entries, and older versions of the tinfo
library do not understand it.  In the Debian package appropriate Breaks
were added to deal with incompatibilities, but if your screen package
uses a local version of the tinfo/ncurses library this won't help.  I
suspect this might be the case here.

> Some more package versions:
>
> screen 4.6.2-1+b1
> libtinfo6 6.1+20180210-4
> ncurses-term 6.1+20180210-4
>
> If there's any further questions or test steps to try, I'll happily help.

Please show the output of these commands on the remote machine:

screen -v
which screen
ldd $(which screen)

TIA,
Sven



Bug#901843: ncurses-base: bad error message "Cannot find terminfo entry for 'xterm-256color'."

2018-06-19 Thread w
Package: ncurses-base
Version: 6.1+20180210-4
Severity: normal

Dear Maintainer!

I regularly connect (via mosh) to remote machine from my desktop and
reattach to a "screen" there. For some time now, screen on the remote
machine reports

Cannot find terminfo entry for 'xterm-256color'.

and quits.

After some searching around the web and finding out that

export TERM=xterm-color

before connecting to the remote machine helps, but not liking that
workaround, I tried moving /lib/terminfo/x/xterm-256color aside and
adding a symling xterm-256color -> xterm-color. This made the above
misbehaviour disappear.

I therefore guess the problem is not /lib/terminfo/x/xterm-256color
not being found, but it being broken somehow, but I lack knowledge to
investigate further.

Some more package versions:

screen 4.6.2-1+b1
libtinfo6 6.1+20180210-4
ncurses-term 6.1+20180210-4

If there's any further questions or test steps to try, I'll happily help.

Regards,
Wilfried Klaebe


-- System Information:
Distributor ID: Devuan
Description:Devuan GNU/Linux testing/unstable
Release:testing/unstable
Codename:   n/a
Architecture: x86_64

Kernel: Linux 4.15.0-2-amd64 (SMP w/1 CPU core)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), 
LANGUAGE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

-- no debconf information