On Fri, Jun 10, 2005 at 03:27:53PM +0200, Sjoerd Simons wrote:
> On Thu, Jun 09, 2005 at 04:26:42PM -0300, Felipe Massia Pereira wrote:
> > Package: gkrellmms
> > Version: 2.1.22-1
> > Severity: normal
> > 
> > 
> > Gkrellm stops when XMMS is running (and Gkrellmms is enabled, of
> > course; when it's not enabled, it works fine).
> > 
> > There are 2 info that may help:
> > 
> > - it used to work fine. Problems began to appear when I switched my
> >   system to UTF-8;
> > 
> > - there seem to be a problem with XMMS socket also. I can not reproduce
> >   it right now, but there's a message in the X console that I think it's
> >   being emmitted by xmms.
> > 
> > I'm going to try and delete .gkrellm and .xmms but it is painful :-(
> > 
> > Here's the last lines of strace output, right after mms was enabled at
> > gkrellm plugins page.
> > 
> > socket(PF_FILE, SOCK_STREAM, 0)         = 11
> > getuid32()                              = 2004
> > geteuid32()                             = 2004
> > setuid32(2004)                          = 0
> > setreuid32(2004, 2004)                  = 0
> > connect(11, {sa_family=AF_FILE, path="/tmp/xmms_felipe.0"}, 110) = 0
> > write(11, "\1\0\22\0\4\0\0\0", 8)       = 8
> > write(11, "9\0\0\0", 4)                 = 4
> > read(11, "\1\0\0\0003\0\0\0", 8)        = 8
> > read(11, "/l/musica/taize/misc/taize_-_du_"..., 51) = 51
> > read(11, "\1\0\0\0\0\0\0\0", 8)         = 8
> > close(11)                               = 0
> > ioctl(3, FIONREAD, [0])                 = 0
> > poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=10,
> > events=POLLIN}], 3, 0) = 0
> > socket(PF_FILE, SOCK_STREAM, 0)         = 11
> > getuid32()                              = 2004
> > geteuid32()                             = 2004
> > setuid32(2004)                          = 0
> > setreuid32(2004, 2004)                  = 0
> > connect(11, {sa_family=AF_FILE, path="/tmp/xmms_felipe.0"}, 110) = 0
> > write(11, "\1\0\22\0\4\0\0\0", 8)       = 8
> > write(11, ":\0\0\0", 4)                 = 4
> > read(11, "\1\0\0\0:\0\0\0", 8)          = 8
> > read(11, "/l/musica/taize/misc/taize_-_el_"..., 58) = 58
> > read(11, "\1\0\0\0\0\0\0\0", 8)         = 8
> > close(11)                               = 0
> > [1]-  Exit 1                  gkrellm
> > 
> > It sit stopped after close(11) and I had to hit ^C.
> 
> Ugh, this should have been fixed in 2.1.22.  Could you run it in ltrace, that
> sometimes gives helpfull results.  Otherwise i'll prepare a debug version for
> you.

I'm trying to learn :-) I removed dh_strip and "-s" from install
command, built and installed the resulting .deb. Then I ran gdb gkrellm with
gkrellmms off initially and xmms not running. I set a break at
update_gkrellmms and ran xmms before stepping into the function. Then I
stepped with "n" until it called "update_playlist" and stopped. Then I
hit ^C and here is the backtrace:

(gdb)
209             if (pGK->second_tick)
(gdb)
210         set_panel_status();
(gdb)
212       playlist_changed = update_playlist();
(gdb)

Program received signal SIGINT, Interrupt.
0xb79c9a16 in getenv () from /lib/tls/i686/cmov/libc.so.6
(gdb) backtrace
#0  0xb79c9a16 in getenv () from /lib/tls/i686/cmov/libc.so.6
#1  0xb79c301a in gettext () from /lib/tls/i686/cmov/libc.so.6
#2  0xb79c25b2 in gettext () from /lib/tls/i686/cmov/libc.so.6
#3  0xb79c225f in dcgettext () from /lib/tls/i686/cmov/libc.so.6
#4  0xb7b5597f in g_get_codeset () from /usr/lib/libglib-2.0.so.0
#5  0xb7b1c328 in g_convert_with_fallback () from
/usr/lib/libglib-2.0.so.0
#6  0xb7b1c3a0 in g_locale_to_utf8 () from /usr/lib/libglib-2.0.so.0
#7  0xb749c085 in string_to_utf8 (str=0x0, is_filename=1) at
playlist.c:70
#8  0xb749c42f in load_playlist () at playlist.c:169
#9  0xb749c60c in update_playlist () at playlist.c:211
#10 0xb7496de6 in update_gkrellmms () at gkrellmms.c:212
#11 0x08059062 in gkrellm_map_color_string ()
#12 0xb7b32c9c in g_main_context_wakeup () from
/usr/lib/libglib-2.0.so.0
#13 0xb7b30582 in g_main_depth () from /usr/lib/libglib-2.0.so.0
#14 0xb7b315f8 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#15 0xb7b31930 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#16 0xb7b31ed3 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#17 0xb7e0d243 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#18 0x0805d0b5 in main ()

Maybe this info could help...

(gdb) print str
No symbol "str" in current context.
(gdb) frame 7
#7  0xb749c085 in string_to_utf8 (str=0x0, is_filename=1) at
playlist.c:70
70            result = g_locale_to_utf8(str, -1, &read, NULL, &error);
(gdb) print str
$1 = (gchar *) 0x0
(gdb) print read
$2 = 0
(gdb) print error
$3 = (GError *) 0x0
(gdb) frame 8
#8  0xb749c42f in load_playlist () at playlist.c:169
169         filename = string_to_utf8(filename, TRUE);
(gdb) list
164         if (filename == NULL) {
165           /* error occurred empty playlist and try again */
166           empty_playlist();
167           return load_playlist();
168         }
169         filename = string_to_utf8(filename, TRUE);
170
171         while (gtk_events_pending())
172           gtk_main_iteration();
173
(gdb) print filename
$4 = 0x81baa58 "??/musica/14 bis/14_bis_-_eu_j�fechei_meus_olhos.mp3"
(gdb) x/55c filename
0x81baa58:      63 '?'  63 '?'  47 '/'  109 'm' 117 'u' 115 's' 105 'i'
99 'c'
0x81baa60:      97 'a'  47 '/'  49 '1'  52 '4'  32 ' '  98 'b'  105 'i'
115 's'
0x81baa68:      47 '/'  49 '1'  52 '4'  95 '_'  98 'b'  105 'i' 115 's'
95 '_'
0x81baa70:      45 '-'  95 '_'  101 'e' 117 'u' 95 '_'  106 'j' -31 '�
95 '_'
0x81baa78:      102 'f' 101 'e' 99 'c'  104 'h' 101 'e' 105 'i' 95 '_'
109 'm'
0x81baa80:      101 'e' 117 'u' 115 's' 95 '_'  111 'o' 108 'l' 104 'h'
111 'o'
0x81baa88:      115 's' 46 '.'  109 'm' 112 'p' 51 '3'  0 '\0'  0 '\0'
(gdb)

ltrace didn't seem to be of any help (many drawing function calls).

I can do more debugging tasks, just tell me which.

tia
-- 
Felipe

Reply via email to