You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Erick Erickson (JIRA)" <ji...@apache.org> on 2018/07/17 22:53:00 UTC
[jira] [Resolved] (SOLR-12538) log4j exceptions during startup on
Windows
[ https://issues.apache.org/jira/browse/SOLR-12538?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Erick Erickson resolved SOLR-12538.
-----------------------------------
Resolution: Fixed
Fix Version/s: 7.5
master (8.0)
Closing as fixed since we tested it on windows and nobody has reported back. We can re-open if it recurs.
Meanwhile, a temporary workaround should be to changes instances of:
{code}
file:%EXAMPLE_DIR%\resources\log4j2.xml
to
file:///%EXAMPLE_DIR%\resources\log4j2.xml
{code}
> log4j exceptions during startup on Windows
> ------------------------------------------
>
> Key: SOLR-12538
> URL: https://issues.apache.org/jira/browse/SOLR-12538
> Project: Solr
> Issue Type: Bug
> Security Level: Public(Default Security Level. Issues are Public)
> Components: scripts and tools
> Affects Versions: 7.4
> Reporter: Jakob Furrer
> Assignee: Erick Erickson
> Priority: Minor
> Fix For: master (8.0), 7.5
>
>
> Note that there has been some input regarding this issue on the Solr mailinglist:
> [http://lucene.472066.n3.nabble.com/Logging-fails-when-starting-Solr-in-Windows-using-solr-cmd-td4396671.html]
> Problem description
> ==================
> System: Microsoft Windows 10 Enterprise Version 10.0.16299 Build 16299
> Steps to reproduce the problem:
> 1) Download solr-7.4.0.zip
> 2) Unzip to C:\solr-7.4.0
> 3) No changes (configuration or otherwise) whatsoever
> 4) Open cmd.exe
> 5) Execute the following command: *cd c:\solr-7.4.0\bin*
> 6) Execute the following command: *solr.cmd start -p 8983*
> 7) The following console output appears:
> {code:java}
> c:\solr-7.4.0\bin>solr.cmd start -p 8983
> ERROR StatusLogger Unable to access
> file:/c:/solr-7.4.0/server/file:c:/solr-7.4.0/server/scripts/cloud-scripts/log4j2.xml
> java.io.FileNotFoundException:
> c:\solr-7.4.0\server\file:c:\solr-7.4.0\server\scripts\cloud-scripts\log4j2.xml
> (Die Syntax für den Dateinamen, Verzeichnisnamen oder die
> Datenträgerbezeichnung ist falsch)
> at java.io.FileInputStream.open0(Native Method)
> at java.io.FileInputStream.open(FileInputStream.java:195)
> at java.io.FileInputStream.<init>(FileInputStream.java:138)
> at java.io.FileInputStream.<init>(FileInputStream.java:93)
> at
> sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
> at
> sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
> at java.net.URL.openStream(URL.java:1045)
> at
> org.apache.logging.log4j.core.config.ConfigurationSource.fromUri(ConfigurationSource.java:247)
> at
> org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.getConfiguration(ConfigurationFactory.java:404)
> at
> org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.getConfiguration(ConfigurationFactory.java:346)
> at
> org.apache.logging.log4j.core.config.ConfigurationFactory.getConfiguration(ConfigurationFactory.java:260)
> at
> org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:615)
> at
> org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:636)
> at
> org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:231)
> at
> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:153)
> at
> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)
> at
> org.apache.logging.log4j.LogManager.getContext(LogManager.java:194)
> at
> org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:121)
> at
> org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:43)
> at
> org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:46)
> at
> org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:29)
> at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358)
> at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:383)
> at org.apache.solr.util.SolrCLI.<clinit>(SolrCLI.java:228)
> ERROR StatusLogger Unable to access
> file:/c:/solr-7.4.0/server/file:c:/solr-7.4.0/server/resources/log4j2.xml
> java.io.FileNotFoundException:
> c:\solr-7.4.0\server\file:c:\solr-7.4.0\server\resources\log4j2.xml (Die
> Syntax für den Dateinamen, Verzeichnisnamen oder die
> Datenträgerbezeichnung ist falsch)
> at java.io.FileInputStream.open0(Native Method)
> at java.io.FileInputStream.open(FileInputStream.java:195)
> at java.io.FileInputStream.<init>(FileInputStream.java:138)
> at java.io.FileInputStream.<init>(FileInputStream.java:93)
> at
> sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
> at
> sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
> at java.net.URL.openStream(URL.java:1045)
> at
> org.apache.logging.log4j.core.config.ConfigurationSource.fromUri(ConfigurationSource.java:247)
> at
> org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.getConfiguration(ConfigurationFactory.java:404)
> at
> org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.getConfiguration(ConfigurationFactory.java:346)
> at
> org.apache.logging.log4j.core.config.ConfigurationFactory.getConfiguration(ConfigurationFactory.java:260)
> at
> org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:615)
> at
> org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:636)
> at
> org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:231)
> at
> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:153)
> at
> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)
> at
> org.apache.logging.log4j.LogManager.getContext(LogManager.java:194)
> at
> org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:121)
> at
> org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:43)
> at
> org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:46)
> at
> org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:29)
> at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358)
> at org.eclipse.jetty.util.log.Slf4jLog.<init>(Slf4jLog.java:38)
> at org.eclipse.jetty.util.log.Slf4jLog.<init>(Slf4jLog.java:32)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at
> java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> at org.eclipse.jetty.util.log.Log.initialized(Log.java:178)
> at org.eclipse.jetty.util.log.Log.getLogger(Log.java:311)
> at org.eclipse.jetty.util.log.Log.getLogger(Log.java:301)
> at
> org.eclipse.jetty.xml.XmlConfiguration.<clinit>(XmlConfiguration.java:80)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.eclipse.jetty.start.Main.invokeMain(Main.java:220)
> at org.eclipse.jetty.start.Main.start(Main.java:486)
> at org.eclipse.jetty.start.Main.main(Main.java:77)
> INFO - 2018-07-03 10:12:19.375;
> org.apache.solr.util.configuration.SSLCredentialProviderFactory;
> Processing SSL Credential Provider chain: env;sysprop
> Waiting up to 30 to see Solr running on port 8983
> Started Solr server on port 8983. Happy searching!
> c:\solr-7.4.0\bin> {code}
>
> Proposed workaround
> ==================
> 8) I managed to fix the situation temporarily as follows (but I am not
> convinced this is the correct way to comprehensively tackle the problem)
> Edit C:\solr-7.4.0\bin\solr.cmd as follows:
> Change all occurrences of '*-Dlog4j.configurationFile="file:*' to
> '*-Dlog4j.configurationFile="*' (19 occurrences in total)
> Change all occurrences of *'LOG4J_CONFIG=[file:*|file:///*]' to '*LOG4J_CONFIG=*' (2
> occurrences in total)
> 9) Execute the following command: *solr.cmd restart -p 8983*
> 10) The following console output appears:
> {code:java}
> c:\solr-7.4.0\bin>solr.cmd restart -p 8983
> Stopping Solr process 20024 running on port 8983
> Gewartet wird 0 Sekunden. Weiter mit beliebiger Taste...
> INFO - 2018-07-03 10:47:57.994;
> org.apache.solr.util.configuration.SSLCredentialProviderFactory;
> Processing SSL Credential Provider chain: env;sysprop
> Waiting up to 30 to see Solr running on port 8983
> Started Solr server on port 8983. Happy searching!
> c:\solr-7.4.0\bin> {code}
> Cheers, Jakob
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org