CTP - Periodic temporary hangs

Jul 16, 2008 at 6:53 AM
Edited Jul 16, 2008 at 6:54 AM
I've noticed on both a Vista and an XP machine I have, the interface and downloads will just "hang" for about 15 seconds.  What's most unfortunate, is that it seems to hang about as much as it's active.  When hung, the interface doesn't redraw and any attempt to interact with it causes Windows to report that the program is not responding.  It's most obvious when downloading multiple files...  they will all just stop for some time, then pick up again as if nothing happened.  Unfortunately, this makes it pretty hard to use.  I have no idea if this has anything to do with it, but it keeps showing up in the logs:

System.ArgumentOutOfRangeException: InvalidArgument=Value of '-1' is not valid for 'index'.
Parameter name: index
   at System.Windows.Forms.ListBox.ObjectCollection.get_Item(Int32 index)
   at Doppler.LogForm.ShowLogEntries(String dateToShow)

Version says 2.9.5.4 CTP 2006-11-01 - I hope that date's wrong.

If that weren't happening, I'd love this thing. :)
Developer
Jul 21, 2008 at 10:33 PM
Hmm, I haven't seen this before...  Do you have many feeds that are hosted on the same site?  What happens if you set the maximum number of threads to 1 in the options?

The error message you gave -- does that show up instead of being able to see the log file, or does it show in the grid along with other log messages?
Jul 30, 2008 at 2:06 PM
I see the same hangs on XP. The version date might indeed be correct :-) I haven't found one GUI podcatcher for Windows yet which is still maintained. Well, except iTunes :-)

The last commit to the version control system was at Feb 10 at  9:12 PM, so maybe someone has build an application from the current version ?

I am also open for suggestions of other podcatchers.
Developer
Sep 1, 2008 at 11:35 PM
I'm touching base with the rest of the developers on the project to see if we can get a bug fix release out soon.
Sep 2, 2008 at 1:05 AM
HolisticDeveloper, in answer to your questions, it happens on multiple machines (XP and Vista) and is regardless of the number of feeds from any given site.  I've a dual core Vista laptop that has only one feed (total), it does exactly the same behavior.  I've tried lowering the number of threads to one, but it makes no difference. 

There error posted shows up in the grid and is usually the only error message.

I've determined that it will have this nasty pause regardless of whether or not it's actually doing anything.  Even if there are no downloads happening, if I click on anything in the interface, it may or may not hang for 5 or 10 seconds.  It's pretty close to unusable, which is a shame. 

I'm pretty much in the same boat as cdamian and am fairly disgusted with Windows Podcatcher clients in general.  This one holds the most promise, but a lack of any progress makes it look like this one is pretty much in the toilet too. It seems that everyone has just thrown the towel in to the bloatware that is iTunes.  Personally I hate the thing, but there are very few options left for us.  It's almost worthwhile to slap linux on an old machine just to get a decent podcatcher client.
Sep 12, 2008 at 11:17 PM
Edited Sep 13, 2008 at 11:29 PM
It's happening to me too, ctp hangs a lot! Just registered here to be able to tell you.

Some suggestions:

1.- An option to select which days of the week to check for each feed, like monday, wednesday and friday for example.

2.- Being able to rearrange the download order of each enclosure within the queue, like send item to top, send to bottom, move one place up/down.

3.- An option to pause all downloads and then resume later/another day/several days later.

4.- An auto-save queue on exit /every 'x' minutes option.

5.- Auto-resume paused/interrupted downloads on startup.

Dec 12, 2008 at 8:31 AM

I believe the problem is the app version check (that's the app version check, not the feed update check).  Disabling it in preferences fixed the problem for me.


Apr 24, 2009 at 5:38 PM
Edited Apr 24, 2009 at 6:00 PM
Bug is somewhere in the View Log dialog (in XP Pro anyway), I think. I can close Doppler and delete the ..\docs&settings\username\appdata\doppler\dopplerlog.xml file, then restart Doppler and click Tools>View Log and it's the very first entry every time.

Opening the .xml file in NP++ shows the following:

<event logger="Doppler.LogForm" timestamp="2009-04-24T13:14:32.703125-04:00" level="ERROR" thread="1" domain="Doppler.exe" username="MYPCNAME\My Username"><message>System.ArgumentOutOfRangeException: InvalidArgument=Value of '-1' is not valid for 'index'.
Parameter name: index
   at System.Windows.Forms.ListBox.ObjectCollection.get_Item(Int32 index)
   at Doppler.LogForm.ShowLogEntries(String dateToShow)</message><properties><data name="log4net:HostName" value="mypcname" /></properties></event>

(Edited to remove my actual PC/login info of course. ;D)

Looks like something to do with the 'new' Logs by date window or the 'clear old logs' function, since I can clear and reproduce the bug all day long that way. Selecting the current log in the left panel drops it back to one error entry; Clicking Refresh or clicking "Clear old logs" adds a second identical error message every time.

If anyone's still working on this, it looks like an easy fix - I'm no coder though, so what do I know? :)

Edit: Just to be clear, I don't think this error is related to the periodic hang issue, which likely is the app version check as drosen mentioned above (it stopped for me when I turned off the update check preferences as well).
May 8, 2009 at 1:46 AM

I have found the error for this and have fixed it in code. As I am not part of this project I cannot update the project. What is happening is there are no errors in the xml file so it is not filling the listbox with dates and the IF statement is not checking to see if it has a count greater then zero and therefore is generating the index error of 0 - 1 = -1.

So in the gui folder open up the LogForm.cs file and modify the code in ShowLogEntries(dateToShow).

Find the code in there that has this IF statement:

if (dateToShow == null)
    {
             dateToShow = (string)DateListBox.Items[DateListBox.Items.Count - 1];
             DateListBox.SelectedItem = DateListBox.Items[DateListBox.Items.Count - 1];
    }
    else
    {
     DateListBox.SelectedItem = dateToShow;
    }

 

and change it to this IF statement:

if (dateToShow == null)
                {
                    if (DateListBox.Items.Count > 0)
                    {
                        dateToShow = (string)DateListBox.Items[DateListBox.Items.Count - 1];
                        DateListBox.SelectedItem = DateListBox.Items[DateListBox.Items.Count - 1];
                    }
    }
    else
    {
     DateListBox.SelectedItem = dateToShow;
    }

 

 

May 8, 2009 at 3:09 AM

I researched this and what is happening is the web service is no longer available. The webservice was at http://update.dopplerradio.net/update.asmx

So what needs to happen is either a new webservice is created for updates or this process needs to be removed.

In the mean time there are a few places to change the code to make this stop but I just made it so the UpdateCheckTimer is never enabled.

In the MainForm.cs in the MainForm class there is a remark that says "see if we need to check for updates" under it is a if statement.
Modify this so that is will always set the timer.enabled to false. This way the it will no longer check.

I also changed the code for the button in options that says "Check for update now" to not call the update and leaves a message say "Sorry, there is no update service at this time."

If you cannot change the code then in your options uncheck the "Have Doppler automatically check for updates".

Sorry guys that I cannot post a fix in code that works and sorry to all of you that can't compile the code and get a new exe to get this fixes. Looks like
this project has been dead for a while but I just started using it and could not use it in its current condition.

-Walter