deepskystacker / DSS

DeepSkyStacker
Other
894 stars 90 forks source link

Dialog Box for Open Save - Crashes 5.1.3 #180

Closed archiebaldy closed 1 year ago

archiebaldy commented 1 year ago

Check the Wiki Couldn't access

Describe the bug Open / Save Dialog box does not open for any menu item and the program locks up.

Provide necessary data to reproduce the problem No data required

To Reproduce Steps to reproduce the behavior:

  1. Install
  2. Open GUI
  3. Attempt to open or save any type of data file. Dialog box does not open and application becomes locked.
  4. Affected items are; Registering & Stacking

    Open Picture Files Open a File List Save the File List

Processing

Open Picture File...

Options

Load... > Load... Save... > Save...

All other menu items respond normally. Only those that call a Load or Save dialog box are affected.

Expected behavior Dialog box should open

Screenshots Not available

Additional context Windows 10 64 bit Version 21H2 OS build 19044.2728 Software was installed on 3 separate PC's all running Windows 10 64 bit. Identical problem in all cases.

perdrix52 commented 1 year ago

That's really odd! So DSS hangs if you click on e..g "Open Light Frames ..."? I have never seen this behaviour

I can't repro this. Please can you set EVs Z_TRACETO and Z_TRACEFILE like this:

image

Directory for the trace file must exist

Once you've done that please attempt to repro again (once only) and then send me the trace file [mailto:david.partridge@perdrix.co.uk] You can delete the EVs after (otherwise the trace file will just get bigger and bigger).

Please join the mailing list on groups.io https://groups.io/g/DeepSkyStacker

Re: Wiki try here: https://groups.io/g/DeepSkyStacker/wiki

archiebaldy commented 1 year ago

Hi David, Sorry for the delay. Trace log file is attached.

My PC was offline during the initial test, so I also tested while I had an internet connection and got the same result. Install each time was to the default location. Uninstalled / reinstalled DSS twice with reboots between, also downloaded a second time in case of corruption. Same result in all cases.

Downloaded from https://github.com/deepskystacker/DSS/releases/tag/5.1.3

Hope this helps you, DSS is really superb, thanks for all those involved in it.

Regards

Paul Atkin


From: David C. Partridge @.> Sent: Monday, April 10, 2023 10:21 PM To: deepskystacker/DSS @.> Cc: archiebaldy @.>; Author @.> Subject: Re: [deepskystacker/DSS] Dialog Box for Open Save - Crashes 5.1.3 (Issue #180)

That's really odd! So DSS hangs is you click on e..g "Open Light Frames ..."? I have never seen this behaviour

I can't repro this. Please can you set EVs Z_TRACETO and Z_TRACEFILE like this:

[image]https://user-images.githubusercontent.com/20211762/230908333-5a692007-7636-46b8-a914-5971dedc10c5.png

Directory for the trace file must exist

Once you've done that please attempt to repro again (once only) and then send me the trace file. You can delete the EVs after (otherwise the trace file will just get bigger and bigger).

Please join the mailing list on groups.io https://groups.io/g/DeepSkyStacker

Re: Wiki try here: https://groups.io/g/DeepSkyStacker/wiki

— Reply to this email directly, view it on GitHubhttps://github.com/deepskystacker/DSS/issues/180#issuecomment-1501809155, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AXC6E364VAXNHTK7BGBNJALXAQCNTANCNFSM6AAAAAAWYMMRFI. You are receiving this because you authored the thread.Message ID: @.***>

perdrix52 commented 1 year ago

Please email the trace file to me directly - I didn't get it

Please can we continue on the mailing list... (You'll need to set up an ID on groups.io and joind the DeepSkyStacker group).

archiebaldy commented 1 year ago

Did you receive the trace file? If not, I am attaching it here DSSTrace.log

perdrix52 commented 1 year ago

Is that all there was - did you kill the process? The code tries to pulls down symbol libs to produce a full traceback of the ACCESS_VIOLATION or similar. Lets try another approach. Navigate to the install dir and open a command prompt.

Then type DeepSkyStacker 2>C:\DSSstderr.log

recreate problem ...

When the dust has settled email me the log [mailto:david.partridge@perdrix.co.uk]

This is the sort of thing I would have expected to see in the trace file

00000057 2023/04/14 08:32:19.552 013368 00004970   +void __cdecl DSS::StackingDlg::onAddImages(enum PICTURETYPE)(StackingDlg.cpp:1523)
00000058 2023/04/14 08:32:19.562 013368 00004970     >ExH - Thread d3d1a50e61b9d062, ExCode 0xc0000005, RIP 0000000140307AF5: ACCESS_VIOLATION READ
00000058 2023/04/14 08:32:19.562 013368 00004970     >
00000059 2023/04/14 08:32:19.582 013368 00004970     >SymInit: Symbol-SearchPath: '.;C:\Users\amonra\Documents\GitHub\DSS\x64\Debug;C:\Users\amonra\Documents\GitHub\DSS\x64\Debug;C:\WINDOWS;C:\WINDOWS\system32;SRV*C:\websymbols*http://msdl.microsoft.com/download/symbols;', symOptions: 530, UserName: 'amonra'
00000059 2023/04/14 08:32:19.582 013368 00004970     >
00000060 2023/04/14 08:32:19.582 013368 00004970     >OS-Version: 6.2.9200 () 0x100-0x1
00000060 2023/04/14 08:32:19.582 013368 00004970     >
00000061 2023/04/14 08:32:20.233 013368 00004970     >C:\Users\amonra\Documents\GitHub\DSS\Tools\StackWalker.cpp (1071): StackWalker::ShowCallstack
00000061 2023/04/14 08:32:20.233 013368 00004970     >
00000062 2023/04/14 08:32:20.236 013368 00004970     >C:\Users\amonra\Documents\GitHub\DSS\DeepSkyStacker\ExceptionHandling.cpp (78): `anonymous namespace'::traceTheStack
00000062 2023/04/14 08:32:20.236 013368 00004970     >
00000063 2023/04/14 08:32:20.237 013368 00004970     >C:\Users\amonra\Documents\GitHub\DSS\DeepSkyStacker\ExceptionHandling.cpp (103): `anonymous namespace'::DssCriticalExceptionHandler
00000063 2023/04/14 08:32:20.237 013368 00004970     >
00000064 2023/04/14 08:32:20.238 013368 00004970     >ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFDE0FE7A2A)
00000064 2023/04/14 08:32:20.238 013368 00004970     >
00000065 2023/04/14 08:32:20.239 013368 00004970     >00007FFDE0FE7A2A (ntdll): (filename not available): RtlGetLengthWithoutLastFullDosOrNtPathElement
00000065 2023/04/14 08:32:20.239 013368 00004970     >
00000066 2023/04/14 08:32:20.240 013368 00004970     >ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFDE0F8E232)
00000066 2023/04/14 08:32:20.240 013368 00004970     >
00000067 2023/04/14 08:32:20.241 013368 00004970     >00007FFDE0F8E232 (ntdll): (filename not available): RtlFindCharInUnicodeString
00000067 2023/04/14 08:32:20.241 013368 00004970     >
00000068 2023/04/14 08:32:20.242 013368 00004970     >ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFDE1012CEE)
00000068 2023/04/14 08:32:20.242 013368 00004970     >
00000069 2023/04/14 08:32:20.243 013368 00004970     >00007FFDE1012CEE (ntdll): (filename not available): KiUserExceptionDispatcher
00000069 2023/04/14 08:32:20.243 013368 00004970     >
00000070 2023/04/14 08:32:20.254 013368 00004970     >C:\Users\amonra\Documents\GitHub\DSS\DeepSkyStacker\StackingDlg.cpp (1598): DSS::StackingDlg::onAddImages
00000070 2023/04/14 08:32:20.254 013368 00004970     >

etc.
archiebaldy commented 1 year ago

I'll look into this when I get time.

To answer your question, yes, that is all there was. After trying to open a file in DSS, nothing happens, the program just sits there doing zilch. Left it for 10 minutes once. Further clicking into the program window then just shows the (not responding) message in the title bar, shortly thereafter then the Windows 10 error that the program has stopped working. I'll do it again plus I'll try to use your suggestion, might be a day or two though - family commitments.

perdrix52 commented 1 year ago

OK let me take a look at the error handler code to see if there's anything in there that might cause it to sit waiting for something,

If that is the case you'll see the same problem with the stderr log (which is pretty much the same information ). D.

perdrix52 commented 1 year ago

One thing to try:

Open regedit, navigate to HKCU/Software/DeepSkyStacker. Select the DeepSkyStacker5 key and right click on it. Select delete.

Let it delete the key and all subkeys, and then close regedit. Try to recreate.

If that works then that's fine - otherwise read on:

It appears the stack walk code might be stuck somewhere in the guts of dbghelp.dll (StackWalk64 function).

If you don't have WinDbg installed may I suggest you install WinDbg Preview.

If you can use WinDbg w/o my assistance, then just attach to DSS process and the recreate problem. It should get control when the access violation happens (i.e before our error handler).

Otherwise please post on the mailing list asking for a Windows Assistance session with me - to remote control your system (if you're OK with that). I can then email you direct to set that up.

perdrix52 commented 1 year ago

Next time you try it, and you get a hang, please open task manager and right click on DeepSkyStacker and select Create Dump File

When its done just zip it up and email it to me

archiebaldy commented 1 year ago

Okay, I am doing this in reverse order...

First, I downloaded a fresh copy of DSS 5.1.3 Installed - I get the message that "Microsoft Defender didn't recognize blah blah..." but clicked on Run Anyway. Started DSS Tried to open files - no reaction as before. Went to task manager, DSS was listed as Not Responding Made a dump file. Result was 289MB, even after ultra compression I could only get it down to around 80MB so can't email or attach it here, but I uploaded it to a DropBox folder. https://www.dropbox.com/sh/fzno1nnkhsnpilc/AADpN938VOmuG35wc9TmKvJaa?dl=0

I'll now look into the regedit method

archiebaldy commented 1 year ago

Just tried deleting all reg keys associated with DSS5.
Identical result

perdrix52 commented 1 year ago

Very odd problems in the dump - the initial fault was deep inside windows file open dlg as it was trying to open the UI definition for the dialog!

The access violation triggered DeepSkyStacker's error handler which was trying to do a stack walk

That then called: GetFileVersionInfoSizeA against ntdll.dll which then ended up blocked because something (? what ?) was holding a resource ... deadly embrace ensued. Something odd going on with your windows system!

Please open an elevated command prompt (Open as Admin)

DISM.exe /Online /Cleanup-image /Restorehealth

then

sfc /scannow

depending on what sfc /scannow says you may need to do more see:

https://support.microsoft.com/en-us/topic/use-the-system-file-checker-tool-to-repair-missing-or-corrupted-system-files-79aa86cb-ca52-166a-92a3-966e85d4094e

David

archiebaldy commented 1 year ago

Sorry, I have given up with this.

I tested the software on three separate computers. Same result.

I have deleted the program now, I don't have any intention to do more testing.

mtoeltsch commented 1 year ago

David,

The access violation triggered DeepSkyStacker's error handler which was trying to do a stack walk

That then called: GetFileVersionInfoSizeA against ntdll.dll which then ended up blocked because something (? what ?) was holding a resource ... deadly embrace ensued. Something odd going on with your windows system!

IMHO, this sounds more like a corrupt heap or stack that prevented the stack-walk to produce useful results. I would like to use the dump file and load it in WinDbg (much more powerful than the VS debugger), but I can't find the dump file anymore, seems someone deleted it.

Do you still have a copy?

Martin

perdrix52 commented 1 year ago

OldNewExplorer shell extension is the problem from what I can determine -remove that and all should be OK

https://social.msdn.microsoft.com/Forums/vstudio/en-US/e893bf8e-3ef6-45ac-8da3-6f067fbff804/starting-c-program-crashes-only-with-msvc?forum=visualstudiogeneral

archiebaldy commented 1 year ago

I'm not sure if the comment was aimed at me, however. Yes, I use OldNewExplorer on all my systems. For my sanity using Windows, I value it more than I value DSS5.1.3 so I will not be uninstalling it. I have never had any other software crashing or causing any issues on any of my systems since installing OldeNewExplorer. There is obviously something unique about DSS5.1.3 that leads to this error. I have DSS4.2.6 installed, that runs fine. Thanks for your efforts, however from my side, please consider this closed.

perdrix52 commented 1 year ago

I was suggesting that this could be a problem with OldNewExplorer that is worth taking up with them