Version: 1.6.4 (using KDE 3.5.4, Gentoo) Compiler: gcc version 3.4.6 (Gentoo 3.4.6-r1, ssp-3.4.5-1.0, pie-8.7.9) OS: Linux (x86_64) release 2.6.17-gentoo-r7 When running some curses-based applications, garbage characters sometimes appear in the terminal window. It is unlikely to be a ncurses bug because other terminals work just fine (I've tried xterm and vte/gnome-terminal.
Created attachment 17628 [details] example screenshot
Hello, Are there reliable ways of reproducing this? Or failing that, are there any particular applications which frequently cause this problem to appear?
Created attachment 17636 [details] How to reproduce the bug: 1. run Midnight Commander or some other console application using pseudographic characters for drawing lines; 2. hold down shift key and select a piece of horizontal line with your mouse (10-20 characters should be enough); 3. paste the selection into your shell session in Konsole by pressing middle mouse button or whatever; repeat several times for better effect; 4. after that, if you are lucky, something similar to the attached screenshot should appear on your screen :) I also noticed that the bug only appears with UTF-8 locale (and Konsole encoding set to UTF-8).
Hello, Yes, I think I see what you mean. I see odd "question-mark box" characters appearing in the middle of one or two of the lines. They don't appear in the current KDE 4 build of Konsole - but running mc it seems that there are a couple of new glitches, possibly related. The box around the directory view is broken at the bottom.
This bug tends to appear with screen/irssi too. I don't know which one is the culprit. It seems to happen to "special" characters only (chars with accents like éèà, or line drawings in mc).
I haven't seen this happen for a while now. Perhaps fixed in 3.5.5 or something?
Possibly. I don't see any specific commits related to this. I am leaving this open because the test case given reveals some other problems in the KDE 4 build which I have yet to fix.
Created attachment 29824 [details] Program to reproduce the bug. This program can easily reproduce the bug by replaying ncurses draw-commands from a file (previously recorded by a real ncurses program). Build it with the following command: gnatmake -I/usr/lib/ada/adainclude -L/usr/lib/ada/adainclude -L/usr/lib/ada/adalib -lAdaCurses -gnata -g -O3 -gnatfnN -gnatwah -gnaty -gnatyM99 reproduce_konsole_bug133511
Created attachment 29826 [details] File with ncurses draw-commands to replay. Sequence of ncurses draw-commands that can be replayed (with the previously attached program) to reproduce the bug. First run it in a virtual terminal where everything works as it should. The watch it fail in Konsole. Make sure to have the file in the working-directory when you run the replay program. By the way, my locale is sv_SE.UTF-8.
Created attachment 29829 [details] A plain C program to reproduce the bug (just in case someone has a problem with Ada). Here is a plain C program to reproduce the bug (just in case someone has a problem with Ada). Build it with the following command: gcc -lcurses -Wall -Wextra -o reproduce_konsole_bug133511 reproduce_konsole_bug133511.c
Hi, Thank-you for making the test case but do you have a smaller data file to work with which still shows the problem? That will make finding the cause quicker.
No, I just made this one file. When I run it I see the problems within a few seconds, so I thought that it would be small enough. Have yo tried it? Were you able to confirm the bug? Did you try it in a virtual terminal as well? Did it work right there? Maybe I could make a smaller file.
Here follows a much smaller program (no data file needed). It shows several garbage characters at different places in Konsole, while a virtual terminal shows a single '?' at (7, 7), where the character should be. Maybe a program is not allowed to print character number 197, but I think that the virtual terminal handles the error better than Konsole. #include <curses.h> int main() { initscr (); curs_set (0); mvaddch (7, 7, 197 | A_REVERSE); refresh (); getchar (); endwin (); return 0; }
> When I run it I see the problems within a few seconds I would still need to look at the interpretation of individual drawing commands though, of which a 270KB file could contain a lot so I'd have to find some way or another to narrow it down first. Thanks for comment #13, I'll have a look later.
Is this report still valid? I tested the program from comment #13 in konsole-2.7.999 and it showed a '?' at (7,7) on a blank screen with no garbage characters, as it does in linux console and xterm.
Reopen if anyone notices this issue with a newish version.