none
.net 4.5.2 crashes only in 64 bit mode RRS feed

  • Question

  • When AppPool is set to disallow 32 bit applications it crashes rapidly.

    Once every minute or so.

    I did collect a minidump, do i just attach it here or i need to submit a special ticket with Microsoft.

    All i could get from the dump is KERNELBASE!RaiseException+68 caused CLR exception.

    Thank you!

     

    Tuesday, April 21, 2015 6:17 AM

Answers

  • No, a dump is a process dump created by the api MiniDumpWriteDump... I see the confusion :-)

    The MiniDumpWriteDump dump file can either contain minimal information, or the full process heap, handle info and more depending on how you call it. Technically both are 'mini dumps'. In common parlance, a full dump is a MiniDumpWriteDump dump with heap (.dump -ma) and a regular old mini dump is a MiniDumpWriteDump without heap.

    For managed analysis, you have to include the heap else the SOS extensions are useless and all you'll see are the thread callstacks with kn.

    The takeway is always use -ma in .dump or procdump when dumping managed processes for post-mortem crash analysis. Then you can load SOS and use !PrintException, !ClrStack, !DumpHeap, etc.

    Sorry if I confused you!

    Thursday, April 23, 2015 11:34 PM

All replies

  • You'll need to create a support case @ http://support.microsoft.com for dump analysis. Also, minidumps are generally not very useful for managed issues as they don't contain the managed heap. Full dumps will be required for anything beyond seeing the callstacks at the time of the crash.

    Tuesday, April 21, 2015 11:15 PM
  • Hi MikeKa,

    Does it throw any exception?  If yes, could you post here or show us your screen shot?

    Based on your title ”net 4.5.2 crashes only in 64 bit mode“,Since application is built with AnyCPU,X86,X64.  Do you mean when build application to 64bit mode  it crashes?

    >>When AppPool is set to disallow 32 bit applications it crashes rapidly.

    What is your AppPool? Why you cannot allow set 32 bit applications?

    Please be more specific about what your scenario is.  Thanks for your understanding.

    By the way, I have found some known issues about .net 4.5.2

    https://support.microsoft.com/en-us/kb/2962547

    From MSDN NET Blog about Moving to the .NET Framework 4.5.2

    I got something about support .NET Framework 4.5.2 as below,

    Beginning January 12, 2016 only .NET Framework 4.5.2 will continue receiving technical support and security updates.

    Best regards,

    Kristin


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.




    • Edited by Kristin Xie Wednesday, April 22, 2015 6:32 AM
    Wednesday, April 22, 2015 5:27 AM
  • Hi Steve
    Just for my information.
    So this only applies for native apps?
    https://msdn.microsoft.com/en-us/library/windows/hardware/ff545506(v=vs.85).aspx
    "Note   Despite their names, the largest "minidump" file actually contains more information than the full user-mode dump. For example, .dump /mf or .dump /ma will create a larger and more complete file than .dump /f.
    In user mode, .dump /m[MiniOptions] is the best choice. The dump files created with this switch can vary in size from very small to very large. By specifying the proper MiniOptions you can control exactly what information is included."

    With kind regards

    Wednesday, April 22, 2015 6:29 AM
  • Thank you Kristin,

    I was under impression if pool allows 32 bit applications, it runs in 32 bit mode and by disallowing 32bit applications we are forcing the pool to run in 64bit mode.

    Am i not correct?

    Wednesday, April 22, 2015 5:24 PM
  • No, a dump is a process dump created by the api MiniDumpWriteDump... I see the confusion :-)

    The MiniDumpWriteDump dump file can either contain minimal information, or the full process heap, handle info and more depending on how you call it. Technically both are 'mini dumps'. In common parlance, a full dump is a MiniDumpWriteDump dump with heap (.dump -ma) and a regular old mini dump is a MiniDumpWriteDump without heap.

    For managed analysis, you have to include the heap else the SOS extensions are useless and all you'll see are the thread callstacks with kn.

    The takeway is always use -ma in .dump or procdump when dumping managed processes for post-mortem crash analysis. Then you can load SOS and use !PrintException, !ClrStack, !DumpHeap, etc.

    Sorry if I confused you!

    Thursday, April 23, 2015 11:34 PM