#1146595 tin: Crashes when trying to save an article

Package:
tin
Source:
tin
Description:
Full-screen easy to use Usenet newsreader
Submitter:
Andreas Metzler
Date:
2026-09-04 17:25:02 UTC
Severity:
normal
Tags:
#1146595#5
Date:
2026-09-03 17:35:02 UTC
From:
To:
Hello,

when I try to save an article in mbox format
("Save filename> =savedpostings") tin reproducibly crashes with:

tin 2.6.6 20260823 ("Glenlochy"): send a DETAILED bug report to tin-bugs@tin.orgAborted                    (core dumped) /usr/bin/tin -r "$@"

gdb show this info for the core file:
----------
GNU gdb (Debian 17.2-1+b1) 17.2
Copyright (C) 2025 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/tin...

This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.debian.net>
[?2004hEnable debuginfod for this session? (y or [n]) y
[?2004l
Debuginfod has been enabled.
To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit.
Reading symbols from /home/ametzler/.cache/debuginfod_client/37d0d483a603c55a4c917f63643c71622d67ae11/debuginfo...
[New LWP 2743]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/bin/tin -r -r'.
Program terminated with signal SIGABRT, Aborted.
Download failed: Invalid argument.  Continuing without source file ./nptl/./nptl/pthread_kill.c.
#0  __pthread_kill_implementation (threadid=<optimized out>,
    signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44

⚠️ warning: 44	./nptl/pthread_kill.c: No such file or directory
[?2004h(gdb) set pagination 0
set pagination 0
[?2004l
[?2004h(gdb) backtrace full
backtrace full
[?2004l
#0  __pthread_kill_implementation (threadid=<optimized out>,
    signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
        tid = <optimized out>
        ret = 0
        pd = <optimized out>
        old_mask = {__val = {0}}
        ret = <optimized out>
#1  0x00007f709e6a106f in __pthread_kill_internal (threadid=<optimized out>,
    signo=6) at ./nptl/pthread_kill.c:89
No locals.
#2  0x00007f709e64a582 in __GI_raise (sig=sig@entry=6)
    at ../sysdeps/posix/raise.c:26
        ret = <optimized out>
#3  0x00007f709e632507 in __GI_abort () at ./stdlib/abort.c:77
        act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0},
          sa_mask = {__val = {0 <repeats 15 times>, 1}},
          sa_flags = -716478464, sa_restorer = 0x1}
#4  0x000055856c520f2e in signal_handler (sig=<optimized out>)
    at ./signal.c:549
        serrno = 0
        wait_status = 1
#5  <signal handler called>
No locals.
#6  __strrchr_avx2 () at ../sysdeps/x86_64/multiarch/strrchr-avx2.S:67
No locals.
#7  0x000055856c51770e in save_and_process_art (
    artinfo=artinfo@entry=0x7ffcb9f5cc20, is_mailbox=true,
    inpath=inpath@entry=0x7ffcb9f5ce60 "/home/ametzler/mail/savedpostings",
    max=<optimized out>, post_process=<optimized out>) at ./save.c:586
        fp = 0x55857d8a6910
        fn = <optimized out>
        from = "dkg@fifthhorseman.net\000kg@fifthhorseman.net>\000\374\177\000\000\320q\000\000\000\000\000\000\026", '\000' <repeats 16 times>, "\006\v\234p\177\000\000\030\271\365\271\374\177\000\000\b\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\240\341{\236p\177\000\000\001\000\000\000\000\000\000\000\275\274i\236p\177\000\000\001\001\000\000\000\000\000\000(\000\000\000\000icudt78l\000\000\000\255\375p\236p\177\000\000\001\001\000\000\000\000\000\000\330\335j\236p\177\000\000\020\000\000\000\000\000\000\000и\365\271\374\177\000\000\220\270\365\271\374\177\000\000\000"...
        path = "/home/ametzler/mail/savedpostings", '\000' <repeats 4062 times>
        epoch = 1788456105
        mmdf = <optimized out>
#8  0x000055856c4a6ca2 in feed_article (art=art@entry=41,
    function=function@entry=4, counter=counter@entry=0x7ffcb9f5cd70,
    use_current=use_current@entry=false,
    data=data@entry=0x7ffcb9f5ce60 "/home/ametzler/mail/savedpostings",
    group=group@entry=0x7f709af9e170) at ./feed.c:519
        progress_mesg = <optimized out>
        ok = true
        openart = {hdr = {
            from = 0x55857d8aea10 "Daniel Kahn Gillmor <dkg@fifthhorseman.net>", to = 0x55857d89e650 "Debian Bug Tracking System <submit@bugs.debian.org>",
            cc = 0x0, bcc = 0x0,
            date = 0x55857d897470 "Wed, 02 Sep 2026 13:40:42 -0400",
            subj = 0x55857d8adea0 "Bug#1146504: src:gpgmepy: gpgmepy builds an .so for only one version of python3, test suite fails for older versions",
            org = 0x0,
            replyto = 0x55857d8b39c0 "Daniel Kahn Gillmor <dkg@fifthhorseman.net>, 1146504@bugs.debian.org",
            newsgroups = 0x55857d89e4d0 "gmane.linux.debian.alioth.pkg-gnupg.general", messageid = 0x55857d89e400 "<87v78no8kl.fsf@fifthhorseman.net>",
            references = 0x0, distrib = 0x0, keywords = 0x0, summary = 0x0,
            followup = 0x0, ftnto = 0x0, xface = 0x0, mime = true,
            ext = 0x55857d8b3370}, tex2iso = true, cooked_lines = 63,
          raw = 0x55857d8aed90, cooked = 0x55857d8b00d0, log = 0x55857d52f250,
          rawl = 0x0, cookl = 0x55857d8e6930}
        openartptr = <optimized out>
#9  0x000055856c4a7bca in feed_articles (function=function@entry=4,
    level=level@entry=4, type=type@entry=NOT_ASSIGNED,
    group=group@entry=0x7f709af9e170, respnum=41) at ./feed.c:809
        prompt = <optimized out>
        outpath = "/home/ametzler/mail/savedpostings\000\000\000\000\000\000\000\240\345\234{\205U\000\001\000\000\000\000\000\000\000\000\240\345\234{\205U\000\000\000\000\000\000\000\000\000\000\"\000\000\000\000\000\000\000\000\317\365\271\374\177\000\000\f\000\000\000\000\000\000\000\210G\374\236p\177\000\0004\311\375\236p\177\000\000p\320\365\271/\000\000\000\001\000\000\000!\000\000\000 \317\365\271\374\177\000\0000\335\372\236p\177\000\000\002\000\000\000\000\000\000\000\000hK\325\317\315\341\316 \317\365\271\374\177\000\000&\317\365\271\374\177\000\000\371\001\000\000\000\000\000\000\377\001\000\000\000\000\000\000\r\033[35d\000\000"...
        art = <optimized out>
        i = <optimized out>
        saved_curr_line = -1
        thread_base = <optimized out>
        sbuf = {art_mark = 111 L'o', total = 3, unread = 3, seen = 0,
          deleted = 0, inrange = 0, selected_total = 0, selected_unread = 0,
          selected_seen = 0, killed = 0, score = 0, multipart_total = 0,
          multipart_have = 0, multipart_compare_len = 0, time = 1788442022}
        counter = {success = 0, total = 0, max = 1}
        feed_mark_function = false
        mark_saved = false
        no_next_unread = false
        post_processed_ok = false
        use_current = false
        feed_type = <optimized out>
#10 0x000055856c529e90 in thread_page (group=0x7f709af9e170,
    respnum=<optimized out>, thread_depth=<optimized out>, page=page@entry=0x0)
    at ./thread.c:1457
        key = "\260\246d\236p\177\000\000LmRl\205U\000\000"
        mark = L"\000"
        wtmp = <optimized out>
        i = <optimized out>
        n = <optimized out>
        old_artnum = <optimized out>
        repeat_search = <optimized out>
        func = <optimized out>
#11 0x000055856c4b2437 in enter_thread (depth=<optimized out>,
    page=<optimized out>) at ./group.c:1844
        i = <optimized out>
        n = <optimized out>
#12 enter_thread (depth=<optimized out>, page=0x0) at ./group.c:1832
        i = <optimized out>
        n = <optimized out>
#13 0x000055856c4b3297 in group_page (group=0x7f709af9e170) at ./group.c:598
        key = "\005\000\000\000\000\000\000\000u\337\372\236p\177\000\0000"
        i = <optimized out>
        n = <optimized out>
        ii = <optimized out>
        thread_depth = <optimized out>
        old_artnum = <optimized out>
        sbuf = {art_mark = 0 L'\000', total = 0, unread = 0, seen = 0,
          deleted = 0, inrange = 0, selected_total = 0, selected_unread = 0,
          selected_seen = 0, killed = 0, score = 0, multipart_total = 0,
          multipart_have = 0, multipart_compare_len = 0,
          time = -3539321539616086016}
        flag = <optimized out>
        xflag = <optimized out>
        repeat_search = false
        func = <optimized out>
        wtmp = <optimized out>
#14 0x000055856c51c6be in read_groups () at ./select.c:1486
        done = false
#15 0x000055856c51c7c9 in select_read_group () at ./select.c:1883
        currgrp = <optimized out>
#16 0x000055856c51f33f in selection_page (
    start_groupnum=start_groupnum@entry=0,
    num_cmd_line_groups=num_cmd_line_groups@entry=0) at ./select.c:243
        buf = "@\377\240{\205U\000\000\000\000\000\000\001\000\000\000\000\000\000\000\001\000\000\000#\000\000\000\000\000\000\000\001", '\000' <repeats 136 times>, "hK\325\317\315\341Β\371\240{\205U31\000hK\325\317\315\341\316\"\000\000\000\000\000\000\000\210"...
        key = "\001\000\000\000\000\000\000\000x\t\366\271\374\177\000\000w"
        i = <optimized out>
        n = <optimized out>
        func = SELECT_ENTER_GROUP
        wtmp = <optimized out>
#17 0x000055856c47f7fd in main (argc=<optimized out>, argv=<optimized out>)
    at ./main.c:564
        argv_orig = <optimized out>
        count = 0
        start_groupnum = 0
        num_cmd_line_groups = 0
        srvrc_mask = <optimized out>
        tmp_no_write = false
[?2004h(gdb) info registers
info registers
[?2004l
rax            0x0                 0
rbx            0xab7               2743
rcx            0x7f709e6a0fac      140121670815660
rdx            0x6                 6
rsi            0xab7               2743
rdi            0xab7               2743
rbp            0x1                 0x1
rsp            0x7ffcb9f5afb0      0x7ffcb9f5afb0
r8             0x8                 8
r9             0x1                 1
r10            0x0                 0
r11            0x246               582
r12            0x0                 0
r13            0x55857b9c67e0      94031792859104
r14            0x6                 6
r15            0xfffffff5          4294967285
rip            0x7f709e6a0fac      0x7f709e6a0fac <__pthread_kill_implementation+268>
eflags         0x246               [ PF ZF IF ]
cs             0x33                51
ss             0x2b                43
ds             0x0                 0
es             0x0                 0
fs             0x0                 0
gs             0x0                 0
fs_base        0x7f709c0b0600      140121631032832
gs_base        0x0                 0
[?2004h(gdb) x/16i $pc
x/16i $pc
[?2004l
=> 0x7f709e6a0fac <__pthread_kill_implementation+268>:	mov    %eax,%r8d
   0x7f709e6a0faf <__pthread_kill_implementation+271>:	neg    %r8d
   0x7f709e6a0fb2 <__pthread_kill_implementation+274>:	cmp    $0xfffff000,%eax
   0x7f709e6a0fb7 <__pthread_kill_implementation+279>:	mov    $0x0,%eax
   0x7f709e6a0fbc <__pthread_kill_implementation+284>:	cmova  %r8d,%eax
   0x7f709e6a0fc0 <__pthread_kill_implementation+288>:
    jmp    0x7f709e6a0f36 <__pthread_kill_implementation+150>
   0x7f709e6a0fc5 <__pthread_kill_implementation+293>:	nopl   (%rax)
   0x7f709e6a0fc8 <__pthread_kill_implementation+296>:	mov    %r9,%rdi
   0x7f709e6a0fcb <__pthread_kill_implementation+299>:	mov    %r8d,(%rsp)
   0x7f709e6a0fcf <__pthread_kill_implementation+303>:
    call   0x7f709e69c1a0 <__GI___lll_lock_wake_private>
   0x7f709e6a0fd4 <__pthread_kill_implementation+308>:	mov    (%rsp),%r8d
   0x7f709e6a0fd8 <__pthread_kill_implementation+312>:
    jmp    0x7f709e6a0f1c <__pthread_kill_implementation+124>
   0x7f709e6a0fdd <__pthread_kill_implementation+317>:	nopl   (%rax)
   0x7f709e6a0fe0 <__pthread_kill_implementation+320>:	mov    %r9,%rdi
   0x7f709e6a0fe3 <__pthread_kill_implementation+323>:	mov    %r8d,0xc(%rsp)
   0x7f709e6a0fe8 <__pthread_kill_implementation+328>:	mov    %r9,(%rsp)
[?2004h(gdb) thread apply all backtrace
thread apply all backtrace
[?2004l
Thread 1 (Thread 0x7f709c0b0600 (LWP 2743)):
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
#1  0x00007f709e6a106f in __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:89
#2  0x00007f709e64a582 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3  0x00007f709e632507 in __GI_abort () at ./stdlib/abort.c:77
#4  0x000055856c520f2e in signal_handler (sig=<optimized out>) at ./signal.c:549
#5  <signal handler called>
#6  __strrchr_avx2 () at ../sysdeps/x86_64/multiarch/strrchr-avx2.S:67
#7  0x000055856c51770e in save_and_process_art (artinfo=artinfo@entry=0x7ffcb9f5cc20, is_mailbox=true, inpath=inpath@entry=0x7ffcb9f5ce60 "/home/ametzler/mail/savedpostings", max=<optimized out>, post_process=<optimized out>) at ./save.c:586
#8  0x000055856c4a6ca2 in feed_article (art=art@entry=41, function=function@entry=4, counter=counter@entry=0x7ffcb9f5cd70, use_current=use_current@entry=false, data=data@entry=0x7ffcb9f5ce60 "/home/ametzler/mail/savedpostings", group=group@entry=0x7f709af9e170) at ./feed.c:519
#9  0x000055856c4a7bca in feed_articles (function=function@entry=4, level=level@entry=4, type=type@entry=NOT_ASSIGNED, group=group@entry=0x7f709af9e170, respnum=41) at ./feed.c:809
#10 0x000055856c529e90 in thread_page (group=0x7f709af9e170, respnum=<optimized out>, thread_depth=<optimized out>, page=page@entry=0x0) at ./thread.c:1457
#11 0x000055856c4b2437 in enter_thread (depth=<optimized out>, page=<optimized out>) at ./group.c:1844
#12 enter_thread (depth=<optimized out>, page=0x0) at ./group.c:1832
#13 0x000055856c4b3297 in group_page (group=0x7f709af9e170) at ./group.c:598
#14 0x000055856c51c6be in read_groups () at ./select.c:1486
#15 0x000055856c51c7c9 in select_read_group () at ./select.c:1883
#16 0x000055856c51f33f in selection_page (start_groupnum=start_groupnum@entry=0, num_cmd_line_groups=num_cmd_line_groups@entry=0) at ./select.c:243
#17 0x000055856c47f7fd in main (argc=<optimized out>, argv=<optimized out>) at ./main.c:564
[?2004h(gdb) quitquit
[?2004l
----------

cu Andreas

#1146595#10
Date:
2026-09-04 13:10:24 UTC
From:
To:
this should fix the issue

=== modified file 'src/save.c'
--- old/src/save.c	2026-08-20 22:07:12 +0000
+++ new/src/save.c	2026-09-04 12:57:37 +0000
@@ -583,7 +583,7 @@

 	fclose(fp);

-	if ((fn = strrchr(save[num_save].path, '/')) == NULL)
+	if ((fn = strrchr(path, '/')) == NULL)
 		return FALSE;

 	/*

#1146595#15
Date:
2026-09-04 13:10:24 UTC
From:
To:
this should fix the issue

=== modified file 'src/save.c'
--- old/src/save.c	2026-08-20 22:07:12 +0000
+++ new/src/save.c	2026-09-04 12:57:37 +0000
@@ -583,7 +583,7 @@

 	fclose(fp);

-	if ((fn = strrchr(save[num_save].path, '/')) == NULL)
+	if ((fn = strrchr(path, '/')) == NULL)
 		return FALSE;

 	/*

#1146595#20
Date:
2026-09-04 17:23:28 UTC
From:
To:
Control: tags -1 patch

Thank you! Works for me.

cu Andreas