Критическая ошибка (при запуске программы)



  • Здравствуйте. Помогите, пожалуйста, разобраться со следующей проблемой. Как ни в чем не бывало запускаю х2н и после загрузочного окна получаю ошибку. Скрин и описание ошибки ниже:
    0_1617986977057_скрин_ошибки.png
    System.AggregateException: При ожидании задачи или доступе к ее свойству исключения не были замечены исключения задачи. В результате незамеченные исключения были созданы повторно потоком завершения. ---> Hand2NoteCore.Common.LoadingBaseStatsException: Failed to load players base stats(Vpip, pfr etc.) from database. ---> Npgsql.PostgresException: XX001: invalid page in block 27 of relation base/16385/16419
    в Npgsql.NpgsqlConnector.<DoReadMessage>d__148.MoveNext()
    --- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
    в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    в System.Runtime.CompilerServices.ValueTaskAwaiter1.GetResult() в Npgsql.NpgsqlConnector.<ReadMessage>d__147.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в Npgsql.NpgsqlConnector.<ReadMessage>d__147.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в System.Runtime.CompilerServices.ValueTaskAwaiter1.GetResult()
    в Npgsql.NpgsqlDataReader.<Read>d__28.MoveNext()
    --- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
    в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    в Npgsql.NpgsqlDataReader.Read()
    в Hand2NoteCore.Database.PlayersBaseStatsRepository.Load()
    --- Конец трассировки внутреннего стека исключений ---
    в Hand2NoteCore.Database.PlayersBaseStatsRepository.Load()
    в System.Threading.Tasks.Task.Execute()
    --- Конец трассировки внутреннего стека исключений ---
    ---> (Внутреннее исключение #0) Hand2NoteCore.Common.LoadingBaseStatsException: Failed to load players base stats(Vpip, pfr etc.) from database. ---> Npgsql.PostgresException: XX001: invalid page in block 27 of relation base/16385/16419
    в Npgsql.NpgsqlConnector.<DoReadMessage>d__148.MoveNext()
    --- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
    в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    в System.Runtime.CompilerServices.ValueTaskAwaiter1.GetResult() в Npgsql.NpgsqlConnector.<ReadMessage>d__147.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в Npgsql.NpgsqlConnector.<ReadMessage>d__147.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в System.Runtime.CompilerServices.ValueTaskAwaiter1.GetResult()
    в Npgsql.NpgsqlDataReader.<Read>d__28.MoveNext()
    --- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
    в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    в Npgsql.NpgsqlDataReader.Read()
    в Hand2NoteCore.Database.PlayersBaseStatsRepository.Load()
    --- Конец трассировки внутреннего стека исключений ---
    в Hand2NoteCore.Database.PlayersBaseStatsRepository.Load()
    в System.Threading.Tasks.Task.Execute()<---

    Inner exception
    Hand2NoteCore.Common.LoadingBaseStatsException: Failed to load players base stats(Vpip, pfr etc.) from database. ---> Npgsql.PostgresException: XX001: invalid page in block 27 of relation base/16385/16419
    в Npgsql.NpgsqlConnector.<DoReadMessage>d__148.MoveNext()
    --- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
    в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    в System.Runtime.CompilerServices.ValueTaskAwaiter1.GetResult() в Npgsql.NpgsqlConnector.<ReadMessage>d__147.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в Npgsql.NpgsqlConnector.<ReadMessage>d__147.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в System.Runtime.CompilerServices.ValueTaskAwaiter1.GetResult()
    в Npgsql.NpgsqlDataReader.<Read>d__28.MoveNext()
    --- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
    в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    в Npgsql.NpgsqlDataReader.Read()
    в Hand2NoteCore.Database.PlayersBaseStatsRepository.Load()
    --- Конец трассировки внутреннего стека исключений ---
    в Hand2NoteCore.Database.PlayersBaseStatsRepository.Load()
    в System.Threading.Tasks.Task.Execute()



  • Особенно интересны причины такой ошибки, дабы избежать ее в будущем. Вся база у меня стоит на внешнем SSD диске, а еще и Windows на маке через BootCamp. Пишут, что нужно удалить файл dbserver.cg. Пока что не пробовал. Хочу понять в чем проблема, т.к. в будущем не хочется потерять базу ненароком



  • Вероятнее всего повреждаются файлы программы. Чтобы этого избежать, старайтесь закрывать программу корректно, дожидаясь, пока она сама закроется, а не закрывать принудительно.



  • Помогло удаление файла dbserver.cg вместе с базой h2ndb и повтроная ее инициализация



Похоже, подключение к Hand2Note было разорвано, подождите, пока мы пытаемся восстановить соединение.