jshackles / idle_master

Get your Steam Trading Cards the Easy Way
GNU General Public License v2.0
1.54k stars 563 forks source link

Simultaneous idling for 2 hours doesn't detect idle time correctly. #189

Open shinmai opened 8 years ago

shinmai commented 8 years ago

v.1.4.0.0 portable.

I just left Idle Master running overnight on 7 games, and after 12 hours it was still showing 1 hour for all of the games. Tried restarting the program, which did nothing. After I manually switched the behavior to "Idle individually" and back to simultaneously, Idle Master detected the playtime correctly and started idling the games individually (all obviously had 12+ hours of playtime).

Unfortunately can't reproduce as I have no games with less than 2 hours of idle time, but I just updated to the newest version, launched Idle Master, and after it had idled all the cards from the one game I had playtime on that had recently got cards added, it started indling the 7 games simultaneously and stuck at 1 hour for ~12 hours.

There were four System.Net.WebException excpetions during the night, all around 2am, so about 4 hours into the session, all with the same reference of "An exception occurred during a WebClient request. ---> System.NullReferenceException: Object reference not set to an instance of an object." But like I said, the error persisted even after closing and restarting Idle Master and was only remedied after a settings change.

PhyxionNL commented 8 years ago

It's broken here as well. It started with games that are already idled > 2 hours and then it starts idling > 2 hours. However, after 2 hours it still thinks all games are 0,0 hour idled (or whatever it was when it started idling). This results in restarting the games constantly after the 2 hours have actually passed.

claell commented 8 years ago

Same here, thought it was caused by my tablet, but worked fine with previous versions.

TheWyn commented 8 years ago

Can also confirm. Counters reading 0 when profile shows 8.9 hours of playtime in profile.

Using portable v.1.4.0.0.

NotTsunami commented 8 years ago

Can you grab the error log and paste it here?

Nao commented 8 years ago

Yes, it's the behavior I've noticed.

Generally speaking, the 'simultaneous idling' window is buggy. It will systematically miss the 2-hour spot when idling games, because it rarely updates the game time (so you just see the countdown go down, then the badge page reloads, and then nothing happens, countdown resets and simultaneous game list shows the same game times), and it never gets it right before 2.3 hours at least (that's when I'm lucky...) The only difference is whether or not there are already games with more than 2 hours. If there aren't, then IdleMaster will idle all games for way too long. If there are, then it'll idle all games forever (I think).

This needs fixing...

PS: no 'error log' for me... No errors at all. Just an obvious logic error.

pythonimus commented 8 years ago

same for me... Could be a Win 10 error? https://steamcommunity.com/groups/idlemastery/discussions/0/451850849198898238/

only error I got today was:

21.01.2016 21:39:44 Badge -> CanCardDrops, for id = 300360 System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt. bei IdleMaster.Badge.d__1.MoveNext()

Nao commented 8 years ago

I'm on Windows 7 personally, so that's not specific to Windows 10. I've learned to deal with this by simply waiting for 2 hours 'manually' (e.g. I'll just set an alarm on my smartphone), then come back to my PC, quit IdleMaster and relaunch it. Done...

derari commented 8 years ago

Happen to me, too. Windows 8.1, portable version. Restarting Idle Master fixed it.

If you can't figure out what causes this behavior, please at least add a sanity check that will give you an warning message à la "Game time isn't increasing, try restarting" and stop the idling after 2 hours.

Here is the error log. Notice that the I started Idle Master around that time and noticed it was stuck around 3pm.

02.02.2016 10:20:46
System.NullReferenceException: Object reference not set to an instance of an object. at IdleMaster.frmMain.b41(String appid) at System.Linq.Enumerable.Any[TSource](IEnumerable1 source, Func2 predicate) at IdleMaster.frmMain.blacklistToolStripMenuItem_Click(Object sender, EventArgs e) at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e) at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e) at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met) at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met) at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ScrollableControl.WndProc(Message& m) at System.Windows.Forms.ToolStrip.WndProc(Message& m) at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) 02.02.2016 10:21:09
System.NullReferenceException: Object reference not set to an instance of an object. at IdleMaster.frmMain.b
41(String appid) at System.Linq.Enumerable.Any[TSource](IEnumerable1 source, Func2 predicate) at IdleMaster.frmMain.blacklistToolStripMenuItem_Click(Object sender, EventArgs e) at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e) at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e) at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met) at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met) at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ScrollableControl.WndProc(Message& m) at System.Windows.Forms.ToolStrip.WndProc(Message& m) at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

jclevesque commented 8 years ago

Yes, it does idle game forever if you don't restart it. I now have 30 games with 52 hours logged in after leaving IdleMaster running over the weekend (no biggie).

Nao commented 8 years ago

Wow, that must still hurt a bit...

I guess most 'serious' farmers are turning to the 'competition' now. (Can't remember the name... ASF or something. Has 'steam' and 'farming' in the name. I don't like it too much, though, so I've just learned to deal with IM's flaws.)

Wolff666 commented 6 years ago

Could someone help me with this? the idle master is just idling complete infinitely and I do not know what to do System.NullReferenceException: Referência de objeto não definida para uma instância de um objeto. em IdleMaster.frmMain.blacklistCurrentGameToolStripMenuItem_Click(Object sender, EventArgs e) em System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e) em System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e) em System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) em System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e) em System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met) em System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met) em System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea) em System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea) em System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) em System.Windows.Forms.Control.WndProc(Message& m) em System.Windows.Forms.ScrollableControl.WndProc(Message& m) em System.Windows.Forms.ToolStrip.WndProc(Message& m) em System.Windows.Forms.ToolStripDropDown.WndProc(Message& m) em System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) em System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) em System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) http://prntscr.com/k4iemu