From: Andrea <mar...@go...> - 2009-10-28 17:15:51
|
Hi, I'm using the latest svn of libgpod and gtkpod and whenever I select a photo folder, then as soon as I click elsewhere gtkpod hangs. This happens on a real iPod (Video 80GB) or on a empty directory structure created by gtkpod. (gdb) thread apply all bt Thread 3 (Thread 0xb7cebb70 (LWP 11239)): #0 0x00801422 in __kernel_vsyscall () #1 0x003a97a6 in nanosleep () from /lib/libpthread.so.0 #2 0x080a2977 in th_space_thread (gp=0x0) at info.c:757 #3 0x0434ea4f in ?? () from /lib/libglib-2.0.so.0 #4 0x003a1935 in start_thread () from /lib/libpthread.so.0 #5 0x002d694e in clone () from /lib/libc.so.6 Thread 1 (Thread 0xb7fd0730 (LWP 11235)): #0 0x00801422 in __kernel_vsyscall () #1 0x003a8b69 in __lll_lock_wait () from /lib/libpthread.so.0 #2 0x003a3eeb in _L_lock_752 () from /lib/libpthread.so.0 #3 0x003a3d01 in pthread_mutex_lock () from /lib/libpthread.so.0 #4 0x04828c98 in ?? () from /usr/lib/libgdk-x11-2.0.so.0 #5 0x0485e0b7 in ?? () from /usr/lib/libgdk-x11-2.0.so.0 #6 0x04327240 in g_main_context_prepare () from /lib/libglib-2.0.so.0 #7 0x04327601 in ?? () from /lib/libglib-2.0.so.0 #8 0x04327e4f in g_main_loop_run () from /lib/libglib-2.0.so.0 #9 0x0450fc09 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #10 0x080a3d9c in main (argc=1, argv=0xbffff174) at main.c:67 The problem seems to be in frame 2 of thread 3 (gdb) list 752 req.tv_sec = SPACE_TIMEOUT / 1000; 753 req.tv_nsec = (SPACE_TIMEOUT % 1000) * 1000000; 754 755 for (;;) 756 { 757 nanosleep (&req, NULL); 758 if (!space_uptodate) th_space_update (); 759 } 760 /* To make gcc happy (never reached) */ 761 return (gpointer)NULL; ( Any idea? |
From: Andrea <mar...@go...> - 2009-10-28 17:44:23
|
On 28/10/09 17:15, Andrea wrote: > Hi, > > I'm using the latest svn of libgpod and gtkpod and whenever I select a photo folder, then as soon as > I click elsewhere gtkpod hangs. > This happens on a real iPod (Video 80GB) or on a empty directory structure created by gtkpod. > > The problem seems to be in frame 2 of thread 3 > > (gdb) list > 752 req.tv_sec = SPACE_TIMEOUT / 1000; > 753 req.tv_nsec = (SPACE_TIMEOUT % 1000) * 1000000; > 754 > 755 for (;;) > 756 { > 757 nanosleep (&req, NULL); > 758 if (!space_uptodate) th_space_update (); > 759 } > 760 /* To make gcc happy (never reached) */ > 761 return (gpointer)NULL; > ( > I think the "if" should be modified as if (!space_uptodate) th_space_update (); else break; ? |
From: Andrea <mar...@go...> - 2009-10-28 17:50:23
|
On 28/10/09 17:43, Andrea wrote: > On 28/10/09 17:15, Andrea wrote: >> Hi, >> >> I'm using the latest svn of libgpod and gtkpod and whenever I select a photo folder, then as soon as >> I click elsewhere gtkpod hangs. >> This happens on a real iPod (Video 80GB) or on a empty directory structure created by gtkpod. >> >> The problem seems to be in frame 2 of thread 3 >> >> (gdb) list >> 752 req.tv_sec = SPACE_TIMEOUT / 1000; >> 753 req.tv_nsec = (SPACE_TIMEOUT % 1000) * 1000000; >> 754 >> 755 for (;;) >> 756 { >> 757 nanosleep (&req, NULL); >> 758 if (!space_uptodate) th_space_update (); >> 759 } >> 760 /* To make gcc happy (never reached) */ >> 761 return (gpointer)NULL; >> ( >> > > I think the "if" should be modified as > > if (!space_uptodate) > th_space_update (); > else > break; > > ? sorry, nonsense |
From: Andrea <mar...@go...> - 2009-10-28 17:55:26
|
On 28/10/09 17:45, Andrea wrote: > On 28/10/09 17:43, Andrea wrote: >> On 28/10/09 17:15, Andrea wrote: >>> Hi, >>> >>> I'm using the latest svn of libgpod and gtkpod and whenever I select a photo folder, then as soon as >>> I click elsewhere gtkpod hangs. >>> This happens on a real iPod (Video 80GB) or on a empty directory structure created by gtkpod. >>> >>> The problem seems to be in frame 2 of thread 3 >>> >>> (gdb) list >>> 752 req.tv_sec = SPACE_TIMEOUT / 1000; >>> 753 req.tv_nsec = (SPACE_TIMEOUT % 1000) * 1000000; >>> 754 >>> 755 for (;;) >>> 756 { >>> 757 nanosleep (&req, NULL); >>> 758 if (!space_uptodate) th_space_update (); >>> 759 } >>> 760 /* To make gcc happy (never reached) */ >>> 761 return (gpointer)NULL; >>> ( >>> >> >> I think the "if" should be modified as >> >> if (!space_uptodate) >> th_space_update (); >> else >> break; >> >> ? > sorry, nonsense I meant, my observation. gtkpod still hangs for me. |
From: Javier K. <jk...@gm...> - 2009-10-28 22:59:49
|
On Wed, Oct 28, 2009 at 21:21, P.G. Richardson < p.g...@ph...> wrote: > > > On 28/10/09 17:45, Andrea wrote: > >> On 28/10/09 17:43, Andrea wrote: > >>> On 28/10/09 17:15, Andrea wrote: > >>>> Hi, > >>>> > >>>> I'm using the latest svn of libgpod and gtkpod and whenever I select a > >>>> photo folder, then as soon as > >>>> I click elsewhere gtkpod hangs. > >>>> This happens on a real iPod (Video 80GB) or on a empty directory > >>>> structure created by gtkpod. > >>>> > >>>> The problem seems to be in frame 2 of thread 3 > >>>> > >>>> (gdb) list > >>>> 752 req.tv_sec = SPACE_TIMEOUT / 1000; > >>>> 753 req.tv_nsec = (SPACE_TIMEOUT % 1000) * 1000000; > >>>> 754 > >>>> 755 for (;;) > >>>> 756 { > >>>> 757 nanosleep (&req, NULL); > >>>> 758 if (!space_uptodate) th_space_update (); > >>>> 759 } > >>>> 760 /* To make gcc happy (never reached) */ > >>>> 761 return (gpointer)NULL; > >>>> ( > >>>> > >>> > >>> I think the "if" should be modified as > >>> > >>> if (!space_uptodate) > >>> th_space_update (); > >>> else > >>> break; > >>> > >>> ? > >> sorry, nonsense > > I meant, my observation. > > > > gtkpod still hangs for me. > > Problem confirmed. Looking now. ;) > See this message, which might be related. Unfortunately this patch was apparently never applied :-( http://article.gmane.org/gmane.comp.ipod.gtkpod/4199 Note my warning in the message that this sort of thing is done in different places in the gtkpod codebase. Hope it helps. By the way, there is another patch of mine from this thread that I wrote to fix something by Jorg's request, then he ignored it. If you are willing to check it and have submit rights, please look here, it's a rather small patch: http://article.gmane.org/gmane.comp.ipod.gtkpod/4144 And I also have two small speed-up patches for libgpod that were also ignored back when I sent the large optimization patches. If anyone is interested in getting them submitted, please let me know. |
From: P.G. R. <p.g...@ph...> - 2009-10-28 23:13:57
|
> On Wed, Oct 28, 2009 at 21:21, P.G. Richardson < > p.g...@ph...> wrote: > >> >> > On 28/10/09 17:45, Andrea wrote: >> >> On 28/10/09 17:43, Andrea wrote: >> >>> On 28/10/09 17:15, Andrea wrote: >> >>>> Hi, >> >>>> >> >>>> I'm using the latest svn of libgpod and gtkpod and whenever I >> select a >> >>>> photo folder, then as soon as >> >>>> I click elsewhere gtkpod hangs. >> >>>> This happens on a real iPod (Video 80GB) or on a empty directory >> >>>> structure created by gtkpod. >> >>>> >> >>>> The problem seems to be in frame 2 of thread 3 >> >>>> >> >>>> (gdb) list >> >>>> 752 req.tv_sec = SPACE_TIMEOUT / 1000; >> >>>> 753 req.tv_nsec = (SPACE_TIMEOUT % 1000) * 1000000; >> >>>> 754 >> >>>> 755 for (;;) >> >>>> 756 { >> >>>> 757 nanosleep (&req, NULL); >> >>>> 758 if (!space_uptodate) th_space_update (); >> >>>> 759 } >> >>>> 760 /* To make gcc happy (never reached) */ >> >>>> 761 return (gpointer)NULL; >> >>>> ( >> >>>> >> >>> >> >>> I think the "if" should be modified as >> >>> >> >>> if (!space_uptodate) >> >>> th_space_update (); >> >>> else >> >>> break; >> >>> >> >>> ? >> >> sorry, nonsense >> > I meant, my observation. >> > >> > gtkpod still hangs for me. >> >> Problem confirmed. Looking now. ;) >> > > See this message, which might be related. Unfortunately this patch was > apparently never applied :-( > http://article.gmane.org/gmane.comp.ipod.gtkpod/4199 > > Note my warning in the message that this sort of thing is done in > different > places in the gtkpod codebase. > > Hope it helps. > > By the way, there is another patch of mine from this thread that I wrote > to > fix something by Jorg's request, then he ignored it. If you are willing to > check it and have submit rights, please look here, it's a rather small > patch: > http://article.gmane.org/gmane.comp.ipod.gtkpod/4144 > > And I also have two small speed-up patches for libgpod that were also > ignored back when I sent the large optimization patches. If anyone is > interested in getting them submitted, please let me know. > Hi Javier, Cannot quite see the patch you mean in that first link, although it is the same problem. Have found the culprit. Just working out how to fix it. gphoto_change_to_photo_window in display_photo.c The code saves the pages of the sorttabs before they are removed. The reason for this is that when the sorttab notebooks are removed / made invisible in order to show the photo window, they automatically flick to the last (Special Category) page. This is just bizarre as I would have thought changing the visibility should not affect their page selection. Anyway, the code to restore them to their saved pages is the thing that causes the hang. /* Reselect the originally selected sorttab pages */ for (i = 0; i < SORT_TAB_MAX; ++i) { /* Need to change current category in sorttab */ st_set_sorttab_page ((gint) i, sorttab_pages [i]); } st_set_sorttab_page is doing too much, ie. setting the notebook page and calling st_page_selected. Not sure it should do both. Ideally, avoiding the notebooks changing their pages upon being removed is the ideal fix but too tired to correct it tonight. Oh, Javier, if you would like commit access, I am sure there will be no objections, certainly not from me. Cheers phantomjinx |
From: Javier K. <jk...@gm...> - 2009-10-29 08:24:51
|
On Thu, Oct 29, 2009 at 09:18, Christophe Fergeau <te...@gn...> wrote: > 2009/10/28 Javier Kohen <jk...@gm...>: > > > > And I also have two small speed-up patches for libgpod that were also > > ignored back when I sent the large optimization patches. If anyone is > > interested in getting them submitted, please let me know. > > Ah, if I didn't comment on them, it's likely that I missed them, sorry > for that :-/ I thought I had committed all of the libgpod patches that > you had sent. Feel free to resend them :) If this happens again, just > ask about them again and again on IRC or here :) > My bad, I got tricked by the way the patches were merged by git(-svn) in my history. All libgpod patches have been committed, thanks Christophe. The gtkpod ones I mentioned are still pending. They are very simple and fix known bugs, both reported to me by Jorg. I could go ahead and submit them, if I get commit access, but I'd feel better if someone gave them a cursory look first. Thanks, |
From: Andrea <mar...@go...> - 2009-10-29 09:58:55
|
On 29/10/09 08:18, Christophe Fergeau wrote: > 2009/10/28 Javier Kohen <jk...@gm...>: >> >> And I also have two small speed-up patches for libgpod that were also >> ignored back when I sent the large optimization patches. If anyone is >> interested in getting them submitted, please let me know. > > Ah, if I didn't comment on them, it's likely that I missed them, sorry > for that :-/ I thought I had committed all of the libgpod patches that > you had sent. Feel free to resend them :) If this happens again, just > ask about them again and again on IRC or here :) > Since we are talking about outstanding patches. Here is an other one http://article.gmane.org/gmane.comp.ipod.gtkpod/4154 |
From: P.G. R. <p.g...@ph...> - 2009-10-29 22:49:22
|
Anyone wanting commit access needs to provide the list with their sourceforge usernames. However, and in preference, I would encourage anyone with a continuing interest in both gtkpod and libgpod to sign up to Gitorious (www.gitorious.org). Both projects are hosted: http://gitorious.org/gtkpod http://gitorious.org/libgpod The repos can be cloned and patches can be emailed to the list in the usual way. However, once logged in it is possible to have a personal clone hosted on gitorious, eg. http://gitorious.org/~phantomjinx/gtkpod/phantomjinx-gtkpod-plugin Cloning personal repos means that users have a public git repo that patches and branches can be pushed to. The process means it is trivial to pull patches from public personal repos into the mainline repo. Also, testing becomes easier since a personal repo can be pulled into someone's repo as a branch then removed. For these reasons, can I encourage people to set up personal repos of the source on gitorious. The sourceforge git tree is being maintained but is intended to only act as a mirror since sf do not offer quite so much functionality as gitorious. Of course, anyone wanting to be a committer on the main tree on gitorious need only speak up and they will be added to the libgpod-developers group. Cheers PGR (a.k.a. phantomjinx) |
From: Javier K. <jk...@gm...> - 2009-10-29 22:52:19
|
On Thu, Oct 29, 2009 at 23:38, P.G. Richardson < p.g...@ph...> wrote: > Have found the nub of this little bug and would like to confirm the fix is > the correct one. > > In display_sorttabs.c there is the function st_set_sorttab_page. This has > the following line: > > while (gtk_events_pending ()) gtk_main_iteration (); > > Commenting out this line sorts the hanging on my laptop. Can people > confirm whether the hanging goes away on their machines. > > I put this line in on the basis that gtk selection events might be going > on and I should wait for them to complete. However, it seems to be causing > more hassle than its worth. > Heh, that's exactly what the patch I tried to link you to yesterday changes... I was confused by gmane's GUI and ended up linking the wrong thing. I'm sorry you had to spend time discovering this again. See here, this time it seems I got the right link: http://article.gmane.org/gmane.comp.ipod.gtkpod/4200 I guess that confirms your patch is good. Though please do read my message, because similar code exists a few times in the gtkpod codebase. |
From: phantomjinx <p.g...@ph...> - 2009-10-31 09:36:39
|
Javier, Have taken a once over on the attached patch here -> http://article.gmane.org/gmane.comp.ipod.gtkpod/4144 and everything looks ok. Can you commit it since you have a better understanding of what it is achieving and can write a better commit log than me ;) Let me have your sf user id so you can have commit access. Have now committed the photo hanging patch. tmz: have asked on irc too - can you install a post-receive script on the git repo for announcing commits to the list. Cheers PGR (a.k.a. phantomjinx) |
From: Todd Z. <tm...@po...> - 2009-10-31 13:21:16
|
phantomjinx wrote: > tmz: have asked on irc too - can you install a post-receive script > on the git repo for announcing commits to the list. I already had one in place. :) http://article.gmane.org/gmane.comp.ipod.gtkpod.cvs/2502 -- Todd OpenPGP -> KeyID: 0xBEAF0CE3 | URL: www.pobox.com/~tmz/pgp ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Age doesn't always bring wisdom. Sometimes it comes alone. |
From: Javier K. <jk...@gm...> - 2009-10-31 09:37:40
|
Hi P.G., On Sat, Oct 31, 2009 at 10:36, phantomjinx <p.g...@ph... > wrote: > Javier, > > Have taken a once over on the attached patch here -> > http://article.gmane.org/gmane.comp.ipod.gtkpod/4144 and everything looks > ok. Can you commit it since you have a better understanding of what it is > achieving and can write a better commit log than me ;) > > Let me have your sf user id so you can have commit access. > jkohen@ I'll look into the git set up you guys described soon. Thanks! > > Have now committed the photo hanging patch. > > tmz: have asked on irc too - can you install a post-receive script on the > git repo for announcing commits to the list. > > Cheers > > PGR (a.k.a. phantomjinx) > |
From: Todd Z. <tm...@po...> - 2009-10-31 13:51:30
|
Javier Kohen wrote: > I'll look into the git set up you guys described soon. Perhaps we should borrow a little more from git.git? The process used there is similar to what's used in the linux kernel repository and is described at: http://repo.or.cz/w/git.git?a=blob;f=Documentation/SubmittingPatches;hb=HEAD As mentioned there, git send-email is convenient for anyone that has a mail client which cannot be trained to not word wrap or otherwise cause white space damage to patches. The nice thing about sending all patches to the list this way is that they can not only be easily reviewed by others, they can also be easily applied using git am so that they can be tested and/or pushed to the official repository once a few folks on the list confirm that a patch looks good. That's been happening here already, so this isn't much of a change. (Hopefully we'll get more people who can review and acknowledge patches, as that last step is where things have been lacking. ;) -- Todd OpenPGP -> KeyID: 0xBEAF0CE3 | URL: www.pobox.com/~tmz/pgp ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ An optimist believes we live in the best of all possible worlds. A pessimist is sure of it! |
From: P.G. R. <p.g...@ph...> - 2009-10-28 23:15:48
|
> On Wed, Oct 28, 2009 at 21:21, P.G. Richardson < > p.g...@ph...> wrote: > >> >> > On 28/10/09 17:45, Andrea wrote: >> >> On 28/10/09 17:43, Andrea wrote: >> >>> On 28/10/09 17:15, Andrea wrote: >> >>>> Hi, >> >>>> >> >>>> I'm using the latest svn of libgpod and gtkpod and whenever I >> select a >> >>>> photo folder, then as soon as >> >>>> I click elsewhere gtkpod hangs. >> >>>> This happens on a real iPod (Video 80GB) or on a empty directory >> >>>> structure created by gtkpod. >> >>>> >> >>>> The problem seems to be in frame 2 of thread 3 >> >>>> >> >>>> (gdb) list >> >>>> 752 req.tv_sec = SPACE_TIMEOUT / 1000; >> >>>> 753 req.tv_nsec = (SPACE_TIMEOUT % 1000) * 1000000; >> >>>> 754 >> >>>> 755 for (;;) >> >>>> 756 { >> >>>> 757 nanosleep (&req, NULL); >> >>>> 758 if (!space_uptodate) th_space_update (); >> >>>> 759 } >> >>>> 760 /* To make gcc happy (never reached) */ >> >>>> 761 return (gpointer)NULL; >> >>>> ( >> >>>> >> >>> >> >>> I think the "if" should be modified as >> >>> >> >>> if (!space_uptodate) >> >>> th_space_update (); >> >>> else >> >>> break; >> >>> >> >>> ? >> >> sorry, nonsense >> > I meant, my observation. >> > >> > gtkpod still hangs for me. >> >> Problem confirmed. Looking now. ;) >> > > See this message, which might be related. Unfortunately this patch was > apparently never applied :-( > http://article.gmane.org/gmane.comp.ipod.gtkpod/4199 > > Note my warning in the message that this sort of thing is done in > different > places in the gtkpod codebase. > > Hope it helps. > > By the way, there is another patch of mine from this thread that I wrote > to > fix something by Jorg's request, then he ignored it. If you are willing to > check it and have submit rights, please look here, it's a rather small > patch: > http://article.gmane.org/gmane.comp.ipod.gtkpod/4144 > > And I also have two small speed-up patches for libgpod that were also > ignored back when I sent the large optimization patches. If anyone is > interested in getting them submitted, please let me know. Honestly, I dont believe anyone is intentionally ignoring you. I think time is the factor and people seem to wait for others so things fall through the cracks. As I say, if you would like commit access then I dont believe there will be a problem. PGR (a.k.a. phantomjinx) |
From: Jorg S. <Jor...@gm...> - 2009-10-29 17:39:48
|
>> See this message, which might be related. Unfortunately this patch was >> apparently never applied :-( >> http://article.gmane.org/gmane.comp.ipod.gtkpod/4199 >> >> Note my warning in the message that this sort of thing is done in >> different >> places in the gtkpod codebase. >> >> Hope it helps. >> >> By the way, there is another patch of mine from this thread that I wrote >> to >> fix something by Jorg's request, then he ignored it. If you are willing to >> check it and have submit rights, please look here, it's a rather small >> patch: >> http://article.gmane.org/gmane.comp.ipod.gtkpod/4144 >> >> And I also have two small speed-up patches for libgpod that were also >> ignored back when I sent the large optimization patches. If anyone is >> interested in getting them submitted, please let me know. >> > > Honestly, I dont believe anyone is intentionally ignoring you. I think > time is the factor and people seem to wait for others so things fall > through the cracks. > > As I say, if you would like commit access then I dont believe there will > be a problem. > > PGR (a.k.a. phantomjinx) > I would like to second phantomjinx -- I don't intentionally ignore committed patches, but unfortunately I hardly have time to even touch my iPod... phantomjinx: feel free to commit the outstanding patches. Granting commit rights is a good idea as well, I believe. It never hurts to publish the patches first, but that way, if they get "ignored", they can still be applied. Cheers, JCS. |
From: Christophe F. <te...@gn...> - 2009-10-29 08:18:18
|
2009/10/28 Javier Kohen <jk...@gm...>: > > And I also have two small speed-up patches for libgpod that were also > ignored back when I sent the large optimization patches. If anyone is > interested in getting them submitted, please let me know. Ah, if I didn't comment on them, it's likely that I missed them, sorry for that :-/ I thought I had committed all of the libgpod patches that you had sent. Feel free to resend them :) If this happens again, just ask about them again and again on IRC or here :) Sorry for that, Christophe |