After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 756458 - pan 0.139 crashes on start
pan 0.139 crashes on start
Status: RESOLVED FIXED
Product: Pan
Classification: Other
Component: general
unspecified
Other Linux
: Normal critical
: ---
Assigned To: pan-maint
pan-maint
Depends on:
Blocks:
 
 
Reported: 2015-10-12 18:10 UTC by rhatton
Modified: 2016-04-26 17:47 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description rhatton 2015-10-12 18:10:23 UTC
OS: opensuse Tumbleweed, fully undated, upgraded from 13.2 fully updated.
Name: pan
Version: 0.139-7.4
Repository: repo-oss


After installing and configuring, pan will crash on next start. IF machine is rebooted, pan will start, but must be configured again, and will crash on next start.

debug:
rick@tower:~> pan --debug
(article-cache.cc:170:ArticleCache) loaded 1 articles into cache from /home/rick/.pan2/article-cache
GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name news.pan.NZB was not provided by any .service files
**
ERROR:pan-tree.cc:80:GtkTreeIter PanTreeStore::get_iter(const PanTreeStore::Row*): assertion failed: (row)
Aborted (core dumped)
Comment 1 Dominique Dumont 2015-11-11 15:57:19 UTC
I've a similar issue on Debian/sid.

pan crashes on a (endless?) recursive call to iterate_thru_children from gailtreeview.

More details are available on Debian bug tracker:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=804485

All the best
Comment 2 kram 2015-11-18 11:56:54 UTC
The same bug occurs on fedora 23. After upgrading from fedora 22, I get the message when starting pan. I renamed the .pan2 folder. afterwards pan starts ok (and creates the folder). Then I did the preferences and everything seems fine, pan works and starts. Next day the error happens again.
Comment 3 Petr Kovar 2015-12-23 22:21:26 UTC
This seems to be related to https://bugzilla.gnome.org/show_bug.cgi?id=754698.
Comment 4 Petr Kovar 2015-12-23 22:27:59 UTC
Thanks for reporting this bug.

As this issue is likely caused by the recent C++11 ABI breakage in GCC5, you can try to rebuild the sources with -D_GLIBCXX_USE_CXX11_ABI=0 as a temporary workaround.

Patches to fix this problem properly are welcome (and much needed).
Comment 5 Dominique Dumont 2015-12-31 15:18:28 UTC
With the -D_GLIBCXX_USE_CXX11_ABI=0 workaround, I can re-compile pan and get a behavior similar to the pan I compiled back in May 2015.

But the crash involving iterate_thru_children still occurs. The weird thing is pan crashes when run in kde (I did not try with gnome) but does not crash when pan is run through remote X (i.e. through ssh -X ).

When run in kde, here's a backtrace more complete that previous one:

Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `pan'.
Program terminated with signal SIGSEGV, Segmentation fault.
  • #0 __memmove_sse2
    at ../string/memmove.c line 48
  • #0 __memmove_sse2
    at ../string/memmove.c line 48
  • #1 int* std::__copy_move<false, true, std::random_access_iterator_tag>::__copy_m<int>(int const*, int const*, int*)
  • #2 int* std::__copy_move_a<false, int*, int*>(int*, int*, int*)
  • #3 int* std::__copy_move_a2<false, int*, int*>(int*, int*, int*)
  • #4 int* std::copy<int*, int*>(int*, int*, int*)
  • #5 int* std::__uninitialized_copy<true>::__uninit_copy<int*, int*>(int*, int*, int*)
  • #6 int* std::uninitialized_copy<int*, int*>(int*, int*, int*)
  • #7 int* std::__uninitialized_copy_a<int*, int*, int>(int*, int*, int*, std::allocator<int>&)
  • #8 int* std::__uninitialized_move_if_noexcept_a<int*, int*, std::allocator<int> >(int*, int*, int*, std::allocator<int>&)
  • #9 std::vector<int, std::allocator<int> >::_M_insert_aux(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int const&)
  • #10 std::vector<int, std::allocator<int> >::push_back(int const&)
  • #11 PanTreeStore::get_path(PanTreeStore::Row const*) const
  • #12 PanTreeStore::get_path(_GtkTreeIter*)
  • #13 PanTreeStore::model_get_path(_GtkTreeModel*, _GtkTreeIter*)
  • #14 iterate_thru_children
    at /build/gtk+2.0-GqlFUP/gtk+2.0-2.24.29/modules/other/gail/gailtreeview.c line 3453
  • #15 iterate_thru_children
    at /build/gtk+2.0-GqlFUP/gtk+2.0-2.24.29/modules/other/gail/gailtreeview.c line 3456
  • #16 iterate_thru_children
    at /build/gtk+2.0-GqlFUP/gtk+2.0-2.24.29/modules/other/gail/gailtreeview.c line 3456
  • #17 iterate_thru_children
    at /build/gtk+2.0-GqlFUP/gtk+2.0-2.24.29/modules/other/gail/gailtreeview.c line 3456
  • #52374 iterate_thru_children
    at /build/gtk+2.0-GqlFUP/gtk+2.0-2.24.29/modules/other/gail/gailtreeview.c line 3456
  • #52375 iterate_thru_children
    at /build/gtk+2.0-GqlFUP/gtk+2.0-2.24.29/modules/other/gail/gailtreeview.c line 3456
  • #52376 iterate_thru_children
    at /build/gtk+2.0-GqlFUP/gtk+2.0-2.24.29/modules/other/gail/gailtreeview.c line 3456
  • #52377 idle_expand_row
    at /build/gtk+2.0-GqlFUP/gtk+2.0-2.24.29/modules/other/gail/gailtreeview.c line 2297
  • #52378 gdk_threads_dispatch
    at /build/gtk+2.0-GqlFUP/gtk+2.0-2.24.29/gdk/gdk.c line 534
  • #52379 g_main_context_dispatch
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #52380 ??
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #52381 g_main_loop_run
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #52382 IA__gtk_main
    at /build/gtk+2.0-GqlFUP/gtk+2.0-2.24.29/gtk/gtkmain.c line 1268
  • #52383 (anonymous namespace)::mainloop()
  • #52384 (anonymous namespace)::run_pan_in_window(pan::GUI*, pan::Data&, pan::Queue&, pan::Prefs&, pan::GroupPrefs&, _GtkWindow*)
  • #52385 main

Hope this helps
Comment 6 bbshill 2016-01-19 18:58:26 UTC
I can recover by deleting the ~/.pan2/preferences.xml file.

I diffed before and after versions of the file and discovered that editing this entry in the file cured it until I closed it again.

<string name='last-visited-group' value='alt.politics.scorched-earth'/>

to

<string name='last-visited-group' value=''/>

This only seemed to cause the problem if the newsgroup was the first in the subscribed list. If I click on the second subscribed newsgroup, close and open it again it works fine.
Comment 7 detlef.graef 2016-03-01 18:07:52 UTC
With latest version from GIT repo this error should not occure anymore (please test).
Comment 8 Petr Kovar 2016-03-06 00:03:18 UTC
This problem has been fixed in the unstable development version. The fix will be available in the next major software release. You may need to upgrade your Linux distribution to obtain that newer version.

Please reopen if the problem persists, thank you.
Comment 9 Dominique Dumont 2016-03-30 16:24:26 UTC
Hello

Unfortunately, the crash still occurs with pan 0.140.

To reproduce:
- log in a kde5 session (I use kde5 on Debian/unstable)
- launch pan
- open "Other Groups" (below "Subscribed Groups")
  -> Pan crashes with a seg fault

workaround:
- open pan with "ssh -X localhost pan"
- open "Other Groups" 
  -> works fine
- close pan
- reopen pan without ssh
  -> "Other groups" are displayed fine

I've no possibility to re-open this bug. If needed, I'll open a new one.

Hope this helps
Comment 10 Petr Kovar 2016-03-30 16:41:10 UTC
(In reply to Dominique Dumont from comment #9)
> Hello
> 
> Unfortunately, the crash still occurs with pan 0.140.
> 
> To reproduce:
> - log in a kde5 session (I use kde5 on Debian/unstable)
> - launch pan
> - open "Other Groups" (below "Subscribed Groups")
>   -> Pan crashes with a seg fault
> 
> workaround:
> - open pan with "ssh -X localhost pan"
> - open "Other Groups" 
>   -> works fine
> - close pan
> - reopen pan without ssh
>   -> "Other groups" are displayed fine
> 
> I've no possibility to re-open this bug. If needed, I'll open a new one.
> 
> Hope this helps

Thanks for reporting this, reopening the bug. What configuration options have you specified when building pan?

I'm building with --with-gnutls --with-dbus --with-gmime-crypto --with-gtkspell --enable-libnotify --enable-gkr but can't reproduce the crash on GNOME. However, I'm hitting this issue:

- Start pan with no previous configuration
- Close the add a new server dialog without configuring a new server
- Pan becomes unresponsive

Might or might not be related to the "Other Groups" issue.
Comment 11 Petr Kovar 2016-03-30 17:28:45 UTC
(In reply to Petr Kovar from comment #10)
> (In reply to Dominique Dumont from comment #9)
> > Hello
> > 
> > Unfortunately, the crash still occurs with pan 0.140.
> > 
> > To reproduce:
> > - log in a kde5 session (I use kde5 on Debian/unstable)
> > - launch pan
> > - open "Other Groups" (below "Subscribed Groups")
> >   -> Pan crashes with a seg fault
> > 
> > workaround:
> > - open pan with "ssh -X localhost pan"
> > - open "Other Groups" 
> >   -> works fine
> > - close pan
> > - reopen pan without ssh
> >   -> "Other groups" are displayed fine
> > 
> > I've no possibility to re-open this bug. If needed, I'll open a new one.
> > 
> > Hope this helps
> 
> Thanks for reporting this, reopening the bug. What configuration options
> have you specified when building pan?
> 
> I'm building with --with-gnutls --with-dbus --with-gmime-crypto
> --with-gtkspell --enable-libnotify --enable-gkr but can't reproduce the
> crash on GNOME. However, I'm hitting this issue:
> 
> - Start pan with no previous configuration
> - Close the add a new server dialog without configuring a new server
> - Pan becomes unresponsive

Turns out this is only reproducible when --enable-gkr is specified. This is on Fedora 23. Can someone else confirm?
Comment 12 detlef.graef 2016-03-30 17:49:24 UTC
On Fedora 23 with this configuration:

Configuration:

        Prefix:                 /usr/local
        Source code location:   .
        Compiler:               g++
        With D-Bus:             yes
        With GMime 2.6+:        yes
        With GtkSpell:          no
        With GTK+ 3:            no
        With WebKitGTK+:        no
        With GnuTLS:            yes (3.4.7)
        With libnotify:         yes
        With GNOME Keyring:     yes

I cannot reproduce the error.

I'm using XFCE as desktop.
Comment 13 detlef.graef 2016-03-30 17:52:33 UTC
(In reply to Dominique Dumont from comment #9)
> Hello
> 
> Unfortunately, the crash still occurs with pan 0.140.
> 
> To reproduce:
> - log in a kde5 session (I use kde5 on Debian/unstable)
> - launch pan
> - open "Other Groups" (below "Subscribed Groups")
>   -> Pan crashes with a seg fault
> 
> workaround:
> - open pan with "ssh -X localhost pan"
> - open "Other Groups" 
>   -> works fine
> - close pan
> - reopen pan without ssh
>   -> "Other groups" are displayed fine
> 

Please start pan with the option --debug, reproduce the error and post or attach the debug output to this bug report.

I cannot reproduce the error in my environment.

I hope the debug output helps to find the root cause.
Comment 14 Dominique Dumont 2016-03-30 19:28:28 UTC
I use for Debian the following options:

--with-gnutls --enable-gkr --disable-silent-rules --enable-libnotify --with-dbus

All the best
Comment 15 Petr Kovar 2016-03-30 19:40:49 UTC
(In reply to detlef.graef from comment #12)
> On Fedora 23 with this configuration:
> 
> Configuration:
> 
>         Prefix:                 /usr/local
>         Source code location:   .
>         Compiler:               g++
>         With D-Bus:             yes
>         With GMime 2.6+:        yes
>         With GtkSpell:          no
>         With GTK+ 3:            no
>         With WebKitGTK+:        no
>         With GnuTLS:            yes (3.4.7)
>         With libnotify:         yes
>         With GNOME Keyring:     yes
> 
> I cannot reproduce the error.

Detlef, could you please try the following?

- Compile pan with ./autogen.sh --enable-gkr 
- make install it
- Make sure there is no ~/.pan2 folder in your home directory
- Run pan from /usr/local
- Close the add a new server dialog without configuring a new server
- Pan becomes unresponsive

Can you reproduce it now? Still not sure if that's related to what Dominique reports.
Comment 16 detlef.graef 2016-03-30 20:39:32 UTC
(In reply to Petr Kovar from comment #15)
> 
> Detlef, could you please try the following?
> 
> - Compile pan with ./autogen.sh --enable-gkr 
> - make install it
> - Make sure there is no ~/.pan2 folder in your home directory
> - Run pan from /usr/local
> - Close the add a new server dialog without configuring a new server
> - Pan becomes unresponsive
> 
> Can you reproduce it now? Still not sure if that's related to what Dominique
> reports.

I've tried it (./autogen.sh --enable-gkr):

Configuration:

        Prefix:                 /usr/local
        Source code location:   .
        Compiler:               g++
        With D-Bus:             no
        With GMime 2.6+:        yes
        With GtkSpell:          no
        With GTK+ 3:            no
        With WebKitGTK+:        no
        With GnuTLS:            no
        With libnotify:         no
        With GNOME Keyring:     yes

Pan starts with the welcome dialog and the server config window.

I can quit the server config window only with "cancel" button. With "ok" I get the error that no server is configured, the window remains open.

If I cancel the server config window, Pan is still responsive.

I think this problem is not related to the issue this bug was opened:

ERROR:pan-tree.cc:80:GtkTreeIter PanTreeStore::get_iter(const PanTreeStore::Row*): assertion failed: (row)

Can you please start Pan with --debug option and post/attach the debug output?

I hope Dominique provides the debug output from the error.
Comment 17 detlef.graef 2016-03-30 20:58:04 UTC
(In reply to Dominique Dumont from comment #14)
> I use for Debian the following options:
> 
> --with-gnutls --enable-gkr --disable-silent-rules --enable-libnotify
> --with-dbus

Are you building Pan with gcc5?

Try this build option if you build Pan with gcc5: -D_GLIBCXX_USE_CXX11_ABI=0
Does the error still occur?

Nevertheless the debug output would be helpful.
Comment 18 Dominique Dumont 2016-03-31 17:31:11 UTC
I build pan with gcc5 ( gcc (Debian 5.3.1-13) 5.3.1 20160323 ).

On pan 0.139, the flag -D_GLIBCXX_USE_CXX11_ABI=0 did not change the crash.
I've not retried with pan 0.140 since pan 0.140 builds fine with gcc5.

Here's the debug trace with a crash:
$ pan --debug
(article-cache.cc:171:ArticleCache) loaded 27 articles into cache from /home/domi/.pan2/article-cache
GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name news.pan.NZB was not provided by any .service files
(data-impl.cc:127:save_state) data-impl dtor saving xov, newsrc...
Erreur de segmentation

And with the ssh workaround:
$ ssh -X localhost pan --debug
Password: 
(article-cache.cc:171:ArticleCache) loaded 27 articles into cache from /home/domi/.pan2/article-cache
GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name news.pan.NZB was not provided by any .service files
(data-impl.cc:127:save_state) data-impl dtor saving xov, newsrc...
(data-impl.cc:127:save_state) data-impl dtor saving xov, newsrc...
Existing Quarks: 7:
  [Xref] (refcount 1)
  [Newsgroups] (refcount 1)
  [From] (refcount 1)
  [Message-ID] (refcount 1)
  [Subject] (refcount 1)
  [Message-Id] (refcount 1)
  [References] (refcount 1)


I'm afraid that won't help much :-/

I'll try gain after rebuilding the package without --enable-gkr

All the best
Comment 19 Dominique Dumont 2016-03-31 17:37:43 UTC
Crash still occurs with pan without --enable-gkr:

$ pan --debug
(article-cache.cc:171:ArticleCache) loaded 27 articles into cache from /home/domi/.pan2/article-cache
GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name news.pan.NZB was not provided by any .service files
(data-impl.cc:127:save_state) data-impl dtor saving xov, newsrc...
Erreur de segmentation

All the best
Comment 20 detlef.graef 2016-03-31 19:10:42 UTC
My debug output looks like this:

pan --debug
(article-cache.cc:171:ArticleCache) loaded 2420 articles into cache from /home/robin/.pan2/article-cache
(data-impl.cc:127:save_state) data-impl dtor saving xov, newsrc...
(task-xover.cc:106:TaskXOver) ctor for de.alt.test
(queue.cc:292:process_task) in process_task with a task of type XOVER
(queue.cc:348:process_task) online
(queue.cc:367(socket-impl-gio.cc:250:GIOChannelSocket) GIOChannelSocket ctor :process_task) break
0x7fe6d40010e0
..........

When Pan is started the last visited group is loaded. I don't see this in your debug output (with the ssh workaround).

In the file ~/.pan2/preferences.xml there is a line with last visited group:

<string name='last-visited-group' value='de.alt.test'/>

What is the value of 'last-visited-group' in your preferences.xml?
Comment 21 Dominique Dumont 2016-03-31 19:17:32 UTC
For instance:
$ grep last ~/.pan2/preferences.xml 
<int name='prefs-last-selected-page' value='0'/>
<string name='last-opened-msg' value=''/>
<string name='last-visited-group' value='perl.perl5.summary'/>
$ pan --debug
(article-cache.cc:171:ArticleCache) loaded 27 articles into cache from /home/domi/.pan2/article-cache
GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name news.pan.NZB was not provided by any .service files
(data-impl.cc:127:save_state) data-impl dtor saving xov, newsrc...
Erreur de segmentation

Last visited group does not matter much. 

Well, if the last visited group is part of the unsubscribed group, pan starts and display the list of unsubscribes groups correctly. Then I can close this list (click of the small triangle). Crash occurs when only when I open this list.

All the best
Comment 22 detlef.graef 2016-03-31 21:13:23 UTC
Does Pan crash if you enter a search string in the "Group" search field?

The "Other Groups" tree is expanded when you enter a search string in the "Group" search field.
Comment 23 Dominique Dumont 2016-04-01 16:41:20 UTC
Hi

On a hunch, I've compiled pan with gtk3 and ... pan no longer crashes :-)

I can only guess that the interface between gtk and kde5 is less tested with gtk2.

Are some people using pan with gtk3 ?

All the best
Comment 24 Petr Kovar 2016-04-10 20:18:17 UTC
Detlef pointed out the issue I reported is actually reported as https://bugzilla.gnome.org/show_bug.cgi?id=729329, sorry for the noise!
Comment 25 detlef.graef 2016-04-26 17:47:37 UTC
The crash at:

ERROR:pan-tree.cc:80:GtkTreeIter PanTreeStore::get_iter(const PanTreeStore::Row*)

is fixed in version 0.140, so this ticket can be closed.

The mentioned problem with GTK2/GTK3 KDE5/Qt isn't related to this bug.

If someone want the GTK2 / KDE5/Qt problem should be tracked, a new ticket should be opened. But I don't think the problem can be fixed by modifying the source of Pan.