thpatch / thcrap

Touhou Community Reliant Automatic Patcher
https://www.thpatch.net
The Unlicense
551 stars 41 forks source link

thcrap crashes when pressing Next button #199

Closed ufo4season closed 1 year ago

ufo4season commented 1 year ago

When I press 'Next' button, thcrap just crashes and the window is disappeared. My OS is Windows 11 22H2. thcrap version is the latest. I have to use old UI sadly. thcrap thcrap_log.txt

32th-System commented 1 year ago

right now thcrap doesn't properly log crash errors from the new configure tool, but in Event Viewer, under Windows Logs and Application there should be an error from .NET Runtime. When you click on it, there should be a big text box that says "Application: thcrap_configure_v3.exe" at the top. Could you copy everything it says if this still happens?

ufo4season commented 1 year ago

Here it is:

로그 이름:         Application
원본:            .NET Runtime
날짜:            2023-02-01 오전 11:11:28
이벤트 ID:        1026
작업 범주:         없음
수준:            오류
키워드:           클래식
사용자:           해당 없음
컴퓨터:           DESKTOP-09I0NT3
설명:
응용 프로그램: thcrap_configure_v3.exe
Framework 버전: v4.0.30319
설명: 처리되지 않은 예외로 인해 프로세스가 종료되었습니다.
예외 정보:System.ArgumentOutOfRangeException
   위치: System.Runtime.InteropServices.Marshal.PtrToStructureHelper(IntPtr, System.Object, Boolean)
   위치: System.Runtime.InteropServices.Marshal.PtrToStructure(IntPtr, System.Type)
   위치: System.Runtime.InteropServices.Marshal.PtrToStructure[[thcrap_configure_v3.ThcrapDll+repo_t, thcrap_configure_v3, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]](IntPtr)
   위치: thcrap_configure_v3.Repo..ctor(IntPtr)
   위치: thcrap_configure_v3.Repo.Discovery(System.String)
   위치: thcrap_configure_v3.MainWindow+<>c__DisplayClass4_0.<Window_Loaded>b__0()
   위치: System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].InnerInvoke()
   위치: System.Threading.Tasks.Task.Execute()
   위치: System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
   위치: System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
   위치: thcrap_configure_v3.MainWindow+<Page1_Enter>d__6.MoveNext()
   위치: System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__6_0(System.Object)
   위치: System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   위치: System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   위치: System.Windows.Threading.DispatcherOperation.InvokeImpl()
   위치: System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
   위치: MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)
   위치: System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   위치: System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   위치: System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   위치: MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
   위치: System.Windows.Threading.DispatcherOperation.Invoke()
   위치: System.Windows.Threading.Dispatcher.ProcessQueue()
   위치: System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   위치: MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   위치: MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
   위치: System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   위치: System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   위치: System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
   위치: MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
   위치: MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
   위치: System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
   위치: System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
   위치: System.Windows.Application.RunDispatcher(System.Object)
   위치: System.Windows.Application.RunInternal(System.Windows.Window)
   위치: System.Windows.Application.Run(System.Windows.Window)
   위치: thcrap_configure_v3.App.Main()

이벤트 Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name=".NET Runtime" />
    <EventID Qualifiers="0">1026</EventID>
    <Version>0</Version>
    <Level>2</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2023-02-01T02:11:28.4646980Z" />
    <EventRecordID>17072</EventRecordID>
    <Correlation />
    <Execution ProcessID="13084" ThreadID="0" />
    <Channel>Application</Channel>
    <Computer>DESKTOP-09I0NT3</Computer>
    <Security />
  </System>
  <EventData>
    <Data>응용 프로그램: thcrap_configure_v3.exe
Framework 버전: v4.0.30319
설명: 처리되지 않은 예외로 인해 프로세스가 종료되었습니다.
예외 정보:System.ArgumentOutOfRangeException
   위치: System.Runtime.InteropServices.Marshal.PtrToStructureHelper(IntPtr, System.Object, Boolean)
   위치: System.Runtime.InteropServices.Marshal.PtrToStructure(IntPtr, System.Type)
   위치: System.Runtime.InteropServices.Marshal.PtrToStructure[[thcrap_configure_v3.ThcrapDll+repo_t, thcrap_configure_v3, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]](IntPtr)
   위치: thcrap_configure_v3.Repo..ctor(IntPtr)
   위치: thcrap_configure_v3.Repo.Discovery(System.String)
   위치: thcrap_configure_v3.MainWindow+&lt;&gt;c__DisplayClass4_0.&lt;Window_Loaded&gt;b__0()
   위치: System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].InnerInvoke()
   위치: System.Threading.Tasks.Task.Execute()
   위치: System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
   위치: System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
   위치: thcrap_configure_v3.MainWindow+&lt;Page1_Enter&gt;d__6.MoveNext()
   위치: System.Runtime.CompilerServices.AsyncMethodBuilderCore+&lt;&gt;c.&lt;ThrowAsync&gt;b__6_0(System.Object)
   위치: System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   위치: System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   위치: System.Windows.Threading.DispatcherOperation.InvokeImpl()
   위치: System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
   위치: MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)
   위치: System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   위치: System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   위치: System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   위치: MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
   위치: System.Windows.Threading.DispatcherOperation.Invoke()
   위치: System.Windows.Threading.Dispatcher.ProcessQueue()
   위치: System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   위치: MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   위치: MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
   위치: System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   위치: System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   위치: System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
   위치: MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
   위치: MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
   위치: System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
   위치: System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
   위치: System.Windows.Application.RunDispatcher(System.Object)
   위치: System.Windows.Application.RunInternal(System.Windows.Window)
   위치: System.Windows.Application.Run(System.Windows.Window)
   위치: thcrap_configure_v3.App.Main()

</Data>
  </EventData>
</Event>
32th-System commented 1 year ago

If this still happens, try replacing bin/thcrap_configure_v3.exe with the file in this zip file

ufo4season commented 1 year ago

Thank you, it works fine.