- Joined
- Jul 5, 2022
- Messages
- 8
- Reaction score
- 1
Hi i have an issue with one of our 3cx v18 installations where scheduled backups are now failing due to the following error :
Manual backups also fail and just state that the backup failed due to one or more errors and thats the extent of the failed backup log.
We have attempted to purge call history as we found the same arror appear when navigating through the call logs and pass a certain date. This has still not resolved the issue as after purging call logs it is still bringing the same error on backups. Same error occurs when browsing recordings on the system to the same time frame which the error appears on 3cx Management console for the call locs that have now been purged.
Browsed to the local recordings which appear to be affected on the system via WinSCP and the recordings are downloadable and playable and does not appear to be corrupt.
Not sure if any one else has faced the same issue before and if they managed to find the cause there off.
Suspect it might be a drive issue or Data base corruption potentially how ever unable to confirm at this point in time.
Error Received.
Your 3CX backup failed due to the following reason(s):
System.AggregateException: One or more errors occurred. (NpgsqlTransaction) ---> System.ObjectDisposedException: NpgsqlTransaction ---> Npgsql.PostgresException (0x80004005): 58030: could not read block 4991 in file "base/16387/17310": Input/output error
at Npgsql.Internal.NpgsqlConnector.<ReadMessage>g__ReadMessageLong|233_0(NpgsqlConnector connector, Boolean async, DataRowLoadingMode dataRowLoadingMode, Boolean readingNotifications, Boolean isReadingPrependedMessage)
at Npgsql.NpgsqlRawCopyStream.ReadCore(Int32 count, Boolean async, CancellationToken cancellationToken)
at Npgsql.NpgsqlRawCopyStream.<>c__DisplayClass38_0.<<ReadAsync>g__ReadAsyncInternal|0>d.MoveNext()
--- End of stack trace from previous location ---
at System.IO.Stream.<CopyToAsync>g__Core|29_0(Stream source, Stream destination, Int32 bufferSize, CancellationToken cancellationToken)
at _3cxNetInterfaces.Implementation.Npgsql.NpgsqlDbOperation.BackupTableAsync(String fromTable, Stream outputStream, DbTransaction transactionObject)
Exception data:
Severity: ERROR
SqlState: 58030
MessageText: could not read block 4991 in file "base/16387/17310": Input/output error
File: md.c
Line: 810
Routine: mdread
--- End of inner exception stack trace ---
at Npgsql.NpgsqlTransaction.CheckDisposed()
at Npgsql.NpgsqlTransaction.get_Connection()
at _3cxNetInterfaces.Implementation.Npgsql.NpgsqlDbOperation.CommitAsync(DbTransaction transactionObject)
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at _3cxNetBackupAndRestore.BackupTasks.BaseDBTask.RunAll(BaseTask ignore)
Manual backups also fail and just state that the backup failed due to one or more errors and thats the extent of the failed backup log.
We have attempted to purge call history as we found the same arror appear when navigating through the call logs and pass a certain date. This has still not resolved the issue as after purging call logs it is still bringing the same error on backups. Same error occurs when browsing recordings on the system to the same time frame which the error appears on 3cx Management console for the call locs that have now been purged.
Browsed to the local recordings which appear to be affected on the system via WinSCP and the recordings are downloadable and playable and does not appear to be corrupt.
Not sure if any one else has faced the same issue before and if they managed to find the cause there off.
Suspect it might be a drive issue or Data base corruption potentially how ever unable to confirm at this point in time.
Error Received.
Your 3CX backup failed due to the following reason(s):
System.AggregateException: One or more errors occurred. (NpgsqlTransaction) ---> System.ObjectDisposedException: NpgsqlTransaction ---> Npgsql.PostgresException (0x80004005): 58030: could not read block 4991 in file "base/16387/17310": Input/output error
at Npgsql.Internal.NpgsqlConnector.<ReadMessage>g__ReadMessageLong|233_0(NpgsqlConnector connector, Boolean async, DataRowLoadingMode dataRowLoadingMode, Boolean readingNotifications, Boolean isReadingPrependedMessage)
at Npgsql.NpgsqlRawCopyStream.ReadCore(Int32 count, Boolean async, CancellationToken cancellationToken)
at Npgsql.NpgsqlRawCopyStream.<>c__DisplayClass38_0.<<ReadAsync>g__ReadAsyncInternal|0>d.MoveNext()
--- End of stack trace from previous location ---
at System.IO.Stream.<CopyToAsync>g__Core|29_0(Stream source, Stream destination, Int32 bufferSize, CancellationToken cancellationToken)
at _3cxNetInterfaces.Implementation.Npgsql.NpgsqlDbOperation.BackupTableAsync(String fromTable, Stream outputStream, DbTransaction transactionObject)
Exception data:
Severity: ERROR
SqlState: 58030
MessageText: could not read block 4991 in file "base/16387/17310": Input/output error
File: md.c
Line: 810
Routine: mdread
--- End of inner exception stack trace ---
at Npgsql.NpgsqlTransaction.CheckDisposed()
at Npgsql.NpgsqlTransaction.get_Connection()
at _3cxNetInterfaces.Implementation.Npgsql.NpgsqlDbOperation.CommitAsync(DbTransaction transactionObject)
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at _3cxNetBackupAndRestore.BackupTasks.BaseDBTask.RunAll(BaseTask ignore)