System.ArgumentNullException, P10 NIL and proper dmp fie locations?

1.3k views Asked by At

We have an application that is written in .NET 3.5. This app works on all our systems except one (the one that we had hoped it would work :/), where it has the following error in EventViewer

========================

Event Type: Error
Event Source:   .NET Runtime 2.0 Error Reporting
Event Category: None
Event ID:   5000
Date:       1/28/2011
Time:       8:22:07 AM
User:       N/A
Computer:   MGx12-Production
Description:
EventType clr20r3, P1 Sync.exe, P2 1.0.0.0, P3 4d42d290, P4 mscorlib, P5 2.0.0.0, P6 492b834a, P7 df, P8 b, P9 system.argumentnullexception, P10 NIL.

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
Data:
0000: 63 00 6c 00 72 00 32 00   c.l.r.2.
0008: 30 00 72 00 33 00 2c 00   0.r.3.,.
0010: 20 00 73 00 63 00 72 00    .s.c.r.
0018: 65 00 65 00 6e 00 7e 00   e.e.n.~.
0020: 31 00 2e 00 73 00 63 00   1...s.c.
0028: 72 00 2c 00 20 00 31 00   r.,. .1.
0030: 2e 00 30 00 2e 00 30 00   ..0...0.
0038: 2e 00 30 00 2c 00 20 00   ..0.,. .
0040: 34 00 64 00 34 00 32 00   4.d.4.2.
0048: 64 00 32 00 39 00 30 00   d.2.9.0.
0050: 2c 00 20 00 6d 00 73 00   ,. .m.s.
0058: 63 00 6f 00 72 00 6c 00   c.o.r.l.
0060: 69 00 62 00 2c 00 20 00   i.b.,. .
0068: 32 00 2e 00 30 00 2e 00   2...0...
0070: 30 00 2e 00 30 00 2c 00   0...0.,.
0078: 20 00 34 00 39 00 32 00    .4.9.2.
0080: 62 00 38 00 33 00 34 00   b.8.3.4.
0088: 61 00 2c 00 20 00 64 00   a.,. .d.
0090: 66 00 2c 00 20 00 62 00   f.,. .b.
0098: 2c 00 20 00 73 00 79 00   ,. .s.y.
00a0: 73 00 74 00 65 00 6d 00   s.t.e.m.
00a8: 2e 00 61 00 72 00 67 00   ..a.r.g.
00b0: 75 00 6d 00 65 00 6e 00   u.m.e.n.
00b8: 74 00 6e 00 75 00 6c 00   t.n.u.l.
00c0: 6c 00 65 00 78 00 63 00   l.e.x.c.
00c8: 65 00 70 00 74 00 69 00   e.p.t.i.
00d0: 6f 00 6e 00 20 00 4e 00   o.n. .N.
00d8: 49 00 4c 00 0d 00 0a 00   I.L.....
================================================

As you can see, this error happens in mscorlib. I have tried to follow these instructions, but I don't seem to be able to find the proper dump file.

I should mention that the app runs fine when you run it on its own; it only fails when it is called by native windows container! So, the method mentioned above wont really work for me.

That said, I did install the windows debugging tool and I can see that in %TEMP% folder a dmp file gets created, which I had hoped I could use to debug and see what is causing the "nullpointer" in mscorlib. Unfortunately, this dmp file gets deleted a few seconds after it is created with no access to the file (i.e. no copy or renaming) while the file exists because it is being used by another program.

Does anyone know where the windows reporting tool keeps the dmp file? Where can i find a proper dmp file for this crash?

How can i go about debugging this?

1

There are 1 answers

2
Hans Passant On BEST ANSWER

I'm not aware of an option to generate or preserve a minidump beyond Environment.FailFast. You can reverse-engineer the Watson log with the hints in this answer. But, really, that's painful and not that informative. Write an event handler for AppDomain.CurrentDomain.UnhandledException and log or display the value of e.ExceptionObject.ToString(). The stack trace you'll get is almost always good enough to figure out the problem.