#1059 [1.10RC1] Liferea crashes with system proxy enabled (Fedora 18 / GNOME 3.6)

v1.10
closed-fixed
None
9
2015-01-13
2013-03-01
genodeftest
No

Liferea crashes when configuring a gnome proxy on my system (Fedora 18 / GNOME 3.6).

Steps to reproduce:
0. liferea proxy settings are set to "auto (GNOME proxy settings)"
1. Open gnome-control-center, section network
2. configure a proxy, e.g. TOR/polipo SOCKS proxy on 127.0.0.1:9050
3. (try to) start liferea

what happens: this output on console, liferea immediately exits

(liferea:4789): GLib-GIO-ERROR **: Settings schema 'org.gnome.system.proxy' does not contain a key named 'host'
Trace/Breakpoint ausgelöst (Speicherabzug geschrieben)

Other case to reproduce:
1. disable GNOME proxy
2. set liferea to auto-detect proxy
3. enable GNOME proxy
⇒ liferea immediately crashes

Reason:
in src/conf.c:38

#define PROXY_SCHEMA_NAME "org.gnome.system.proxy"

Liferea tries to read the value from key named "host" in org.gnome.system.proxy, but according to dconf-editor this path does not exist. There is "system.proxy" instead, but it does not provide a "host" key.

What is expected?
1. at least liferea should start
2. if proxy configuration fails it

Temporary workaround:
a) disable proxy in liferea
b) disable GNOME proxy

Discussion

  • genodeftest

    genodeftest - 2013-03-02

    This seems to be a regression of #205 (migradtion from gconf to gsettings).

    org.gnome.system.proxy is partly correct, system.proxy is not. See:

    $ gsettings list-recursively org.gnome.system.proxy
    org.gnome.system.proxy autoconfig-url ''
    org.gnome.system.proxy ignore-hosts ['localhost', '127.0.0.0/8', '192.168.0.0/24']
    org.gnome.system.proxy mode 'manual'
    org.gnome.system.proxy use-same-proxy false
    org.gnome.system.proxy.ftp host ''
    org.gnome.system.proxy.ftp port 0
    org.gnome.system.proxy.http authentication-password ''
    org.gnome.system.proxy.http authentication-user ''
    org.gnome.system.proxy.http enabled false
    org.gnome.system.proxy.http host ''
    org.gnome.system.proxy.http port 8080
    org.gnome.system.proxy.http use-authentication false
    org.gnome.system.proxy.https host ''
    org.gnome.system.proxy.https port 0
    org.gnome.system.proxy.socks host '127.0.0.1'
    org.gnome.system.proxy.socks port 9050
    

    Pidgin has a solution:
    https://developer.pidgin.im/ticket/13867
    http://hg.pidgin.im/pidgin/main/file/50853d1efbca/libpurple/proxy.c

     
    Last edit: genodeftest 2013-03-02
  • genodeftest

    genodeftest - 2013-03-12

    When installing/updating software providing GSettings schemas on my Fedora 18 I sometimes get this (and similar) output:

    YUM: warning: Schema 'org.gnome.system.proxy.ftp' has path '/system/proxy/ftp/'.  Paths starting with '/apps/', '/desktop/' or '/system/' are deprecated.
    
     
  • Emilio Pozuelo Monfort

    I'll have a look at this.

     
  • Emilio Pozuelo Monfort

    Totally forgot about this, and I'm not sure if I'm going to have time for it anytime soon.

     
  • Lars Windolf

    Lars Windolf - 2013-07-11
    • assigned_to: Lars Windolf
    • Priority: 5 --> 9
     
  • genodeftest

    genodeftest - 2013-07-11

    Tried with 1.10 from git (did a git pull just now). Here is the gdb output:

    ~~~~~(gdb) run
    Starting program: /usr/local/bin/liferea
    Traceback (most recent call last):
    File "/usr/share/gdb/auto-load/usr/lib64/libgobject-2.0.so.0.3600.3-gdb.py", line 9, in <module>
    from gobject import register
    File "/usr/share/glib-2.0/gdb/gobject.py", line 3, in <module>
    import gdb.backtrace
    ImportError: No module named backtrace
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/lib64/libthread_db.so.1".
    Detaching after fork from child process 17340.
    [New Thread 0x7ffff17cf700 (LWP 17341)]

    (liferea:17334): GLib-GIO-ERROR **: Settings schema 'org.gnome.system.proxy' does not contain a key named 'host'

    Program received signal SIGTRAP, Trace/breakpoint trap.
    g_logv (log_domain=0x3c86ee8cb8 "GLib-GIO", log_level=G_LOG_LEVEL_ERROR, format=<optimized out="">,
    args=args@entry=0x7fffffffd2c8) at gmessages.c:981
    981 g_private_set (&g_log_depth, GUINT_TO_POINTER (depth));
    ~~~~~

    and a backtrace is attached. As noted above I think it liferea should completely rely on libsoup for network I/O as webkitgtk does.

     
    Attachments
  • Lars Windolf

    Lars Windolf - 2013-07-22

    I'll look into getting rid of the proxy schema dependency by using libsoup+libproxy.

     
  • Lars Windolf

    Lars Windolf - 2013-07-22

    genodeftest: Please retest with git master! I got rid of all GNOME proxy handling and Liferea now just enables libproxy (libsoup default proxy resolver) if "Automatic" option is selected.

     
  • Lars Windolf

    Lars Windolf - 2013-07-22
    • status: open --> open-fixed
     
  • genodeftest

    genodeftest - 2013-07-24

    I tried your fix [1] and it works fine. I can't make liferea crash from my proxy settings any more. The Browser now seems to use the SOCKS proxy if only socks proxy is specified.
    It seems like Liferea now uses the SOCKS proxy for updating the feeds too.
    Thanks!

    [1] https://sourceforge.net/p/liferea/code/ci/209d13862829f17f95631898cd58f0f4e71a7429/

     
  • Lars Windolf

    Lars Windolf - 2013-07-25

    Thank you for retesting! Fixed will be included in 10.0.1

     
  • Lars Windolf

    Lars Windolf - 2013-07-25

    s/10.0.1/1.10.1/

     
  • Lars Windolf

    Lars Windolf - 2013-07-28
    • status: open-fixed --> closed-fixed
     
  • Lars Windolf

    Lars Windolf - 2013-07-28

    Fix released with 1.10.1

     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks