Pidgin SIGSEGV (gnome proxy settings)

Bug #173886 reported by t3rmin4t0r
24
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Pidgin
Fix Released
Unknown
pidgin (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

Binary package hint: pidgin

To reproduce bug:

Set gnome network proxy settings to

HTTP Proxy: /8080
Socks Proxy: localhost/10801

(note: http proxy text entry is blank)

Save.

Open pidgin, enable a Y! account with the following proxy settings

Advanced -> Proxy Type: Socks4

host: localhost
port: 10801

Start pidgin --debug

(17:24:09) proxy: Connecting to scs.msg.yahoo.com:5050 via localhost:10801 using SOCKS4
(17:24:09) proxy: Connection in progress.
(17:24:09) socks4 proxy: Connected.
...
(17:24:15) util: requested to fetch (http://address.yahoo.com/yab/us?v...), full=0, user_agent=((null)), http11=1
(17:24:15) g_log: file ../../libpurple/dnsquery.c: line 619 (purple_dnsquery_a): should not be reached
(17:24:15) yahoo: No Aliases to process
Segmentation fault (core dumped)

Seems that Pidgin is using gnome HTTP proxy settings even though there is a SOCKS4 proxy set for the pidgin
account (I *do* want the HTTP to go over my socks which is in reality "ssh -D 10801 -D 10800 <trusted-host>").

Pidgin segv's trying to dns resolve the blank HTTP proxy and exits out on

616: if (strlen(query_data->hostname) == 0)
617: {
618: purple_dnsquery_destroy(query_data);
619: g_return_val_if_reached(NULL);

Revision history for this message
Baishampayan Ghose (b.ghose) wrote :

I can reproduce the bug on Gutsy. Looks like a really critical bug me.

Changed in pidgin:
status: New → Confirmed
Revision history for this message
Brent Hill (brent-ih4x) wrote :

Affects me in Hardy.. this is pretty bad, can't connect with any account using a SOCKS proxy.

Revision history for this message
Jisakiel (jisakiel) wrote :

Same problem here when proxying via ssh socks proxy on port 1080 to a server running on 443.

When run directly:
$ pidgin
/usr/share/themes/Blubuntu/gtk-2.0/gtkrc:169: Clearlooks configuration option "progressbarstyle" is not supported and will be ignored.
dns[16016]: Error: Parent requested resolution of an empty hostname (port = 443)!!!
Fallo de segmentación [segmentation fault]

A backtrace:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f6d85e2a7a0 (LWP 16232)]
0x00007f6d829cfbe9 in free () from /lib/libc.so.6
(gdb) bt
#0 0x00007f6d829cfbe9 in free () from /lib/libc.so.6
#1 0x00007f6d838d5f9c in purple_gnome_proxy_get_info () at ../../libpurple/proxy.c:246
#2 0x00007f6d838d98cc in purple_proxy_get_setup (account=0x7b7940) at ../../libpurple/proxy.c:1822
#3 0x00007f6d838d9bf5 in purple_proxy_connect (handle=0x0, account=0x7b7940, host=0x9c5360 "talk.google.com", port=443, connect_cb=0x7f6d838edb17 <purple_ssl_connect_cb>, data=0x9ed600) at ../../libpurple/proxy.c:1902
#4 0x00007f6d838edd2d in purple_ssl_connect (account=0x7b7940, host=0x9c5360 "talk.google.com", port=443, func=0x7f6d71030a6f <jabber_login_callback_ssl>, error_func=0x7f6d71030bda <jabber_ssl_connect_failure>, data=0xaaf000) at ../../libpurple/sslconn.c:125
#5 0x00007f6d7103122d in jabber_login (account=0x7b7940) at ../../../../libpurple/protocols/jabber/jabber.c:667
#6 0x00007f6d838b437a in purple_connection_new (account=0x7b7940, regist=0, password=0x7b6f90 "t1t0n4") at ../../libpurple/connection.c:177
#7 0x00007f6d8389a70f in purple_account_connect (account=0x7b7940) at ../../libpurple/account.c:1158
#8 0x00007f6d8389dd5a in purple_accounts_restore_current_statuses () at ../../libpurple/account.c:2634
#9 0x0000000000486bd7 in main (argc=1, argv=0x7fff8de6d328) at ../../pidgin/gtkmain.c:859

Revision history for this message
gcb (gcb0) wrote :
Download full text (10.5 KiB)

happens here if I set the HTTP proxy as nothing and just type a port. 100% of the time.

And i was thiking the latested pidgin update screwed something, not that i screwed the proxy settings :)

I strongly think that a simple warning about pidgin's decision on the proxy logic could reduce the severity of this bug.

running with -d I see a lot of:
(23:17:11) proxy: Connecting to login.oscar.aol.com:5190 with no proxy

the "proxy:" and "with no proxy" are really weird.

with -d it all ends with a:
(23:17:13) oscar: BOS rights: Max permit = 1000 / Max deny = 1000
Segmentation fault

running *without* -d i get:

$ pidgin
*** glibc detected *** pidgin: free(): invalid pointer: 0x0876e803 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb7648a85]
/lib/tls/i686/cmov/libc.so.6(cfree+0x90)[0xb764c4f0]
/usr/lib/libglib-2.0.so.0(g_free+0x31)[0xb77a98b1]
/usr/lib/libglib-2.0.so.0(g_strfreev+0x1f)[0xb77c109f]
/usr/lib/libglib-2.0.so.0(g_datalist_clear+0xf2)[0xb778dad2]
/usr/lib/libgobject-2.0.so.0[0xb782ecb0]
/usr/lib/libgdk_pixbuf-2.0.so.0[0xb7a69aec]
/usr/lib/libgobject-2.0.so.0(g_object_unref+0x16b)[0xb782c8db]
/usr/lib/libgtk-x11-2.0.so.0[0xb7c40937]
/usr/lib/libgtk-x11-2.0.so.0[0xb7c40a31]
/usr/lib/libgobject-2.0.so.0(g_cclosure_marshal_VOID__VOID+0x4f)[0xb7837a4f]
/usr/lib/libgobject-2.0.so.0[0xb7829079]
/usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x1ff)[0xb782a82f]
/usr/lib/libgobject-2.0.so.0[0xb783f243]
/usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x8c6)[0xb7840916]
/usr/lib/libgobject-2.0.so.0(g_signal_emit+0x29)[0xb7840c59]
/usr/lib/libgtk-x11-2.0.so.0[0xb7c89611]
/usr/lib/libgtk-x11-2.0.so.0[0xb7d8f721]
/usr/lib/libgobject-2.0.so.0(g_object_run_dispose+0x50)[0xb782cd70]
/usr/lib/libgtk-x11-2.0.so.0(gtk_object_destroy+0x7e)[0xb7c8931e]
/usr/lib/libgtk-x11-2.0.so.0[0xb7c436d2]
/usr/lib/libgtk-x11-2.0.so.0(gtk_container_foreach+0x67)[0xb7bca8a7]
/usr/lib/libgtk-x11-2.0.so.0[0xb7bcb1d0]
/usr/lib/libgtk-x11-2.0.so.0[0xb7c74e65]
/usr/lib/libgobject-2.0.so.0(g_cclosure_marshal_VOID__VOID+0x4f)[0xb7837a4f]
/usr/lib/libgobject-2.0.so.0[0xb7829079]
/usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x129)[0xb782a759]
/usr/lib/libgobject-2.0.so.0[0xb783f243]
/usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x8c6)[0xb7840916]
/usr/lib/libgobject-2.0.so.0(g_signal_emit+0x29)[0xb7840c59]
/usr/lib/libgtk-x11-2.0.so.0[0xb7c89611]
/usr/lib/libgtk-x11-2.0.so.0[0xb7d8f721]
/usr/lib/libgobject-2.0.so.0(g_object_run_dispose+0x50)[0xb782cd70]
/usr/lib/libgtk-x11-2.0.so.0(gtk_object_destroy+0x7e)[0xb7c8931e]
pidgin(pidgin_blist_update_accounts_menu+0x93)[0x8088226]
pidgin[0x807ea26]
pidgin[0x807eb4c]
/usr/lib/libpurple.so.0(purple_marshal_VOID__POINTER+0x28)[0xb78d2d23]
/usr/lib/libpurple.so.0(purple_signal_emit_vargs+0x168)[0xb78d28e5]
/usr/lib/libpurple.so.0(purple_signal_emit+0x81)[0xb78d2777]
/usr/lib/libpurple.so.0(purple_connection_set_state+0x1dd)[0xb78a0281]
/usr/lib/purple-2/liboscar.so.0[0xb64031b8]
/usr/lib/purple-2/liboscar.so.0[0xb63dfd69]
/usr/lib/purple-2/liboscar.so.0[0xb63dffef]
/usr/lib/purple-2/liboscar.so.0[0xb63f61bb]
/usr/lib/purple-2/liboscar.so.0[0xb63f644b]
/usr/lib/purple-2/liboscar.so.0(flap_connection_recv_cb+0x2f1)[0x...

Revision history for this message
Nick Fishman (bsdlogical) wrote :

I'm also seeing this problem with Hardy.

Revision history for this message
arno_b (arno.b) wrote :

I think your problem is explained here:
http://developer.pidgin.im/ticket/7047 (seems to be down for the moment) or
http://www.nabble.com/-7047:-memory-leak-and-logic-error-in-proxy.c-in-pidgin-2.5.1-td19429403.html.

Should be fixed in 2.5.2.

Revision history for this message
EAB (adair-boder) wrote :

Is there a fix? And why is it that others are using Pidgin no prob?

Changed in pidgin:
status: Unknown → Fix Released
Revision history for this message
Magnus S (magnuss) wrote :

Hi all, the upstream bug linked from here was fixed in 2.5.2. Can you confirm this is fixed?

Revision history for this message
Sebastien Bacher (seb128) wrote :

closing that should work in jaunty

Changed in pidgin (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.