Hi Antonio, On Tue, Dec 06, 2016 at 08:24:43AM +0000, Antonio Radici wrote: > Peter, do you have time to try neomutt standard without Debian patches? That > at > least will help us to undestand if it's a rogue patch or if the problem is in > neomutt.
I built mutt 1.7.2-1 under Debian stretch amd64 disabling these patches: # neomutt-20170113.patch # neomutt-devel/832971-reset-xlabel.patch I ran "quilt refresh" for all subsequent patches in debian/patches/series. Following the procedure described in my previous message, https://bugs.debian.org/838720#103 mutt no longer performs an "invalid read" (see attached valgrind log). The culprit for the pager segfault is NeoMutt. Regards, Peter
==19224== Memcheck, a memory error detector ==19224== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. ==19224== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info ==19224== Command: mutt ==19224== Parent PID: 19031 ==19224== ==19224== Conditional jump or move depends on uninitialised value(s) ==19224== at 0x6E16009: re_compile_fastmap_iter.isra.24 (regcomp.c:328) ==19224== by 0x6E1E6A5: re_compile_fastmap (regcomp.c:280) ==19224== by 0x6E1ED3A: regcomp (regcomp.c:509) ==19224== by 0x1443F7: parse_attach_list (init.c:971) ==19224== by 0x1443F7: parse_attachments (init.c:1137) ==19224== by 0x144D46: mutt_parse_rc_line.part.11 (init.c:2378) ==19224== by 0x144F3F: mutt_parse_rc_line (init.c:2300) ==19224== by 0x144F3F: source_rc (init.c:2286) ==19224== by 0x14826E: mutt_init (init.c:3194) ==19224== by 0x11CCA3: main (main.c:798) ==19224== ==19224== Conditional jump or move depends on uninitialised value(s) ==19224== at 0x6E16009: re_compile_fastmap_iter.isra.24 (regcomp.c:328) ==19224== by 0x6E1E6C7: re_compile_fastmap (regcomp.c:282) ==19224== by 0x6E1ED3A: regcomp (regcomp.c:509) ==19224== by 0x1443F7: parse_attach_list (init.c:971) ==19224== by 0x1443F7: parse_attachments (init.c:1137) ==19224== by 0x144D46: mutt_parse_rc_line.part.11 (init.c:2378) ==19224== by 0x144F3F: mutt_parse_rc_line (init.c:2300) ==19224== by 0x144F3F: source_rc (init.c:2286) ==19224== by 0x14826E: mutt_init (init.c:3194) ==19224== by 0x11CCA3: main (main.c:798) ==19224== ==19224== Conditional jump or move depends on uninitialised value(s) ==19224== at 0x6E16009: re_compile_fastmap_iter.isra.24 (regcomp.c:328) ==19224== by 0x6E1E6A5: re_compile_fastmap (regcomp.c:280) ==19224== by 0x6E1ED3A: regcomp (regcomp.c:509) ==19224== by 0x150D56: mutt_parse_hook (hook.c:186) ==19224== by 0x144D46: mutt_parse_rc_line.part.11 (init.c:2378) ==19224== by 0x144F3F: mutt_parse_rc_line (init.c:2300) ==19224== by 0x144F3F: source_rc (init.c:2286) ==19224== by 0x145181: parse_source (init.c:2336) ==19224== by 0x144D46: mutt_parse_rc_line.part.11 (init.c:2378) ==19224== by 0x144F3F: mutt_parse_rc_line (init.c:2300) ==19224== by 0x144F3F: source_rc (init.c:2286) ==19224== by 0x145181: parse_source (init.c:2336) ==19224== by 0x144D46: mutt_parse_rc_line.part.11 (init.c:2378) ==19224== by 0x144F3F: mutt_parse_rc_line (init.c:2300) ==19224== by 0x144F3F: source_rc (init.c:2286) ==19224== ==19224== Conditional jump or move depends on uninitialised value(s) ==19224== at 0x6E16009: re_compile_fastmap_iter.isra.24 (regcomp.c:328) ==19224== by 0x6E1E6C7: re_compile_fastmap (regcomp.c:282) ==19224== by 0x6E1ED3A: regcomp (regcomp.c:509) ==19224== by 0x150D56: mutt_parse_hook (hook.c:186) ==19224== by 0x144D46: mutt_parse_rc_line.part.11 (init.c:2378) ==19224== by 0x144F3F: mutt_parse_rc_line (init.c:2300) ==19224== by 0x144F3F: source_rc (init.c:2286) ==19224== by 0x145181: parse_source (init.c:2336) ==19224== by 0x144D46: mutt_parse_rc_line.part.11 (init.c:2378) ==19224== by 0x144F3F: mutt_parse_rc_line (init.c:2300) ==19224== by 0x144F3F: source_rc (init.c:2286) ==19224== by 0x145181: parse_source (init.c:2336) ==19224== by 0x144D46: mutt_parse_rc_line.part.11 (init.c:2378) ==19224== by 0x144F3F: mutt_parse_rc_line (init.c:2300) ==19224== by 0x144F3F: source_rc (init.c:2286) ==19224== ==19231== Warning: invalid file descriptor 1024 in syscall close() ==19231== Warning: invalid file descriptor 1025 in syscall close() ==19231== Warning: invalid file descriptor 1026 in syscall close() ==19231== Warning: invalid file descriptor 1027 in syscall close() ==19231== Use --log-fd=<number> to select an alternative log fd. ==19231== Warning: invalid file descriptor 1028 in syscall close() ==19231== Warning: invalid file descriptor 1029 in syscall close() ==19230== ==19230== HEAP SUMMARY: ==19230== in use at exit: 1,440,290 bytes in 3,179 blocks ==19230== total heap usage: 4,385 allocs, 1,206 frees, 1,639,162 bytes allocated ==19230== ==19230== LEAK SUMMARY: ==19230== definitely lost: 0 bytes in 0 blocks ==19230== indirectly lost: 0 bytes in 0 blocks ==19230== possibly lost: 0 bytes in 0 blocks ==19230== still reachable: 1,440,290 bytes in 3,179 blocks ==19230== suppressed: 0 bytes in 0 blocks ==19230== Rerun with --leak-check=full to see details of leaked memory ==19230== ==19230== For counts of detected and suppressed errors, rerun with: -v ==19230== Use --track-origins=yes to see where uninitialised values come from ==19230== ERROR SUMMARY: 16 errors from 4 contexts (suppressed: 0 from 0) ==19233== Warning: invalid file descriptor 1024 in syscall close() ==19233== Warning: invalid file descriptor 1025 in syscall close() ==19233== Warning: invalid file descriptor 1026 in syscall close() ==19233== Warning: invalid file descriptor 1027 in syscall close() ==19233== Use --log-fd=<number> to select an alternative log fd. ==19233== Warning: invalid file descriptor 1028 in syscall close() ==19233== Warning: invalid file descriptor 1029 in syscall close() ==19232== ==19232== HEAP SUMMARY: ==19232== in use at exit: 1,440,543 bytes in 3,190 blocks ==19232== total heap usage: 4,396 allocs, 1,206 frees, 1,639,415 bytes allocated ==19232== ==19232== LEAK SUMMARY: ==19232== definitely lost: 0 bytes in 0 blocks ==19232== indirectly lost: 0 bytes in 0 blocks ==19232== possibly lost: 0 bytes in 0 blocks ==19232== still reachable: 1,440,543 bytes in 3,190 blocks ==19232== suppressed: 0 bytes in 0 blocks ==19232== Rerun with --leak-check=full to see details of leaked memory ==19232== ==19232== For counts of detected and suppressed errors, rerun with: -v ==19232== Use --track-origins=yes to see where uninitialised values come from ==19232== ERROR SUMMARY: 16 errors from 4 contexts (suppressed: 0 from 0) ==19235== Warning: invalid file descriptor 1024 in syscall close() ==19235== Warning: invalid file descriptor 1025 in syscall close() ==19235== Warning: invalid file descriptor 1026 in syscall close() ==19235== Warning: invalid file descriptor 1027 in syscall close() ==19235== Use --log-fd=<number> to select an alternative log fd. ==19235== Warning: invalid file descriptor 1028 in syscall close() ==19235== Warning: invalid file descriptor 1029 in syscall close() ==19234== ==19234== HEAP SUMMARY: ==19234== in use at exit: 1,440,571 bytes in 3,192 blocks ==19234== total heap usage: 4,398 allocs, 1,206 frees, 1,639,443 bytes allocated ==19234== ==19234== LEAK SUMMARY: ==19234== definitely lost: 0 bytes in 0 blocks ==19234== indirectly lost: 0 bytes in 0 blocks ==19234== possibly lost: 0 bytes in 0 blocks ==19234== still reachable: 1,440,571 bytes in 3,192 blocks ==19234== suppressed: 0 bytes in 0 blocks ==19234== Rerun with --leak-check=full to see details of leaked memory ==19234== ==19234== For counts of detected and suppressed errors, rerun with: -v ==19234== Use --track-origins=yes to see where uninitialised values come from ==19234== ERROR SUMMARY: 16 errors from 4 contexts (suppressed: 0 from 0) ==19237== Warning: invalid file descriptor 1024 in syscall close() ==19237== Warning: invalid file descriptor 1025 in syscall close() ==19237== Warning: invalid file descriptor 1026 in syscall close() ==19237== Warning: invalid file descriptor 1027 in syscall close() ==19237== Use --log-fd=<number> to select an alternative log fd. ==19237== Warning: invalid file descriptor 1028 in syscall close() ==19237== Warning: invalid file descriptor 1029 in syscall close() ==19236== ==19236== HEAP SUMMARY: ==19236== in use at exit: 1,440,639 bytes in 3,195 blocks ==19236== total heap usage: 4,401 allocs, 1,206 frees, 1,639,511 bytes allocated ==19236== ==19237== ==19237== HEAP SUMMARY: ==19237== in use at exit: 1,440,639 bytes in 3,195 blocks ==19237== total heap usage: 4,402 allocs, 1,207 frees, 1,672,327 bytes allocated ==19237== ==19236== LEAK SUMMARY: ==19236== definitely lost: 0 bytes in 0 blocks ==19236== indirectly lost: 0 bytes in 0 blocks ==19236== possibly lost: 0 bytes in 0 blocks ==19236== still reachable: 1,440,639 bytes in 3,195 blocks ==19236== suppressed: 0 bytes in 0 blocks ==19236== Rerun with --leak-check=full to see details of leaked memory ==19236== ==19236== For counts of detected and suppressed errors, rerun with: -v ==19236== Use --track-origins=yes to see where uninitialised values come from ==19236== ERROR SUMMARY: 16 errors from 4 contexts (suppressed: 0 from 0) ==19237== LEAK SUMMARY: ==19237== definitely lost: 0 bytes in 0 blocks ==19237== indirectly lost: 0 bytes in 0 blocks ==19237== possibly lost: 0 bytes in 0 blocks ==19237== still reachable: 1,440,639 bytes in 3,195 blocks ==19237== suppressed: 0 bytes in 0 blocks ==19237== Rerun with --leak-check=full to see details of leaked memory ==19237== ==19237== For counts of detected and suppressed errors, rerun with: -v ==19237== Use --track-origins=yes to see where uninitialised values come from ==19237== ERROR SUMMARY: 16 errors from 4 contexts (suppressed: 0 from 0) ==19239== Warning: invalid file descriptor 1024 in syscall close() ==19239== Warning: invalid file descriptor 1025 in syscall close() ==19239== Warning: invalid file descriptor 1026 in syscall close() ==19239== Warning: invalid file descriptor 1027 in syscall close() ==19239== Use --log-fd=<number> to select an alternative log fd. ==19239== Warning: invalid file descriptor 1028 in syscall close() ==19239== Warning: invalid file descriptor 1029 in syscall close() ==19238== ==19238== HEAP SUMMARY: ==19238== in use at exit: 1,440,708 bytes in 3,198 blocks ==19238== total heap usage: 4,404 allocs, 1,206 frees, 1,639,580 bytes allocated ==19238== ==19238== LEAK SUMMARY: ==19238== definitely lost: 0 bytes in 0 blocks ==19238== indirectly lost: 0 bytes in 0 blocks ==19238== possibly lost: 0 bytes in 0 blocks ==19238== still reachable: 1,440,708 bytes in 3,198 blocks ==19238== suppressed: 0 bytes in 0 blocks ==19238== Rerun with --leak-check=full to see details of leaked memory ==19238== ==19238== For counts of detected and suppressed errors, rerun with: -v ==19238== Use --track-origins=yes to see where uninitialised values come from ==19238== ERROR SUMMARY: 16 errors from 4 contexts (suppressed: 0 from 0) ==19224== ==19224== HEAP SUMMARY: ==19224== in use at exit: 855,152 bytes in 2,651 blocks ==19224== total heap usage: 46,567 allocs, 43,916 frees, 12,780,046 bytes allocated ==19224== ==19224== LEAK SUMMARY: ==19224== definitely lost: 0 bytes in 0 blocks ==19224== indirectly lost: 0 bytes in 0 blocks ==19224== possibly lost: 0 bytes in 0 blocks ==19224== still reachable: 855,152 bytes in 2,651 blocks ==19224== suppressed: 0 bytes in 0 blocks ==19224== Rerun with --leak-check=full to see details of leaked memory ==19224== ==19224== For counts of detected and suppressed errors, rerun with: -v ==19224== Use --track-origins=yes to see where uninitialised values come from ==19224== ERROR SUMMARY: 16 errors from 4 contexts (suppressed: 0 from 0)