nano-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Nano-devel] [PATCH] Window resize handling


From: Benno Schulenberg
Subject: Re: [Nano-devel] [PATCH] Window resize handling
Date: Wed, 29 Apr 2015 20:57:40 +0200

On Wed, Apr 29, 2015, at 16:30, Mahyar Abbaspour wrote:
> This patch should fix those bugs.

Thanks.

It mostly works.  But sometimes, when in the file browser and
having done a ^W, moving back and forth the right window border
will briefly show the text of the current file instead of the file list.
And once it segfaulted on me.  I still remembered what I did, but
couldn't reproduce.  But after patiently jiggling the window border
for three minutes, it stumbled and threw out this:
 
*** glibc detected *** src/nano: corrupted double-linked list: 0x09ad1ad0 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6(+0x6e0a1)[0x1c80a1]
/lib/tls/i686/cmov/libc.so.6(+0x6f951)[0x1c9951]
/lib/tls/i686/cmov/libc.so.6(cfree+0x6d)[0x1cca6d]
/lib/libncursesw.so.5(wresize+0x2a7)[0x13bd27]
/lib/libncursesw.so.5(+0x2b34d)[0x13b34d]
/lib/libncursesw.so.5(resize_term+0x217)[0x13b6d7]
/lib/libncursesw.so.5(resizeterm+0x79)[0x13b799]
/lib/libncursesw.so.5(_nc_update_screensize+0x6d)[0x14075d]
/lib/libncursesw.so.5(doupdate+0xf2)[0x1371f2]
src/nano[0x80583f2]
[0x159400]
/lib/libncursesw.so.5(wgetch+0x41)[0x123f71]
src/nano[0x80669c9]
src/nano[0x8066ad1]
src/nano[0x8066dbf]
src/nano[0x806726f]
src/nano[0x804b6a8]
src/nano[0x804be56]
src/nano[0x8051851]
src/nano[0x8051b09]
src/nano[0x8058dc5]
src/nano[0x8059940]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6)[0x170bf6]
src/nano[0x804aa01]
======= Memory map: ========
00110000-00150000 r-xp 00000000 08:01 505534     /lib/libncursesw.so.5.7
00150000-00152000 r--p 00040000 08:01 505534     /lib/libncursesw.so.5.7
00152000-00153000 rw-p 00042000 08:01 505534     /lib/libncursesw.so.5.7
00159000-0015a000 r-xp 00000000 00:00 0          [vdso]
0015a000-002b6000 r-xp 00000000 08:01 505475     
/lib/tls/i686/cmov/libc-2.11.1.so
002b6000-002b8000 r--p 0015b000 08:01 505475     
/lib/tls/i686/cmov/libc-2.11.1.so
002b8000-002b9000 rw-p 0015d000 08:01 505475     
/lib/tls/i686/cmov/libc-2.11.1.so
002b9000-002bc000 rw-p 00000000 00:00 0 
002bc000-002c4000 r-xp 00000000 08:01 505464     
/lib/tls/i686/cmov/libnss_nis-2.11.1.so
002c4000-002c5000 r--p 00007000 08:01 505464     
/lib/tls/i686/cmov/libnss_nis-2.11.1.so
002c5000-002c6000 rw-p 00008000 08:01 505464     
/lib/tls/i686/cmov/libnss_nis-2.11.1.so
002c6000-002e3000 r-xp 00000000 08:01 504941     /lib/libgcc_s.so.1
002e3000-002e4000 r--p 0001c000 08:01 504941     /lib/libgcc_s.so.1
002e4000-002e5000 rw-p 0001d000 08:01 504941     /lib/libgcc_s.so.1
003a3000-003aa000 r-xp 00000000 08:01 505470     
/lib/tls/i686/cmov/librt-2.11.1.so
003aa000-003ab000 r--p 00006000 08:01 505470     
/lib/tls/i686/cmov/librt-2.11.1.so
003ab000-003ac000 rw-p 00007000 08:01 505470     
/lib/tls/i686/cmov/librt-2.11.1.so
005e7000-005e9000 r-xp 00000000 08:01 505466     
/lib/tls/i686/cmov/libdl-2.11.1.so
005e9000-005ea000 r--p 00001000 08:01 505466     
/lib/tls/i686/cmov/libdl-2.11.1.so
005ea000-005eb000 rw-p 00002000 08:01 505466     
/lib/tls/i686/cmov/libdl-2.11.1.so
00bcb000-00bd1000 r-xp 00000000 08:01 505452     
/lib/tls/i686/cmov/libnss_compat-2.11.1.so
00bd1000-00bd2000 r--p 00006000 08:01 505452     
/lib/tls/i686/cmov/libnss_compat-2.11.1.so
00bd2000-00bd3000 rw-p 00007000 08:01 505452     
/lib/tls/i686/cmov/libnss_compat-2.11.1.so
00be1000-00beb000 r-xp 00000000 08:01 505197     
/lib/tls/i686/cmov/libnss_files-2.11.1.so
00beb000-00bec000 r--p 00009000 08:01 505197     
/lib/tls/i686/cmov/libnss_files-2.11.1.so
00bec000-00bed000 rw-p 0000a000 08:01 505197     
/lib/tls/i686/cmov/libnss_files-2.11.1.so
00cb6000-00cd1000 r-xp 00000000 08:01 506714     /lib/ld-2.11.1.so
00cd1000-00cd2000 r--p 0001a000 08:01 506714     /lib/ld-2.11.1.so
00cd2000-00cd3000 rw-p 0001b000 08:01 506714     /lib/ld-2.11.1.so
00e5d000-00e72000 r-xp 00000000 08:01 505471     
/lib/tls/i686/cmov/libpthread-2.11.1.so
00e72000-00e73000 r--p 00014000 08:01 505471     
/lib/tls/i686/cmov/libpthread-2.11.1.so
00e73000-00e74000 rw-p 00015000 08:01 505471     
/lib/tls/i686/cmov/libpthread-2.11.1.so
00e74000-00e76000 rw-p 00000000 00:00 0 
00edf000-00ef2000 r-xp 00000000 08:01 505456     
/lib/tls/i686/cmov/libnsl-2.11.1.so
00ef2000-00ef3000 r--p 00012000 08:01 505456     
/lib/tls/i686/cmov/libnsl-2.11.1.so
00ef3000-00ef4000 rw-p 00013000 08:01 505456     
/lib/tls/i686/cmov/libnsl-2.11.1.so
00ef4000-00ef6000 rw-p 00000000 00:00 0 
08048000-08070000 r-xp 00000000 08:06 3014661    
/home/ben/Repositories/ANYTHING/src/nano
08070000-08071000 r--p 00027000 08:06 3014661    
/home/ben/Repositories/ANYTHING/src/nano
08071000-08072000 rw-p 00028000 08:06 3014661    
/home/ben/Repositories/ANYTHING/src/nano
094c6000-09bb5000 rw-p 00000000 00:00 0          [heap]
b7400000-b7421000 rw-p 00000000 00:00 0 
b7421000-b7500000 ---p 00000000 00:00 0 
b759a000-b774d000 r--p 00000000 08:01 700459     /usr/lib/locale/locale-archive
b774d000-b774f000 rw-p 00000000 00:00 0 
b7754000-b7760000 r--p 00000000 08:01 733041     
/usr/local/share/locale/eo/LC_MESSAGES/nano.mo
b7760000-b7767000 r--s 00000000 08:01 709944     
/usr/lib/gconv/gconv-modules.cache
b7769000-b776b000 rw-p 00000000 00:00 0 
bfd4f000-bfd64000 rw-p 00000000 00:00 0          [stack]
Abortita

Maybe this is not a fault in your patch but in ncurses, I don't know.
But the text of the file appearing in about one out of fifty jigs, is
not good.

And I got a second segfault.

The closest I can come to a recipe for reproduction is:
src/nano NEWS, and then type:
^R  ^T  ^W  <Enter>  <Enter>
You're now in the directory above nano's source dir,
and can start resizing the window, on and on and on.
If you don't see the text of the file appearing (for a
moment) within a minute, restart nano and try again.

Running nano inside gdb makes the screen look really
silly, with the help lines doubling over and echos of the
sizes column showing up on the left, so it will probably
not behave in the normal way.  I can't make it segfault,
even though it shows the text of the file quite often.
And as soon as I moved the bottom of the window:
"Program exited with code 01."

Benno

-- 
http://www.fastmail.com - Send your email first class




reply via email to

[Prev in Thread] Current Thread [Next in Thread]