Troubleshooting

From Starfish ETL
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Starfish Errors

Problem Solution
Starfish Engine installation fails with message “Installation was interrupted”. On some versions of Windows, in addition to IIS needing to be installed – “IIS 6 Management Compatibility” will also need to be installed. This is added through the “Turn Windows features on or off” function in Control Panel and is located in the “Internet Information Services\Web Management Tools” Program group. Be sure to check all items under the “IIS 6 Management Compatibility” group.
Scriptcontrol error when deploying bindings file. Some newer versions of Windows Server does not have the ms script controls registered on the server by default. From the command line, run “regsvr32 msscript.ocx”. This file may be located in System32 or SysWow64, depending on your version of Windows. If you continue to get similar errors, you may also need to register “vbscript.dll”.
Error message on deploy: “Could not load file or assembly ‘Microsoft.Crm.Sdk’ or one of its dependencies. An attempt was made to load a program with an incorrect format.” On some 64-bit systems, IIS disables 32-bit mode which Starfish requires. For IIS 7: In IIS, select the Application Pool where Starfish is running, and go to the Advanced Settings and set “Enable 32-Bit Applications” to True. For IIS 6: Follow the instructions outlined here: http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/405f5bb5-87a3-43d2-8138-54b75db73aa1.mspx?mfr=true

Note that this changed with v5 which made Starfish a 64-bit application. You must set “Enable 32-Bit Applications” to False in v5+.

ODBC DSN entries do not show up in the drop-down list, or DSN entry not found error when running. On 64-bit systems, the DSN must be configured using the 32-bit version of the ODBC manager, it is typically located in: C:\Windows\SysWow64\odbcad32.exe.
When deploying, you get an error message “The HTTP request is unauthorized with the client scheme ‘Anonymous’. The authentication header received from the server was ‘Negotiate,NTLM’”. In IIS Manager, expand Sites, Default Web Site, and select StarfishEngine. Under IIS, select the “Authentication” item, and make sure “Anonymous Authentication” is set to “Enabled”.
Permission denied error to starfish.spd file when deploying. Grant modify permission on the C:\Inetpub\wwwroot\StarfishEngine folder to the server’s IIS_WPG (IIS6) or IIS_IUSRS (IIS7) user.
When testing the Starfish Engine website, you get the following (or similar) error message: “Could not load file or assembly 'Microsoft.Crm.Sdk' or one of its dependencies. An attempt was made to load a program with an incorrect format.” On 64-bit systems, this can be caused if 32-bit applications have been disabled for IIS. For IIS6, go to a command prompt. Change to the “C:\Inetpub\AdminScripts” folder and execute the following command: cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 true For IIS7+, go to IIS Manager, select the Application Pool that Starifh is running under, select Advanced Settings, and set "Enable 32-Bit Applications" to "Enabled".
Errors on Insert & Update stages when using SData Destination with Saleslogix 7.5.3, such as “Object not set to an instance of an object”. This is caused by a bug in Saleslogix 7.5 Service Pack 3. If you are running 7.5.3, be sure to apply 7.5.3 Hot Fix 1, which will fix this issue. SP, Hot Fix 3 may also be necessary to get more detailed messages from SData (such as ValidationException reasons).
Permission error when deploying on path "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files." Some server environments require write permissions be given to the NETWORK SERVICE user (or the user defined in Application Pool Identity tab).
Permission error when deploying “Access to the path ‘C:\Inetpub\wwwroot\StarfishEngine\starfish.spd’ is denied”. Some server environments will require write permissions to be given to the IIS_WPG user. Access should be given to the Inetpub\wwwroot\StarfishEngine folder.
Type mismatch issue where column contains some alpha numeric entries but Starfish believes the data is numeric. If a column of data contains numeric data for the first few rows and then later contains alphanumeric data Starfish will expect numeric data from every row in the data and will then fail to parse the alphanumeric data. Because by default the Microsoft Jet driver that is used for this functionality only scans the first 16 rows, it tries to make a ‘guess’ based on that data for each column type. This is only a problem is the data changes from numeric to alphanumeric partway through the data as thinks the data is all numbers. In registry, navigate to: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\Text Find the MaxScanRows key, and change the value to ‘0’. Restart Starfish
Server Error in '/StarfishEngine' Application. Parser Error Message: Unrecognized attribute 'targetFramework'. Note that attribute names are case-sensitive. I believe that this error occurred because i had to repair .NET 4.0. My Application Pool reverted to .NET 2.0. I found the solution in this post on Stack Exchange: http://stackoverflow.com/questions/7530725/unrecognized-attribute-targetframework-note-that-attribute-names-are-case-sen. This typically happens when you have an attribute of targetFramework="4.0" in the web.config but the App Pool is set to run ASP.NET 2.0. The targetFramework attribute is entirely unrecognized by ASP.NET 2.0. I switched the AppPool to 4.0 and it worked.
Server Error in Application "DEFAULT WEB SITE/STARFISHENGINE"

HTTP Error 403.14 - Forbidden
The Web server is configured to not list the contents of this directory.

Add StarfishService.asmx the website's Default Document list.

http://forums.iis.net/t/1207657.aspx?How+to+Fix+HTTP+Error+403+14+Forbidden+The+Web+server+is+configured+to+not+list+the+contents+of+this+directory+

Invalid path or file name.

This error often includes a lot of other text and is strange because the Origin test works but the Preview and Run job fail.

This error is caused by the Starfish IIS Applicaiton Pool user not having access to the origin or destination where your local use does have access. The solution is to change the Application Pool identity user to your normal windows login or another user with access.
Error on Start:

System.ServiceModel.EndpointNotFoundException: There was no endpoint listening at http://localhost/StarfishEngine/StarfishService.asmx that could accept the message. This is often caused by an incorrect address or SOAP action.

This error occurs when starting the Starfish Scheduler Service when Starfish was setup with a non-standard Service URL. For example, a custom port or folder structure: http://localhost:8080/StarfishService.asmx. To resolve, edit the StarfishScheduler.exe.config file in the folder where you installed the Starfish Scheduler. Generally this file is located at C:\Program Files (x86)\Starfish ETL\Starfish Scheduler\StarfishScheduler.exe.config.
HTTP Error 404.3 - Not Found

The page you are requesting cannot be served because of the extension configuration. If the page is a script, add a handler. If the file should be downloaded, add a MIME map.

In Windows 8/10, you have to use Programs and Features, Turn Windows features on or off, IIS, World Wide Web Services, Application Development Features, and check the appropriate items, such as enabling ASP.NET. (This still worked as of Starfish v5.2/v5.3.)
Failed: System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown. This has been known to happen when frequently running a scheduled job with the Starfish Scheduler. Try setting the IIS Application Pool used by Starfish to recycle on a schedule. In IIS, you can set an Application Pool to recycle every x hours. You can also use Windows Task Scheduler to schedule an Application Pool Reset on a more complicated schedule. For example, if you have a large integration that runs over the weekend, you could use the Task Scheduler to recycle the pool Fridays just before the integration starts. To do this, create a new Task Scheduler with the desired schedule and "Start a program" C:\Windows\System32\inetsrv\appcmd.exe recycle apppool "StarfishETL". You may need to change the location of appcmd.exe or the name of the Application Pool to recycle. A quick internet search should be able to provide more guidance to recycling an Application Pool from the command line.
... MSVPC140.dll is missing ... Download and install the "Microsoft Visual C++ 2015 Redistributable". This can currently be found at https://www.microsoft.com/en-us/download/details.aspx?id=52685.
Server Error in '/StarfishEngine' Application.

Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: The 'targetFramework' attribute in the <compilation> element of the Web.config file is used only to target version 4.0 and later of the .NET Framework (for example, '<compilation targetFramework="4.0">'). The 'targetFramework' attribute currently references a version that is later than the installed version of the .NET Framework. Specify a valid target version of the .NET Framework, or install the required version of the .NET Framework.

Source Error:

Line 47: Set explicit="true" to force declaration of all variables.
Line 48: -->
Line 49: <compilation debug="true" strict="false" explicit="true" targetFramework="4.7.1">
Line 50: <assemblies>
Line 51: <remove assembly="ClearScriptV8-64" />

Source File: C:\inetpub\wwwroot\StarfishEngine\web.config Line: 49
...

This issue seems to always be caused by the wrong version of .NET being installed. To see what version of .NET you have installed, follow these instructions: https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed#net_b.

On a Windows 2012 computer, I downloaded the .NET v4.7.1 offline installer from here: https://support.microsoft.com/en-us/help/4033345/the-microsoft-net-framework-4-7-1-for-windows-server-2012, and installed it.

On a Windows 2016 computer, I downloaded .NET v7.7.2 from here: https://www.microsoft.com/net/download/dotnet-framework-runtime/net472.

System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.Data.SQLite.SQLiteException: unable to open database file ... This is telling us that Starfish cannot open the engine.db file found in you web service's folder. By default this is "C:\inetpub\wwwroot\StarfishEngine". Ensure you have proper Security on this folder to allow Starfish and IIS to interact with it. Right click on the Folder -> Properties -> Security Tab. Confirm that System, Administrators and IIS_IUSRS have "Full control" of the folder. If all else fails, try granting "Everyone" Full control.

Load failure information for v8-ia32.dll

Error: "Load failure information for v8-ia32.dll" or "The specified module could not be found...v8-ia32.dll".

Try opening IIS Manager -> Your Starfish Application Pool -> Advanced Settings -> Confirm "Enable 32-Bit Application" is False.

System.Data.CData.Excel.ExcelException (0x80004005): [500] Access to the path '%APPDATA%\CData\Excel Data Provider\Schema' is denied. ---> rxo190c.Mn: Access to the path '%APPDATA%\CData\Excel Data Provider\Schema' is denied.

This started happening with the upgrade to Starfish v5.3. Try opening IIS Manager -> Starfish's Application Pool -> Advanced Settings -> and make sure "Load User Profile" is true. In the same area, you may have to change the "Identity" to an account with elevated permissions. I used LocalSystem.

HTTP Error 404.17 - Not Found

The requested content appears to be script and will not be served by the static file handler.

I wend into Turn Windows Features On or Off and checked a bunch of stuff under Internet Information Services by expanding all of the trees under the parent node. This made Starfish Engine work.

Could not load file or assembly 'System.Runtime.CompilerServices.Unsafe' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference.

In the Web.config there is an old entry looking for a specific version of the System.Runtime.CompilerServices.Unsafe.dll file. After we removed that entry, it worked.

There was an error during the IIs configuration process. Your original IIS configuration will be restored.

Try installing "IIS 6 Management Compatibility".

Starfish Monitor

Monitor Error: System.DllNotFoundException: Unable to load DLL 'SQLite.Interop.dll': The specified module could not be found.

Copy the SQLite.Interop.dll file from the Engine bin folder to the Scheduler folder. Generally C:\Program Files (x86)\Starfish ETL\Starfish Admin\SQLite.Interop.dll to C:\Program Files (x86)\Starfish ETL\Starfish Scheduler\SQLite.Interop.dll.