Infinate loop during BrowserMM Init (Was Re: Hosting Arch archive on Sourceforge)

"David Hough" <[email protected]> Sun, 13 Feb 2005 00:08:57 -0000
Newsgroups gmane.comp.audio.zinf.devel
Message-ID <[email protected]>
On Sat, 12 Feb 2005 13:55:02 -0800, kristian kvilekval <[email protected]>=
 =20
wrote:
> It's some sort of loop when I try to open the browsermm
> whether as a secondary or as primary
>
> I started it in gdb and found the folowing tthread seemed to be stuck..
>
> #0  0x0000002a98a2bbd1 in g_type_value_table_peek () from =20
> /usr/lib/libgobject-2.0.so.0
> #1  0x0000002a98a2d56b in g_value_init () from =20
> /usr/lib/libgobject-2.0.so.0
> #2  0x0000002a98a223bb in g_signal_emit_valist () from =20
> /usr/lib/libgobject-2.0.so.0
> #3  0x0000002a98a22a93 in g_signal_emit () from =20
> /usr/lib/libgobject-2.0.so.0
> #4  0x0000002a97f97315 in gtk_container_add () from =20
> /usr/lib/libgtk-x11-2.0.so.0
> #5  0x0000002a980cc190 in gtk_tree_view_column_get_type () from =20
> /usr/lib/libgtk-x11-2.0.so.0
> #6  0x0000002a980ccb44 in _gtk_tree_view_column_set_tree_view () from =20
> /usr/lib/libgtk-x11-2.0.so.0


What version of GTK+ are you using? I've been unable to find a revision i=
n =20
GTK+ CVS where "_gtk_tree_view_column_set_tree_view" (#6) actually makes =
a =20
call to "gtk_tree_view_column_get_type" (#5). And =20
"gtk_tree_view_column_get_type" (#5) doesn't appear to ever make a call t=
o =20
"gtk_container_add" (#4). Is this perhaps a corrupt stack?

"_gtk_tree_view_column_set_tree_view" does make a call to =20
"gtk_tree_view_column_create_button" which does make a call to =20
"gtk_container_add", so it would seem likely that =20
"gtk_tree_view_column_get_type" is just an incorrect name, but I'd be ver=
y =20
interested to know why its wrong. Anyone know/guess?

> #7  0x0000002a980c5f5c in gtk_tree_view_insert_column () from =20
> /usr/lib/libgtk-x11-2.0.so.0
> #8  0x0000002a980c5c34 in gtk_tree_view_append_column () from =20
> /usr/lib/libgtk-x11-2.0.so.0
> #9  0x0000002a9a58cc01 in Gtk::TreeView::append_column () from =20
> /usr/lib/libgtkmm-2.4.so.1
> #10 0x0000002a9a165ee7 in =20
> MusicBrowserMM::GTKPlaylist::create_model_columns () from =20
> ./plugins/musicbrowsermm.ui

I notice these are 64-bit address, I just wonder if this is the problem o=
f =20
using int instead of std::string::size_type rearing its ugly head again. =
=20
It might be possible that the following patch will fix it. There are two =
=20
loops in create_model_columns(), both of which are based on the unsigned =
=20
int's start_pos, end_pos which represent positions in a string.

--- orig/ui/musicbrowsermm/src/gtkplaylist.cpp
+++ mod/ui/musicbrowsermm/src/gtkplaylist.cpp
@@ -125,7 +125,7 @@
         //Parse Prefrence String
         //Expected format:  Title:field|Title:field...  or =20
Field|Field|Field...
         bool finished =3D false;
-       unsigned int start_pos, end_pos;
+       std::string::size_type start_pos, end_pos;
         start_pos =3D 0;
         while(!finished) {
                 std::string column_title;


Also, what are the values of the two preferences PlaylistHeaderColumns an=
d =20
MusicBrowserHeaderWidths? These are the two strings being parsed in =20
create_model_columns().

> #11 0x0000002a9a161d0b in MusicBrowserMM::GTKPlaylist::GTKPlaylist () =20
> from ./plugins/musicbrowsermm.ui
> #12 0x0000002a9a14f13a in MusicBrowserMM::PlaylistController::Init () =20
> from ./plugins/musicbrowsermm.ui
> #13 0x0000002a9a1521e7 in MusicBrowserMM::MusicBrowserMM_UI::init_main =
=20
> () from ./plugins/musicbrowsermm.ui

...

>
>
> On Sat, 2005-02-12 at 14:34 +0000, David Hough wrote:
>> On Fri, 11 Feb 2005 10:15:17 -0800, kristian kvilekval =20
>> <[email protected]>
>> wrote:
...
>> >
>> > BTW   I've downloaded your browsermm and upon
>> > running it goes into a tight CPU burning loop
>> > without any display or messages.  Are there any configration
>> > parameters I'm missing?
>> >
>>
>> Strange. I doubt its a config problem, but I've attatched my config fi=
le
>> just in case it is. I don't suppose you can tell where its getting stu=
ck
>> in a loop? I just did a clean build and can't seem to replicate it.
>>
>> Just out of interest does it do this no matter which UI you try and us=
e,
>> or does it only do it with browsermm as primary for instance?
>>
>> Cheers,
>> David
--=20
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=3D6595&alloc_id=3D14396&op=3Dclick