[Pidgin] #16200: Seg faults while testing pidgin

Pidgin trac at pidgin.im
Wed Apr 16 03:54:05 EDT 2014


#16200: Seg faults while testing pidgin
-----------------------+---------------------------
 Reporter:  justyna    |       Owner:  EionRobb
     Type:  defect     |      Status:  new
Milestone:             |   Component:  unclassified
  Version:  2.10.9     |  Resolution:
 Keywords:  Seg fault  |
-----------------------+---------------------------
Description changed by justyna:

Old description:

> I have created a default prefs.xml file by removing it from ~/.purple (as
> suggested on https://developer.pidgin.im/wiki/TipsForBugReports) and then
> running pidgin. Under various configurations of the boolean parameters
> the system seg faults. I enclose the backtraces and the versions of
> prefs.xml that cause these seg faults.A particular case:
>
> GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 7.4-2012.04
> Copyright (C) 2012 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later
> <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.  Type "show
> copying"
> and "show warranty" for details.
> This GDB was configured as "x86_64-linux-gnu".
> For bug reporting instructions, please see:
> <http://bugs.launchpad.net/gdb-linaro/>...
> Reading symbols from /usr/local/bin/pidgin...done.
> (gdb) handle SIGPIPE nostop noprint
> Signal        Stop      Print   Pass to program Description
> SIGPIPE       No        No      Yes             Broken pipe
> (gdb) run
> Starting program: /usr/local/bin/pidgin
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/x86_64-linux-
> gnu/libthread_db.so.1".
> [New Thread 0x7fffee852700 (LWP 5574)]
> [New Thread 0x7fffecfe0700 (LWP 5575)]
> [New Thread 0x7fffe5120700 (LWP 5577)]
> [New Thread 0x7fffd8aac700 (LWP 5578)]
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x00007ffff48a71b4 in __regexec (preg=0x10f9440, string=0x1178f50
> "(08:08:48) prefs: /purple/savedstatus/default changed, scheduling save.
> ",
>     nmatch=4, pmatch=0x7fffffffb330, eflags=0) at regexec.c:248
> 248     regexec.c: No such file or directory.
> (gdb) bt full
> #0  0x00007ffff48a71b4 in __regexec (preg=0x10f9440,
>     string=0x1178f50 "(08:08:48) prefs: /purple/savedstatus/default
> changed, scheduling save. ", nmatch=4, pmatch=0x7fffffffb330, eflags=0)
>     at regexec.c:248
>         err = <optimised out>
>         start = 0
>         length = 72
>         dfa = 0x0
> #1  0x0000000000463dcd in regex_match (win=0x10f9400,
>     text=0x10c77b0 "<font color=\"#666666\">(08:08:48) <b>prefs:</b>
> /purple/savedstatus/default changed, scheduling save.\n</font>")
>     at gtkdebug.c:331
>         imhtml = 0xc1e290
>         matches = {{rm_so = 353, rm_eo = 0}, {rm_so = 0, rm_eo = 32767},
> {rm_so = 0, rm_eo = 0}, {rm_so = 4991684, rm_eo = 0}}
>         inverted = 1
>         plaintext = 0x1178f50 "(08:08:48) prefs:
> /purple/savedstatus/default changed, scheduling save. "
> #2  0x0000000000464a6a in regex_row_changed_cb (win=0x10f9400,
> iter=<optimised out>, model=<optimised out>, path=<optimised out>)
>     at gtkdebug.c:589
>         text = 0x10c77b0 "<font color=\"#666666\">(08:08:48)
> <b>prefs:</b> /purple/savedstatus/default changed, scheduling
> save.\n</font>"
>         level = PURPLE_DEBUG_MISC
> #3  regex_row_changed_cb (model=<optimised out>, path=<optimised out>,
> iter=<optimised out>, win=0x10f9400) at gtkdebug.c:567
> No locals.
> #4  0x00007ffff54b9ca2 in g_closure_invoke () from /usr/lib/x86_64-linux-
> gnu/libgobject-2.0.so.0
> No symbol table info available.
> #5  0x00007ffff54cad71 in ?? () from /usr/lib/x86_64-linux-
> gnu/libgobject-2.0.so.0
> No symbol table info available.
> #6  0x00007ffff54d3069 in g_signal_emit_valist () from /usr/lib/x86_64
> -linux-gnu/libgobject-2.0.so.0
> No symbol table info available.
> #7  0x00007ffff54d3212 in g_signal_emit () from /usr/lib/x86_64-linux-
> gnu/libgobject-2.0.so.0
> No symbol table info available.
> #8  0x00007ffff6425eaa in gtk_list_store_set_valist () from
> /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
> No symbol table info available.
> #9  0x00007ffff6425f47 in gtk_list_store_set () from /usr/lib/x86_64
> -linux-gnu/libgtk-x11-2.0.so.0
> No symbol table info available.
> #10 0x0000000000464435 in pidgin_debug_print (arg_s=<optimised out>,
> category=<optimised out>, level=PURPLE_DEBUG_MISC) at gtkdebug.c:1180
>         iter = {stamp = -975624771, user_data = 0x1097960, user_data2 =
> 0x7fffffffba98, user_data3 = 0x7ffff5237dd6}
>         esc_s = <optimised out>
>         tmp = 0x1178fd0 "<font color=\"#666666\">(08:08:48) <b>prefs:</b>
> /purple/savedstatus/default changed, scheduling save.\n</font>"
>         s = 0x1178fd0 "<font color=\"#666666\">(08:08:48) <b>prefs:</b>
> /purple/savedstatus/default changed, scheduling save.\n</font>"
>         mdate = <optimised out>
>         ts_s = <optimised out>
>         cat_s = 0x1157b60 "0k\f\001"
>         mtime = 1397632128
> #11 pidgin_debug_print (level=PURPLE_DEBUG_MISC, category=<optimised
> out>, arg_s=<optimised out>) at gtkdebug.c:1133
> No locals.
> #12 0x00007ffff4ee3999 in purple_debug_vargs (level=PURPLE_DEBUG_MISC,
> category=0x7ffff4f6af8c "prefs", format=<optimised out>,
>     args=<optimised out>) at debug.c:89
>         ops = 0x6eeb20
>         arg_s = 0x1152790 "/purple/savedstatus/default changed,
> scheduling save.\n"
>         __PRETTY_FUNCTION__ = "purple_debug_vargs"
> #13 0x00007ffff4ee3e17 in purple_debug_misc (category=<optimised out>,
> format=<optimised out>) at debug.c:116
>         args = {{gp_offset = 16, fp_offset = 48, overflow_arg_area =
> 0x7fffffffbb70, reg_save_area = 0x7fffffffbab0}}
>         __PRETTY_FUNCTION__ = "purple_debug_misc"
> #14 0x00007ffff4f04130 in prefs_save_cb (name=<optimised out>,
> type=<optimised out>, val=<optimised out>, user_data=<optimised out>)
>     at prefs.c:461
> No locals.
> #15 0x00007ffff4f03c23 in do_callbacks (name=0x7ffff4f6efc1
> "/purple/savedstatus/default", pref=0x785d40) at prefs.c:765
>         cb = <optimised out>
>         cbs = 0x75e2c0
>         cb_pref = 0x7ffff51b1040
> #16 0x00007ffff4f1117a in purple_savedstatus_get_default () at
> savedstatuses.c:821
>         saved_status = 0x11643c0
> #17 purple_savedstatus_get_default () at savedstatuses.c:802
>         creation_time = <optimised out>
>         saved_status = <optimised out>
> #18 0x00007ffff4f112a9 in purple_savedstatus_set_idleaway (idleaway=0) at
> savedstatuses.c:875
>         accounts = <optimised out>
>         node = <optimised out>
>         old = 0x7f9ea0
>         saved_status = <optimised out>
> #19 0x00007ffff4ee9c27 in check_idleness () at idle.c:192
>         time_idle = 2
>         auto_away = <optimised out>
>         idle_reporting = <optimised out>
>         report_idle = 1
>         away_seconds = <optimised out>
>         idle_recheck_interval = <optimised out>
>         idle_poll_seconds = <optimised out>
> #20 0x00007ffff4ee9c99 in check_idleness_timer () at idle.c:221
> No locals.
> #21 0x00007ffff4ee9da8 in _do_purple_idle_touch_cb (data=<optimised out>)
> at idle.c:312
>         idle_poll_minutes = <optimised out>
> #22 0x00007ffff51fd8db in ?? () from /lib/x86_64-linux-
> gnu/libglib-2.0.so.0
> No symbol table info available.
> #23 0x00007ffff51fcd13 in g_main_context_dispatch () from /lib/x86_64
> -linux-gnu/libglib-2.0.so.0
> No symbol table info available.
> #24 0x00007ffff51fd060 in ?? () from /lib/x86_64-linux-
> gnu/libglib-2.0.so.0
> No symbol table info available.
> #25 0x00007ffff51fd45a in g_main_loop_run () from /lib/x86_64-linux-
> gnu/libglib-2.0.so.0
> No symbol table info available.
> #26 0x00007ffff6428397 in gtk_main () from /usr/lib/x86_64-linux-
> gnu/libgtk-x11-2.0.so.0
> No symbol table info available.
> #27 0x000000000043160e in main (argc=1, argv=0x7fffffffe228) at
> gtkmain.c:933
>         opt_force_online = 0
>         opt_help = <optimised out>
>         opt_login = 0
>         opt_nologin = 0
>         opt_version = <optimised out>
>         opt_si = 1
>         opt_config_dir_arg = <optimised out>
>         opt_login_arg = <optimised out>
>         opt_session_arg = <optimised out>
>         search_path = <optimised out>
>         accounts = <optimised out>
>         sig_indx = 1
>         sigset = {__val = {82950, 0 <repeats 15 times>}}
>         errmsg = '\000' <repeats 1224 times>, "=\f\336\367\377\177",
> '\000' <repeats 75 times>,
> "p\002\000\000\000\000\000\244l\002\000\000\000\000\000\244l\002", '\000'
> <repeats 13 times>,
> "\005\000\000\000\000\000\000\000\000p\"\000\000\000\000\000\000\240\"\000\000\000\000\000`\220\"\000\000\000\000\000p\220\"\000\000\000\000\000\000p\002\000\000\000\000\000\003",
> '\000' <repeats 16 times>,
> "P\000\000\000\000\000\000\204C\000\000\000\000\000\000\204C", '\000'
> <repeats 14 times>, "\005\000\000\000\000\000\000\000\000@
> \000\000\000\000\000\256\b\337\367\377\177\000\000pP
> \000\000\000\000\000\310L\374\367\377\177\000\000/\000\000\000\000\000\000\000\rX\336\367\377\177\000\000\000\020
> \000\000\000\000\000\r\000\000\000\000\000\000\000$\000\000\000\000\000\000\000\001"...
>         signal_channel = <optimised out>
>         signal_status = <optimised out>
>         signal_channel_watcher = 1
>         segfault_message_tmp = <optimised out>
>         error = 0x0
>         opt = <optimised out>
>         gui_check = <optimised out>
>         debug_enabled = -16216
>         migration_failed = <optimised out>
>         active_accounts = <optimised out>
>         st = {st_dev = 0, st_ino = 0, st_nlink = 0, st_mode = 0, st_uid =
> 0, st_gid = 0, __pad0 = 0, st_rdev = 0, st_size = 0, st_blksize = 0,
>           st_blocks = 0, st_atim = {tv_sec = 0, tv_nsec = 0}, st_mtim =
> {tv_sec = 0, tv_nsec = 0}, st_ctim = {tv_sec = 0, tv_nsec = 0},
>           __unused = {0, 0, 0}}
>         long_options = {{name = 0x4cf9dc "config", has_arg = 1, flag =
> 0x0, val = 99}, {name = 0x4ba154 "debug", has_arg = 0, flag = 0x0,
>             val = 100}, {name = 0x4cadcd "force-online", has_arg = 0,
> flag = 0x0, val = 102}, {name = 0x4bd81f "help", has_arg = 0, flag = 0x0,
>             val = 104}, {name = 0x4cab8d "login", has_arg = 2, flag =
> 0x0, val = 108}, {name = 0x4cadda "multiple", has_arg = 0, flag = 0x0,
>             val = 109}, {name = 0x4cade3 "nologin", has_arg = 0, flag =
> 0x0, val = 110}, {name = 0x4cf9d2 "session", has_arg = 1, flag = 0x0,
>             val = 115}, {name = 0x4c151b "version", has_arg = 0, flag =
> 0x0, val = 118}, {name = 0x4cf9e5 "display", has_arg = 1, flag = 0x0,
>             val = 68}, {name = 0x4cc2c6 "sync", has_arg = 0, flag = 0x0,
> val = 83}, {name = 0x0, has_arg = 0, flag = 0x0, val = 0}}
> (gdb) quit
> A debugging session is active.
>
>         Inferior 1 [process 5571] will be killed.
>
> Quit anyway? (y or n)

New description:

 I have created a default prefs.xml file by removing it from ~/.purple (as
 suggested on https://developer.pidgin.im/wiki/TipsForBugReports) and then
 running pidgin. Under various configurations of the boolean parameters the
 system seg faults. I enclose the backtraces and the versions of prefs.xml
 that cause these seg faults.

--

-- 
Ticket URL: <https://developer.pidgin.im/ticket/16200#comment:1>
Pidgin <https://pidgin.im>
Pidgin


More information about the Tracker mailing list