Skip to content
This repository was archived by the owner on Jan 21, 2022. It is now read-only.
This repository was archived by the owner on Jan 21, 2022. It is now read-only.

Application crashes after a long while of inactivity because SSH connection timed out #122

@RillJ

Description

@RillJ

`

<SCRIPT>
function Toggle(node)
{
  if (!window.fullyLoaded) return;

  // Expand the branch?
  if (node.nextSibling.style.display == 'none')
  {
    // Change the sign from "+" to "-".
    var tBodyNode = node.childNodes[0];
    var trNode = tBodyNode.childNodes[0];
    var tdNode = trNode.childNodes[0];
    var bNode = tdNode.childNodes[0];
    var textNode = bNode.childNodes[0];
    if (textNode.nodeType == 3 /* Node.TEXT_NODE */) {
      var s = textNode.data;
      if (s.length > 0 && s.charAt(0) == '+') {
        textNode.data = '-' + s.substring(1, s.length);
      }
    }

    // show the branch
    node.nextSibling.style.display = '';
  }
  else // Collapse the branch
  {
    // Change the sign from "-" to "+".
    var tBodyNode = node.childNodes[0];
    var trNode = tBodyNode.childNodes[0];
    var tdNode = trNode.childNodes[0];
    var bNode = tdNode.childNodes[0];
    var textNode = bNode.childNodes[0];
    if (textNode.nodeType == 3 /* Node.TEXT_NODE */) {
      var s = textNode.data;
      if (s.length > 0 && s.charAt(0) == '-') {
        textNode.data = '+' + s.substring(1, s.length);
      }
    }

    // hide the branch
    node.nextSibling.style.display = 'none';
  }
}

// Toggle "System" element by default so that it's default status is to hide its children
function ToggleSystemElement()
{
  var body = document.getElementById("body");
  var anchor = body.getElementsByTagName("table")[0];
  Toggle(anchor);
}

// If binary data is present in event XML, show it in friendly form.
function ProcessBinaryData(binaryString, binaryDataCaption, wordsFormatString, bytesFormatString, normalFont, fixedWidthFont)
{
  var bodyNode = document.getElementById("body");

  // Add a <hr> at the end of the HTML body.
  bodyNode.appendChild(document.createElement("hr"));      

  // This paragraph (p element) is the "Binary data:" literal string.
  var p = document.createElement("p");
  p.style.fontFamily = normalFont;
  var b = document.createElement("b");
  b.appendChild(document.createTextNode(binaryDataCaption));
  p.appendChild(b);
  p.appendChild(document.createElement("br"));
  bodyNode.appendChild(p);

  //
  // Show binary data in Words format.
  //
  p = document.createElement("p");
  p.style.fontFamily = normalFont;
  p.appendChild(document.createTextNode(wordsFormatString));
  bodyNode.appendChild(p);

  // Must use fixed-width font for binary data.
  p = document.createElement("p");
  p.style.fontFamily = fixedWidthFont;

  var i = 0;
  var j = 0;
  var s, tempS;
  var translatedString;
  var charCode;
  var byte1, byte2;

  // Each character in binaryString is a hex (16-based) representation of
  // 4 binary bits. So it takes 2 characters in binaryString to form a
  // complete byte; 4 characters for a word.
  while (i < binaryString.length) {

    s = (i / 2).toString(16);    // To hex representation.
    while (s.length < 4) {
      s = "0" + s;
    }
    s += ": ";

    // DWords representation is simply a rearrangement of the original binaryString
    // For example, from:
    // 
    // 0000000002005600000000000f000540
    //
    // (which is 00 00 00 00 02 00 56 00 00 00 00 00 0f 00 05 40).
    //
    // to:
    //
    // 0000: 00000000 00560002 00000000 4005000f
    // 8 words per line, 4 DWords per line.
    for (j = 0; j < 4; j++) {
      s += binaryString.substring(i + 6, i + 8);
      s += binaryString.substring(i + 4, i + 6);
      s += binaryString.substring(i + 2, i + 4);
      s += binaryString.substring(i, i + 2) + " ";
      i += 8;
    }

    p.appendChild(document.createTextNode(s));
    p.appendChild(document.createElement("br"));
  }

  bodyNode.appendChild(p);

  //
  // Show binary data in bytes format.
  //
  p = document.createElement("p");
  p.style.fontFamily = normalFont;
  p.appendChild(document.createTextNode(bytesFormatString));
  bodyNode.appendChild(p);

  // Must use fixed-width font for binary data.
  p = document.createElement("p");
  p.style.fontFamily = fixedWidthFont;

  i = 0;
  j = 0;

  // Each character in binaryString is a hex (16-based) representation of
  // 4 binary bits. So it takes 2 characters in binaryString to form a
  // complete byte.
  while (i < binaryString.length) {
    translatedString = "";
    // 2 characters in binaryString to form a byte
    s = (i / 2).toString(16);   // to hex representation.

    // Prefix with '0' until its length is 4.
    while (s.length < 4) {
      s = "0" + s;
    }
    s += ": ";

    // Show 8 bytes per line
    for (j = 0; j < 8; j++) {
      tempS = binaryString.substring(i, i + 2); // 2 for 1 byte
      i += 2;
      s += tempS + " ";

      // Treat tempS as hex integer
      charCode = parseInt(tempS, 16);
      if (charCode < 32) {
        translatedString += ".";
      } else {
        translatedString += String.fromCharCode(charCode);
      }
    }

    while (s.length < 32) {
      s += " ";
    }
    s += translatedString;
    
    p.appendChild(document.createTextNode(s));
    p.appendChild(document.createElement("br"));
  }

  bodyNode.appendChild(p);
}
</SCRIPT>
Application: Stugether.exe CoreCLR Version: 4.700.21.41101 .NET Core Version: 3.1.19 Description: The process was terminated due to an unhandled exception. Exception Info: System.Data.SqlClient.SqlException (0x80131904): Connection Timeout Expired. The timeout period elapsed while attempting to consume the pre-login handshake acknowledgement. This could be because the pre-login handshake failed or the server was unable to respond back in time. The duration spent while attempting to connect to this server was - [Pre-Login] initialization=44; handshake=14964; ---> System.ComponentModel.Win32Exception (258): The wait operation timed out. at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) at System.Data.SqlClient.SqlConnection.Open() at Dapper.SqlMapper.ExecuteCommand(IDbConnection cnn, CommandDefinition& command, Action`2 paramReader) in /_/Dapper/SqlMapper.cs:line 2847 at Dapper.SqlMapper.ExecuteImpl(IDbConnection cnn, CommandDefinition& command) in /_/Dapper/SqlMapper.cs:line 581 at Dapper.SqlMapper.Execute(IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Nullable`1 commandTimeout, Nullable`1 commandType) in /_/Dapper/SqlMapper.cs:line 452 at Gateway.AccountDataAccess.CreateAccount(String email, String password, String verificationCode) at ViewModel.RegisterViewModel.CreateAccountInDatabase() at ViewModel.Commands.RelayCommand.<>c__DisplayClass3_0.<.ctor>b__0(Object parameter) at ViewModel.Commands.RelayCommand.Execute(Object parameter) at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated) at System.Windows.Controls.Primitives.ButtonBase.OnClick() at System.Windows.Controls.Button.OnClick() at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e) at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e) at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget) at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target) at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs) at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent) at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e) at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget) at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target) at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs) at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args) at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args) at System.Windows.Input.InputManager.ProcessStagingArea() at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input) at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport) at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel) at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled) at System.Windows.Interop.HwndSource.InputFilterMessage(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.Threading.Dispatcher.PushFrame(DispatcherFrame frame) at System.Windows.Threading.Dispatcher.Run() at System.Windows.Application.RunDispatcher(Object ignore) at System.Windows.Application.RunInternal(Window window) at System.Windows.Application.Run() at View.App.Main() ClientConnectionId:c77a976f-03d9-456a-9fe7-3a816dc462f6 Error Number:-2,State:0,Class:11
`

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions