0

I've encountered a weird problem. I have a web site hosted in azure app services that has a node application as a sub folder which is run via iisnode. I added a couple appSettings into the web.config at the root and it crashes IISNode (I get a white screen with an internal error). However if I change the name of these settings or remove them, IISNode starts up and runs fine. The two settings are named 'Stackify.Net' and 'PerformanceLogMillisecondThreshold'.

The web.config's appSettings also references an external file but that file does not contain these settings. In case anyone is wondering, the other two Stackify settings are in there.

I can't for the life of me figure out why these two settings when there are causing an issue and when they aren't or they are renamed they don't. I've tried removing or renaming just one of them (either of them) but it has to be both.

Can anyone give me an idea of why this is happening or what else I can do to troubleshoot the issue? The app is working now but I'm weirded out by why it is causing the problem in the first place.

As requested here is the web config (minus some identifying information)

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <configSections>
        <sectionGroup name="intuit">
            <section name="ipp" type="Intuit.Ipp.Utility.IppConfigurationSection, Intuit.Ipp.Utility" allowDefinition="Everywhere" allowLocation="true" />
        </sectionGroup>
        <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
        <sectionGroup name="elmah">
            <section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah" />
            <section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" />
            <section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" />
            <section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah" />
        </sectionGroup>
    </configSections>
    <system.diagnostics configSource="configs\trace.AzureProd.config" />
    <connectionStrings configSource="configs\connectionStrings.AzureProd.config"></connectionStrings>
    <appSettings file="configs\appSettings.AzureProd.config">
        <add key="webpages:Version" value="3.0.0.0" />
        <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
        <add key="ScriptCssVer" value="ver1" />
        <add key="ClientValidationEnabled" value="true" />
        <add key="UnobtrusiveJavaScriptEnabled" value="true" />
        <add key="DefaultContractWarningDays" value="60" />
        <add key="ToDosToShowOnDashboard" value="10" />
        <add key="NotesToShowOnDashboard" value="10" />
        <add key="LogonCookieExpiryDays" value="7" />
        <add key="ContactsToShowOnContactList" value="10" />
        <add key="JobsitesToShowOnJobsiteList" value="10" />
        <add key="ToDosPerPageOnJobsite" value="10" />
        <add key="NotesPerPageOnJobsite" value="10" />
        <add key="UnitsPerPageOnJobsite" value="10" />
        <add key="UnitNotesPerPageOnJobsite" value="10" />
        <add key="ToDosPerPageOnUnit" value="10" />
        <add key="NotesPerPageOnUnit" value="10" />
        <add key="AttachmentsPerPageOnUnit" value="10" />
        <add key="AttachmentsPerPageOnJobsite" value="10" />
        <add key="AttachmentsPerPageOnContact" value="10" />
        <add key="AttachmentsPerPageOnCustomer" value="10" />
        <add key="NotesPerPageOnNotes" value="10" />
        <add key="ToDosPerPageOnToDos" value="8" />
        <add key="ReceptionistContactType" value="3" />
        <add key="UsersPerPageOnUsers" value="10" />
        <add key="NotesPerPageOnCustomers" value="10" />
        <add key="NotesPerPageOnContact" value="10" />
        <add key="ToDosPerPageOnCustomers" value="10" />
        <add key="ToDosPerPageOnContact" value="10" />
        <add key="JobsitesPerPageOnCustomers" value="10" />
        <add key="CustomersToShowOnCustomerList" value="10" />
        <add key="CustomersToShowOnContactPage" value="6" />
        <add key="WorkOrdersToShowOnWorkOrderList" value="10" />
        <add key="MaintListsPerPageOnUnit" value="10" />
        <add key="TimesheetsPerPageOnTimesheet" value="50" />
        <add key="PagesToShowAtATime" value="5" />
        <add key="ToastShowFor" value="5000" />
        <add key="ExpiredToDosToShow" value="4" />
        <add key="MaintlistsPerPageOnTenant" value="10" />
        <add key="MaintListsPerPageOnJobsite" value="10" />
        <add key="ActivityFeedItemsOnHomePage" value="100" />
        <add key="MaxSearchResultsToDisplay" value="10" />
        <add key="NpsSurveysDisplaysBeforeModal" value="3" />
        <add key="aspnet:MaxJsonDeserializerMembers" value="150000" />
        <add key="SMTPServer" value="smtp.sendgrid.net" />
        <add key="SMTPUser" value="@azure.com" />
        <add key="SMTPPassword" value="0v55znn5" />
        <add key="SMTPPort" value="587" />
        <add key="GracePeriodDaysOnCancellation" value="5" />
        <add key="CompanyName" value="Jobbox Software Inc." />
        <add key="RecentItemsToDisplay" value="10" />
        <add key="TimeOffsetOnServer" value="0" />
        <add key="TimeZoneToUse" value="Canada Central Standard Time" />
        <add key="HookReportBase" value="~\Reports\" />
        <add key="UseAzureStorage" value="Yes" />
        <add key="ContainerSuffix" value="-files" />
        <add key="JobboxTimezone" value="Canada Central Standard Time" />
        <add key="SupportedBrowserVersions" value="Chrome:*;Firefox:*;IE:9;IE:10;Safari:*" />
        <add key="StripIntegration" value="true" />
        <add key="RotativaParams" value="--load-error-handling ignore" />
        <add key="GoogleMapsApiKey" value="" />
        <add key="GoogleGeocodeKeyApiKey" value="" />
        <!-- Quicbooks Online-->
        <add key="SessionTimeoutMinutes" value="20" />
        <add key="Stackify.AppName" value="appname" />
        <add key="PerformanceLogMillisecondThreshold" value="10000" />
    </appSettings>
    <system.web>
        <customErrors configSource="configs\system.web.customErrors.AzureProd.config" />
        <caching>
            <outputCacheSettings>
                <outputCacheProfiles>
                    <clear />
                    <add name="Multitenant" enabled="true" duration="60" varyByHeader="host" varyByParam="none" />
                </outputCacheProfiles>
            </outputCacheSettings>
        </caching>
        <httpRuntime maxRequestLength="2147483647" targetFramework="4.5.1" />
        <membership defaultProvider="SubdomainAuthenticationProvider">
            <providers>
                <clear />
                <add name="SubdomainAuthenticationProvider" type="JobboxAdmin.Library.SubdomainMembershipProvider, JobboxAdmin.Library" connectionStringName="SubDomainAuth" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/appname" defaultSubdomain="Master" />
            </providers>
        </membership>
        <profile defaultProvider="AspNetSqlProfileProvider">
            <providers>
                <clear />
                <add name="AspNetSqlProfileProvider" connectionStringName="SubDomainAuth" applicationName="/appname" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
            </providers>
            <properties>
                <add name="TimeZone" type="System.String" />
            </properties>
        </profile>
        <compilation configSource="configs\system.web.compilation.AzureProd.config" />
        <authentication mode="Forms">
            <forms loginUrl="~/Account/LogOn" timeout="2880" slidingExpiration="true" cookieless="UseCookies" />
        </authentication>
        <authorization>
            <deny users="?" />
        </authorization>
        <machineKey validationKey="F393E3AD07D7018D4994190350452DD205292CA81D98ED9027BFE7B4F23DD9FDADB5F4ABB456D39E28631CA4F6688547E899BEDF06DC9A0335E5623C5566F3DE" decryptionKey="D95BD937ACEFD6B8229E2D3B88434070BCB30619D10ADF50A83BBCFE092196BC" validation="SHA1" decryption="AES" />
        <pages controlRenderingCompatibilityVersion="4.0">
            <namespaces>
                <add namespace="System.Web.Helpers" />
                <add namespace="System.Web.Mvc" />
                <add namespace="System.Web.Mvc.Ajax" />
                <add namespace="System.Web.Mvc.Html" />
                <add namespace="System.Web.Routing" />
                <add namespace="System.Web.WebPages" />
                <add namespace="System.Web.Optimization" />
            </namespaces>
        </pages>
        <securityPolicy>
            <trustLevel name="Full" policyFile="internal" />
        </securityPolicy>
        <sessionState configSource="configs\system.web.sessionState.AzureProd.config"></sessionState>
        <httpModules>
            <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
            <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
            <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" />
            <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" />
        </httpModules>
    </system.web>
    <location path="Account">
        <system.web>
            <authorization>
                <allow users="*" />
            </authorization>
        </system.web>
    </location>
    <location path="KeepAlive">
        <system.web>
            <authorization>
                <allow users="?" />
            </authorization>
        </system.web>
    </location>
    <location path="ImageHandler.ashx">
        <system.web>
            <authorization>
                <allow users="*" />
            </authorization>
        </system.web>
    </location>
    <location path="Svcs/AccountingSvcs.svc">
        <system.web>
            <authorization>
                <allow users="*" />
            </authorization>
        </system.web>
    </location>
    <location path="Views/Shared/Error.cshtml">
        <system.web>
            <authorization>
                <allow users="*" />
            </authorization>
        </system.web>
    </location>
    <location path="BadBrowser">
        <system.web>
            <authorization>
                <allow users="*" />
            </authorization>
        </system.web>
    </location>
    <location path="qb/SBDataSvcs.asmx">
        <system.web>
            <httpRuntime executionTimeout="240" maxRequestLength="20480" />
        </system.web>
    </location>
    <system.webServer>
        <webSocket enabled="false" />
        <urlCompression doStaticCompression="true" doDynamicCompression="true" />
        <httpCompression>
            <dynamicTypes>
                <clear />
                <add enabled="true" mimeType="text/*" />
                <add enabled="true" mimeType="message/*" />
                <add enabled="true" mimeType="application/x-javascript" />
                <add enabled="true" mimeType="application/javascript" />
                <add enabled="true" mimeType="application/json" />
                <add enabled="false" mimeType="*/*" />
                <add enabled="true" mimeType="application/atom+xml" />
                <add enabled="true" mimeType="application/atom+xml;charset=utf-8" />
            </dynamicTypes>
            <staticTypes>
                <clear />
                <add enabled="true" mimeType="text/*" />
                <add enabled="true" mimeType="message/*" />
                <add enabled="true" mimeType="application/javascript" />
                <add enabled="true" mimeType="application/atom+xml" />
                <add enabled="true" mimeType="application/xaml+xml" />
                <add enabled="true" mimeType="application/json" />
                <add enabled="false" mimeType="*/*" />
            </staticTypes>
        </httpCompression>
        <modules runAllManagedModulesForAllRequests="true">
            <remove name="ErrorLog" />
            <remove name="ErrorMail" />
            <remove name="ErrorFilter" />
            <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
            <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" />
            <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" />
            <remove name="StackifyHttpModule_Net40" />
            <add name="StackifyHttpModule_Net40" type="StackifyHttpTracer.StackifyHttpModule,StackifyHttpTracer, Version=1.0.0.0, Culture=neutral, PublicKeyToken=93c44ce23f2048dd" preCondition="managedHandler,runtimeVersionv4.0" />
            <remove name="ApplicationInsightsWebTracking" />
            <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" preCondition="managedHandler" />
        </modules>
        <security>
            <requestFiltering>
                <requestLimits maxAllowedContentLength="2147483647" />
                <!--100 MB-->
            </requestFiltering>
        </security>
        <defaultDocument>
            <files>
                <clear />
                <add value="Home" />
            </files>
        </defaultDocument>
        <staticContent>
            <clientCache cacheControlMaxAge="2.00:00:00" cacheControlMode="UseMaxAge" />
        </staticContent>
        <handlers>
            <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
            <remove name="OPTIONSVerbHandler" />
            <remove name="TRACEVerbHandler" />
            <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
        </handlers>
        <validation validateIntegratedModeConfiguration="false" />
        <rewrite>
            <rules configSource="configs\urlRewrite.AzureProd.config"></rules>
        </rewrite>
    </system.webServer>
    <runtime>
        <NetFx40_LegacySecurityPolicy enabled="true" />
        <assemblyBinding
            xmlns="urn:schemas-microsoft-com:asm.v1">
            <!--<dependentAssembly><assemblyIdentity name="Microsoft.Data.OData" publicKeyToken="31bf3856ad364e35" culture="neutral" /><bindingRedirect oldVersion="0.0.0.0-5.6.1.0" newVersion="5.6.1.0" /></dependentAssembly>-->
            <dependentAssembly>
                <assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" />
                <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
            </dependentAssembly>
            <!--<dependentAssembly><assemblyIdentity name="System.Spatial" publicKeyToken="31bf3856ad364e35" culture="neutral" /><bindingRedirect oldVersion="0.0.0.0-5.6.1.0" newVersion="5.6.1.0" /></dependentAssembly>-->
            <!--<dependentAssembly><assemblyIdentity name="Microsoft.Data.Edm" publicKeyToken="31bf3856ad364e35" culture="neutral" /><bindingRedirect oldVersion="0.0.0.0-5.6.1.0" newVersion="5.6.1.0" /></dependentAssembly>-->
            <!--<dependentAssembly><assemblyIdentity name="Microsoft.Data.Services.Client" publicKeyToken="31bf3856ad364e35" culture="neutral" /><bindingRedirect oldVersion="0.0.0.0-5.6.1.0" newVersion="5.6.1.0" /></dependentAssembly>-->
            <dependentAssembly>
                <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="System.Web.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-5.2.0.0" newVersion="5.2.0.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="itextsharp" publicKeyToken="8354ae6d2174ddca" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-5.5.4.0" newVersion="5.5.4.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="itextsharp.xmlworker" publicKeyToken="8354ae6d2174ddca" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-5.5.4.0" newVersion="5.5.4.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="System.Drawing" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="System.Windows.Forms" publicKeyToken="b77a5c561934e089" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="Microsoft.WindowsAzure.Configuration" publicKeyToken="31bf3856ad364e35" />
                <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="Microsoft.WindowsAzure.Storage" publicKeyToken="31bf3856ad364e35" />
                <bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="Microsoft.Data.Services.Client" publicKeyToken="31bf3856ad364e35" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-5.8.1.0" newVersion="5.8.1.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="Microsoft.Data.OData" publicKeyToken="31bf3856ad364e35" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-5.8.1.0" newVersion="5.8.1.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="Microsoft.Data.Edm" publicKeyToken="31bf3856ad364e35" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-5.8.1.0" newVersion="5.8.1.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
                <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
                <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
                <bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="Microsoft.ApplicationInsights" publicKeyToken="31bf3856ad364e35" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-2.2.0.0" newVersion="2.2.0.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="StackExchange.Redis.StrongName" publicKeyToken="c219ff1ca8c2ce46" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-1.1.608.0" newVersion="1.1.608.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="Microsoft.Azure.Documents.Client" publicKeyToken="31bf3856ad364e35" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-1.9.0.0" newVersion="1.9.0.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="Microsoft.AI.Agent.Intercept" publicKeyToken="31bf3856ad364e35" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-2.0.7.0" newVersion="2.0.7.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-2.0.7.0" newVersion="2.0.7.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="Microsoft.Azure.KeyVault.Core" publicKeyToken="31bf3856ad364e35" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
            </dependentAssembly>
        </assemblyBinding>
    </runtime>
    <entityFramework>

        <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
            <parameters>
                <parameter value="mssqllocaldb" />
            </parameters>
        </defaultConnectionFactory>
        <providers>
            <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
        </providers>
    </entityFramework>
    <system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="basicHttpBindingConfiguration" maxReceivedMessageSize="10485760">
                    <security mode="Transport">
                        <transport clientCredentialType="None" proxyCredentialType="None" />
                    </security>
                </binding>
            </basicHttpBinding>
        </bindings>
        <behaviors>
            <serviceBehaviors>
                <behavior name="">
                    <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
                    <serviceDebug includeExceptionDetailInFaults="true" />
                </behavior>
            </serviceBehaviors>
        </behaviors>
        <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
        <services>
            <service name="">
                <endpoint binding="basicHttpBinding" bindingConfiguration="basicHttpBindingConfiguration" address="" contract="" />
            </service>
        </services>
        <extensions>
            <behaviorExtensions>
                <add name="connectionStatusBehavior" type="Microsoft.ServiceBus.Configuration.ConnectionStatusElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
                <add name="transportClientEndpointBehavior" type="Microsoft.ServiceBus.Configuration.TransportClientEndpointBehaviorElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
                <add name="serviceRegistrySettings" type="Microsoft.ServiceBus.Configuration.ServiceRegistrySettingsElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
            </behaviorExtensions>
            <bindingElementExtensions>
                <add name="netMessagingTransport" type="Microsoft.ServiceBus.Messaging.Configuration.NetMessagingTransportExtensionElement, Microsoft.ServiceBus,  Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
                <add name="tcpRelayTransport" type="Microsoft.ServiceBus.Configuration.TcpRelayTransportElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
                <add name="httpRelayTransport" type="Microsoft.ServiceBus.Configuration.HttpRelayTransportElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
                <add name="httpsRelayTransport" type="Microsoft.ServiceBus.Configuration.HttpsRelayTransportElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
                <add name="onewayRelayTransport" type="Microsoft.ServiceBus.Configuration.RelayedOnewayTransportElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
            </bindingElementExtensions>
            <bindingExtensions>
                <add name="basicHttpRelayBinding" type="Microsoft.ServiceBus.Configuration.BasicHttpRelayBindingCollectionElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
                <add name="webHttpRelayBinding" type="Microsoft.ServiceBus.Configuration.WebHttpRelayBindingCollectionElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
                <add name="ws2007HttpRelayBinding" type="Microsoft.ServiceBus.Configuration.WS2007HttpRelayBindingCollectionElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
                <add name="netTcpRelayBinding" type="Microsoft.ServiceBus.Configuration.NetTcpRelayBindingCollectionElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
                <add name="netOnewayRelayBinding" type="Microsoft.ServiceBus.Configuration.NetOnewayRelayBindingCollectionElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
                <add name="netEventRelayBinding" type="Microsoft.ServiceBus.Configuration.NetEventRelayBindingCollectionElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
                <add name="netMessagingBinding" type="Microsoft.ServiceBus.Messaging.Configuration.NetMessagingBindingCollectionElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
            </bindingExtensions>
        </extensions>
    </system.serviceModel>
    <intuit>
        <ipp configSource="configs\ippConfiguration.AzureProd.config" />
    </intuit>
    <log4net>
        <root>
            <level value="ALL" />
            <appender-ref ref="StackifyAppender" />
        </root>
        <appender name="StackifyAppender" type="StackifyLib.log4net.StackifyAppender, StackifyLib.log4net" />
    </log4net>
    <elmah>

        <security allowRemoteAccess="false" />
        <errorLog type="StackifyLib.ELMAH.StackifyErrorLog, StackifyLib.ELMAH" />
    </elmah>
    <location path="elmah.axd" inheritInChildApplications="false">
        <system.web>
            <httpHandlers>
                <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
            </httpHandlers>

        </system.web>
        <system.webServer>
            <handlers>
                <add name="ELMAH" verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode" />
            </handlers>
        </system.webServer>
    </location>
</configuration>

And just to add this, it doesn't seem to be an issue locally.

MikeS
  • 1,734
  • 1
  • 9
  • 13
  • Can you include the full content of your web.config in the question? Is it in wwwroot or a child folder? – David Ebbo Jan 13 '17 at 14:16
  • And to make sure: if you make a change as small as adding one character to `PerformanceLogMillisecondThreshold` (e.g. rename it to `PerformanceLogMillisecondThreshold2`), everything starts working again? – David Ebbo Jan 13 '17 at 17:34
  • Yes. So one more piece of news. My site has a folder that is used for the root path and three other folders used as virtual applications. If I remove the stackify app settings from the top level site (Stackify.AppName, Stackify.Environment and Stackify.ApiKey). Everything starts to work again, even with those two app settings. – MikeS Jan 13 '17 at 18:56
  • Puzzling. If you can synthesize the repro to a small file set anyone could try (e.g. in some GitHub repo), I can try to take a look at what's causing this. It seems you have a lot of pieces at play, so it's a little hard to make sense of it. – David Ebbo Jan 13 '17 at 22:46

1 Answers1

0

I tried your issued app setting (Stackify.AppName, PerformanceLogMillisecondThreshold) in a simple node.js application on Azure, it worked fine. Your issue could be raised by the complex structure.

It is difficult to detect whether the issue is caused by iisnode or asp.net application.

You can try to Get stdout and stderr logs from iisnode for getting more detailed info in iisnode.

Gary Liu
  • 13,758
  • 1
  • 17
  • 32
  • I tried the stdout and stderr but nothing got printed out to that. It was like IISNode was crashing before it could do anything. My best guess is that it had an issue with setting the environment variables for node. – MikeS Jan 19 '17 at 13:57
  • However, I have tested your environment variables in app settings, it worked fine in single node.js application. Furthermore, it is not best practice to deploy several different applications in a single Azure Web Apps Service. You can separate your node.js application into a single Web App. – Gary Liu Jan 20 '17 at 01:18
  • Have you been running Stackify in your test? The agent and the StackifyHttpModule? Perhaps something with those interacting with iisnode? – MikeS Jan 20 '17 at 19:30