benklop / microblog-purple

Automatically exported from code.google.com/p/microblog-purple
GNU General Public License v3.0
0 stars 0 forks source link

Twitter reachability issues can crash pidgin #132

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. log into pidgin with twitter account enabled
2. if twitter becomes unreachable during data-transfer
3. pidgin crashes.

What is the expected output? What do you see instead?
pidgin exits un-gracefully.  

What version of the product are you using? On what operating system?
mbp 0.22 on pidgin 2.5.8, ubuntu jaunty 2.6.28-13-generic

Please provide any additional information below.

i've turned on the debug log, and hope that it will capture some relevant info.

Original issue reported on code.google.com by ak.hep...@gmail.com on 24 Jul 2009 at 6:27

GoogleCodeExporter commented 9 years ago
My connection uses an http proxy.
Here's the debug output from the latest crash.
Note that this isn't a proxy issue, as other clients
keep working right through.  Also, disabling the twitter
account stops the crashing.

-----------------------------
(10:43:22) proxy: Proxy server replied with:

HTTP/1.0 500 Unable to connect
Server: tinyproxy/1.6.3
Content-Type: text/html
Connection: close

(10:43:22) proxy: Connection attempt failed: HTTP proxy connection error 500    

Stacktrace:                                                                     

Native stacktrace:

        /usr/lib/libmono.so.0 [0xb5fbb162]
        /usr/lib/libmono.so.0 [0xb5fdbb03]
        [0xb80c9410]                      
        /usr/lib/purple-2/libtwitter.so [0xb633f932]
        /usr/lib/libpurple.so.0 [0xb787f9e1]        
        /usr/lib/libpurple.so.0 [0xb7880230]        
        /usr/lib/libpurple.so.0 [0xb787b42b]        
        /usr/lib/libpurple.so.0 [0xb786594d]        
        /usr/lib/libpurple.so.0 [0xb78659e5]        
        /usr/lib/libpurple.so.0 [0xb78672ff]        
        pidgin [0x80a8d63]                          
        /usr/lib/libglib-2.0.so.0 [0xb794fdad]      
        /usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x1e8) [0xb7918b88]
        /usr/lib/libglib-2.0.so.0 [0xb791c0eb]                               
        /usr/lib/libglib-2.0.so.0(g_main_loop_run+0x1ca) [0xb791c5ba]        
        /usr/lib/libgtk-x11-2.0.so.0(gtk_main+0xb9) [0xb7c0b7d9]             
        pidgin(main+0x89a) [0x80c30ba]                                       
        /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe5) [0xb769b775]    
        pidgin [0x806daa1]                                                   

Debug info from gdb:

(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 0xb70fe750 (LWP 8702)]           
[New Thread 0xb56a3b90 (LWP 8706)]           
[New Thread 0xb5981b90 (LWP 8705)]           
[New Thread 0xb59a5b90 (LWP 8704)]           
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
0xb80c9430 in __kernel_vsyscall ()           
  4 Thread 0xb59a5b90 (LWP 8704)  0xb80c9430 in __kernel_vsyscall ()
  3 Thread 0xb5981b90 (LWP 8705)  0xb80c9430 in __kernel_vsyscall ()
  2 Thread 0xb56a3b90 (LWP 8706)  0xb80c9430 in __kernel_vsyscall ()
  1 Thread 0xb70fe750 (LWP 8702)  0xb80c9430 in __kernel_vsyscall ()

Thread 4 (Thread 0xb59a5b90 (LWP 8704)):
#0  0xb80c9430 in __kernel_vsyscall ()  
#1  0xb77f58f6 in nanosleep () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb60b0ce8 in ?? () from /usr/lib/libmono.so.0                    
#3  0xb77ee4ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#4  0xb776949e in clone () from /lib/tls/i686/cmov/libc.so.6             

Thread 3 (Thread 0xb5981b90 (LWP 8705)):
#0  0xb80c9430 in __kernel_vsyscall ()  
#1  0xb77f20e5 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/tls/i686/cmov/libpthread.so.0
#2  0xb60b4017 in ?? () from /usr/lib/libmono.so.0                              

#3  0xb60b6c04 in ?? () from /usr/lib/libmono.so.0                              

#4  0xb60b6c6c in ?? () from /usr/lib/libmono.so.0                              

#5  0xb60d1512 in ?? () from /usr/lib/libmono.so.0                              

#6  0xb6030e3e in ?? () from /usr/lib/libmono.so.0                              

#7  0xb6055ebf in ?? () from /usr/lib/libmono.so.0                              

#8  0xb60ccdc6 in ?? () from /usr/lib/libmono.so.0                              

#9  0xb60f1007 in ?? () from /usr/lib/libmono.so.0                              

#10 0xb77ee4ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0       

#11 0xb776949e in clone () from /lib/tls/i686/cmov/libc.so.6                    

Thread 2 (Thread 0xb56a3b90 (LWP 8706)):
#0  0xb80c9430 in __kernel_vsyscall ()  
#1  0xb77617b1 in select () from /lib/tls/i686/cmov/libc.so.6
#2  0xb582a37f in ?? () from /usr/lib/libtcl8.4.so.0         
#3  0xb77ee4ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#4  0xb776949e in clone () from /lib/tls/i686/cmov/libc.so.6             

Thread 1 (Thread 0xb70fe750 (LWP 8702)):
#0  0xb80c9430 in __kernel_vsyscall ()  
#1  0xb77f50fb in read () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb5fbb29e in ?? () from /usr/lib/libmono.so.0               
#3  0xb5fdbb03 in ?? () from /usr/lib/libmono.so.0               
#4  <signal handler called>                                      
#5  0xb7844598 in purple_connection_error () from /usr/lib/libpurple.so.0
#6  0xb633f932 in mb_conn_fetch_url_cb (url_data=0x9bf4918, user_data=0x9c45ab0,
url_text=0x0, len=0, error_message=0x9c994d8 "Unable to connect to twitter.com: 
SSL
Connection Failed")
    at mb_net.c:170
#7  0xb787f9e1 in ?? () from /usr/lib/libpurple.so.0
#8  0xb7880230 in ?? () from /usr/lib/libpurple.so.0
#9  0xb787b42b in ?? () from /usr/lib/libpurple.so.0
#10 0xb786594d in ?? () from /usr/lib/libpurple.so.0
#11 0xb78659e5 in ?? () from /usr/lib/libpurple.so.0
#12 0xb78672ff in ?? () from /usr/lib/libpurple.so.0
#13 0x080a8d63 in ?? ()
#14 0xb794fdad in ?? () from /usr/lib/libglib-2.0.so.0
#15 0xb7918b88 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#16 0xb791c0eb in ?? () from /usr/lib/libglib-2.0.so.0
#17 0xb791c5ba in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#18 0xb7c0b7d9 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#19 0x080c30ba in main ()
#0  0xb80c9430 in __kernel_vsyscall ()

=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================

Original comment by ak.hep...@gmail.com on 24 Jul 2009 at 6:49

GoogleCodeExporter commented 9 years ago
I haven't tried to get a log, but I've seen the same behavior on portable 
pidgin for
Windows.

It doesn't always happen just because the proxy is unavailable; I haven't yet 
found a
scenario, though

Original comment by mikeage on 25 Jul 2009 at 6:36

GoogleCodeExporter commented 9 years ago
Used gdb to snatch a backtrace. I tried it without HTTPS in hopes that that had
something to do with it to no avail. It still crashed while trying to connect 
to Twitter.

Original comment by stovi...@gmail.com on 10 Aug 2009 at 6:08

Attachments:

GoogleCodeExporter commented 9 years ago
I've fixed something in the code. Please try the latest code from SVN and see 
if this
improve the situation.

Original comment by somsaks on 10 Aug 2009 at 7:57

GoogleCodeExporter commented 9 years ago
do you have an svn build for windows, and I can check it there as well?  I'll 
build
the linux version after I get to work today and have access to my linux box.

Original comment by ak.hep...@gmail.com on 10 Aug 2009 at 3:32

GoogleCodeExporter commented 9 years ago
Don't have windows build yet, will find sometime to build it tomorrow.

Original comment by somsaks on 10 Aug 2009 at 4:46

GoogleCodeExporter commented 9 years ago
successful svn co and build, now just need to wait for twitter to do its thing. 
Hrm.. i wonder how I will know?

:-)

Original comment by ak.hep...@gmail.com on 10 Aug 2009 at 5:24

GoogleCodeExporter commented 9 years ago
Here's today's stack trace, using the SVN build:

#                                                                               

(10:01:00) twitter: twitter_decode_messages called                              

Stacktrace:                                                                     

Native stacktrace:

(10:01:00) twitter: successfully parse XML
(10:01:00) twitter: timezone = 32400      
(10:01:00) twitter: msg time = Tue Aug 11 17:59:20 +0000 2009
(10:01:00) twitter: from = bluetabbies, msg = Palin then - soldiers deserve 
gov't
healthcare. Today - Gov't healthcare wants to kill my parents and baby. Why does
Palin hate soldiers?
(10:01:00) GLib: g_hash_table_lookup: assertion `hash_table != NULL' failed     

(10:01:00) GLib: g_hash_table_insert_internal: assertion `hash_table != NULL' 
failed

(10:01:00) GLib: g_hash_table_remove_internal: assertion `hash_table != NULL' 
failed

(10:01:00) g_log: purple_connection_get_account: assertion `gc != NULL' failed  

(10:01:00) g_log: purple_connection_get_prpl: assertion `gc != NULL' failed     

        /usr/lib/libmono.so.0 [0xb429e162]                                          

        /usr/lib/libmono.so.0 [0xb42beb03]                                          

        [0xb8084410]                                                                

        /usr/lib/purple-2/libtwitter.so(twitter_fetch_new_messages_handler+0x1f7)
[0xb47ed0b7]                                                                    

        /usr/lib/purple-2/libtwitter.so [0xb47efaf8]                                

        /usr/lib/libpurple.so.0 [0xb783ac5a]                                        

        /usr/lib/libpurple.so.0 [0xb7834fdd]                                        

        pidgin [0x80a8d63]                                                          

        /usr/lib/libglib-2.0.so.0 [0xb7909dad]                                      

        /usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x1e8) [0xb78d2b88]       

        /usr/lib/libglib-2.0.so.0 [0xb78d60eb]                                      

        /usr/lib/libglib-2.0.so.0(g_main_loop_run+0x1ca) [0xb78d65ba]               

        /usr/lib/libgtk-x11-2.0.so.0(gtk_main+0xb9) [0xb7bc57d9]                    

        pidgin(main+0x89a) [0x80c30ba]                                              

        /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe5) [0xb7655775]           

        pidgin [0x806daa1]                                                          

Debug info from gdb:

(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 0xb70b8750 (LWP 13153)]          
[New Thread 0xb39a6b90 (LWP 13160)]          
[New Thread 0xb3c64b90 (LWP 13159)]          
[New Thread 0xb3c88b90 (LWP 13155)]          
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
(no debugging symbols found)                 
0xb8084430 in __kernel_vsyscall ()           
  4 Thread 0xb3c88b90 (LWP 13155)  0xb8084430 in __kernel_vsyscall ()
  3 Thread 0xb3c64b90 (LWP 13159)  0xb8084430 in __kernel_vsyscall ()
  2 Thread 0xb39a6b90 (LWP 13160)  0xb8084430 in __kernel_vsyscall ()
  1 Thread 0xb70b8750 (LWP 13153)  0xb8084430 in __kernel_vsyscall ()

Thread 4 (Thread 0xb3c88b90 (LWP 13155)):
#0  0xb8084430 in __kernel_vsyscall ()   
#1  0xb77af8f6 in nanosleep () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb4393ce8 in ?? () from /usr/lib/libmono.so.0                    
#3  0xb77a84ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#4  0xb772349e in clone () from /lib/tls/i686/cmov/libc.so.6             

Thread 3 (Thread 0xb3c64b90 (LWP 13159)):
#0  0xb8084430 in __kernel_vsyscall ()   
#1  0xb77ac0e5 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/tls/i686/cmov/libpthread.so.0
#2  0xb4397017 in ?? () from /usr/lib/libmono.so.0                              

#3  0xb4399c04 in ?? () from /usr/lib/libmono.so.0                              

#4  0xb4399c6c in ?? () from /usr/lib/libmono.so.0                              

#5  0xb43b4512 in ?? () from /usr/lib/libmono.so.0                              

#6  0xb4313e3e in ?? () from /usr/lib/libmono.so.0                              

#7  0xb4338ebf in ?? () from /usr/lib/libmono.so.0                              

#8  0xb43afdc6 in ?? () from /usr/lib/libmono.so.0                              

#9  0xb43d4007 in ?? () from /usr/lib/libmono.so.0                              

#10 0xb77a84ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0       

#11 0xb772349e in clone () from /lib/tls/i686/cmov/libc.so.6                    

Thread 2 (Thread 0xb39a6b90 (LWP 13160)):
#0  0xb8084430 in __kernel_vsyscall ()   
#1  0xb771b7b1 in select () from /lib/tls/i686/cmov/libc.so.6
#2  0xb3b2d37f in ?? () from /usr/lib/libtcl8.4.so.0         
#3  0xb77a84ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#4  0xb772349e in clone () from /lib/tls/i686/cmov/libc.so.6             

Thread 1 (Thread 0xb70b8750 (LWP 13153)):
#0  0xb8084430 in __kernel_vsyscall ()   
#1  0xb77af0fb in read () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb429e29e in ?? () from /usr/lib/libmono.so.0               
#3  0xb42beb03 in ?? () from /usr/lib/libmono.so.0
#4  <signal handler called>
#5  0xb782bc9c in serv_got_im () from /usr/lib/libpurple.so.0
#6  0xb47ed0b7 in twitter_fetch_new_messages_handler (conn_data=0x9463d98,
data=0x9bacec8) at twitter.c:367
#7  0xb47efaf8 in mb_conn_fetch_url_cb (url_data=0x9913f00, user_data=0x9463d98,
    url_text=0x9c8c000 "HTTP/1.1 200 OK\r\nDate: Tue, 11 Aug 2009 18:00:56
GMT\r\nServer: hi\r\nLast-Modified: Tue, 11 Aug 2009 18:00:56 GMT\r\nStatus: 200
OK\r\nX-RateLimit-Limit: 150\r\nETag:
\"83e8f6eef4c8849c8f73f371ea2f21db\"\r\nX-Rate"..., len=2931, 
error_message=0x0) at
mb_net.c:154
#8  0xb783ac5a in ?? () from /usr/lib/libpurple.so.0
#9  0xb7834fdd in ?? () from /usr/lib/libpurple.so.0
#10 0x080a8d63 in ?? ()
#11 0xb7909dad in ?? () from /usr/lib/libglib-2.0.so.0
#12 0xb78d2b88 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#13 0xb78d60eb in ?? () from /usr/lib/libglib-2.0.so.0
#14 0xb78d65ba in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#15 0xb7bc57d9 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#16 0x080c30ba in main ()
#0  0xb8084430 in __kernel_vsyscall ()

=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================

Original comment by ak.hep...@gmail.com on 11 Aug 2009 at 6:03

GoogleCodeExporter commented 9 years ago
Further, right now, twitter website appears to be unreachable (at least from my 
part
of the world)  which is causing pidgin to crash as above.

Original comment by ak.hep...@gmail.com on 11 Aug 2009 at 7:06

GoogleCodeExporter commented 9 years ago
hmm... this one is tough.

From the above log, it seems that the connection data is lost in the middle of
getting new message from twitter. I think this bug appear when twitter is 
unreachable
during fetch. 

Original comment by somsaks on 12 Aug 2009 at 5:41

GoogleCodeExporter commented 9 years ago
yeah, that's what it appears to me.  note the mono error above is a red 
herring. it's
not enabled at compile time or linked into pidgin.  I suppose some other library
might be loading it, but pidg doesn't have any mono calls.

I was trying to parse through twitter.c, and about the only thing that blatantly
bought my eye was the use of  http status == 200  instead of HTTP_OK, but since
that's equiv... that's really just style.

So somewhere there's a read interrupted and the data is coming up short, but 
instead
of falling to disconnect, it barfs.  I might try to look at the code again. 
It's been
too long since i really futzed with C, tho.

Original comment by ak.hep...@gmail.com on 12 Aug 2009 at 6:08

GoogleCodeExporter commented 9 years ago
Hi,

Please find attached a backtrace from a non-stripped pidgin, hope this helps.
Just to confirm, it's dying with a sig11.

Neil

Original comment by maul...@gmail.com on 12 Aug 2009 at 6:19

Attachments:

GoogleCodeExporter commented 9 years ago
Hrm.. i was first wondering if there's a point where  
purple_util_fetch_url_request
could return an error that wasn't checked upstream that didn't get carried in 
the
user_data struct, because twitter_login calls mb_conn_process_request, which 
calls
P_U_F_U_R ... but no return value is checked from PUFUR; in fact the upstream 
calls
appear to be void's... hrm.

but maulkin's trace doesn't look like that was the case.  
Also, maulkin, are you running 2.5.8?  Your stacktrace looks like a different 
version
to me.

but his stack trace gets me thinking...

at least in my case, where there is an HTTP proxy server in the middle, if the 
proxy
returns a 500 error or some other non-specific server/network error because the
remote site can't be reached, how is the code handling it?

None of the other protocols seem to have issues, though, just mb.  

Original comment by ak.hep...@gmail.com on 12 Aug 2009 at 7:11

GoogleCodeExporter commented 9 years ago
Nope, I'm on 2.4.3.

I know that the gravity client recently got an update to handle 302s... Does
microblog-purple deal with this ok?

Original comment by maul...@gmail.com on 12 Aug 2009 at 7:56

GoogleCodeExporter commented 9 years ago
Four backtraces can be found on
http://www.leemhuis.info/files/misc/microblog-purple/
Two were catched while running with gdb, two by bug-buddy

Fedora 11, x86_64, all updates, pidgin-2.5.8-2.fc11.x86_64, debug symbols 
installed
beforehand

microblog-purple as of yesterday (e.g. after comment 4). 

Original comment by thorsten...@gmail.com on 12 Aug 2009 at 12:53

GoogleCodeExporter commented 9 years ago
I believe that the problem occur because protocol get freed 
(status=DISCONNECTED),
but libpurple code where all network related (purple_util_fetch_url_request) 
register
callback is still active, so MbAccount structure is invalid at the time when 
callback
is called.

So in other words, the problem may occur only if message arrive just after 
protocol
is disconnected. 

I thought I have fixed this after switching to purple_util_fetch_url, but it 
seems not.

Original comment by somsaks on 12 Aug 2009 at 2:45

GoogleCodeExporter commented 9 years ago
Running under GDB today:
8<------------>8
HTTP/1.0 500 Unable to connect
Server: tinyproxy/1.6.3
Content-Type: text/html
Connection: close
(12:13:46) proxy: Connection attempt failed: HTTP proxy connection error 500

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb7025750 (LWP 31333)]
set_current_error (account=0x9ee0ac0, new_err=0x9f50860) at account.c:2413
2413            old_err = priv->current_error;
(gdb) dns[11343]: nobody needs me... =(
(gdb) bt
#0  set_current_error (account=0x9ee0ac0, new_err=0x9f50860) at account.c:2413
#1  0xb76854d6 in purple_marshal_VOID__POINTER_INT_POINTER (cb=0xb763f620
<connection_error_cb>, args=0xbfb75d68 "x\020�\t", data=0x0, return_val=0x0) 
at
signals.c:659
#2  0xb7685ef1 in purple_signal_emit_vargs (instance=0xb76ba6a0, 
signal=0xb76a3a64
"connection-error", args=0xbfb75d68 "x\020�\t") at signals.c:482
#3  0xb7686003 in purple_signal_emit (instance=0x0, signal=0x9f50860 "") at 
signals.c:434
#4  0xb765803a in purple_connection_error_reason (gc=0x9f71078,
reason=PURPLE_CONNECTION_ERROR_NETWORK_ERROR, description=0x9eed610 "Unable to
connect to twitter.com: SSL Connection Failed")
    at connection.c:568
#5  0xb4775a99 in mb_conn_fetch_url_cb (url_data=0x9ed8018, user_data=0x9f503f8,
url_text=0x0, len=0, error_message=0x9f50860 "") at mb_net.c:145
#6  0xb7692cc1 in purple_util_fetch_url_error (gfud=0x9ed8018, format=0xb76b5591
"Unable to connect to %s: %s") at util.c:3620
#7  0xb7693510 in ssl_url_fetch_error_cb (ssl_connection=0x9ecbdc8,
error=PURPLE_SSL_CONNECT_FAILED, data=0x9ed8018) at util.c:4047
#8  0xb768e70b in purple_ssl_connect_cb (data=0x9ecbdc8, source=-1,
error_message=0x9f6b070 "HTTP proxy connection error 500") at sslconn.c:86
#9  0xb7678cfd in purple_proxy_connect_data_disconnect (connect_data=0x9f733c8,
error_message=0x9f6b070 "HTTP proxy connection error 500") at proxy.c:571
#10 0xb7678d95 in purple_proxy_connect_data_disconnect_formatted
(connect_data=0x9f733c8, format=0xb76af600 "HTTP proxy connection error %d") at
proxy.c:591
#11 0xb767a6af in http_canread (data=0x9f733c8, source=32, 
cond=PURPLE_INPUT_READ) at
proxy.c:998
#12 0x080a8a13 in pidgin_io_invoke (source=0xa152468, condition=<value optimized
out>, data=0x9e25330) at gtkeventloop.c:78
#13 0xb7584dad in ?? () from /usr/lib/libglib-2.0.so.0
#14 0xb754db88 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#15 0xb75510eb in ?? () from /usr/lib/libglib-2.0.so.0
#16 0xb75515ba in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#17 0xb7acc7d9 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#18 0x080c2cae in main (argc=0, argv=0xbfb78404) at gtkmain.c:882

Original comment by ak.hep...@gmail.com on 13 Aug 2009 at 8:55

GoogleCodeExporter commented 9 years ago
Ok, I have spott something different in MB and Yahoo Messenger protocol that 
might
cause this problem. Code commited to SVN. I have also diet some code, removing 
bits
of code that should never run. Please try again

Original comment by somsaks on 15 Aug 2009 at 6:36

GoogleCodeExporter commented 9 years ago
For those who's on windows, @rtsp has made windows version out from r310. You 
can
find it on download section.

Original comment by somsaks on 15 Aug 2009 at 8:24

GoogleCodeExporter commented 9 years ago
In case you use portable pidgin and can't test this, I just discovered
http://legroom.net/software/uniextract, which allowed me to extract the files 
from
the installer and copy them over to PortablePidgin's directory.

Original comment by mikeage on 15 Aug 2009 at 5:58

GoogleCodeExporter commented 9 years ago
r310 has been stable all weekend on my windows box.  this week at work will be 
the
test of stability, and where I can debug if needed.

Original comment by ak.hep...@gmail.com on 17 Aug 2009 at 5:24

GoogleCodeExporter commented 9 years ago
Hmm..   Windows was stable, but....

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb3c8db90 (LWP 4873)]
clean_pid () at gtkmain.c:160
160                     pid = waitpid(-1, &status, WNOHANG);
(gdb) bt full
#0  clean_pid () at gtkmain.c:160
        status = 0
        pid = <value optimized out>
#1  0x080c248d in sighandler (sig=0) at gtkmain.c:213
No locals.
#2  <signal handler called>
No symbol table info available.
#3  0xb7fd9430 in __kernel_vsyscall ()
No symbol table info available.
#4  0xb741e8f6 in nanosleep () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#5  0xb4398ce8 in ?? () from /usr/lib/libmono.so.0
No symbol table info available.
#6  0xb74174ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#7  0xb736349e in clone () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.

updated SVN to r311 this morning.

It's crashed now 8 times between 9am and now (12:36pm) but haven't seen any 
mention
of network issues. something else popped in?

gonna restart my desktop in case there's any weird cached DLL funny goin on.

Original comment by ak.hep...@gmail.com on 17 Aug 2009 at 8:39

GoogleCodeExporter commented 9 years ago
Restarted everything, here's the latest backtrace.

Original comment by ak.hep...@gmail.com on 17 Aug 2009 at 9:33

Attachments:

GoogleCodeExporter commented 9 years ago
Issue 139 has been merged into this issue.

Original comment by somsaks on 18 Aug 2009 at 9:25

GoogleCodeExporter commented 9 years ago
Issue 139 has been merged into this issue.

Original comment by somsaks on 18 Aug 2009 at 9:25

GoogleCodeExporter commented 9 years ago
Issue 137 has been merged into this issue.

Original comment by somsaks on 18 Aug 2009 at 9:26

GoogleCodeExporter commented 9 years ago
Hmm... it's keeping more and more weird. Crash even if the returned value is 
HTTP 200/OK?

Just to make sure, did you run other protocol as well during crash? 

Original comment by somsaks on 18 Aug 2009 at 9:29

GoogleCodeExporter commented 9 years ago
Ok, I think I might spot the bug now. Please try again with the latest build 
from SVN. 

Original comment by somsaks on 19 Aug 2009 at 9:13

GoogleCodeExporter commented 9 years ago
Again @rtsp has create svn build on Windows for r312. Please feel free to use 
this.

Original comment by somsaks on 19 Aug 2009 at 4:31

GoogleCodeExporter commented 9 years ago
had a few crashes already today SVN=312

i've also whipped up some quick changes to the makefiles so that the SVN build
sub-version can be carried into the application, making it slightly easier to 
verify
that all is correct.  Don't know if you want them or not.

Original comment by ak.hep...@gmail.com on 19 Aug 2009 at 8:34

GoogleCodeExporter commented 9 years ago
Just rebuilt SVN312  for pidgin 2.6.1, running under GDB now. 

Enabled protocols are IRC, MSN, Yahoo, XMPP, AIM, and TwitterIM

waiting for crash...

Original comment by ak.hep...@gmail.com on 19 Aug 2009 at 10:12

GoogleCodeExporter commented 9 years ago
16:33 AST today, twitter goes unreachable.

SVN312  + pidgin 2.6.1  stays running, shows 'protocol disconnected' dialog
correctly.

don't have 2.5.8 with SVN312  to try during this outage.

Original comment by ak.hep...@gmail.com on 20 Aug 2009 at 12:35

GoogleCodeExporter commented 9 years ago
@ak.hepcat Sure, just attach patch here or send it to 
mbpurpl-devel@googlegroups.com.
Thank you very much for your contribution :)

May be I should also thank those attackers. We have a very good chance to debug 
this :)

About 2.6.1, we will look into this soon.

Original comment by somsaks on 20 Aug 2009 at 2:20

GoogleCodeExporter commented 9 years ago
something I just saw with 2.6.1, but never saw with 2.5.8 --

I was getting messages about exceeding the 150 queries/hour API limitation, and 
the
protocol was staying disconnected -- 

  however, in the chat window as well as the buddy list, the 'connected' status icon
stayed green.

When I manually set my status for all of Pidgin to "offline"  - mb appeared to 
keep
trying to connect (according to debug log) and when I force quit, it just 
looped with
an error about not being able to set a disconnected state for the protocol.

Original comment by ak.hep...@gmail.com on 20 Aug 2009 at 9:27

GoogleCodeExporter commented 9 years ago
Do you still have this connection problem (aside from 150 queries/hour rate 
limit
problem).

Just found that today there is a failwhale occurred. Do you experience crashing 
again
(or do you still experience it in daily basis?)

Original comment by somsaks on 26 Aug 2009 at 11:02

GoogleCodeExporter commented 9 years ago
Oddly, i'm using pidgin 2.5.8, libpurple 2.6.1, and svn312.

I'm not having any crashing issues, at least none in the past few days that I 
can
remember.

Until the fix for 2.6.1 goes into svn, I won't know if it's actually solved 
upstream,
but I've got a feeling it's pretty close.

Original comment by ak.hep...@gmail.com on 26 Aug 2009 at 4:14

GoogleCodeExporter commented 9 years ago
Hrm. I swear I updated this with "All's Working"  under 2.6.1 and svn316 (now 
svn317)
 + my latest timezone patch (issue 61)

So yeah, i think this can probably be safely closed.

Original comment by ak.hep...@gmail.com on 2 Sep 2009 at 6:24

GoogleCodeExporter commented 9 years ago

Original comment by somsaks on 4 Sep 2009 at 3:41