Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PWC6117: File "null" not found #585

Closed
andreasernst opened this issue Dec 29, 2015 · 37 comments
Closed

PWC6117: File "null" not found #585

andreasernst opened this issue Dec 29, 2015 · 37 comments
Assignees
Labels
PR: TESTS REQUIRED PR Requires Tests to be merged

Comments

@andreasernst
Copy link

Sometimes after a restart and admin console login this error occurs:

[2015-12-29T20:33:35.823+0100] [Payara 4.1] [SEVERE] [] [org.apache.jasper.servlet.JspServlet] [tid: _ThreadID=40 _ThreadName=admin-listener(2)] [timeMillis: 1451417615823] [levelValue: 1000] [[
PWC6117: File "null" not found]]

A second restart helps. Payara Server 4.1.1.154 #badassfish (build 270)

@andreasernst andreasernst changed the title PWC6117 PWC6117: File "null" not found Dec 29, 2015
@mikecroft
Copy link
Contributor

Does this happen with a completely fresh Payara or one that you have used for a while and changed? It looks like this is coming from Jasper, so I would assume you have deployed an application with a servlet to Payara?

Do you have a reliable way that we could reproduce the problem here?

@andreasernst
Copy link
Author

This is for me a known issue, also with older Glassfish versions. This happens sometimes after restarting Payara, i guess Payara does not find the index/home file for the admin console.

@mikecroft
Copy link
Contributor

How does this affect the admin console? Does it not load correctly?

Can you also attach the server.log which contains the issue, please?

@andreasernst
Copy link
Author

The console crashes, you cannot login anymore, until you restart the server.

[2015-12-31T21:37:04.242+0100] [Payara 4.1] [SEVERE] [] [org.apache.jasper.servlet.JspServlet] [tid: _ThreadID=49 _ThreadName=jk-connector
-8009(4)] [timeMillis: 1451594224242] [levelValue: 1000] [[
PWC6117: File "null" not found]]

Hhmm, strange is that the jk-connector-8009 is shown, because the admin console runs on admin port with 4848. Jk-connector-8009 is for the Apache HTTP server.

I got serveral servers running with Payara, i just checked on an other machine:

mail:/opt/payara41/glassfish/domains/domain1/logs # grep PWC6117 *
server.log_2015-12-12T10-51-41: PWC6117: File "null" not found]]
server.log_2015-12-16T14-13-48: PWC6117: File "null" not found]]
server.log_2015-12-16T14-13-48: PWC6117: File "null" not found]]
server.log_2015-12-21T17-44-47: PWC6117: File "null" not found]]
server.log_2015-12-23T17-02-04: PWC6117: File "null" not found]]
server.log_2015-12-23T17-02-04: PWC6117: File "null" not found]]
server.log_2015-12-23T17-02-04: PWC6117: File "null" not found]]
server.log_2015-12-25T11-00-32: PWC6117: File "null" not found]]
server.log_2015-12-25T11-00-32: PWC6117: File "null" not found]]
server.log_2015-12-25T11-00-32: PWC6117: File "null" not found]]
server.log_2015-12-25T11-00-32: PWC6117: File "null" not found]]
server.log_2015-12-25T22-17-59: PWC6117: File "null" not found]]
server.log_2015-12-25T22-17-59: PWC6117: File "null" not found]]
server.log_2015-12-25T22-17-59: PWC6117: File "null" not found]]
server.log_2015-12-29T20-01-15: PWC6117: File "null" not found]]
server.log_2015-12-29T20-01-15: PWC6117: File "null" not found]]
server.log_2015-12-29T20-01-15: PWC6117: File "null" not found]]
server.log_2015-12-29T20-01-15: PWC6117: File "null" not found]]
server.log_2015-12-29T20-01-15: PWC6117: File "null" not found]]
server.log_2015-12-29T20-42-43: PWC6117: File "null" not found]]
server.log_2015-12-29T21-23-42: PWC6117: File "null" not found]]
server.log_2015-12-30T19-27-03: PWC6117: File "null" not found]]
server.log_2015-12-30T19-27-03: PWC6117: File "null" not found]]
server.log_2015-12-30T19-27-03: PWC6117: File "null" not found]]
server.log_2015-12-31T15-40-39: PWC6117: File "null" not found]]
server.log_2016-01-02T18-45-10: PWC6117: File "null" not found]]
server.log_2016-01-02T18-45-10: PWC6117: File "null" not found]]

@mikecroft
Copy link
Contributor

That's strange - I grepped my own /opt/payara directory which contains lots of versions of Payara and found no occurrence of that message. I searched for the error code and found a stackoverflow answer about Jasper used in Jetty which created a file in /tmp which was deleted and caused an error the next time Jetty tried to use it. Payara also creates temporary files in /tmp when new applications are deployed, so I wonder if there is a required file for a separate deployment which is causing Jasper to fail?

How is your Payara instance configured? Does it run under a permissions-limited user?

@jerrinot
Copy link
Contributor

jerrinot commented Jan 4, 2016

I am not sure if it's related but some Linux distributions occasionally clean /tmp.

We used to have a similar issue with Hazelcast Management Centre which indeed uses an embedded Jetty.

@andreasernst
Copy link
Author

All server run on openSUSE 13.1 with user root. On an other machine.

dyndns:/opt/payara41/glassfish/domains/domain1/logs # grep PWC6117 * | wc -l
140

<domain application-root="${com.sun.aas.instanceRoot}/applications" version="225" log-root="${com.sun.aas.instanceRoot}/logs">
  <security-configurations>
    <authentication-service default="true" name="adminAuth" use-password-credential="true">
      <security-provider provider-name="adminSpc" name="spcrealm" type="LoginModule">
        <login-module-config module-class="com.sun.enterprise.admin.util.AdminLoginModule" control-flag="sufficient" name="adminSpecialLM">
          <property name="config" value="server-config"></property>
          <property name="auth-realm" value="admin-realm"></property>
        </login-module-config>
      </security-provider>
      <security-provider provider-name="adminFile" name="filerealm" type="LoginModule">
        <login-module-config module-class="com.sun.enterprise.security.auth.login.FileLoginModule" control-flag="sufficient" name="adminFileLM">
          <property name="config" value="server-config"></property>
          <property name="auth-realm" value="admin-realm"></property>
        </login-module-config>
      </security-provider>
    </authentication-service>
    <authorization-service default="true" name="authorizationService">
      <security-provider provider-name="simpleAuthorizationProvider" name="simpleAuthorization" type="Simple">
        <authorization-provider-config name="simpleAuthorizationProviderConfig" support-policy-deploy="false"></authorization-provider-config>
      </security-provider>
    </authorization-service>
  </security-configurations>
  <managed-job-config></managed-job-config>
  <system-applications>
    <application context-root="" object-type="system-admin" directory-deployed="true" name="__admingui" location="${com.sun.aas.installRootURI}/lib/install/applications/__admingui">
      <module name="__admingui">
        <engine sniffer="web"></engine>
        <engine sniffer="security"></engine>
      </module>
    </application>
  </system-applications>
  <resources>
    <jdbc-resource pool-name="__TimerPool" object-type="system-admin" jndi-name="jdbc/__TimerPool"></jdbc-resource>
    <jdbc-resource pool-name="DerbyPool" object-type="system-all" jndi-name="jdbc/__default"></jdbc-resource>
    <jdbc-connection-pool datasource-classname="org.apache.derby.jdbc.EmbeddedXADataSource" name="__TimerPool" res-type="javax.sql.XADataSource">
      <property name="databaseName" value="${com.sun.aas.instanceRoot}/lib/databases/ejbtimer"></property>
      <property name="connectionAttributes" value=";create=true"></property>
    </jdbc-connection-pool>
    <jdbc-connection-pool is-isolation-level-guaranteed="false" datasource-classname="org.apache.derby.jdbc.ClientDataSource" name="DerbyPool" res-type="javax.sql.DataSource">
      <property name="PortNumber" value="1527"></property>
      <property name="Password" value="APP"></property>
      <property name="User" value="APP"></property>
      <property name="serverName" value="localhost"></property>
      <property name="DatabaseName" value="sun-appserv-samples"></property>
      <property name="connectionAttributes" value=";create=true"></property>
    </jdbc-connection-pool>
    <connector-connection-pool resource-adapter-name="jmsra" max-pool-size="250" steady-pool-size="1" name="jms/__defaultConnectionFactory-Connection-Pool" connection-definition-name="javax.jms.ConnectionFactory"></connector-connection-pool>
    <connector-resource pool-name="jms/__defaultConnectionFactory-Connection-Pool" object-type="system-all-req" jndi-name="jms/__defaultConnectionFactory"></connector-resource>
    <context-service object-type="system-all" jndi-name="concurrent/__defaultContextService"></context-service>
    <managed-executor-service object-type="system-all" jndi-name="concurrent/__defaultManagedExecutorService"></managed-executor-service>
    <managed-scheduled-executor-service object-type="system-all" jndi-name="concurrent/__defaultManagedScheduledExecutorService"></managed-scheduled-executor-service>
    <managed-thread-factory object-type="system-all" jndi-name="concurrent/__defaultManagedThreadFactory"></managed-thread-factory>
    <jdbc-connection-pool datasource-classname="org.mariadb.jdbc.MySQLDataSource" name="aednsPool" res-type="javax.sql.DataSource">
      <property name="User" value="dyndns"></property>
      <property name="LoginTimeout" value="0"></property>
      <property name="Port" value="3306"></property>
      <property name="ServerName" value="localhost"></property>
      <property name="DatabaseName" value="xx"></property>
      <property name="PortNumber" value="3306"></property>
      <property name="URL" value="jdbc:mariadb://localhost:3306/xx"></property>
      <property name="Password" value="xx"></property>
    </jdbc-connection-pool>
    <jdbc-resource pool-name="aednsPool" jndi-name="jdbc/aedns"></jdbc-resource>
  </resources>
  <servers>
    <server config-ref="server-config" name="server">
      <application-ref ref="__admingui" virtual-servers="__asadmin"></application-ref>
      <application-ref ref="AEDNS" virtual-servers="xxx.de"></application-ref>
      <resource-ref ref="jdbc/__TimerPool"></resource-ref>
      <resource-ref ref="jdbc/__default"></resource-ref>
      <resource-ref ref="jms/__defaultConnectionFactory"></resource-ref>
      <resource-ref ref="concurrent/__defaultContextService"></resource-ref>
      <resource-ref ref="concurrent/__defaultManagedExecutorService"></resource-ref>
      <resource-ref ref="concurrent/__defaultManagedScheduledExecutorService"></resource-ref>
      <resource-ref ref="concurrent/__defaultManagedThreadFactory"></resource-ref>
      <resource-ref ref="jdbc/aedns"></resource-ref>
    </server>
  </servers>
  <nodes>
    <node name="localhost-domain1" install-dir="${com.sun.aas.productRoot}" type="CONFIG" node-host="localhost"></node>
  </nodes>
  <configs>
    <config name="server-config">
      <system-property name="JMS_PROVIDER_PORT" description="Port Number that JMS Service will listen for remote clients connection." value="7676"></system-property>
      <http-service>
        <access-log></access-log>
        <virtual-server network-listeners="http-listener-1,http-listener-2,jk-connector-8009" id="server"></virtual-server>
        <virtual-server network-listeners="admin-listener" id="__asadmin"></virtual-server>
        <virtual-server default-web-module="" network-listeners="jk-connector-8009" hosts="dyndns.ae-online.de" id="dyndns.ae-online.de" sso-cookie-http-only="false"></virtual-server>
        <virtual-server default-web-module="" network-listeners="jk-connector-8009" hosts="www.aedns.de" id="www.aedns.de" sso-cookie-http-only="false"></virtual-server>
      </http-service>
      <iiop-service>
        <orb use-thread-pool-ids="thread-pool-1"></orb>
        <iiop-listener address="0.0.0.0" port="3700" lazy-init="true" id="orb-listener-1"></iiop-listener>
        <iiop-listener address="0.0.0.0" port="3820" id="SSL" security-enabled="true">
          <ssl classname="com.sun.enterprise.security.ssl.GlassfishSSLImpl" cert-nickname="s1as"></ssl>
        </iiop-listener>
        <iiop-listener address="0.0.0.0" port="3920" id="SSL_MUTUALAUTH" security-enabled="true">
          <ssl classname="com.sun.enterprise.security.ssl.GlassfishSSLImpl" cert-nickname="s1as" client-auth-enabled="true"></ssl>
        </iiop-listener>
      </iiop-service>
      <admin-service system-jmx-connector-name="system" type="das-and-server">
        <jmx-connector address="0.0.0.0" port="8686" name="system" auth-realm-name="admin-realm">
          <ssl classname="com.sun.enterprise.security.ssl.GlassfishSSLImpl" client-auth="want" cert-nickname="s1as"></ssl>
        </jmx-connector>
        <property name="adminConsoleContextRoot" value="/admin"></property>
        <property name="adminConsoleDownloadLocation" value="${com.sun.aas.installRoot}/lib/install/applications/admingui.war"></property>
        <property name="ipsRoot" value="${com.sun.aas.installRoot}/.."></property>
        <das-config></das-config>
      </admin-service>
      <connector-service></connector-service>
      <transaction-service tx-log-dir="${com.sun.aas.instanceRoot}/logs"></transaction-service>
      <batch-runtime-configuration></batch-runtime-configuration>
      <jms-service default-jms-host="default_JMS_host" type="EMBEDDED">
        <jms-host port="${JMS_PROVIDER_PORT}" name="default_JMS_host" host="localhost"></jms-host>
      </jms-service>
      <rest-config></rest-config>
      <web-container>
        <session-config>
          <session-manager>
            <store-properties></store-properties>
            <manager-properties></manager-properties>
          </session-manager>
          <session-properties></session-properties>
        </session-config>
      </web-container>
      <ejb-container>
        <ejb-timer-service></ejb-timer-service>
      </ejb-container>
      <cdi-service></cdi-service>
      <hazelcast-runtime-configuration></hazelcast-runtime-configuration>
      <hazelcast-runtime-configuration></hazelcast-runtime-configuration>
      <diagnostic-service></diagnostic-service>
      <security-service>
        <auth-realm classname="com.sun.enterprise.security.auth.realm.file.FileRealm" name="admin-realm">
          <property name="file" value="${com.sun.aas.instanceRoot}/config/admin-keyfile"></property>
          <property name="jaas-context" value="fileRealm"></property>
        </auth-realm>
        <auth-realm classname="com.sun.enterprise.security.auth.realm.file.FileRealm" name="file">
          <property name="file" value="${com.sun.aas.instanceRoot}/config/keyfile"></property>
          <property name="jaas-context" value="fileRealm"></property>
        </auth-realm>
        <auth-realm classname="com.sun.enterprise.security.auth.realm.certificate.CertificateRealm" name="certificate"></auth-realm>
        <auth-realm classname="com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm" name="aednsRealm">
          <property name="user-name-column" value="user"></property>
          <property name="password-column" value="password"></property>
          <property name="digestrealm-password-enc-algorithm" value="none"></property>
          <property name="group-name-column" value="gruppe"></property>
          <property name="group-table" value="dyndns"></property>
          <property name="user-table" value="dyndns"></property>
          <property name="datasource-jndi" value="jdbc/aedns"></property>
          <property name="jaas-context" value="jdbcRealm"></property>
          <property name="digest-algorithm" value="none"></property>
        </auth-realm>
        <jacc-provider policy-provider="com.sun.enterprise.security.provider.PolicyWrapper" name="default" policy-configuration-factory-provider="com.sun.enterprise.security.provider.PolicyConfigurationFactoryImpl">
          <property name="repository" value="${com.sun.aas.instanceRoot}/generated/policy"></property>
        </jacc-provider>
        <jacc-provider policy-provider="com.sun.enterprise.security.jacc.provider.SimplePolicyProvider" name="simple" policy-configuration-factory-provider="com.sun.enterprise.security.jacc.provider.SimplePolicyConfigurationFactory"></jacc-provider>
        <audit-module classname="com.sun.enterprise.security.ee.Audit" name="default">
          <property name="auditOn" value="false"></property>
        </audit-module>
        <message-security-config auth-layer="SOAP">
          <provider-config provider-type="client" provider-id="XWS_ClientProvider" class-name="com.sun.xml.wss.provider.ClientSecurityAuthModule">
            <request-policy auth-source="content"></request-policy>
            <response-policy auth-source="content"></response-policy>
            <property name="encryption.key.alias" value="s1as"></property>
            <property name="signature.key.alias" value="s1as"></property>
            <property name="dynamic.username.password" value="false"></property>
            <property name="debug" value="false"></property>
          </provider-config>
          <provider-config provider-type="client" provider-id="ClientProvider" class-name="com.sun.xml.wss.provider.ClientSecurityAuthModule">
            <request-policy auth-source="content"></request-policy>
            <response-policy auth-source="content"></response-policy>
            <property name="encryption.key.alias" value="s1as"></property>
            <property name="signature.key.alias" value="s1as"></property>
            <property name="dynamic.username.password" value="false"></property>
            <property name="debug" value="false"></property>
            <property name="security.config" value="${com.sun.aas.instanceRoot}/config/wss-server-config-1.0.xml"></property>
          </provider-config>
          <provider-config provider-type="server" provider-id="XWS_ServerProvider" class-name="com.sun.xml.wss.provider.ServerSecurityAuthModule">
            <request-policy auth-source="content"></request-policy>
            <response-policy auth-source="content"></response-policy>
            <property name="encryption.key.alias" value="s1as"></property>
            <property name="signature.key.alias" value="s1as"></property>
            <property name="debug" value="false"></property>
          </provider-config>
          <provider-config provider-type="server" provider-id="ServerProvider" class-name="com.sun.xml.wss.provider.ServerSecurityAuthModule">
            <request-policy auth-source="content"></request-policy>
            <response-policy auth-source="content"></response-policy>
            <property name="encryption.key.alias" value="s1as"></property>
            <property name="signature.key.alias" value="s1as"></property>
            <property name="debug" value="false"></property>
            <property name="security.config" value="${com.sun.aas.instanceRoot}/config/wss-server-config-1.0.xml"></property>
          </provider-config>
        </message-security-config>
        <message-security-config auth-layer="HttpServlet">
          <provider-config provider-type="server" provider-id="GFConsoleAuthModule" class-name="org.glassfish.admingui.common.security.AdminConsoleAuthModule">
            <request-policy auth-source="sender"></request-policy>
            <response-policy></response-policy>
            <property name="loginPage" value="/login.jsf"></property>
            <property name="loginErrorPage" value="/loginError.jsf"></property>
          </provider-config>
        </message-security-config>
        <property name="default-digest-algorithm" value="SHA-256"></property>
      </security-service>
      <java-config classpath-suffix="" debug-options="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9009" system-classpath="">
        <jvm-options>-XX:MaxPermSize=192m</jvm-options>
        <jvm-options>-client</jvm-options>
        <jvm-options>-Djava.awt.headless=true</jvm-options>
        <jvm-options>-Djdk.corba.allowOutputStreamSubclass=true</jvm-options>
        <jvm-options>-Djavax.management.builder.initial=com.sun.enterprise.v3.admin.AppServerMBeanServerBuilder</jvm-options>
        <jvm-options>-XX:+UnlockDiagnosticVMOptions</jvm-options>
        <jvm-options>-Djava.endorsed.dirs=${com.sun.aas.installRoot}/modules/endorsed${path.separator}${com.sun.aas.installRoot}/lib/endorsed</jvm-options>
        <jvm-options>-Djava.security.policy=${com.sun.aas.instanceRoot}/config/server.policy</jvm-options>
        <jvm-options>-Djava.security.auth.login.config=${com.sun.aas.instanceRoot}/config/login.conf</jvm-options>
        <jvm-options>-Dcom.sun.enterprise.security.httpsOutboundKeyAlias=s1as</jvm-options>
        <jvm-options>-Xmx512m</jvm-options>
        <jvm-options>-Djavax.net.ssl.keyStore=${com.sun.aas.instanceRoot}/config/keystore.jks</jvm-options>
        <jvm-options>-Djavax.net.ssl.trustStore=${com.sun.aas.instanceRoot}/config/cacerts.jks</jvm-options>
        <jvm-options>-Djava.ext.dirs=${com.sun.aas.javaRoot}/lib/ext${path.separator}${com.sun.aas.javaRoot}/jre/lib/ext${path.separator}${com.sun.aas.instanceRoot}/lib/ext</jvm-options>
        <jvm-options>-Djdbc.drivers=org.apache.derby.jdbc.ClientDriver</jvm-options>
        <jvm-options>-DANTLR_USE_DIRECT_CLASS_LOADING=true</jvm-options>
        <jvm-options>-Dcom.sun.enterprise.config.config_environment_factory_class=com.sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory</jvm-options>
        <jvm-options>-Dorg.glassfish.additionalOSGiBundlesToStart=org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.gogo.command,org.apache.felix.shell.remote,org.apache.felix.fileinstall</jvm-options>
        <jvm-options>-Dosgi.shell.telnet.port=6666</jvm-options>
        <jvm-options>-Dosgi.shell.telnet.maxconn=1</jvm-options>
        <jvm-options>-Dosgi.shell.telnet.ip=127.0.0.1</jvm-options>
        <jvm-options>-Dgosh.args=--nointeractive</jvm-options>
        <jvm-options>-Dfelix.fileinstall.dir=${com.sun.aas.installRoot}/modules/autostart/</jvm-options>
        <jvm-options>-Dfelix.fileinstall.poll=5000</jvm-options>
        <jvm-options>-Dfelix.fileinstall.log.level=2</jvm-options>
        <jvm-options>-Dfelix.fileinstall.bundles.new.start=true</jvm-options>
        <jvm-options>-Dfelix.fileinstall.bundles.startTransient=true</jvm-options>
        <jvm-options>-Dfelix.fileinstall.disableConfigSave=false</jvm-options>
        <jvm-options>-XX:NewRatio=2</jvm-options>
      </java-config>
      <network-config>
        <protocols>
          <protocol name="http-listener-1">
            <http max-connections="250" default-virtual-server="server">
              <file-cache></file-cache>
            </http>
          </protocol>
          <protocol name="http-listener-2" security-enabled="true">
            <http max-connections="250" default-virtual-server="server">
              <file-cache></file-cache>
            </http>
            <ssl ssl3-enabled="false" classname="com.sun.enterprise.security.ssl.GlassfishSSLImpl" cert-nickname="s1as"></ssl>
          </protocol>
          <protocol name="admin-listener">
            <http encoded-slash-enabled="true" max-connections="250" default-virtual-server="__asadmin">
              <file-cache></file-cache>
            </http>
          </protocol>
          <protocol name="jk-connector-8009">
            <http default-virtual-server="server">
              <file-cache></file-cache>
            </http>
          </protocol>
          <protocol name="sec-admin-listener" security-enabled="true">
            <http encoded-slash-enabled="true" default-virtual-server="__asadmin">
              <file-cache></file-cache>
            </http>
            <ssl classname="com.sun.enterprise.security.ssl.GlassfishSSLImpl" client-auth="want" cert-nickname="intranet"></ssl>
          </protocol>
          <protocol name="admin-http-redirect">
            <http-redirect secure="true"></http-redirect>
          </protocol>
          <protocol name="pu-protocol">
            <port-unification>
              <protocol-finder protocol="sec-admin-listener" classname="org.glassfish.grizzly.config.portunif.HttpProtocolFinder" name="http-finder"></protocol-finder>
              <protocol-finder protocol="admin-http-redirect" classname="org.glassfish.grizzly.config.portunif.HttpProtocolFinder" name="admin-http-redirect"></protocol-finder>
            </port-unification>
          </protocol>
        </protocols>
        <network-listeners>
          <network-listener protocol="http-listener-1" port="8080" name="http-listener-1" thread-pool="http-thread-pool" transport="tcp"></network-listener>
          <network-listener protocol="http-listener-2" port="8181" name="http-listener-2" thread-pool="http-thread-pool" transport="tcp"></network-listener>
          <network-listener protocol="pu-protocol" port="4848" name="admin-listener" thread-pool="admin-thread-pool" transport="tcp"></network-listener>
          <network-listener jk-enabled="true" protocol="jk-connector-8009" port="8009" name="jk-connector-8009" thread-pool="http-thread-pool" transport="tcp"></network-listener>
        </network-listeners>
        <transports>
          <transport name="tcp"></transport>
        </transports>
      </network-config>
      <thread-pools>
        <thread-pool name="admin-thread-pool" max-queue-size="256" max-thread-pool-size="50"></thread-pool>
        <thread-pool name="http-thread-pool"></thread-pool>
        <thread-pool name="thread-pool-1" max-thread-pool-size="200"></thread-pool>
      </thread-pools>
      <group-management-service>
        <failure-detection></failure-detection>
      </group-management-service>
      <monitoring-service>
        <module-monitoring-levels></module-monitoring-levels>
      </monitoring-service>
      <availability-service></availability-service>
    </config>
    <config name="default-config">
      <http-service>
        <access-log></access-log>
        <virtual-server network-listeners="http-listener-1, http-listener-2" id="server">
          <property name="default-web-xml" value="${com.sun.aas.instanceRoot}/config/default-web.xml"></property>
        </virtual-server>
        <virtual-server network-listeners="admin-listener" id="__asadmin"></virtual-server>
      </http-service>
      <iiop-service>
        <orb use-thread-pool-ids="thread-pool-1"></orb>
        <iiop-listener address="0.0.0.0" port="${IIOP_LISTENER_PORT}" id="orb-listener-1"></iiop-listener>
        <iiop-listener address="0.0.0.0" port="${IIOP_SSL_LISTENER_PORT}" id="SSL" security-enabled="true">
          <ssl classname="com.sun.enterprise.security.ssl.GlassfishSSLImpl" cert-nickname="s1as"></ssl>
        </iiop-listener>
        <iiop-listener address="0.0.0.0" port="${IIOP_SSL_MUTUALAUTH_PORT}" id="SSL_MUTUALAUTH" security-enabled="true">
          <ssl classname="com.sun.enterprise.security.ssl.GlassfishSSLImpl" cert-nickname="s1as" client-auth-enabled="true"></ssl>
        </iiop-listener>
      </iiop-service>
      <admin-service system-jmx-connector-name="system">
        <jmx-connector address="0.0.0.0" port="${JMX_SYSTEM_CONNECTOR_PORT}" name="system" auth-realm-name="admin-realm">
          <ssl classname="com.sun.enterprise.security.ssl.GlassfishSSLImpl" client-auth="want" cert-nickname="glassfish-instance"></ssl>
        </jmx-connector>
        <property name="adminConsoleDownloadLocation" value="${com.sun.aas.installRoot}/lib/install/applications/admingui.war"></property>
        <das-config></das-config>
      </admin-service>
      <web-container>
        <session-config>
          <session-manager>
            <manager-properties></manager-properties>
            <store-properties></store-properties>
          </session-manager>
          <session-properties></session-properties>
        </session-config>
      </web-container>
      <ejb-container>
        <ejb-timer-service></ejb-timer-service>
      </ejb-container>
      <mdb-container></mdb-container>
      <jms-service addresslist-behavior="priority" default-jms-host="default_JMS_host" type="EMBEDDED">
        <jms-host port="${JMS_PROVIDER_PORT}" name="default_JMS_host" host="localhost"></jms-host>
      </jms-service>
      <log-service file="${com.sun.aas.instanceRoot}/logs/server.log" log-rotation-limit-in-bytes="2000000">
        <module-log-levels></module-log-levels>
      </log-service>
      <security-service>
        <auth-realm classname="com.sun.enterprise.security.auth.realm.file.FileRealm" name="admin-realm">
          <property name="file" value="${com.sun.aas.instanceRoot}/config/admin-keyfile"></property>
          <property name="jaas-context" value="fileRealm"></property>
        </auth-realm>
        <auth-realm classname="com.sun.enterprise.security.auth.realm.file.FileRealm" name="file">
          <property name="file" value="${com.sun.aas.instanceRoot}/config/keyfile"></property>
          <property name="jaas-context" value="fileRealm"></property>
        </auth-realm>
        <auth-realm classname="com.sun.enterprise.security.auth.realm.certificate.CertificateRealm" name="certificate"></auth-realm>
        <jacc-provider policy-provider="com.sun.enterprise.security.provider.PolicyWrapper" name="default" policy-configuration-factory-provider="com.sun.enterprise.security.provider.PolicyConfigurationFactoryImpl">
          <property name="repository" value="${com.sun.aas.instanceRoot}/generated/policy"></property>
        </jacc-provider>
        <jacc-provider policy-provider="com.sun.enterprise.security.jacc.provider.SimplePolicyProvider" name="simple" policy-configuration-factory-provider="com.sun.enterprise.security.jacc.provider.SimplePolicyConfigurationFactory"></jacc-provider>
        <audit-module classname="com.sun.enterprise.security.ee.Audit" name="default">
          <property name="auditOn" value="false"></property>
        </audit-module>
        <message-security-config auth-layer="SOAP">
          <provider-config provider-type="client" provider-id="XWS_ClientProvider" class-name="com.sun.xml.wss.provider.ClientSecurityAuthModule">
            <request-policy auth-source="content"></request-policy>
            <response-policy auth-source="content"></response-policy>
            <property name="encryption.key.alias" value="s1as"></property>
            <property name="signature.key.alias" value="s1as"></property>
            <property name="dynamic.username.password" value="false"></property>
            <property name="debug" value="false"></property>
          </provider-config>
          <provider-config provider-type="client" provider-id="ClientProvider" class-name="com.sun.xml.wss.provider.ClientSecurityAuthModule">
            <request-policy auth-source="content"></request-policy>
            <response-policy auth-source="content"></response-policy>
            <property name="encryption.key.alias" value="s1as"></property>
            <property name="signature.key.alias" value="s1as"></property>
            <property name="dynamic.username.password" value="false"></property>
            <property name="debug" value="false"></property>
            <property name="security.config" value="${com.sun.aas.instanceRoot}/config/wss-server-config-1.0.xml"></property>
          </provider-config>
          <provider-config provider-type="server" provider-id="XWS_ServerProvider" class-name="com.sun.xml.wss.provider.ServerSecurityAuthModule">
            <request-policy auth-source="content"></request-policy>
            <response-policy auth-source="content"></response-policy>
            <property name="encryption.key.alias" value="s1as"></property>
            <property name="signature.key.alias" value="s1as"></property>
            <property name="debug" value="false"></property>
          </provider-config>
          <provider-config provider-type="server" provider-id="ServerProvider" class-name="com.sun.xml.wss.provider.ServerSecurityAuthModule">
            <request-policy auth-source="content"></request-policy>
            <response-policy auth-source="content"></response-policy>
            <property name="encryption.key.alias" value="s1as"></property>
            <property name="signature.key.alias" value="s1as"></property>
            <property name="debug" value="false"></property>
            <property name="security.config" value="${com.sun.aas.instanceRoot}/config/wss-server-config-1.0.xml"></property>
          </provider-config>
        </message-security-config>
      </security-service>
      <transaction-service automatic-recovery="true" tx-log-dir="${com.sun.aas.instanceRoot}/logs"></transaction-service>
      <diagnostic-service></diagnostic-service>
      <java-config classpath-suffix="" debug-options="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=${JAVA_DEBUGGER_PORT}" system-classpath="">
        <jvm-options>-XX:MaxPermSize=192m</jvm-options>
        <jvm-options>-server</jvm-options>
        <jvm-options>-Djava.awt.headless=true</jvm-options>
        <jvm-options>-Djdk.corba.allowOutputStreamSubclass=true</jvm-options>
        <jvm-options>-XX:+UnlockDiagnosticVMOptions</jvm-options>
        <jvm-options>-Djava.endorsed.dirs=${com.sun.aas.installRoot}/modules/endorsed${path.separator}${com.sun.aas.installRoot}/lib/endorsed</jvm-options>
        <jvm-options>-Djava.security.policy=${com.sun.aas.instanceRoot}/config/server.policy</jvm-options>
        <jvm-options>-Djava.security.auth.login.config=${com.sun.aas.instanceRoot}/config/login.conf</jvm-options>
        <jvm-options>-Dcom.sun.enterprise.security.httpsOutboundKeyAlias=s1as</jvm-options>
        <jvm-options>-Djavax.net.ssl.keyStore=${com.sun.aas.instanceRoot}/config/keystore.jks</jvm-options>
        <jvm-options>-Djavax.net.ssl.trustStore=${com.sun.aas.instanceRoot}/config/cacerts.jks</jvm-options>
        <jvm-options>-Djava.ext.dirs=${com.sun.aas.javaRoot}/lib/ext${path.separator}${com.sun.aas.javaRoot}/jre/lib/ext${path.separator}${com.sun.aas.instanceRoot}/lib/ext</jvm-options>
        <jvm-options>-Djdbc.drivers=org.apache.derby.jdbc.ClientDriver</jvm-options>
        <jvm-options>-DANTLR_USE_DIRECT_CLASS_LOADING=true</jvm-options>
        <jvm-options>-Dcom.sun.enterprise.config.config_environment_factory_class=com.sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory</jvm-options>
        <jvm-options>-XX:NewRatio=2</jvm-options>
        <jvm-options>-Xmx512m</jvm-options>
        <jvm-options>-Dorg.glassfish.additionalOSGiBundlesToStart=org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.gogo.command,org.apache.felix.fileinstall</jvm-options>
        <jvm-options>-Dosgi.shell.telnet.port=${OSGI_SHELL_TELNET_PORT}</jvm-options>
        <jvm-options>-Dosgi.shell.telnet.maxconn=1</jvm-options>
        <jvm-options>-Dosgi.shell.telnet.ip=127.0.0.1</jvm-options>
        <jvm-options>-Dgosh.args=--noshutdown -c noop=true</jvm-options>
        <jvm-options>-Dfelix.fileinstall.dir=${com.sun.aas.installRoot}/modules/autostart/</jvm-options>
        <jvm-options>-Dfelix.fileinstall.poll=5000</jvm-options>
        <jvm-options>-Dfelix.fileinstall.log.level=3</jvm-options>
        <jvm-options>-Dfelix.fileinstall.bundles.new.start=true</jvm-options>
        <jvm-options>-Dfelix.fileinstall.bundles.startTransient=true</jvm-options>
        <jvm-options>-Dfelix.fileinstall.disableConfigSave=false</jvm-options>
      </java-config>
      <availability-service>
        <web-container-availability></web-container-availability>
        <ejb-container-availability sfsb-store-pool-name="jdbc/hastore"></ejb-container-availability>
        <jms-availability></jms-availability>
      </availability-service>
      <network-config>
        <protocols>
          <protocol name="http-listener-1">
            <http default-virtual-server="server">
              <file-cache></file-cache>
            </http>
          </protocol>
          <protocol name="http-listener-2" security-enabled="true">
            <http default-virtual-server="server">
              <file-cache></file-cache>
            </http>
            <ssl ssl3-enabled="false" classname="com.sun.enterprise.security.ssl.GlassfishSSLImpl" cert-nickname="s1as"></ssl>
          </protocol>
          <protocol name="admin-listener">
            <http max-connections="250" default-virtual-server="__asadmin">
              <file-cache></file-cache>
            </http>
          </protocol>
          <protocol name="sec-admin-listener" security-enabled="true">
            <http encoded-slash-enabled="true" default-virtual-server="__asadmin">
              <file-cache></file-cache>
            </http>
            <ssl classname="com.sun.enterprise.security.ssl.GlassfishSSLImpl" client-auth="want" cert-nickname="glassfish-instance"></ssl>
          </protocol>
          <protocol name="admin-http-redirect">
            <http-redirect secure="true"></http-redirect>
          </protocol>
          <protocol name="pu-protocol">
            <port-unification>
              <protocol-finder protocol="sec-admin-listener" classname="org.glassfish.grizzly.config.portunif.HttpProtocolFinder" name="http-finder"></protocol-finder>
              <protocol-finder protocol="admin-http-redirect" classname="org.glassfish.grizzly.config.portunif.HttpProtocolFinder" name="admin-http-redirect"></protocol-finder>
            </port-unification>
          </protocol>
        </protocols>
        <network-listeners>
          <network-listener protocol="http-listener-1" port="${HTTP_LISTENER_PORT}" name="http-listener-1" thread-pool="http-thread-pool" transport="tcp"></network-listener>
          <network-listener protocol="http-listener-2" port="${HTTP_SSL_LISTENER_PORT}" name="http-listener-2" thread-pool="http-thread-pool" transport="tcp"></network-listener>
          <network-listener protocol="pu-protocol" port="${ASADMIN_LISTENER_PORT}" name="admin-listener" thread-pool="http-thread-pool" transport="tcp"></network-listener>
        </network-listeners>
        <transports>
          <transport name="tcp"></transport>
        </transports>
      </network-config>
      <thread-pools>
        <thread-pool name="http-thread-pool"></thread-pool>
        <thread-pool name="thread-pool-1" max-thread-pool-size="200"></thread-pool>
        <thread-pool name="admin-thread-pool" max-queue-size="256" max-thread-pool-size="50"></thread-pool>
      </thread-pools>
      <group-management-service>
        <failure-detection></failure-detection>
      </group-management-service>
      <system-property name="JMS_PROVIDER_PORT" description="Port Number that JMS Service will listen for remote clients connection." value="27676"></system-property>
      <system-property name="ASADMIN_LISTENER_PORT" value="24848"></system-property>
      <system-property name="HTTP_LISTENER_PORT" value="28080"></system-property>
      <system-property name="HTTP_SSL_LISTENER_PORT" value="28181"></system-property>
      <system-property name="IIOP_LISTENER_PORT" value="23700"></system-property>
      <system-property name="IIOP_SSL_LISTENER_PORT" value="23820"></system-property>
      <system-property name="IIOP_SSL_MUTUALAUTH_PORT" value="23920"></system-property>
      <system-property name="JMX_SYSTEM_CONNECTOR_PORT" value="28686"></system-property>
      <system-property name="OSGI_SHELL_TELNET_PORT" value="26666"></system-property>
      <system-property name="JAVA_DEBUGGER_PORT" value="29009"></system-property>
      <monitoring-service>
        <module-monitoring-levels></module-monitoring-levels>
      </monitoring-service>
    </config>
  </configs>
  <property name="administrative.domain.name" value="domain1"></property>
  <secure-admin special-admin-indicator="" enabled="true">
    <secure-admin-principal dn="CN=localhost,OU=GlassFish,O=Oracle Corporation,L=Santa Clara,ST=California,C=US"></secure-admin-principal>
    <secure-admin-principal dn="CN=localhost-instance,OU=GlassFish,O=Oracle Corporation,L=Santa Clara,ST=California,C=US"></secure-admin-principal>
  </secure-admin>
  <clusters></clusters>
  <applications>
    <application context-root="/" object-type="user" name="AEDNS" location="${com.sun.aas.instanceRootURI}/applications/AEDNS/">
      <property name="archiveType" value="war"></property>
      <property name="java-web-start-enabled" value="true"></property>
      <property name="appLocation" value="${com.sun.aas.instanceRootURI}/applications/__internal/AEDNS/AEDNS4526602535279159631.war"></property>
      <property name="defaultAppName" value="AEDNS4526602535279159631"></property>
      <module name="AEDNS">
        <engine sniffer="security"></engine>
        <engine sniffer="web"></engine>
      </module>
    </application>
  </applications>
</domain>

@smillidge
Copy link
Contributor

Can you try setting java.io.tmpdir to point to somewhere not likely to be deleted.

@Cibor
Copy link

Cibor commented Jan 28, 2016

I am facing the same issue. Here is what happened:

1 - I installed Payara on Mac.
2 - I added a JDBC Pool & then a JDBC Resource via the admin console.
3 - I tried to deploy my own application from Netbeans but I got an error - incorrect username & password. I was unable to figure out why because I thought I had set up the passwords correctly.
4 - I thought I would have more luck deploying the application from the admin console.
5 - I'm getting PWC6117: File "null" not found since then. Restarting Payara doesn't help.

@andreasernst
Copy link
Author

I develop with NetBeans 8.1 and Payara 4.1.1.154. I never had this issue on my Mac, only on the production systems with openSUSE.

@andreasernst
Copy link
Author

I will try to set the java.io.tmpdir, but i don't think that this help. The /tmp dir is full with various wars.

@andreasernst
Copy link
Author

Ok, i did it.

md /opt/tmp
chmod 777 /opt/tmp
mail:/opt # l /opt/tmp/
insgesamt 12
drwxrwxrwx 3 root root 4096 3. Feb 19:43 ./
drwxr-xr-x 7 root root 4096 3. Feb 19:41 ../
drwxr-xr-x 2 root root 4096 3. Feb 19:43 fileinstall--1487168193662829761/

As expected after the restart, i loggedin:

[2016-02-03T19:44:40.549+0100] [Payara 4.1] [SEVERE] [] [org.apache.jasper.servlet.JspServlet] [tid: _ThreadID=41 _ThreadName=admin-listener(3)] [timeMillis: 1454525080549] [levelValue: 1000] [[
PWC6117: File "null" not found]]

@andreasernst
Copy link
Author

This issue is also in 161.

@andreasernst
Copy link
Author

This issue seems to similar with #648. After restarting Firefox, the admin console is working.

@mikecroft
Copy link
Contributor

@andreasernst did you mean that restarting only your browser resolves the problem?

@andreasernst
Copy link
Author

Yes, you have to restart Browser or Payara

@mikecroft
Copy link
Contributor

@smillidge does this sound like the issue with broken sessions we had a long time ago to you? Based on that, I think this is expected behaviour when a session breaks - is that your conclusion too?

@mikecroft mikecroft self-assigned this Sep 13, 2016
@andreasernst
Copy link
Author

I got this error right now with 163 and Firefox. Closing the TAB nor restarting Firefox does help. Starting Chrome loading the page and then reload the page in Firefox helps.

@lprimak lprimak self-assigned this Oct 26, 2016
@lprimak
Copy link
Contributor

lprimak commented Oct 26, 2016

Not sure if this is related, but I will take a look at processing that produces this error

@lprimak
Copy link
Contributor

lprimak commented Oct 26, 2016

This error is basically "jsp file not found" so if .jsp file is referenced and its not found, this error results

@lprimak
Copy link
Contributor

lprimak commented Oct 29, 2016

I have taken a good look at all the execution paths resulting in PWC6117: File "null" not found errors. There are three instances when this error is generated:

  • Any HTTP request for a JSP file (.jsp extension) that does not exist in the application
  • Existing JSP file that has been removed from the Payara domain after the server has started
  • When precompiled JSP application has been deployed and it can't find that class (Internal)

First case is a nuisance error that will be suppressed in the future versions of Payara
Second case is the most likely here. I would make sure that nothing touches ${domain_dir}/generated/ directory. If files are deleted from there it would cause this error.

@lprimak
Copy link
Contributor

lprimak commented Oct 29, 2016

@andreasernst I would re-build the domain in your case. This sounds like a corrupted domain.
Short of that, you can try:

  • Stop the server
    Inside ${domain_dir}:
  • delete logs/*
  • delete generated/*
  • delete osgi-cache/*
  • delete applications/*

Then re-deploy all your apps,
but I would start with a fresh domain.

@andreasernst
Copy link
Author

@lprimak my domains are working properly. The admin web console is not working any more.

@lprimak
Copy link
Contributor

lprimak commented Nov 8, 2016

What does it mean "not working"
Do you have any error messages in the logs?

@andreasernst
Copy link
Author

[2016-11-04T15:33:18.910+0100] [Payara 4.1] [SEVERE] [] [org.apache.jasper.servlet.JspServlet] [tid: _ThreadID=43 _ThreadName=admin-thread-pool(5)] [timeMillis: 1478269998910] [levelValue: 1000] [[
PWC6117: File "null" not found]]

You can not use the admin web gui on port 4848. The error message you see in the browser, i don't not right now. With Payara41.163.

@lprimak
Copy link
Contributor

lprimak commented Nov 8, 2016

There is something else going on with your domain.
Can you create a fresh one?

@andreasernst
Copy link
Author

No, my Domains are all working, as expected. Only the admin web interface is crashed.

@smillidge
Copy link
Contributor

Is this on windows with a pre-release build?

@andreasernst
Copy link
Author

Client is macOS 10.12.1, latest Firefox, Server is openSUSE 13.1, latest Oracle JDK

@smillidge
Copy link
Contributor

OK not related then there is a known issue in some of the pre-release builds whereby the admin console will not display on windows in certain conditions. It's not in any of the released versions.

@andreasernst
Copy link
Author

Hhmm, this error is in Payara Server 4.1.1.154 and Payara Server 4.1.1.163.

@lprimak
Copy link
Contributor

lprimak commented Nov 9, 2016

Perhaps you should still create a brand new domain, and see if the admin console error still exists.

@andreasernst
Copy link
Author

On production server, this does not make sense. Restarting Payara is much faster.

@lprimak
Copy link
Contributor

lprimak commented Nov 18, 2016

I don't mean every time. I mean just this once. I think something has corrupted your domain.

@OndroMih OndroMih added 0:Triaged and removed 1:Wait labels Dec 15, 2016
@lprimak
Copy link
Contributor

lprimak commented Feb 5, 2017

@andreasernst Have you tried to recreate your possibly corrupt domain?

@andreasernst
Copy link
Author

This error is showing on production systems, so rebuild is no option, it takes too long time. I do not think the the domain is corrupted, a restart always works. The last error were from on one server:

server.log_2017-02-17T07-15-00: PWC6117: File "null" not found]]
server.log_2017-02-17T07-15-00: PWC6117: File "null" not found]]

I updated last week all servers to 171.0.1.

@lprimak lprimak added cannot reproduce PR: TESTS REQUIRED PR Requires Tests to be merged and removed c:PossibleBug labels Mar 21, 2017
@lprimak
Copy link
Contributor

lprimak commented Mar 21, 2017

Hi, @andreasernst
I traced your error to this call:
http://grepcode.com/file/repo1.maven.org/maven2/org.mortbay.jetty/jsp-2.1-glassfish/9.1.02.B04.p0/org/apache/jasper/servlet/JspServletWrapper.java#319

Unfortunately, this can only happen when server's own JSP files are removed from the domain directory. I believe this is unique to your own environment and cannot be reproduced generally.
I am sorry there is nothing more we can do here.

If you come up with a simple reproducible case, feel free to reopen this issue.

@lprimak lprimak closed this as completed Mar 21, 2017
@fturizo fturizo removed the 0:Triaged label Mar 21, 2017
Pandrex247 added a commit that referenced this issue Aug 30, 2022
FISH-6260 Fix NoSuchField Exception
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PR: TESTS REQUIRED PR Requires Tests to be merged
Projects
None yet
Development

No branches or pull requests

8 participants