Skip to Content
0

Faulting application name: w3wp.exe, Faulting module name: SAPbobsCOM90.dll

Dec 07, 2016 at 08:08 PM

419

avatar image
Former Member

Hi, I developed an ASP application using SBO SDK tools. At development environment is working fine, but on production environment is throwing this error randomly, but continuously:

Faulting application name: w3wp.exe, version: 8.5.9600.16384, time stamp: 0x52157ba0
Faulting module name: SAPbobsCOM90.dll, version: 9.20.130.0, time stamp: 0x574cacd4
Exception code: 0xc0000005
Fault offset: 0x008be598
Faulting process id: 0x3950
Faulting application start time: 0x01d250b8c6f71038
Faulting application path: C:\Windows\SysWOW64\inetsrv\w3wp.exe
Faulting module path: C:\Program Files (x86)\SAP\SAP Business One DI API\DI API 90\SAPbobsCOM90.dll
Report Id: e0745969-bcb0-11e6-8141-b083fee212b3
Faulting package full name:
Faulting package-relative application ID:

Any Idea to troubleshoot this problem is going to be welcome.

Application detail:

SAP UI5, ASP WEB API 2.0, .NET 4.5, SAP Business One 9.0

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

4 Answers

Best Answer
avatar image
Former Member Jul 04, 2017 at 04:10 PM
0

The problem was solved configuring the IIS worker thread as 32 Bit.

Share
10 |10000 characters needed characters left characters exceeded
DIEGO LOTHER Dec 07, 2016 at 08:23 PM
0

Hi Enriquillo,

I never used web applications with DI API, but there are a lot of topics about problem in this kind of situation. Maybe this article is your case:

http://www.appseconnect.com/di-api-memory-leak-in-sap-business-one-9-0/

Maybe someone else in this board have some approach for this situation.

Hope it helps.

Kind Regards,

Diego Lother

Share
10 |10000 characters needed characters left characters exceeded
avatar image
Former Member Dec 08, 2016 at 12:45 AM
0

Thanks Diego, I'm going to try the last option (move all the business logic in a separate process). But first I'm going to check memory peaks to validate this recommendation.

Share
10 |10000 characters needed characters left characters exceeded
Edy Simon Dec 08, 2016 at 05:49 AM
0

Hi Enriquillo,

Since we don't have any control on the DI API to make sure that it is not leaking, in due time - sooner or later, the memory will hit the threshold and crashed your W3WP.exe
The easiest is to move to separate exe and shut down the exe after use, but this will need you to log in DI API each time you call the exe.
This is not convenient if you are not processing by batch. Log in process will take time.

My solution to this is to create a WCF using TCP service hosted in an windows application.
DI API is used in the WCF Service.
When the W3WP is first called, it will init the WCF Service, this service will run continuously and the W3WP will communicate via TCP with the service.
The WCF Service will also eventually crash because of the DI API.
When this happened, your W3WP should be able to detect it and handle it by restarting the WCF service and retry the process again.

Note : the best solution is still to use DIServer or B1if

Regards

Edy

Share
10 |10000 characters needed characters left characters exceeded