[Pidgin] #15065: XMPP Crashes on File Receive. Pidgin consumes all available memory.

Pidgin trac at pidgin.im
Mon Feb 25 20:17:07 EST 2013


#15065: XMPP Crashes on File Receive.  Pidgin consumes all available memory.
--------------------------------------------------+------------------------
 Reporter:  briatx                                |       Owner:
     Type:  defect                                |      Status:  new
Milestone:                                        |   Component:  libpurple
  Version:  2.10.3                                |  Resolution:
 Keywords:  XMPP file transfer crash memory leak  |
--------------------------------------------------+------------------------
Description changed by Robby:

Old description:

> So this has plagued me for a while now.  Maybe related to this other
> issue at http://developer.pidgin.im/ticket/14734
>
> There have been two behaviors, both ending in pidgin crashes.  Sometimes,
> if the file is small enough, the transfer completes and then pidgin
> crashes.  Other times if the file is too large (5MB+) pidgin crashes
> after receiving the first 20-30% of the file.
>
> Also, before crashing Pidgin will consume all available memory until it
> is unable to allocate more (which likely causes the crash).  As shown
> below:
>

> (02:02:37) proxy: Connection attempt failed: Error resolving ::1: 11004
> (02:02:37) proxy: Unable to connect to SOCKS5 host.
> (02:02:37) jabber: si connection failed, jid was vvt at mydomain.org/asdf,
> host was ::1,
>  error was Error resolving ::1: 11004
> (02:02:37) dnsquery: Performing DNS lookup for xx.xx.xx.xx
> (02:02:37) dnsquery: IP resolved for xx.xx.xx.xx
> (02:02:37) proxy: Attempting connection to xx.xx.xx.xx
> (02:02:37) proxy: Connecting to xx.xx.xx.xx:55453 with no proxy
> (02:02:37) proxy: Connection in progress
> (02:02:37) proxy: Connecting to xx.xx.xx.xx:55453.
> (02:02:37) proxy: Connected to xx.xx.xx.xx:55453.
> (02:02:37) proxy: Initiating SOCKS5 negotiation.
> (02:02:37) proxy: Connecting to
> 7ecafe8ce75e787219a6fa6e914daba322e1f622:0 via 2
> 17.194.57.89:55453 using SOCKS5
> (02:02:37) socks5 proxy: Connected.
> (02:02:37) socks5 proxy: Able to read.
> (02:02:37) s5: reallocing from 5 to 18
> (02:02:37) s5: reallocing from 18 to 20
> (02:02:37) proxy: Connected to
> 7ecafe8ce75e787219a6fa6e914daba322e1f622:0.
> (02:02:37) jabber: Sending (ssl)
> (yag at mydomain.org/331297521334480435540632): <iq typ
> e='result' to='vvt at mydomain.org/asdf' id='purpled30ae837'><query
> xmlns='http://jabber
> .org/protocol/bytestreams'><streamhost-used
> jid='vvt at mydomain.org/asdf'/></query></iq
> >
> (02:02:42) proxy: Connecting to xx.xx.xx.xx:55453.
> (02:02:42) proxy: Error connecting to xx.xx.xx.xx:55453 (Connection timed
> out.).
>
> (02:02:42) proxy: Connection attempt failed: Connection timed out.
> (02:02:42) proxy: Unable to connect to SOCKS5 host.
> (02:02:42) g_log: purple_proxy_info_destroy: assertion `info != NULL'
> failed
> (02:02:42) jabber: si connection failed, jid was vvt at mydomain.org/asdf,
> host was xx.xx.xx.xx, error was Connection timed out.
> (02:02:42) dnsquery: Performing DNS lookup for xx.xx.xx.xx
> (02:02:42) dnsquery: IP resolved for xx.xx.xx.xx
> (02:02:42) proxy: Attempting connection to xx.xx.xx.xx
> (02:02:42) proxy: Connecting to xx.xx.xx.xx:7777 with no proxy
> (02:02:42) proxy: Connection in progress
> (02:02:42) proxy: Connecting to xx.xx.xx.xx:7777.
> (02:02:42) proxy: Connected to xx.xx.xx.xx:7777.
> (02:02:42) proxy: Initiating SOCKS5 negotiation.
> (02:02:42) proxy: Connecting to
> 7ecafe8ce75e787219a6fa6e914daba322e1f622:0 via 1
> xx.xx.xx.xx:7777 using SOCKS5
> (02:02:42) socks5 proxy: Connected.
> (02:02:42) socks5 proxy: Able to read.
> (02:02:43) s5: reallocing from 5 to 45
> (02:02:43) s5: reallocing from 45 to 47
> (02:02:43) proxy: Connected to
> 7ecafe8ce75e787219a6fa6e914daba322e1f622:0.
> (02:02:43) jabber: Sending (ssl)
> (yag at mydomain.org/331297521334480435540632): <iq typ
> e='result' to='vvt at mydomain.org/asdf' id='purpled30ae837'><query
> xmlns='http://jabber
> .org/protocol/bytestreams'><streamhost-used
> jid='proxy.mydomain.org'/></query></iq>
> (02:02:43) xfer: Transfer is being started multiple times
> (02:02:43) g_log: file ft.c: line 1297 (begin_transfer): should not be
> reached
> (02:02:46) GLib: gmem.c:156: failed to allocate 31104 bytes
>

> pidgin.RPT attached.

New description:

 So this has plagued me for a while now.  Maybe related to this other issue
 at http://developer.pidgin.im/ticket/14734

 There have been two behaviors, both ending in pidgin crashes.  Sometimes,
 if the file is small enough, the transfer completes and then pidgin
 crashes.  Other times if the file is too large (5MB+) pidgin crashes after
 receiving the first 20-30% of the file.

 Also, before crashing Pidgin will consume all available memory until it is
 unable to allocate more (which likely causes the crash).  As shown below:

 {{{
 (02:02:37) proxy: Connection attempt failed: Error resolving ::1: 11004
 (02:02:37) proxy: Unable to connect to SOCKS5 host.
 (02:02:37) jabber: si connection failed, jid was vvt at mydomain.org/asdf,
 host was ::1,
  error was Error resolving ::1: 11004
 (02:02:37) dnsquery: Performing DNS lookup for xx.xx.xx.xx
 (02:02:37) dnsquery: IP resolved for xx.xx.xx.xx
 (02:02:37) proxy: Attempting connection to xx.xx.xx.xx
 (02:02:37) proxy: Connecting to xx.xx.xx.xx:55453 with no proxy
 (02:02:37) proxy: Connection in progress
 (02:02:37) proxy: Connecting to xx.xx.xx.xx:55453.
 (02:02:37) proxy: Connected to xx.xx.xx.xx:55453.
 (02:02:37) proxy: Initiating SOCKS5 negotiation.
 (02:02:37) proxy: Connecting to 7ecafe8ce75e787219a6fa6e914daba322e1f622:0
 via 2
 17.194.57.89:55453 using SOCKS5
 (02:02:37) socks5 proxy: Connected.
 (02:02:37) socks5 proxy: Able to read.
 (02:02:37) s5: reallocing from 5 to 18
 (02:02:37) s5: reallocing from 18 to 20
 (02:02:37) proxy: Connected to 7ecafe8ce75e787219a6fa6e914daba322e1f622:0.
 (02:02:37) jabber: Sending (ssl)
 (yag at mydomain.org/331297521334480435540632): <iq typ
 e='result' to='vvt at mydomain.org/asdf' id='purpled30ae837'><query
 xmlns='http://jabber
 .org/protocol/bytestreams'><streamhost-used
 jid='vvt at mydomain.org/asdf'/></query></iq
 >
 (02:02:42) proxy: Connecting to xx.xx.xx.xx:55453.
 (02:02:42) proxy: Error connecting to xx.xx.xx.xx:55453 (Connection timed
 out.).

 (02:02:42) proxy: Connection attempt failed: Connection timed out.
 (02:02:42) proxy: Unable to connect to SOCKS5 host.
 (02:02:42) g_log: purple_proxy_info_destroy: assertion `info != NULL'
 failed
 (02:02:42) jabber: si connection failed, jid was vvt at mydomain.org/asdf,
 host was xx.xx.xx.xx, error was Connection timed out.
 (02:02:42) dnsquery: Performing DNS lookup for xx.xx.xx.xx
 (02:02:42) dnsquery: IP resolved for xx.xx.xx.xx
 (02:02:42) proxy: Attempting connection to xx.xx.xx.xx
 (02:02:42) proxy: Connecting to xx.xx.xx.xx:7777 with no proxy
 (02:02:42) proxy: Connection in progress
 (02:02:42) proxy: Connecting to xx.xx.xx.xx:7777.
 (02:02:42) proxy: Connected to xx.xx.xx.xx:7777.
 (02:02:42) proxy: Initiating SOCKS5 negotiation.
 (02:02:42) proxy: Connecting to 7ecafe8ce75e787219a6fa6e914daba322e1f622:0
 via 1
 xx.xx.xx.xx:7777 using SOCKS5
 (02:02:42) socks5 proxy: Connected.
 (02:02:42) socks5 proxy: Able to read.
 (02:02:43) s5: reallocing from 5 to 45
 (02:02:43) s5: reallocing from 45 to 47
 (02:02:43) proxy: Connected to 7ecafe8ce75e787219a6fa6e914daba322e1f622:0.
 (02:02:43) jabber: Sending (ssl)
 (yag at mydomain.org/331297521334480435540632): <iq typ
 e='result' to='vvt at mydomain.org/asdf' id='purpled30ae837'><query
 xmlns='http://jabber
 .org/protocol/bytestreams'><streamhost-used
 jid='proxy.mydomain.org'/></query></iq>
 (02:02:43) xfer: Transfer is being started multiple times
 (02:02:43) g_log: file ft.c: line 1297 (begin_transfer): should not be
 reached
 (02:02:46) GLib: gmem.c:156: failed to allocate 31104 bytes
 }}}

 pidgin.RPT attached.

--

-- 
Ticket URL: <https://developer.pidgin.im/ticket/15065#comment:4>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list