valgrind --error-limit=no --leak-check=yes --show-reachable=yes mutt
valgrind-mutt.out will be filled with many instances of ..
==23073== Conditional jump or move depends on uninitialised value(s)
==23073== at 0x392C321723: (within /usr/lib64/libncursesw.so.5.5)
==23073== by 0x392C321C79: (within /usr/lib64/libncursesw.so.5.5)
==23073== by 0x392C321551: _nc_scroll_optimize (in /usr/lib64/libncursesw.so.5.5)
==23073== by 0x392C3370BF: doupdate (in /usr/lib64/libncursesw.so.5.5)
==23073== by 0x392C32EA4B: wrefresh (in /usr/lib64/libncursesw.so.5.5)
==23073== by 0x43A341: ??? (pager.c:1738)
==23073== by 0x410059: ??? (commands.c:181)
==23073== by 0x418159: ??? (curs_main.c:1070)
==23073== by 0x42DFE0: ??? (main.c:842)
==23073== by 0x392BA1D023: __libc_start_main (in /lib64/libc-2.3.90.so)
It's a problem in ncurses, there is a compiler padding in cchar_t structure and
memcmp() on the struct that wasn't memset() before causes the warning.
I do not see this as a bug in ncurses.
Please, can you compile/install *.src below
(all devel versions) and repeat your scenario:
Created attachment 125107 [details]
Created attachment 125108 [details]
Created attachment 125110 [details]
These are the exact versions I already have installed, along with debuginfo's.
What would rebuilding them from source achieve ?
I do not see this as a bug in ncurses
It is fixed in rawhide.
That's interesting, but the patch does not fix the problem that
I'm interested in: ncurses supposedly initializes the cchar_t's
either via static declarations or calloc's. I see a couple of
places where NewChar() and NewChar2() are used on the stack.
Those are probably what was reported.