locked
Ntfs_57_(2)_The system failed to flush data to the transaction log. Corruption may occur.

    Question

  • Hi All,

    We have a volume management product on Win2k8 R2, in which we are moving a volume state from RW online to Offline state.

    There was some IO operation performed on the volume before the volume state was moved to Offline state.

     

    We executed the following steps to move the volume from RW to Offline state :- 

    1. Get a handle to the volume

    2. Flush the volume (NtFlushBuffersFile)

    3. Lock the volume (FSCTL_LOCK_VOLUME)

    4. Dismount the volume (FSCTL_DISMOUNT_VOLUME)

    5. Move the state of the volume to RO state (IOCTL_VOLUME_OFFLINE)

    6. Unlock the volume (FSCTL_UNLOCK_VOLUME)

     

    But after moving the volume to offline state, intermittently we getting the following 2 NTFS event viewer messages:-

    Ntfs 57 (2) The system failed to flush data to the transaction log. Corruption may occur.

    Ntfs 137 (2) The default transaction resource manager on volume D: encountered a non-retryable error and could not start.  The data contains the error code.

     

    Can you please suggest, if we are missing any steps before marking the volume offline because of which NTFS resource manager (TxF)is generating the error message ? 

     

    Thanks in advance,

    -Vipul.

    Friday, March 25, 2011 9:50 AM

Answers

  • It would be best to configure the sources as 0xFF in the registry for right now. One thing you should make sure of is that the tracefmt.exe file you are using matches your processor architecture. Both the x86 and x64 versions are shipped with the Windows SDK.

    Monday, April 04, 2011 6:43 PM
    Moderator

All replies

  • Hi Vipul,

    Would you be able to gather some tracing data for this?

    http://support.microsoft.com/kb/926099/en-us

    The following KB article also indicates a similiar issue:

    http://support.microsoft.com/kb/931266

    Thanks
    Dustin

    Saturday, March 26, 2011 1:32 AM
    Moderator
  • Hi Dustin,

    I went through the KB article related to NTFS error 57. But in our case we are not briefly taken the volume offline after the volume arrival pnp event.
    Infact , we are getting the NTFS error after taking the volume offline.

    As directed, i had enabled the MSDTC logging for all the sources with level 1 & for some sources with level 4 (TRACE_KTMRM , etc..)
    I have uploaded the logs at the following location :-
    http://cid-76ed00295e216369.office.live.com/self.aspx/.Documents/Msdtc.zip

    It will be really kind of you if you can analyze the logs and give further direction for troubleshooting.

    Regards,
    -Vipul.

    Wednesday, March 30, 2011 6:13 AM
  • Hi Vipul,

    None of the log files had anything interesting in them. Each log file was either empty or had only the following:

    TRANSACTION_MANAGER_STARTED_2
    TRACE_SETTINGS
    TRACING_STOPPED
    CHECKPOINTING_STOPPED
    TRACE_SETTINGS
    TRANSACTION_MANAGER_STOPPED

    Did you shut down the DTC service after reproducing the error so it flushed the logs? I noticed dtctrace.log has no events in it. Also the msdtcvtr.bat file included in your zip had unreadable characters at the end of it that prevented it from working. Maybe there was a problem with the zip?

    Wednesday, March 30, 2011 6:56 PM
    Moderator
  • Thanks Dustin for taking a look at the log files. 

    Following are the things that i have tried :-
    1. I had restarted the DTC service before reproducing the problem but had made sure that the msdtc service was running.
    2. I verified the msdtcvtr.bat on the test machine, but it is containing the extra spaces as you mention at the end of the file.
    3. I tried to parse the log file using the steps mentioned in the following article :-
    http://blogs.msdn.com/b/distributedservices/archive/2009/02/07/the-hidden-tool-msdtc-transaction-tracing.aspx#comments
    but there is an error in errortrace.txt  saying :- "Cannot open logfile for reading". (i made sure to stop & start a new session and use the previous session trace file)

    Dustin, i have a doubt :-
    For now, to capture a new set of logs on the test setup , i have just set the tracing option using comexp.msc & no registry setting. Should this be fine ?

    Regards,
    -Vipul.

    Monday, April 04, 2011 9:46 AM
  • It would be best to configure the sources as 0xFF in the registry for right now. One thing you should make sure of is that the tracefmt.exe file you are using matches your processor architecture. Both the x86 and x64 versions are shipped with the Windows SDK.

    Monday, April 04, 2011 6:43 PM
    Moderator
  • Thanks a lot Dustin for the followup & prompt replies on the forum.
    For now, we have taken up the case with msdn support. ( REG:111041247690201 )

    Regards,
    -Vipul.

    Wednesday, April 20, 2011 1:49 PM
  • Hi Vipul,

    Has your issue been solved by the msdn support? Can we go ahead and close this thread?

    Thanks,


    Rafael Barcelos - SDET Transactions/Agreements Team
    Tuesday, April 26, 2011 1:00 AM
    Moderator
  • is it possible to list step instructions to perform this, is there a utility or CLI ??
    Monday, September 24, 2012 12:18 AM