NmpCore: failed to start NmpCoreImpl.exe process

Use this forum for questions on how to use .NET Memory Profiler and how to analyse memory usage.

Moderator: SciTech Software

NmpCore: failed to start NmpCoreImpl.exe process

Postby floriang » Thu Feb 23, 2017 9:21 am

Dear all,
This is the first time I use .NET memory profiler.
I'm trying to use it to profile a .NET 4.5 application running on a windows 7 embedded device.

Then when trying to start the NmpCore utility to collect snapshot I get the following error just after the version and copyright information:
"failed to start NmpCoreImpl.exe process"

I tried on 2 computers (one with win10 and one in win7) and NmpCore was running fine on these.

How can I use NmpCore on the embedded device?

Note: the computers are 64bits and the embedded device is 32bit. Could it be the issue?
I don't think so: I saw that NmpCore is the same in 32bit and 64bit packages
I also tried with an older 4.6 version and result is the same.
floriang
 
Posts: 4
Joined: Thu Feb 23, 2017 9:14 am

Re: NmpCore: failed to start NmpCoreImpl.exe process

Postby floriang » Thu Feb 23, 2017 3:45 pm

I tried with a debug OS for this device and in this case I can run NmpCore.
In this case I got an error on startup:
"There is no disk in the drive. Please insert a disk into Drive \Device\Harddisk\DR1".

On this error I can hit continue twice and after that application starts.
But for the moment it didn't finish starting, it looks like it's hanging...
floriang
 
Posts: 4
Joined: Thu Feb 23, 2017 9:14 am

Re: NmpCore: failed to start NmpCoreImpl.exe process

Postby floriang » Thu Feb 23, 2017 4:07 pm

Finally I was able to connect to the application and take some snapshots by attaching to the application instead of running the application from NmpCore.

I hope we will be able to retrieve useful information now.
floriang
 
Posts: 4
Joined: Thu Feb 23, 2017 9:14 am

Re: NmpCore: failed to start NmpCoreImpl.exe process

Postby Andreas Suurkuusk » Thu Feb 23, 2017 4:08 pm

Thanks for the error report and update.

I just tested NmpCore on a freshly installed Window 7 (32-bit) and it worked OK. I'm not sure why starting NmpCoreImpl should access "\Device\Harddisk\DR1", but we will take a look at the startup code to see if we can come up with an explanation.

Since you are running Windows 7 Embedded, there's a risk that some required component is not available. Does your embedded configuration include the full Windows OS, or have you stripped away some components?
Best regards,

Andreas Suurkuusk
SciTech Software AB
Andreas Suurkuusk
 
Posts: 964
Joined: Wed Mar 02, 2005 7:53 pm
Location: Sweden

Re: NmpCore: failed to start NmpCoreImpl.exe process

Postby floriang » Thu Feb 23, 2017 4:19 pm

Yes our debug OS is kind of similar to a normal windows, but the release OS is optimized for our system.
Some components have been stripped away and some policies enforced to restrict software execution.
About the policy issues I should have avoided them by launching from a specific directory on our OS, however I still had the issue so maybe it is a missing component as you suggest.

If there is a way to get this from your software I could get you some debug logs from my runs to help you understand.
Also could you tell if you have dependencies to specific windows components? that may help us finding a way to make it work on our release OS.

For the moment I try using the debug OS anyway, hoping that we will reproduce our memory leak.

About the \Harddisk\ related errors, note that I didn't have the errors when I attached to our already running process.
floriang
 
Posts: 4
Joined: Thu Feb 23, 2017 9:14 am

Re: NmpCore: failed to start NmpCoreImpl.exe process

Postby Andreas Suurkuusk » Tue Feb 28, 2017 11:53 am

I'm sorry for the delay.

I believe that the \Harddisk\ related errors may be related to the fact that the profiler tries to locate debug symbol files for loaded assemblies. It's pretty common that the PDB-files for 3rd party assemblies and Microsoft assemblies are located on a different hard-drive (e.g. F:). The profiler tries to locate the files from this hard-drive, and usually just fails silently. However, if the drive is somehow configured as a removable drive on your system, then you may get the "Please insert disk" message. This is something we have tried to avoid previously, but we failed to come up with a good solution. At least we should probably add an option to not look up debug symbols.

However, after you cancel the "Please insert disk" messages, the profiler should work correctly. Unfortunately, the logging in NmpCore is limited, so I'm not sure that the logs will provide much information. But, you can create log-files by providing the argument /log:c:\MemProfilerLogs to NmpCore. This will create a set of log-files in the c:\MemProfilerLogs directory.
Best regards,

Andreas Suurkuusk
SciTech Software AB
Andreas Suurkuusk
 
Posts: 964
Joined: Wed Mar 02, 2005 7:53 pm
Location: Sweden


Return to Using .NET Memory Profiler

Who is online

Users browsing this forum: No registered users and 5 guests

SciTech Software logo

© Copyright 2001-2016. SciTech Software AB
All rights reserved.


SciTech Software AB
Kartvägen 21
SE-175 46 Järfälla
Sweden


E-mail: mail@scitech.se

Telephone: +46-706868081