nano: On Oldworld PowerPC, nano freezes machine when help is being displayed
This problem doesn't occur on my newworld powerpc, but it is
reliably repeatable on my oldworld. I don't know why that
would be. I suspect it has something to do with some recent
change in the ncurses library. I run the testing distribution,
and often do brand-new installs to help test boot-floppies. This
started happening a few weeks ago. I am also getting crashes in
dselect which uses the same ncurses library. I also tried a new
woody install on my newworld and verified it doesn't happen there.
I also verified that the same thing happens if I install on a
different partition, even a different disk. It is definitely in
the libc or more likely libncurses5 for woody, maybe there was
some issue with the way they were compiled that made them incorrect
for oldworld powerpcs.
Next, I'll try checking into ncurses - but no promises. At least
this patch should do no harm to anyone else and it seems to fix
the problem for nano.
The crash occurs mainly when nano is trying to display help. I also
had it crash once when pushing a character clear out to
the end of a line, then selecting page-down.
The patch just uses wredrawln to claim that the 2 help lines are
corrupt and asks for them to be completely redrawn rather than
just refreshed.
Let me know if you would like me to test an updated curses or you
have any other ideas.
--- nano-1.0.5/winio.c Sat Aug 25 11:26:55 2001
+++ winio.c-ugly-patched Sun Nov 11 10:44:40 2001
@@ -549,6 +549,9 @@
waddch(bottomwin, ' ');
}
+/* If I don't add this, it crashes after trying to save a document. */
+ wredrawln(bottomwin, 1, 1);
+
wmove(bottomwin, 2, 0);
for (i = 1; i <= slen - 1; i += 2) {
snprintf(keystr, 10, "^%c", s[i].val + 64);
@@ -558,7 +561,10 @@
waddch(bottomwin, ' ');
}
- wrefresh(bottomwin);
+/* If I don't add this, it crashes doing a search. */
+ wredrawln(bottomwin, 2, 1);
+
+ wrefresh(bottomwin);
}
-- System Information
Debian Release: testing/unstable
Architecture: powerpc
Kernel: Linux debriana 2.2.19-pmac #1 Thu Aug 30 20:22:59 CEST 2001 ppc
Locale: LANG=C, LC_CTYPE=C
Versions of packages nano depends on:
ii libc6 2.2.4-5 GNU C Library: Shared libraries an
ii libncurses5 5.2.20010318-3 Shared libraries for terminal hand
Reply to: