[Pidgin] #3762: Perl plugin segfault on 64-bit platform

Pidgin trac at pidgin.im
Thu Aug 28 11:53:21 EDT 2008


#3762: Perl plugin segfault on 64-bit platform
--------------------+-------------------------------------------------------
 Reporter:  xaero   |        Owner:  deryni 
     Type:  defect  |       Status:  new    
Milestone:          |    Component:  plugins
  Version:  2.2.2   |   Resolution:         
 Keywords:          |  
--------------------+-------------------------------------------------------
Description changed by deryni:

Old description:

> I am a Gentoo user, but I do not run pidgin from portage as it is a
> version or two behind. So I build pidgin-2.2.2 from sources (as well as
> pidgin-encryption-3.0, pidgin-extprefs-0.7, pidgin-guifications-2.14 and
> purple-plugin_pack-2.2.0 (these are all from src as well for the same
> reasons))
>
> This error occurs when I go to to actually message someone on any of the
> following protocols (AIM, MSN, Y!, ICQ, MySpace (as these are the only
> protocol's in currently in use by me))
>
> This error *is* reproducible every time. If I restart pidgin after it has
> crashed, I can go back to the person I was attempting to talk to and see
> that the msg I had typed *did* go though and then pidgin crashed.
>

> #0  0x00002add9482dce0 in strlen () from /lib/libc.so.6
> No symbol table info available.
>
> #1  0x00002add9c389aa9 in Perl_newSVpv () from /usr/lib/libperl.so.1
> No symbol table info available.
>
> #2  0x00002add9c1de5a0 in newSVGChar (str=0x3 <Address 0x3 out of
> bounds>) at perl-common.c:61
>         sv = <value optimized out>
>
> #3  0x00002add9c1df9c2 in perl_signal_cb (args=0x7fff19feb610,
> data=<value optimized out>) at perl-handlers.c:303
>         handler = (PurplePerlSignalHandler *) 0x838f60
>         ret_val = <value optimized out>
>         i = 2
>         count = <value optimized out>
>         value_count = 3
>         ret_value = <value optimized out>
>         values = (PurpleValue **) 0x691410
>         sv_args = <value optimized out>
>         copy_args = <value optimized out>
>         na = <value optimized out>
>         sp = (SV **) 0x87fb68
>
> #4  0x00002add935131fc in purple_signal_emit_vargs (instance=<value
> optimized out>, signal=0x2add9354ea9b "sent-im-msg",
>     args=0x7fff19feb660) at signals.c:477
>         handler_data = (PurpleSignalHandlerData *) 0x5
>         l = <value optimized out>
>         l_next = (GList *) 0xb0bba0
>         tmp = {{gp_offset = 16, fp_offset = 48, overflow_arg_area =
> 0x7fff19feb740, reg_save_area = 0x7fff19feb680}}
>         __PRETTY_FUNCTION__ = "purple_signal_emit_vargs"
>
> #5  0x00002add93513432 in purple_signal_emit (instance=0x3, signal=0x0)
> at signals.c:434
>         args = {{gp_offset = 16, fp_offset = 48, overflow_arg_area =
> 0x7fff19feb740, reg_save_area = 0x7fff19feb680}}
>         __PRETTY_FUNCTION__ = "purple_signal_emit"
>
> #6  0x00002add934f1e7c in common_send (conv=0x122c550, message=<value
> optimized out>, msgflags=<value optimized out>)
>     at conversation.c:144
>         im = (PurpleConvIm *) 0x12fb270
>         type = <value optimized out>
>         account = (PurpleAccount *) 0x691e00
>         gc = (PurpleConnection *) 0x100aa40
>         displayed = 0x13cfa20 "testing again"
>         sent = 0x13cf950 "<A HREF=\"Gaim-Encryption Capable\"></A>testing
> again"
>         err = 1
>         __PRETTY_FUNCTION__ = "common_send"
>
> #7  0x000000000044f9a8 in send_cb (widget=<value optimized out>,
> gtkconv=0x115f0f0) at gtkconv.c:584
>         conv = (PurpleConversation *) 0x122c550
>         account = (PurpleAccount *) 0x691e00
>         gc = <value optimized out>
>         flags = 0
>         buf = 0x12ad300 "testing again"
>         clean = 0x13c5db0 "testing again"
>
> #8  0x00002add938e60b9 in g_closure_invoke () from
> /usr/lib/libgobject-2.0.so.0
>         tmp = {{gp_offset = 16, fp_offset = 48, overflow_arg_area =
> 0x7fff19feb740, reg_save_area = 0x7fff19feb680}}
>         __PRETTY_FUNCTION__ = "purple_signal_emit_vargs"
>
> #9  0x00002add938f61d6 in ?? () from /usr/lib/libgobject-2.0.so.0
> No symbol table info available.
>
> #10 0x00002add938f74cf in g_signal_emitv () from
> /usr/lib/libgobject-2.0.so.0
> No symbol table info available.
>
> #11 0x00002add91210c75 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
> No symbol table info available.
>
> #12 0x00002add9121116f in ?? () from /usr/lib/libgtk-x11-2.0.so.0
> No symbol table info available.
>
> #13 0x00002add91211368 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
> No symbol table info available.
>
> #14 0x00002add9121147d in gtk_bindings_activate_event () from
> /usr/lib/libgtk-x11-2.0.so.0
> No symbol table info available.
>
> #15 0x00002add9137ea72 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
> No symbol table info available.
>
> #16 0x00002add912d173d in ?? () from /usr/lib/libgtk-x11-2.0.so.0
> No symbol table info available.
>
> #17 0x00002add938e6177 in g_closure_invoke () from
> /usr/lib/libgobject-2.0.so.0
> No symbol table info available.
>
> #18 0x00002add938f600f in ?? () from /usr/lib/libgobject-2.0.so.0
> No symbol table info available.
>
> #19 0x00002add938f6eee in g_signal_emit_valist () from
> /usr/lib/libgobject-2.0.so.0
> No symbol table info available.
>
> #20 0x00002add938f7303 in g_signal_emit () from
> /usr/lib/libgobject-2.0.so.0
> No symbol table info available.
>
> #21 0x00002add913cb50e in ?? () from /usr/lib/libgtk-x11-2.0.so.0
> No symbol table info available.
>
> #22 0x00002add913d95ab in gtk_window_propagate_key_event () from
> /usr/lib/libgtk-x11-2.0.so.0
> No symbol table info available.
>
> #23 0x00002add913dc34b in ?? () from /usr/lib/libgtk-x11-2.0.so.0
> No symbol table info available.
>
> #24 0x00002add912d173d in ?? () from /usr/lib/libgtk-x11-2.0.so.0
> No symbol table info available.
>
> #25 0x00002add938e60b9 in g_closure_invoke () from
> /usr/lib/libgobject-2.0.so.0
> No symbol table info available.
>
> #26 0x00002add938f600f in ?? () from /usr/lib/libgobject-2.0.so.0
> No symbol table info available.
>
> #27 0x00002add938f6eee in g_signal_emit_valist () from
> /usr/lib/libgobject-2.0.so.0
> No symbol table info available.
>
> #28 0x00002add938f7303 in g_signal_emit () from
> /usr/lib/libgobject-2.0.so.0
> No symbol table info available.
>
> #29 0x00002add913cb50e in ?? () from /usr/lib/libgtk-x11-2.0.so.0
> No symbol table info available.
>
> #30 0x00002add912cadf5 in gtk_propagate_event () from
> /usr/lib/libgtk-x11-2.0.so.0
> No symbol table info available.
>
> #31 0x00002add912cbd77 in gtk_main_do_event () from
> /usr/lib/libgtk-x11-2.0.so.0
> No symbol table info available.
>
> #32 0x00002add9166432c in ?? () from /usr/lib/libgdk-x11-2.0.so.0
> No symbol table info available.
>
> #33 0x00002add93e75643 in g_main_context_dispatch () from
> /usr/lib/libglib-2.0.so.0
> No symbol table info available.
>
> #34 0x00002add93e7848d in ?? () from /usr/lib/libglib-2.0.so.0
> No symbol table info available.
>
> #35 0x00002add93e78776 in g_main_loop_run () from
> /usr/lib/libglib-2.0.so.0
> No symbol table info available.
>
> #36 0x00002add912cc0d2 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
> No symbol table info available.
>
> #37 0x0000000000472080 in main (argc=1, argv=0x7fff19fef018) at
> gtkmain.c:853
>         saved_status = <value optimized out>
>         opt_help = <value optimized out>
>         opt_login = 0
>         opt_nologin = 0
>         opt_version = <value optimized out>
>         opt_si = 1
>         opt_config_dir_arg = 0x0
>         opt_login_arg = 0x0
>         opt_session_arg = 0x0
>         search_path = <value optimized out>
>         accounts = <value optimized out>
>         sigset = {__val = {91143, 0 <repeats 15 times>}}
>         prev_sig_disp = <value optimized out>
>         errmsg =
> "\000\000\000\000\000\000\000\000p��\031�\177\000\000\004\000\000\000\000\000\000\000-O�\220�*",
> '\0' <repeats 26 times>,
> "\226h�\220�*\000\000\000��\031�\177\000\000�N�\220�*\000\000?��\031�\177\000\0000��\031�\177\000\000(��\031�\177\000\000�k�\220�*\000\000\000\000\000\000\000\000\000\000\003\000\000\000\000\000\000\000Hk�\224�*\000\000�R�\220�*\000\000�\204Y\222�*\000\000�\204j\224�*\000\000\000\000\000\000\000\000\000\000p��\031�\177\000\000\004\000\000\000\000\000\000\000@��\031�\177\000\000{h�\220�*",
> '\0' <repeats 35 times>, "��\031�\177\000\000p"...
>         segfault_message_tmp = <value optimized out>
>         error = (GError *) 0x0
>         opt = <value optimized out>
>         gui_check = <value optimized out>
>         debug_enabled = <value optimized out>
>         migration_failed = <value optimized out>
>         active_accounts = <value optimized out>
>         long_options = {{name = 0x4ac411 "config", has_arg = 1, flag =
> 0x0, val = 99}, {name = 0x49c0ff "debug", has_arg = 0,
>     flag = 0x0, val = 100}, {name = 0x49f414 "help", has_arg = 0, flag =
> 0x0, val = 104}, {name = 0x49c3b7 "login", has_arg = 2,
>     flag = 0x0, val = 108}, {name = 0x4a8c3b "multiple", has_arg = 0,
> flag = 0x0, val = 109}, {name = 0x4a8c44 "nologin",
>     has_arg = 0, flag = 0x0, val = 110}, {name = 0x4ac407 "session",
> has_arg = 1, flag = 0x0, val = 115}, {name = 0x4a0f3b "version",
>     has_arg = 0, flag = 0x0, val = 118}, {name = 0x0, has_arg = 0, flag =
> 0x0, val = 0}}

New description:

 I am a Gentoo user, but I do not run pidgin from portage as it is a
 version or two behind. So I build pidgin-2.2.2 from sources (as well as
 pidgin-encryption-3.0, pidgin-extprefs-0.7, pidgin-guifications-2.14 and
 purple-plugin_pack-2.2.0 (these are all from src as well for the same
 reasons))

 This error occurs when I go to to actually message someone on any of the
 following protocols (AIM, MSN, Y!, ICQ, MySpace (as these are the only
 protocol's in currently in use by me))

 This error *is* reproducible every time. If I restart pidgin after it has
 crashed, I can go back to the person I was attempting to talk to and see
 that the msg I had typed *did* go though and then pidgin crashed.

 {{{
 #0  0x00002add9482dce0 in strlen () from /lib/libc.so.6
 No symbol table info available.

 #1  0x00002add9c389aa9 in Perl_newSVpv () from /usr/lib/libperl.so.1
 No symbol table info available.

 #2  0x00002add9c1de5a0 in newSVGChar (str=0x3 <Address 0x3 out of bounds>)
 at perl-common.c:61
         sv = <value optimized out>

 #3  0x00002add9c1df9c2 in perl_signal_cb (args=0x7fff19feb610, data=<value
 optimized out>) at perl-handlers.c:303
         handler = (PurplePerlSignalHandler *) 0x838f60
         ret_val = <value optimized out>
         i = 2
         count = <value optimized out>
         value_count = 3
         ret_value = <value optimized out>
         values = (PurpleValue **) 0x691410
         sv_args = <value optimized out>
         copy_args = <value optimized out>
         na = <value optimized out>
         sp = (SV **) 0x87fb68

 #4  0x00002add935131fc in purple_signal_emit_vargs (instance=<value
 optimized out>, signal=0x2add9354ea9b "sent-im-msg",
     args=0x7fff19feb660) at signals.c:477
         handler_data = (PurpleSignalHandlerData *) 0x5
         l = <value optimized out>
         l_next = (GList *) 0xb0bba0
         tmp = {{gp_offset = 16, fp_offset = 48, overflow_arg_area =
 0x7fff19feb740, reg_save_area = 0x7fff19feb680}}
         __PRETTY_FUNCTION__ = "purple_signal_emit_vargs"

 #5  0x00002add93513432 in purple_signal_emit (instance=0x3, signal=0x0) at
 signals.c:434
         args = {{gp_offset = 16, fp_offset = 48, overflow_arg_area =
 0x7fff19feb740, reg_save_area = 0x7fff19feb680}}
         __PRETTY_FUNCTION__ = "purple_signal_emit"

 #6  0x00002add934f1e7c in common_send (conv=0x122c550, message=<value
 optimized out>, msgflags=<value optimized out>)
     at conversation.c:144
         im = (PurpleConvIm *) 0x12fb270
         type = <value optimized out>
         account = (PurpleAccount *) 0x691e00
         gc = (PurpleConnection *) 0x100aa40
         displayed = 0x13cfa20 "testing again"
         sent = 0x13cf950 "<A HREF=\"Gaim-Encryption Capable\"></A>testing
 again"
         err = 1
         __PRETTY_FUNCTION__ = "common_send"

 #7  0x000000000044f9a8 in send_cb (widget=<value optimized out>,
 gtkconv=0x115f0f0) at gtkconv.c:584
         conv = (PurpleConversation *) 0x122c550
         account = (PurpleAccount *) 0x691e00
         gc = <value optimized out>
         flags = 0
         buf = 0x12ad300 "testing again"
         clean = 0x13c5db0 "testing again"

 #8  0x00002add938e60b9 in g_closure_invoke () from
 /usr/lib/libgobject-2.0.so.0
         tmp = {{gp_offset = 16, fp_offset = 48, overflow_arg_area =
 0x7fff19feb740, reg_save_area = 0x7fff19feb680}}
         __PRETTY_FUNCTION__ = "purple_signal_emit_vargs"

 #9  0x00002add938f61d6 in ?? () from /usr/lib/libgobject-2.0.so.0
 No symbol table info available.

 #10 0x00002add938f74cf in g_signal_emitv () from
 /usr/lib/libgobject-2.0.so.0
 No symbol table info available.

 #11 0x00002add91210c75 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
 No symbol table info available.

 #12 0x00002add9121116f in ?? () from /usr/lib/libgtk-x11-2.0.so.0
 No symbol table info available.

 #13 0x00002add91211368 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
 No symbol table info available.

 #14 0x00002add9121147d in gtk_bindings_activate_event () from
 /usr/lib/libgtk-x11-2.0.so.0
 No symbol table info available.

 #15 0x00002add9137ea72 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
 No symbol table info available.

 #16 0x00002add912d173d in ?? () from /usr/lib/libgtk-x11-2.0.so.0
 No symbol table info available.

 #17 0x00002add938e6177 in g_closure_invoke () from
 /usr/lib/libgobject-2.0.so.0
 No symbol table info available.

 #18 0x00002add938f600f in ?? () from /usr/lib/libgobject-2.0.so.0
 No symbol table info available.

 #19 0x00002add938f6eee in g_signal_emit_valist () from
 /usr/lib/libgobject-2.0.so.0
 No symbol table info available.

 #20 0x00002add938f7303 in g_signal_emit () from
 /usr/lib/libgobject-2.0.so.0
 No symbol table info available.

 #21 0x00002add913cb50e in ?? () from /usr/lib/libgtk-x11-2.0.so.0
 No symbol table info available.

 #22 0x00002add913d95ab in gtk_window_propagate_key_event () from
 /usr/lib/libgtk-x11-2.0.so.0
 No symbol table info available.

 #23 0x00002add913dc34b in ?? () from /usr/lib/libgtk-x11-2.0.so.0
 No symbol table info available.

 #24 0x00002add912d173d in ?? () from /usr/lib/libgtk-x11-2.0.so.0
 No symbol table info available.

 #25 0x00002add938e60b9 in g_closure_invoke () from
 /usr/lib/libgobject-2.0.so.0
 No symbol table info available.

 #26 0x00002add938f600f in ?? () from /usr/lib/libgobject-2.0.so.0
 No symbol table info available.

 #27 0x00002add938f6eee in g_signal_emit_valist () from
 /usr/lib/libgobject-2.0.so.0
 No symbol table info available.

 #28 0x00002add938f7303 in g_signal_emit () from
 /usr/lib/libgobject-2.0.so.0
 No symbol table info available.

 #29 0x00002add913cb50e in ?? () from /usr/lib/libgtk-x11-2.0.so.0
 No symbol table info available.

 #30 0x00002add912cadf5 in gtk_propagate_event () from
 /usr/lib/libgtk-x11-2.0.so.0
 No symbol table info available.

 #31 0x00002add912cbd77 in gtk_main_do_event () from
 /usr/lib/libgtk-x11-2.0.so.0
 No symbol table info available.

 #32 0x00002add9166432c in ?? () from /usr/lib/libgdk-x11-2.0.so.0
 No symbol table info available.

 #33 0x00002add93e75643 in g_main_context_dispatch () from
 /usr/lib/libglib-2.0.so.0
 No symbol table info available.

 #34 0x00002add93e7848d in ?? () from /usr/lib/libglib-2.0.so.0
 No symbol table info available.

 #35 0x00002add93e78776 in g_main_loop_run () from
 /usr/lib/libglib-2.0.so.0
 No symbol table info available.

 #36 0x00002add912cc0d2 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
 No symbol table info available.

 #37 0x0000000000472080 in main (argc=1, argv=0x7fff19fef018) at
 gtkmain.c:853
         saved_status = <value optimized out>
         opt_help = <value optimized out>
         opt_login = 0
         opt_nologin = 0
         opt_version = <value optimized out>
         opt_si = 1
         opt_config_dir_arg = 0x0
         opt_login_arg = 0x0
         opt_session_arg = 0x0
         search_path = <value optimized out>
         accounts = <value optimized out>
         sigset = {__val = {91143, 0 <repeats 15 times>}}
         prev_sig_disp = <value optimized out>
         errmsg =
 "\000\000\000\000\000\000\000\000p��\031�\177\000\000\004\000\000\000\000\000\000\000-O�\220�*",
 '\0' <repeats 26 times>,
 "\226h�\220�*\000\000\000��\031�\177\000\000�N�\220�*\000\000?��\031�\177\000\0000��\031�\177\000\000(��\031�\177\000\000�k�\220�*\000\000\000\000\000\000\000\000\000\000\003\000\000\000\000\000\000\000Hk�\224�*\000\000�R�\220�*\000\000�\204Y\222�*\000\000�\204j\224�*\000\000\000\000\000\000\000\000\000\000p��\031�\177\000\000\004\000\000\000\000\000\000\000@��\031�\177\000\000{h�\220�*",
 '\0' <repeats 35 times>, "��\031�\177\000\000p"...
         segfault_message_tmp = <value optimized out>
         error = (GError *) 0x0
         opt = <value optimized out>
         gui_check = <value optimized out>
         debug_enabled = <value optimized out>
         migration_failed = <value optimized out>
         active_accounts = <value optimized out>
         long_options = {{name = 0x4ac411 "config", has_arg = 1, flag =
 0x0, val = 99}, {name = 0x49c0ff "debug", has_arg = 0,
     flag = 0x0, val = 100}, {name = 0x49f414 "help", has_arg = 0, flag =
 0x0, val = 104}, {name = 0x49c3b7 "login", has_arg = 2,
     flag = 0x0, val = 108}, {name = 0x4a8c3b "multiple", has_arg = 0, flag
 = 0x0, val = 109}, {name = 0x4a8c44 "nologin",
     has_arg = 0, flag = 0x0, val = 110}, {name = 0x4ac407 "session",
 has_arg = 1, flag = 0x0, val = 115}, {name = 0x4a0f3b "version",
     has_arg = 0, flag = 0x0, val = 118}, {name = 0x0, has_arg = 0, flag =
 0x0, val = 0}}
 }}}

--

-- 
Ticket URL: <http://developer.pidgin.im/ticket/3762#comment:9>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list