Overview: Error Messages
The following are common error messages and solutions to the problems.
For more troubleshooting information, see Basic eoStar Troubleshooting.
A deadlock is a database error where typically two people are updating a single record at the same time, and typically results in some form of error occurring. A deadlock is different from Concurrency Issues due to the fact that a deadlock happens on a database level, while concurrency locks happen on an eoStar functionality level. For more information on Concurrency issues, see Concurrency Manager.
The main problems that occur in a Deadlock issue are:
- Lost updates - the actual updates performed on the record are lost. This happens when two or more transactions select the same data and update it simultaneously, thus resulting in the last update overwriting the other transaction's updates.
- Uncommitted Dependency (Dirty Read) - This occurs when changes are undone on data that has already been distributed - thus resulting in falsely updated data on the database, but only for users viewing the pre-changed data. Typically this happens when changes are made, and then rolled back after another user have began to view the changes.
- Inconsistent Analysis (Non-repeatable Read) - This is when the same data is access multiple times, yet shows a different value each time. The value is non-repeatable due to the fact that each change makes it impossible to see the value it was before.
- Phantom Reads - Phantom Reads are when data is deleted from a row read by an application at the time. The application will read the data as being there, even if subsequent reads displays the data as deleted.
- Missing and Double Reads Caused by Row Updates - A update on a data within a row in a table causes missing or duplicate data in the read by an application.
Deadlock errors will result in an error message being displayed. Typically this message is "Server busy... try later". The best way to correct the deadlock error, is to refresh then run the changes to the data again.
Timeout issues are similar to deadlocks in that they are a database error. Timeouts typically occur when two or more users are updating data, and one will cause a timeout on the other. This means that the system will try to run the changes but be un-able to, and therefore will continue to try for a specific set of time. Once this time has run out, a timeout error message will appear. The best way to correct the timeout errors, is to refresh, then run the changes to the data again. Sometimes if this does not fix the issue, a force close is required - Contact Rutherford Support.
Beta Version Error Message
The following messages are displayed if the mainline branch is used in the application (not the releases branch). The messages are displayed on the main screen and the database connections popup.
The flag that governs the display is right at the top of MGD.cs (IsBetaVersion) it should be changed to false when we actually move a mainline version to releases.
Connection Failed Error Messages
The following error messages may appear when connecting to a database.
This message appears if the server is down. Double check that the server is on and that the database has not been moved to a new server.
This message appears when connections to the .net framework have failed. Check the .net version on the workstation.
Constraint CK Orders 7 - Applying too Much to an Invoice
The following message will appear in the log entry if too many payments are applied to an invoice. Remember that it is impossible to apply more money to an invoice than the invoice total.
Constraint CK_Orders_7: (case when (NeedsDeliveryConfirmation=0 OR DeliveredDate IS NOT NULL) AND IsVoided=0 AND coalesce(case when IsCharge=0 AND FromDistributorNid IS NOT NULL then 0 else LegacyBalance end,((((((((((TotalSale+TotalDepositCollected)-TotalDepositCredited)-TotalDisc)-TotalRefunded)-TotalWaste)-DiscountAmt)+TotalFreight)+TotalDeliveryCharge)+ TotalUnitFreight)+TotalUnitDeliveryCharge)+SalesTax)>0 then coalesce(case when IsCharge=0 AND FromDistributorNid IS NOT NULL then 0 else LegacyBalance end,((((((((((TotalSale+TotalDepositCollected)-TotalDepositCredited)-TotalDisc)-TotalRefunded)-TotalWaste)-DiscountAmt)+TotalFreight)+TotalDeliveryCharge)+ TotalUnitFreight)+TotalUnitDeliveryCharge)+SalesTax)-TotalPaidOff else 0 end>=0)
This error occurs when an entry did not trigger all the changes correctly when a payment is applied to an invoice.
This should be corrected within eoStar by removing the apply lines from the invoice using AR>Adjustments. For information on how to void the payments, see
Then re-apply the payments again through AR>Apply Open Credits screen.