Pan crashes on startup with 'basic_string: construction from null is not valid'
Just discovered Pan as my new favorite news reader after installing it on openSUSE Tumbleweed.
Unfortunately, the application crashes for me after the initial setup and closing it again.
The issue can be reproduced when building Pan from git with:
./configure --with-gnutls --with-dbus --enable-gkr --enable-manual --enable-libnotify
The backtrace in gdb
looks like this:
terminate called after throwing an instance of 'std::logic_error'
what(): basic_string: construction from null is not valid
Thread 1 "pan" received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
Downloading 0.00 MB source file /usr/src/debug/glibc-2.36/nptl/pthread_kill.c
44 return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
(gdb) bt
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1 0x00007ffff6895873 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2 0x00007ffff6842816 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3 0x00007ffff682b81c in __GI_abort () at abort.c:79
#4 0x00007ffff6aacbf7 in __gnu_cxx::__verbose_terminate_handler() () at ../../../../libstdc++-v3/libsupc++/vterminate.cc:95
#5 0x00007ffff6abc20c in __cxxabiv1::__terminate(void (*)()) (handler=<optimized out>)
at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:48
#6 0x00007ffff6abc277 in std::terminate() () at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:58
#7 0x00007ffff6abc4d8 in __cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))
(obj=<optimized out>, tinfo=0x7ffff6c38028 <typeinfo for std::logic_error>, dest=0x7ffff6ad1cb0 <std::logic_error::~logic_error()>) at ../../../../libstdc++-v3/libsupc++/eh_throw.cc:98
#8 0x00007ffff6aaf36e in std::__throw_logic_error(char const*)
(__s=__s@entry=0x5555556b0538 "basic_string: construction from null is not valid")
at ../../../../../libstdc++-v3/src/c++11/functexcept.cc:70
#9 0x000055555569a973 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::allocator<char> >(char const*, std::allocator<char> const&) [clone .constprop.0]
(this=0x7fffffff9f00, __s=<optimized out>, __a=<optimized out>) at /usr/include/c++/12/bits/basic_string.h:639
#10 0x0000555555655dd3 in pan::NNTP_Pool::on_socket_created(pan::StringView const&, int, bool, pan::Socket*)
(this=0x5555559c2310, host=<optimized out>, port=<optimized out>, ok=<optimized out>, socket=0x7fffe0001370)
at /usr/include/c++/12/bits/new_allocator.h:80
#11 0x000055555565617d in non-virtual thunk to (anonymous namespace)::ThreadWorker::on_worker_done(bool) ()
at ../tasks/socket-impl-main.cc:96
#12 0x0000555555673e67 in pan::WorkerPool::Worker::main_thread_cleanup() (this=this@entry=0x5555560ffa20)
at ../general/worker-pool.cc:89
#13 pan::WorkerPool::Worker::main_thread_cleanup_cb(void*) (g=g@entry=0x5555560ffa20) at ../general/worker-pool.cc:81
#14 0x00007ffff71204be in g_idle_dispatch
(source=0x7fffe0012f20, callback=0x555555673d60 <pan::WorkerPool::Worker::main_thread_cleanup_cb(void*)>, user_data=0x5555560ffa20) at ../glib/gmain.c:6126
#15 0x00007ffff7124a90 in g_main_dispatch (context=0x55555580d2a0) at ../glib/gmain.c:3454
--Type <RET> for more, q to quit, c to continue without paging--
#16 g_main_context_dispatch (context=context@entry=0x55555580d2a0) at ../glib/gmain.c:4172
#17 0x00007ffff7124e48 in g_main_context_iterate
(context=0x55555580d2a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4248
#18 0x00007ffff712510f in g_main_loop_run (loop=loop@entry=0x55555603dd60) at ../glib/gmain.c:4448
#19 0x00007ffff7845f6d in gtk_main () at /usr/src/debug/gtk-3.24.35+10/gtk/gtkmain.c:1329
#20 0x000055555558f013 in (anonymous namespace)::run_pan_in_window
(group_prefs=..., window=0x555555c4e280 [GtkWindow], prefs=..., queue=..., data=warning: RTTI symbol not found for class 'pan::DataImpl [clone .lto_priv.0]'
..., _gui=0x55555593ec80)
at /usr/src/debug/pan-v0.154/pan/gui/pan.cc:561
#21 main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/pan-v0.154/pan/gui/pan.cc:1115
(gdb)
Let me know if you need any more information.