R6025 Pure Virtual Function Call

phoenixavatar (5 posts)
March 4, 2013 01:15 AM
Accepted Answer

Dear all,

 We encountered the following error message with adtempus ver2.0.4.

Microsoft Visual C++ Runtime Library. Runtime Error! Program: ...rogram Files\Arcana Development\adTempus\adtempussrv.exe. R6025 - pure virtual function call.

Our regular ERP jobs were not started because of this error and closing the error message didn't help. In the end, we restarted the server and the situation is normal again.

What is the possible cause the issue? There is a KB from Microsoft regarding this issue (KB125749), the cause is adtempus indirectly calls a pure virtual member function in a context where a call to the function is not valid.

Anyone with the similar experience can share what is the cause and how to prevent this?

Thanks,

Chandra Chen Weici

Bill Staff (604 posts)
March 4, 2013 05:19 AM
Accepted Answer

This would be caused by a bug in adTempus, but it would be difficult to track down unless the problem returns in a way that demonstrates a pattern. If it occurs again, restarting the adTempus service should get adTempus running normally again; there is no need to restart the entire server.

I suggest you update to version 2.1, which is a free update from your version. It's possible that the underlying issue has been addressed there. If not, we are no longer making fixes for adTempus 2.x, so if the issue returns you would need to upgrade to version 3 or to the upcoming version 4.

phoenixavatar (5 posts)
March 4, 2013 09:00 PM
Accepted Answer

Hi Bill,

thank you, we will consider upgrading the version at least to 2.1. We see there is a major upgrade for ver 3, but for ver2.1, can we just download and install it on current 2.0.4? Is there any preparation needed or roll-back function just in case something happened?

The other incident (at my other post) "connection between the server and console has broken" happened about 2 days before this Pure Virtual Function Call incident. In between this two incidents, we upgraded our server RAM  from 2Gb to 4Gb.

Other symptoms that we can see, in windows taskmgr, the page faults for adtempussvr.exe is very high. It can reach 3.8Gb when the pure virtual function call incident happened, which made us to restart the whole server.

Thanks,

Chandra Chen Weici

phoenixavatar (5 posts)
March 5, 2013 02:11 AM
Accepted Answer

Hi,

The other thing that cross my mind is whether adtempus has different (so called enterprise edition) version to handle many jobs? Our current adtempus is handling around 120 jobs, is it too many for adtempus?

Thank you,

Chandra Chen Weici

Bill Staff (604 posts)
March 5, 2013 06:09 AM
Accepted Answer

You can just install version 2.1 over your current version. It is not a complicated update, but you can make a backup of your database if you want to be safe.

Page faults are not measured in GB. Are you looking at page faults or at memory usage? If you mean memory usage, then there is definitely a problem if adTempus is using that much memory. If it's page faults, then that number is only meaningful in comparison to how long adTempus has been running, and probably does not indicate a problem.

If you are still using the original Microsoft Access database for adTempus, you need to convert to SQL Server express, as discussed here.

adTempus can handle 120 jobs fine, though there have been many improvements and fixes since the version you are using.

phoenixavatar (5 posts)
March 8, 2013 07:52 PM
Accepted Answer

Hi Bill,

thank you. We are now preparing the upgrade in our test environment.

For memory, the ADtempusSrv.exe still in the stable size. It uses around 40,000K in taskmgr. The thing that eats up memory is the sqlservr.exe. It takes in average 1,500,000K.

There is a repeated message in SQL logs ""This SQL Server has been optimized for 8 concurrent queries. This limit hasbeen exceeded by x queries and performance may be adversely affected." This message occurs even before our last week adtempus issue (lost connection issue).

We are using personal edition SQL which has above limitation. We will look into this after the upgrade to 2.1. But do you or any one have any comment before?

Bill Staff (604 posts)
March 11, 2013 06:31 AM
Accepted Answer

SQL Server will often grab most of the free memory on the system but this is not a problem because it gives it back when it is needed by other processes. See this article for more information.

Regarding the database performance messages, you could upgrade your MSDE installation to a newer version of SQL Server Express--the newer versions have fewer performance restrictions and higher database size limits. adTempus 3.x uses SQL Server 2005 Express and will upgrade the software and migrate the database for you.

If you want to stay with 2.x, you would have to perform the upgrade manually. MSDE cannot be directly upgraded to SQL Server Express, however. To do this you have to:

  1. Detach the adTempus database from MSDE
  2. Uninstall MSDE
  3. Install SQL Server Express using instance name "adTempus"
  4. Attach the adTempus database in SQL Server Express

Replies are disabled for this topic.