システム:多量の起動発行時の不具合

Issue #1535 new
Ito Mitsuhiro repo owner created an issue

たまたま 30 個のアーカイブを

NeeView.exe arc1.zip arc2.zp ... arc30.zip

と送信するのを、誤って

NeeView.exe arc1.zip
NeeView.exe arc2.zip
...
NeeView.exe arc30.zip

としてしまったところ、多重起動禁止の設定にしているにもかかわらず、15 個がエラー、 10 個が 1 つの NeeView の中に、残りがそれぞれ別の NeeView で開かれてしまいました。
何度か試しましたが、1 つにまとまるアーカイブの数は多少変動するものの、再現率は 100 パーセントでした。
すべてのアーカイブの場所が、一つの HDD で低速なこともあり、起動に手間取った結果、 多重起動チェックが間に合っていないような感じです。
完全に対処するのが難しいようでしたら、エラーだけでも何とかしていただければと。
よろしくお願いいたします。

エラーは次のリンクに貼っておきました。(エラー内容はすべて同一でした)
https://pastebin.com/12R5bcrW

Comments (1)

  1. Ito Mitsuhiro reporter

    OS Version: Microsoft Windows NT 10.0.19045.0 (64bit)
    NeeView Version: 41.1 (.zip)
    System.TimeoutException: Cannot sync with other NeeViews. There may be a problem with NeeView already running.
    at NeeView.ProcessLock.Lock()
    at NeeView.SaveData.LoadUserSetting(Boolean cancellable)
    at NeeView.App.InitializeAsync(StartupEventArgs e)
    at NeeView.App.Application_Startup(Object sender, StartupEventArgs e)
    at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state)
    at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
    at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
    at System.Windows.Threading.DispatcherOperation.InvokeImpl()
    at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
    --- End of stack trace from previous location ---
    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
    at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
    at System.Windows.Threading.DispatcherOperation.Invoke() at System.Windows.Threading.Dispatcher.ProcessQueue()
    at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
    at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
    at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
    at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
    at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
    at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
    at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
    at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg) at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
    at System.Windows.Application.RunDispatcher(Object ignore)
    at System.Windows.Application.RunInternal(Window window)
    at NeeView.App.Main()

  2. Log in to comment