While it seemed like hours to the client, only a few minutes had passed, as the Data Detective pondered over the entries of a QBWin.log. Within the log itself, a single second of time had elapsed between the intended event and the dreaded “Unrecoverable Error – QuickBooks has encountered a problem and needs to close.” Yes just one second had ticked by; how precious is the life of a QuickBooks file, only to die so quickly. Well perhaps not dead, dead, but at least down-n-out until the next re-start.
While duplicating an Estimate this client always had QuickBooks 2014 crash. The QuickBooks Unrecoverable Error message listed code # 15013 75408, but this code was not to be found within the QuickBooks technical support site, so what is a sleuth to do? Well put your ‘little gray cells’ to work of course, because everyone knows the axiom of real detective work, coined by the master, Sherlock Holmes himself, “When you have eliminated the impossible, whatever remains, however improbable, must be the truth.”1
As we can see from the excerpt of the QBWin.log (shown in figure 2 of this article) at 08:28:06 the ‘duplicate Estimate’ was in fact created, but as it happens one second later, the last two words of the QBWin.log entry immediately prior to the LVL_ERROR ‘crash’ give us an important clue of the cause. That clue is: "SmartVault│Refresh".
Our old sleuth’s preliminary deduction is that the QuickBooks Unrecoverable Error stemmed from the SmartVault related SDK event that took place after the Estimate was duplicated. In order to test this theory, the Data Detective devises two experiments to confirm his deduction. While SmartVault maybe the source of this problem, the real culprit more likely rests within the SDK being used between SmartVault and QuickBooks. Prior to performing these experiments, we should review what ‘SmartVault’ is, and also what the 'SDK' is.
SmartVault describes itself as a ‘single solution for easily storing and sharing your files securely in the cloud.’2 SmartVault is an excellent product that allows you to store information associated with your QuickBooks list and transaction data (similar to the attached document feature') but providing access outside of QuickBooks. While that may seem simple enough, the technical sides of achieving that begins deep within QuickBooks when you integrate SmartVault. The SmartVault integrated tool bar within QuickBooks makes it easy to scan and attach files, but it also increases the complexity of how the two products relate to one another via the SDK. And all SDK based software solutions are subject to potential incompatibilities.
The SDK (software development kit)3 is a programming interface that is used to develop add-on programs for QuickBooks. The SDK is supposed to provide a secure and consistent framework for reading and writing data to QuickBooks to ensure data integrity by forcing SDK applications to communicate with the QuickBooks application rather than reading and writing directly to the QuickBooks database. This approach is relatively cumbersome and it means that major changes to the QuickBooks application may result in third-party programs (using an older SDK) becoming a source of application errors if they are not immediately brought up to speed in terms of integration requirements. However another problem is that Intuit hardly ever keeps the SDK timely, in some cases the SDK can be many months behind the newest product line.
With that brief understanding of SmartVault and the SDK behind him (and us), our Data Detective has conjured up a plan to diagnose if the problem is a result of a Company-file error, a QuickBooks application error, or a problem with SmartVault and the SDK, using two simple experiments.
The first experiment involves opening a sample company file to see if the same error occurs when duplicating an Estimate. Because SmartVault should not be linked to the sample company file, there shouldn’t be any SmartVault/SDK related activity during the test. If the Estimate duplicates in the sample file without issue, the Data Detective will immediately know that the culprit isn’t the QuickBooks application, but rather the problem lies with either SmartVault and the SDK, or the client’s Company File. On the other hand, if QuickBooks crashes using the sample file, the most likely cause will be either a bad QuickBooks installation, or a QuickBooks programming ‘bug’.
The second experiment begins by re-opening the client’s Company File, then temporarily disabling SmartVault within the Integrated Applications settings of the Company File Preferences. If the client can then duplicate the Estimate without QuickBooks crashing, our old sleuth can be almost 100% positive that this is a case of SmartVault and the SDK interacting improperly during the Duplicate Estimate process.
Sure enough, during experiment one, everything went normal; and experiment two yielded normal results as well. SmartVault and the SDK are the culprits in this case. Our Data Detective has solved this case, but he also knows that if the 1st experiment had yielded normal results, while the 2nd experiment had failed, then the most likely source of the problem would have been the client’s Company file. This is how 'differential deduction' works, "either/or", "either/or", "either/or" until finally only one answer exists.
While this client’s problem existed between the way SmartVault interacted through the SDK with QuickBooks, any number of other SDK-based applications might have produced the same problem. A little research shows there have been similar problems with various SDK versions in the past, and the fact that this client was using the newest version and release of QuickBooks tends to indicate that this maybe a problem with the SDK lagging behind the QuickBooks product offerings. Those are questions best left to the developers of both products, not the Data Detective. As for the client, they turned-off Smart-vault in this file, at least for purposes of duplicating Estimates.
This case also shows that even without research materials being available, or an error-code being on-file at the QuickBooks Technical Support website, identification of the problem came down to simple deductions via experimentation, which are always the tools of a good Data Detective. After all, knowing how to differentiate QuickBooks problems using simple experiments makes Data Detective work “elementary My Dear Watson.”
Now our Data Detective can get on to more important cases, like "what's for supper?"
1- Sherlock Holmes and The Sign of the Four (aka: The Sign of Four), 1890, Sir Arthur Conan Doyle, Lippincott's Monthly Magazine, Spencer Blackett
2- SmartVault is a product of SmartVault Corporation, Houston Texas.
QuickBooks and the QuickBooks SDK(3) are products of Intuit, Mountain View, California.