Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Error R6025 - Pure virtual function call

Posted on 2003-10-30
19
Medium Priority
?
1,678 Views
Last Modified: 2013-11-15
I've a VB.net (2003) multithread application that's having a weird beahvior.
The program runs fine in a few PCs (W2000 SP4 1.1 Net Framework) but in one PC with the same setup sometimes non trappable VC++ message error is displayed, the error is R6025 - Pure virtual function call.
The strange thing is that the program doesn't stop respondig until you press the OK button on the error message, in other words, the program remains fully functionally, all threads are alive, speed processing is not affected, everything works fine but if you press the error's OK button, the programs cancels.
¿Any Idea?
PS: I've doublechecked my code and I never call a virtual function of an abstract class, but I've to mention that I use some COM componentes (via COM Interop)
0
Comment
Question by:dsuarezuy
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 11
  • 7
19 Comments
 
LVL 96

Expert Comment

by:Bob Learned
ID: 9653139
What COM component are you trying to use?
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 9653152
I found this article:

"R6025 - pure virtual function call" message when starting PowerPoint
http://www.rdpslides.com/pptfaq/FAQ00409.htm
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 9653167
This error usually comes from a Micro$oft library call.  It is a C++ Runtime error.
0
Veeam Task Manager for Hyper-V

Task Manager for Hyper-V provides critical information that allows you to monitor Hyper-V performance by displaying real-time views of CPU and memory at the individual VM-level, so you can quickly identify which VMs are using host resources.

 
LVL 96

Expert Comment

by:Bob Learned
ID: 9653176
I know this doesn't help, but may give some insight:

C Run-Time Error R6025
pure virtual function call
No object has been instantiated to handle the pure virtual function call. This error is caused by calling a virtual function in an abstract base class through a pointer that is created by a cast to the type of the derived class, but is actually a pointer to the base class. This can occur when casting from a void* to a pointer to a class when the void* was created during the construction of the base class.
0
 

Author Comment

by:dsuarezuy
ID: 9653274
The com components are:
XCeedFTP Library
XCeedCriptography Libary
I've asked XCeed an they didn't answer yet

I also use ADO.net to communicate to SQL Server 7.

As I said in the original message  I've doublechecked my code and I never call a virtual function of an abstract class.

Thanks.
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 9653295
Yes, I understand that your code doesn't call one, but that doesn't mean that it isn't called in something like an Operating System library.  Usually what I have experienced is an incorrectly registered DLL or the wrong version, but this error is never easy to find a solution to.
0
 

Author Comment

by:dsuarezuy
ID: 9653368
Thanks TheLearnedOne, I didn't want to be offensive. ¿What do you suggest? The PC cannot be reinstalled, it's located at a server farm and has all the fixes from Windows Update.
The thing that is so strange is that the program can run for hours if don't press the OK button of the error message.
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 9653410
How many threads would you say you are running?  What kind of processing are you doing in each thread?  It could indicate a failure in one of the threads, that doesn't affect the system until the Error message is closed, but I don't see how yet.
0
 

Author Comment

by:dsuarezuy
ID: 9653481
I create 28 threads but task manager always reports 37 threads. Each thread do a different work like polling a remote foder, connecting to an FTP server, processing database data, encrypting and decrypting data, generating compressed data, etc.
I've checked all threads since the error messeage appears and none of them stop responding, I left the message for a 2 days and nothing but some memory leaking (very small) seems to be strange.
Memory leaking could be the problem but I don't know why in other PCs it doesn't happen.
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 9653508
Trying to find something unique about 1 PC can be difficult.  Should all the systems be the same?

Troubleshooting multi-threaded applications is also very difficult.  You have to find a way to isolate what the offending thread is.  Sounds complicated with so many threads.

This is not an application error, so it can't be trapped to find the misbehaving thread.
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 9653545
Here is something I saw at Micro$oft:

Money: Cannot Open File After Installing Internet Explorer 4.0
http://support.microsoft.com/?kbid=175046

It talked about the Crytography provider and not being registered properly.  I noticed that you are using the XCeedCriptography library.  Just a wild guess.
0
 

Author Comment

by:dsuarezuy
ID: 9653554
TheLearnedOne, yes, you're right, isolating this behavior will be such a challange, before posting this thread I've tried lot of things trying to isolate the "corrupt" thread but as you see I had no success.
The Pc's are identical in software terms, not in hardware terms, It can be a hardware (memory) failure, but the server provider denies that cause.

I will keep testing things, wish me luck.
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 9653569
Are the threads interrelated?  Can you use one thread without others running?  Can you temporarily disable threads?
0
 

Author Comment

by:dsuarezuy
ID: 9653604
Yes, I can disable each thread, I'm testing that at this very moment but the posible combinations are a lot and It will take me lot of time.
0
 

Author Comment

by:dsuarezuy
ID: 9653607
Threads are not interrelated.
0
 
LVL 96

Accepted Solution

by:
Bob Learned earned 1000 total points
ID: 9653736
Good luck!!!!!  I tried everything that I could think of.  Might have something to do with COM interoperability, since the designers at XCeedSoft wouldn't normally test their controls on .NET.  They do have .NET components.  Does this not fit into your designs?
0
 

Author Comment

by:dsuarezuy
ID: 9716345
The problema was solved reinstalling ADO 2.8.

Thanks to all.
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 10232268
No comment has been added lately, so it's time to clean up this TA.
I will leave the following recommendation for this question in the Cleanup topic area:

Accept: TheLearnedOne {http:#9653736}

Please leave any comments here within the next seven days.
PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!

TheLearnedOne
EE Cleanup Volunteer
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Workplace bullying has increased with the use of email and social media. Retain evidence of this with email archiving to protect your employees.
This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
This tutorial will walk an individual through configuring a drive on a Windows Server 2008 to perform shadow copies in order to quickly recover deleted files and folders. Click on Start and then select Computer to view the available drives on the se…
This tutorial will walk an individual through setting the global and backup job media overwrite and protection periods in Backup Exec 2012. Log onto the Backup Exec Central Administration Server. Examine the services. If all or most of them are stop…

688 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question