Callback Library JCB.DLL when using Eseutil RRS feed

  • Question


    Using Exchange Server 2003 SP2


    I am trying to offline defrag the exchange database and i keep received the error that it cannot find the callback library jcb.dll (or one of its dependicies) copy the file and click ok or cancel to exit.


    Cancel does me no good... since it does not finish the defrag process.


    I have copied the file and its dependicies from the Exchange Server CD... same error.


    Copied the database and files needed to defrag to a seperate location... same error.


    Turned off all antivirus...same error.


    Next option is uninstalling and reinstalling Service Pack 2 unless someone has a better idea.


    Any suggestions  would be greatly appreciated.



    Tuesday, November 20, 2007 4:46 PM

All replies

  • I've had the same problem over the last couple of days and found none of the solutions online have worked.

    I finally managed to get it run today as I searched the exchange server for jcb.dll and it bought up a second one in the Symantec folder.  I gave it a try instead of the original (copied from the bin folder, as I'm performing on another computer) and it worked fine with the process explorer confirming that the jcb.dll had in fact loaded.

    Not sure what impact, if any, this should have on the whole process, but it's not majorly critical at the moment as I'm running it on a test DB.  If anyone knows why this could be wrong, could you please reply.

    Monday, December 14, 2009 7:43 PM
  • Perhaps this can help:

    eseuitl jcb.dll callback error MS fix doesn't help

    Se Paul's recommendation with Exchange Best Practices Analyzer and
    /3GB /USERVA 3030 is not set in the Boot.ini file

    The reason I think this does make sense, is that this is the recommended setting in the boot.ini file.

    Se also: eseutil defrags fail with JCB.DLL error

    (The MS fix for Exchange 2000: XADM: Error With Jcb.dll While Running Eseutil

    MCTS: Messaging | MCSE: S+M | Small Business Specialist
    Monday, December 14, 2009 8:30 PM

  • Hi Jon,

    I tried the BPA and it did throw up a couple of errors with page file and the heapdecommit..... but no /3GB /USERVA3030 error.   Corrected those but no difference.  Thing is, these don't change any of the dlls that need to be copied to the other computer to run the util so I can't see how it would stop the error.

    However, since using the other jcb.dll it's still running (20%) so fingers crossed!!

    Monday, December 14, 2009 8:53 PM

  • I've just hit 92% and it's terminated.  The error message is:

    "Operation terminated with error -2101 (JET_errCallbackFailed, A callback failed) after 162266.543 seconds)

    Not really sure what else to try as most options have been exhausted.  Any ideas would be greatly appreciated.

    • Proposed as answer by pw2010 Thursday, December 31, 2009 6:25 PM
    Wednesday, December 16, 2009 2:17 AM
  • See if this helps anyone.

    I have SBS2003, Exchange SP2, and increased the storage size limit from the original to 18GB.

    I have the live priv1.edb (12GB) file on E: drive.

    As a safe step, I copied the live copy priv1.edb file to F: drive with TeraCopy (becasue
    xcopy, copy and robocopy all failed this year) first.

    E: is internal hard drive (lots of space: 1.8TB)
    F: is USB external drive (with 170GB space left).

    As a yearend process, I tried yesterday to defrag the live copy:
           *  ran from c:\program files\exchsrvr\bin\
                            eseutil /d  e:\priv1.edb, failed with jcb.dll error.
           *  copied all dlls, and eseutil.exe from C: to E: drive, and ran from E: drive, same error
              (it worked last year, no problem, the size was larger then, 15GB)
           *  Even with jcb.dll and other dlls extracted from Exchange2003 SP2 download, still failed.

    Then I tried on saved copy on F:drive.
    I used eseutil.exe and other dlls from extraction of SP2. it worked.

    I had not changed the system except regular updates and changed the Exchange storage size
    in registry. Have not figured out why it worked yet. (is original eseutil.exe corrupted ?)

    I came across this hotfix download from MS to fix eseutil.exe.


    It says it will update the system. I hesitated to try yet.

    If anyone had tried this fix successfully, please post, much appreciated.

    Thursday, December 31, 2009 6:55 PM
  • I have performed and Exchange defrag process twice now on two seperate networks each running Exchange 2003. In both cases I got the same jcp.dll error. The first round I downloaded the hotfix referenced above: http://support.microsoft.com/kb/946111/en-us and I was finally successful. I am in the process of hoping this same patch corrects my issue once more.

    The material at that links makes reference to a new trigger from this patch. In my case the new triggger syntax never took and after wasting time attempting various iterations, I gave up and ran the exact command as first provided for an exchange defrag, and that was successful. My assumption is that if nothing else the hotfix copies into the system the files that are required, presumably a version of eseutil that can handle 4GB of memory.

    Saturday, June 9, 2012 3:41 AM
  • Regarding the JCB.dll error prior to the 6.5.7651.51 version, the eseutil.exe did not limit the maximum cache size so when JCB.DLL initializes exchmem, it does an undirected initialization which can take hundreds of megabytes of memory. More specifically, this consumes space at once on an average machine, sometimes more. This can cause address space exhaustion. When the address space is exhausted, the defragment will fail.

    I have seen this resolved by

    1. adding the /3GB switch within the boot.ini
    2. The other resolution was to to rebuild your pagefile, I know sounds weird but i have seen this be the direct cause of the issue and could be caused by a problem with the file itself and rebuilding it helps, or the location of the pagefile or the size of the pagefile.  I would recommend that the pagefile is placed not on the OS root drive and make it 1.5 x physical memory

    Troy Werelius
    Search, Recover, & Extract Mailboxes, Folders, & Email Items from Offline EDB's and Live Exchange Servers with Lucid8's DigiScope

    Saturday, June 9, 2012 8:50 PM
  • ou might like to give it a try,


    This helped me and many others.

    Rajeev Sharma




    Sunday, December 23, 2012 2:29 AM