Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

NoClassDefFoundError on QueryTableWrapper

Community Beginner ,
Dec 23, 2009 Dec 23, 2009

Good afternoon,

We have a strange error that's appearing on one of two load balanced servers which seems to have started a few days ago. The error is:

java.lang.NoClassDefFoundError: coldfusion/runtime/QueryTableWrapper
   (Followed by a rather large stack trace)

It seems to me that this is happening whenever we try to query the database. Only some pages exhibit this error.Our immediate solution is to remove the server from the load balancing and investgate more closely after the holiday weekend. But in the meantime, can anyone give me a clue as to which file or files might be worth investigating?

My gut tells me that there's either a missing file or some sort of corruption. I can't see that the Classpath has changed at all. And why would it? It's a production server. I've compared the settings between the two servers and they are identical as far as I can see.

Does anyone have any input on what this might be? How to isolate what the problem might be? We're running CF 8 on Windows (Not sure what version). Restarting CF doesn't change anything. Rebooting the server doesn't either. So my next theory is there's something with the files on disk.

Thanks,

--Joel

1.7K
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Dec 24, 2009 Dec 24, 2009

Are the disks with the CF install on them local to the server, or on some manner of network storage?

It certainly sounds like the CF server is losing the plot as to where its files are, but I've never seen this happening before.

Have you checked your cfusion.jar file to make sure it's not been munged?

--

Adam

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Dec 24, 2009 Dec 24, 2009

Adam,

The disks are local as far as I know. I agree that the server was unable to find the proper file(s), which was my initial guess: that maybe the classpath was lost/changed/corrupted.

What I can say is that my sysadmin was able to recover things by (eventually) copying the config files from the working server to the bad server. That indicates to me that the bad server may have had it's config corrupted. Not having been there, I can't say the exact steps he took, but I wouldn't be surprised if this error manifests again in some other "spooky" behavior.

As far as I know, he didn't modify any .jar files.Only configuration. My next guess would have been to start a file-by-file comparison of the core ColdFusion directory.

Thanks for the input.

--Joel

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Valorous Hero ,
Dec 24, 2009 Dec 24, 2009
LATEST

The disks are local as far as I know. I agree that the

server was unable to find the proper file(s), which was my

initial guess: that maybe the classpath was

lost/changed/corrupted.

I am not sure what the problem was, but keep in mind there is a difference between ClassNotFoundException and NoClassDefFoundError. I made that mistake on one occasion and ended up chasing my tail for a while before I realized the error was different than I was thinking.

NoClassDefFoundError's do not always mean that the class was not found. But often that the definition was not found. As I understand it, it is the class loader's way of saying it was passed some object it cannot reliably identify. It could be anything from having two version of the same jar in the classpath (ie there is ambiguity) or even passing one class loader an object created by a different class loader.

Since QueryTableWrapper seems to be an internal CF class, I am not sure if that applies here. But it is something to keep in mind if you ever encounter that error again in the future.

HTH

-Leigh

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources