ScienceDiscoverer / steamscrd

Powerful Steam screenshot downloader. Supports restricted content and saves screenshot description/date into local JPG file.
GNU General Public License v3.0
25 stars 0 forks source link

Early crash after creating initial folder #3

Closed ALegendsTale closed 3 months ago

ALegendsTale commented 4 months ago

Hello, thanks for making this!

I seem to be running into an issue when using both the command line and direct input. After launching steamscrd and inputting a username, it will create a folder for the first game in the queue, then exit.

Any help would be appreciated.

System environment: Windows 11 (Fresh Install)

ScienceDiscoverer commented 3 months ago

Hi! OFC, I'll try to find the problem! But I will need your username and screenshot page number (or does it crashes on the first page?) to reproduce the bug! Thanks.

ALegendsTale commented 3 months ago

Sure, my username is ALegendsTale. Unfortunately it crashes immediately after creating the first folder (Team Fortress 2 in my case), so I would assume that means the first page.

The same issue occurs with other users too (including when using your name).

ScienceDiscoverer commented 3 months ago

Hm... Yea, this doesn't look too good. Seems like its local issue, because I can't reproduce it. I downloaded 121+ of your TF2 screenshots, no problems...

To not do a bunch of guesses, I think it would be easier to try and debug it on your machine, if you want. I made this debug build of the utility and I also included my custom small debugger in there (so you don't even need Visual Studio or anything). steamscrd_dbg.zip

Just launch the launch_sscrd_dbg.cmd script and try to download the screens. Lets see the exact reason it crashes! P.S. Antiviruses might have problems with this files, though, if you use any. You can try adding it to exceptions or something like that.

ALegendsTale commented 3 months ago

I went ahead and started debugging using your username.

Execution ended with THREAD DIED IN steamscrd_dbg.exe: 9616 C: 0 and EXCEPTION_T2I_NON_NUMBER. Full trace

After seeing this I figured maybe it needs the Steam64ID, but that just sends it into a loop retrying to load the first grid page. THREAD DIED IN steamscrd_dbg.exe: 4952 C: 0 THREAD DIED IN steamscrd_dbg.exe: 4932 C: 0 THREAD DIED IN steamscrd_dbg.exe: 2004 C: 0 THREAD DIED IN conhost.exe: 7652 C: 0

Let me know if you need any other information

ScienceDiscoverer commented 3 months ago

Well, at least now we have some info... Not enough to pinpoint exactly what happens, though... The main part of log is this:

EXCEPTION_T2I_NON_NUMBER
[TEXT]: [Jan]
CONTINUE EXECUTION:  POSSIBLE
INSTRUCTION ADDRESS: 0x0x00007FFEB105567C

This tells that one of my text to integer convertor functions expected number of month in text form, but in some strange way it received Jan... The strangest thing is that this is not happening on my machine...

I have a suspicion that somehow your steam webpages have different date-time format in screenshot pages...

Lets try this. I rebuild the debug build and added a little bit of debug logging: steamscrd_dbg_with_pdb.zip pdb file is important to see the line numbers on stack trace (forgot to include it last time). Replace the old steamscrd_dbg with the new one and add the pdb file. Try to download my screenshots again, and send me the crash trace again, and also DEBUG.LOG and scr_page.html that should be created in the same directory as exe file.

ScienceDiscoverer commented 3 months ago

If this is too much trouble, alternatively, can you load this screenshot, for example, and send me the screenshot of how this part of the page looks on your PC:

image

ALegendsTale commented 3 months ago

Hi, really sorry for the delay! Here are the requested items: Trace scr_page.html image The DEBUG.LOG wasn't present after running the application.

ScienceDiscoverer commented 3 months ago

No problems, I was busy myself, lately... Yep, the screenshot shows exactly the problem! Jan 21 instead of 21 Jan. My code for date translation is pretty dumb, so it only expected 21 Jan format =)

No wonder there was no DEBUG.LOG, as I put it's creation directly below the place where crash occurs!

OK, just uploaded the fix, it should work now! Try release version 1.0.5.

ALegendsTale commented 3 months ago

Awesome, I can confirm it works! Thank you for your patience and help :)

ScienceDiscoverer commented 3 months ago

I thank you too, for the patience with debugging tasks I handled to you!