Upgrading logback from 1.2 to 1.3 stops logging - logback

If I use any 1.3.x or 1.4.x logback-classic version, my application stops logging.
The logback.xml file maybe isn't even loaded (if I insert invalid xml or delete it, I get no errors).
It works fine with logback 1.2.11.
I'm using gradle automatic dependency resolution so I shouldn't have messed them.
This works:
logback-classic-1.2.11.jar + logback-core-1.2.11.jar + slf4j-api-1.7.32.jar
This doesn't work:
logback-classic-1.3.3.jar + logback-core-1.3.3.jar + slf4j-api-2.0.1.jar
java 8 on windows 10 in Eclipse 2022-09 (4.25.0)
My classpath:
activation-1.1.jar
annotations-13.0.jar
antlr-2.7.7.jar
attoparser-2.0.5.RELEASE.jar
byte-buddy-1.10.22.jar
checker-compat-qual-2.5.5.jar
checkout-sdk-1.0.5.jar
classmate-1.5.1.jar
commons-beanutils-1.9.4.jar
commons-codec-1.11.jar
commons-collections-3.2.2.jar
commons-configuration2-2.8.0.jar
commons-exec-1.3.jar
commons-fileupload-1.3.3.jar
commons-io-2.11.0.jar
commons-jxpath-1.3.jar
commons-lang3-3.12.0.jar
commons-logging-1.2.jar
commons-text-1.9.jar
concurrentlinkedhashmap-lru-1.4.2.jar
error_prone_annotations-2.5.1.jar
failureaccess-1.0.1.jar
FastInfoset-1.2.15.jar
flyway-core-5.0.5.jar
google-api-client-1.32.1.jar
google-api-client-jackson2-1.32.1.jar
google-http-client-1.39.2.jar
google-http-client-apache-v2-1.39.2.jar
google-http-client-gson-1.39.2.jar
google-oauth-client-1.31.5.jar
grpc-context-1.27.2.jar
gson-2.8.6.jar
guava-30.1.1-android.jar
hamcrest-core-1.3.jar
hibernate-commons-annotations-5.1.2.Final.jar
hibernate-core-5.5.0.Final.jar
hibernate-entitymanager-5.5.0.Final.jar
hibernate-validator-5.4.2.Final.jar
httpclient-4.5.13.jar
httpcore-4.4.14.jar
istack-commons-runtime-3.0.7.jar
j2objc-annotations-1.3.jar
jackson-annotations-2.12.7.jar
jackson-core-2.12.7.jar
jackson-databind-2.12.7.jar
jandex-2.2.3.Final.jar
javassist-3.27.0-GA.jar
javax.activation-api-1.2.0.jar
javax.inject-1.jar
javax.mail-1.6.2.jar
javax.persistence-api-2.2.jar
jaxb-api-2.3.1.jar
jaxb-runtime-2.3.1.jar
jboss-logging-3.4.2.Final.jar
jboss-transaction-api_1.2_spec-1.1.1.Final.jar
jsoup-1.9.2.jar
jsr305-3.0.2.jar
junit-4.13.2.jar
kotlin-stdlib-1.5.0.jar
kotlin-stdlib-common-1.5.0.jar
kotlin-stdlib-jdk7-1.5.0.jar
kotlin-stdlib-jdk8-1.5.0.jar
listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
logback-classic-1.3.3.jar
logback-core-1.3.3.jar
metadata-extractor-2.16.0.jar
mysql-connector-java-8.0.25.jar
mysql-connector-java-8.0.30.jar
opencensus-api-0.28.0.jar
opencensus-contrib-http-util-0.28.0.jar
paypalhttp-1.0.3.jar
protobuf-java-3.11.4.jar
protobuf-java-3.19.4.jar
selenium-api-3.8.1.jar
selenium-chrome-driver-3.8.1.jar
selenium-firefox-driver-3.8.1.jar
selenium-remote-driver-3.8.1.jar
selenium-support-3.8.1.jar
slf4j-api-2.0.1.jar
spring-aop-5.3.18.jar
spring-beans-5.3.18.jar
spring-context-5.3.18.jar
spring-context-support-5.3.18.jar
spring-core-5.3.18.jar
spring-expression-5.3.18.jar
spring-jcl-5.3.18.jar
spring-jdbc-5.3.18.jar
spring-orm-5.3.18.jar
spring-security-config-5.5.0.jar
spring-security-core-5.5.0.jar
spring-security-crypto-5.5.0.jar
spring-security-web-5.5.0.jar
spring-social-config-1.1.4.RELEASE.jar
spring-social-core-1.1.4.RELEASE.jar
spring-social-facebook-2.0.3.RELEASE.jar
spring-social-web-1.1.4.RELEASE.jar
spring-tx-5.3.18.jar
spring-web-5.3.18.jar
spring-webmvc-5.3.18.jar
stax-ex-1.8.jar
thymeleaf-3.0.15.RELEASE.jar
thymeleaf-extras-springsecurity5-3.0.4.RELEASE.jar
thymeleaf-spring5-3.0.15.RELEASE.jar
tomcat-annotations-api-8.5.82.jar
tomcat-embed-core-8.5.82.jar
tomcat-servlet-api-8.0.48.jar
tomcat-servlet-api-8.5.82.jar
txw2-2.3.1.jar
unbescape-1.1.6.RELEASE.jar
validation-api-1.1.0.Final.jar
vibur-dbcp-25.0.jar
vibur-object-pool-25.0.jar
xmpcore-6.1.11.jar
EDIT:
These few lines in build.gradle make the difference between working and not working:
implementation('ch.qos.logback:logback-classic') {
version {
strictly '1.2.11'
}
}
EDIT:
This is the console output. None of it is logged by me. The "!!!!!" line is printed with System.out.println() as suggested and is black, all the rest is red:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
nov 16, 2022 7:05:18 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8080"]
nov 16, 2022 7:05:18 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-nio-0.0.0.0-8009"]
nov 16, 2022 7:05:18 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["https-jsse-nio-8443"]
nov 16, 2022 7:05:19 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service [Tomcat]
nov 16, 2022 7:05:19 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet engine: [Apache Tomcat/8.5.83]
nov 16, 2022 7:05:19 PM org.apache.catalina.startup.ContextConfig getDefaultWebXmlFragment
INFO: No global web.xml found
nov 16, 2022 7:05:24 PM org.apache.catalina.core.ApplicationContext log
INFO: 2 Spring WebApplicationInitializers detected on classpath
nov 16, 2022 7:05:24 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
SLF4J: Failed to load class "org.slf4j.impl.StaticMDCBinder".
SLF4J: Defaulting to no-operation MDCAdapter implementation.
SLF4J: See http://www.slf4j.org/codes.html#no_static_mdc_binder for further details.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
nov 16, 2022 7:05:35 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring DispatcherServlet 'dispatcher'
nov 16, 2022 7:05:36 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-8080"]
nov 16, 2022 7:05:36 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-nio-0.0.0.0-8009"]
nov 16, 2022 7:05:36 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["https-jsse-nio-8443"]

TLDR: Eclipse was adding slf4j-api-1.7.25 to the classpath because thymeleaf-3.0.15.RELEASE depended on it, ignoring the forced upgrade to slf4j-api-2.0.1.jar required by logback-classic:1.3.3. Fixed by updating to thymeleaf-3.1.0.RELEASE
There must be some bug in the Gradle dependency resolution used by Eclipse because the dependency of thymeleaf-3.0.15.RELEASE from slf4j-api-1.7.25 was not "totally" upgraded to slf4j-api-2.0.1.jar contrary to what is shown both by the Eclipse "Project and External Dependencies" tree and the manual gradle dependencyInsight command:
org.slf4j:slf4j-api:1.7.25 -> 2.0.1
+--- org.thymeleaf:thymeleaf:3.0.15.RELEASE
| \--- org.thymeleaf:thymeleaf-spring5:3.0.15.RELEASE
| \--- compileClasspath
In reality slf4j-api-1.7.25.jar was still used together with slf4j-api-2.0.1.jar but was visible only on the command line that you can get from the Eclipse "Run Configurations" > "Show Command Line" button.
This failure to upgrade a dependency doesn't always happen. In my case I had a ProjectMain depending on a ProjectLib and while both used thymeleaf-3.0.15.RELEASE just the former had a dependency on logback-classic:1.3.3 that was upgrading slf4j-api-1.7.25.jar to slf4j-api-2.0.1.jar.
EDIT:
Forcing the use of slf4j-api-2.0.1.jar on the main project doesn't prevent Eclipse from adding the old jar on the command line if the lib project still depends on it:
implementation('org.slf4j:slf4j-api') {
version {
strictly '2.0.1'
}
}

My two cents: are you using nested appenders in your configuration? If yes, this construct is not supported anymore since Logback 1.3 and your appenders may simply not be initialized. See LOGBACK-1674 for more information.

Related

format no valid records found in tracefile using genHTML on coverage.dat generated by bazel in lcov

Team,
I am able to successfully generated the coverage.dat file but I cannot generate htlm to view the report. anything that am missing? am new to this.
./bazel coverage --combined_report=lcov //src/teams/test/...
output
Command> ./bazel coverage --combined_report=lcov //src/teams/test/...
INFO: Invocation ID: 48b15c3a-43bb-435c-97d5-e608703cc53a
INFO: Using default value for --instrumentation_filter: "^//src/teams/test/keys[/:],^//src/teams/test/server[/:],^//src/teams/test/store/postgres[/:],^//src/teams/test/tools/keyrotate[/:],^//src/teams/test/vault[/:]".
INFO: Override the above default with --instrumentation_filter
INFO: Build option --instrumentation_filter has changed, discarding analysis cache.
DEBUG: Rule 'distroless' indicated that a canonical reproducible form can be obtained by modifying arguments shallow_since = "1564086429 -0400"
DEBUG: Repository distroless instantiated at:
/Users/userme/code/company/git-team/product/WORKSPACE:32:20: in <toplevel>
/private/var/tmp/_bazel_userme/e6e1d0cbd051dd43ed59dca5541f019d/external/product/wkspc/phase0.bzl:62:23: in static_repositories
Repository rule git_repository defined at:
/private/var/tmp/_bazel_userme/e6e1d0cbd051dd43ed59dca5541f019d/external/bazel_tools/tools/build_defs/repo/git.bzl:199:33: in <toplevel>
INFO: Analyzed 33 targets (68 packages loaded, 21664 targets configured).
INFO: Found 28 targets and 5 test targets...
INFO: LCOV coverage report is located at /private/var/tmp/_bazel_userme/e6e1d0cbd051dd43ed59dca5541f019d/execroot/product/bazel-out/_coverage/_coverage_report.dat
and execpath is bazel-out/_coverage/_coverage_report.dat
INFO: From Coverage report generation:
Dec 09, 2022 11:36:27 AM com.google.devtools.coverageoutputgenerator.Main getTracefiles
INFO: Found 5 tracefiles.
Dec 09, 2022 11:36:27 AM com.google.devtools.coverageoutputgenerator.Main parseFilesSequentially
INFO: Parsing file bazel-out/darwin-fastbuild/testlogs/src/teams/test/vault/vault_test/coverage.dat
Dec 09, 2022 11:36:27 AM com.google.devtools.coverageoutputgenerator.Main parseFilesSequentially
INFO: Parsing file bazel-out/darwin-fastbuild/testlogs/src/teams/test/server/server_test/coverage.dat
Dec 09, 2022 11:36:27 AM com.google.devtools.coverageoutputgenerator.Main parseFilesSequentially
INFO: Parsing file bazel-out/darwin-fastbuild/testlogs/src/teams/test/store/postgres/postgres_test/coverage.dat
Dec 09, 2022 11:36:27 AM com.google.devtools.coverageoutputgenerator.Main parseFilesSequentially
INFO: Parsing file bazel-out/darwin-fastbuild/testlogs/src/teams/test/keys/keys_test/coverage.dat
Dec 09, 2022 11:36:28 AM com.google.devtools.coverageoutputgenerator.Main parseFilesSequentially
INFO: Parsing file bazel-out/darwin-fastbuild/testlogs/src/teams/test/tools/keyrotate/keyrotate_test/coverage.dat
Dec 09, 2022 11:36:28 AM com.google.devtools.coverageoutputgenerator.Main getGcovInfoFiles
INFO: No gcov info file found.
Dec 09, 2022 11:36:28 AM com.google.devtools.coverageoutputgenerator.Main getGcovJsonInfoFiles
INFO: No gcov json file found.
Dec 09, 2022 11:36:28 AM com.google.devtools.coverageoutputgenerator.Main getProfdataFileOrNull
INFO: No .profdata file found.
Dec 09, 2022 11:36:28 AM com.google.devtools.coverageoutputgenerator.Main runWithArgs
WARNING: There was no coverage found.
INFO: Elapsed time: 65.521s, Critical Path: 52.28s
INFO: 247 processes: 25 disk cache hit, 75 internal, 146 darwin-sandbox, 1 worker.
INFO: Build completed successfully, 247 total actions
//src/teams/test/keys:keys_test PASSED in 3.1s
/private/var/tmp/_bazel_userme/e6e1d0cbd051dd43ed59dca5541f019d/execroot/product/bazel-out/darwin-fastbuild/testlogs/src/teams/test/keys/keys_test/coverage.dat
//src/teams/test/server:server_test PASSED in 1.1s
/private/var/tmp/_bazel_userme/e6e1d0cbd051dd43ed59dca5541f019d/execroot/product/bazel-out/darwin-fastbuild/testlogs/src/teams/test/server/server_test/coverage.dat
//src/teams/test/store/postgres:postgres_test PASSED in 3.8s
/private/var/tmp/_bazel_userme/e6e1d0cbd051dd43ed59dca5541f019d/execroot/product/bazel-out/darwin-fastbuild/testlogs/src/teams/test/store/postgres/postgres_test/coverage.dat
//src/teams/test/tools/keyrotate:keyrotate_test PASSED in 1.3s
/private/var/tmp/_bazel_userme/e6e1d0cbd051dd43ed59dca5541f019d/execroot/product/bazel-out/darwin-fastbuild/testlogs/src/teams/test/tools/keyrotate/keyrotate_test/coverage.dat
//src/teams/test/vault:vault_test PASSED in 2.3s
/private/var/tmp/_bazel_userme/e6e1d0cbd051dd43ed59dca5541f019d/execroot/product/bazel-out/darwin-fastbuild/testlogs/src/teams/test/vault/vault_test/coverage.dat
Executed 5 out of 5 tests: 5 tests pass.
INFO: Build completed successfully, 247 total actions
genHTML output
`genhtml /private/var/tmp/_bazel_userme/e6e1d0cbd051dd43ed59dca5541f019d/execroot/product/bazel-out/_coverage/_coverage_report.dat`
Reading data file _coverage_report.dat
genhtml: ERROR: no valid records found in tracefile _coverage_report.dat
i also tried this but same output.
https://bazel.build/configure/coverage
genhtml --output genhtml "$(bazel info output_path)/_coverage/_coverage_report.dat"

Jenkins not starting or coming back online - HANGING and showing SEVERE: Unable to parse provided JSON - [/var/lib/jenkins/cb-envelope/envelope.json]

Jenkins: 2.89.4-x rolling version
Jenkins was running slow due to memory issues.
Restarted Jenkins (sudo/usual way), I got the following SEVERE issue.
Finally Restarted Jenkins machine thinking that'll help; got memory back (mem looks good now).
Trying to start Jenkins again and getting the same SEVERE issue and installation just HANGS at a given plugin while doing Initializing plugin <somePlugin-here> by pool-6-thread-2.
Running from: /usr/lib/jenkins/jenkins.war
Jun 06, 2019 6:49:14 AM Main deleteWinstoneTempContents
WARNING: Failed to delete the temporary Winstone file /tmp/winstone/jenkins.war
Jun 06, 2019 6:49:14 AM org.eclipse.jetty.util.log.Log initialized
..
...more lines here...
...
..
Jun 06, 2019 6:49:19 AM jenkins.model.Jenkins$5 runTask
INFO: Took 54ms for LogRecorderManager.init by pool-6-thread-7
Jun 06, 2019 6:49:19 AM com.cloudbees.jenkins.plugins.updates.envelope.LoggerLog log
SEVERE: Unable to parse provided JSON
net.sf.json.JSONException: A JSONObject text must begin with '{' at character 0 of
at net.sf.json.util.JSONTokener.syntaxError(JSONTokener.java:499)
at net.sf.json.JSONObject._fromJSONTokener(JSONObject.java:919)
at net.sf.json.JSONObject._fromString(JSONObject.java:1145)
at net.sf.json.JSONObject.fromObject(JSONObject.java:162)
at net.sf.json.JSONObject.fromObject(JSONObject.java:132)
at com.cloudbees.jenkins.plugins.updates.envelope.JSONObjectLoader.from(JSONObjectLoader.java:38)
at com.cloudbees.jenkins.plugins.updates.envelope.JSONObjectLoader$1.apply(JSONObjectLoader.java:51)
at com.cloudbees.jenkins.plugins.updates.envelope.JSONObjectLoader$1.apply(JSONObjectLoader.java:47)
at com.cloudbees.jenkins.plugins.updates.envelope.Validation$Value.flatMap(Validation.java:229)
at com.cloudbees.jenkins.plugins.updates.envelope.JSONObjectLoader.from(JSONObjectLoader.java:47)
at com.cloudbees.jenkins.plugins.updates.envelope.ParsedEnvelope$Loader.fromJSON(ParsedEnvelope.java:95)
at com.cloudbees.jenkins.cjp.installmanager.BaseFolder.loadInstalled(BaseFolder.java:136)
at com.cloudbees.jenkins.cjp.installmanager.WAREnvelope.loadInstalled(WAREnvelope.java:140)
at com.cloudbees.jenkins.cjp.installmanager.CJPPluginManager$StartUp.execute(CJPPluginManager.java:297)
at com.cloudbees.jenkins.cjp.installmanager.CJPPluginManager.loadPlugins(CJPPluginManager.java:231)
at com.cloudbees.jenkins.cjp.installmanager.CJPPluginManager.loadBundledPlugins(CJPPluginManager.java:209)
at hudson.PluginManager$1$1.run(PluginManager.java:379)
at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:282)
at jenkins.model.Jenkins$5.runTask(Jenkins.java:1066)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:210)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Jun 06, 2019 6:49:19 AM com.cloudbees.jenkins.plugins.updates.envelope.LoggerLog log
SEVERE: Unable to read JSON from [/var/lib/jenkins/cb-envelope/envelope.json]
Jun 06, 2019 6:49:19 AM jenkins.model.Jenkins$5 runTask
..
..
..
..
..
...more lines here...regarding inspecting/installing/loading/extracting plugins .hpi/.jpi files (looks good no ERROR/FATAL/SEVERE lines in this area).
...
..
..
..
..
..
Jun 06, 2019 6:49:34 AM jenkins.model.Jenkins$5 runTask
INFO: Took 0ms for Initializing plugin ColumnPack-plugin by pool-6-thread-2
Jun 06, 2019 6:49:34 AM jenkins.model.Jenkins$5 runTask
INFO: Took 274ms for Discovering plugin initialization tasks by pool-6-thread-10
Jun 06, 2019 6:49:34 AM jenkins.model.Jenkins$5 runTask
INFO: Took 0ms for SupportPlugin.threadDumpStartup by pool-6-thread-15
Jun 06, 2019 6:49:34 AM jenkins.model.Jenkins$5 runTask
INFO: Took 2ms for XStreamDOMCompat.addAliases by pool-6-thread-16
The above log shows only has 1 SEVERE error about the following:
SEVERE: Unable to parse provided JSON - [/var/lib/jenkins/cb-envelope/envelope.json]
Questions:
1. What is this cb-envelop folder in JENKINS_HOME?
2. Why Jenkins is not coming up?
I see this folder has 0 byte envelop.json file and both cje-xx folders contain nothing, example ls output shown below.
[giga123#jenkins_dev_machine ~]$ ls -l /var/lib/jenkins/cb-envelope/
total 8
drwxr-xr-x 2 jenkins_svc_user jenkins_group 4096 Jul 3 2017 cje-2.46.3.2
drwxr-xr-x 2 jenkins_svc_user jenkins_group 4096 Apr 20 2018 cje-2.89.4.2
-rw-r--r-- 1 jenkins_svc_user jenkins_group 0 Mar 27 2018 envelope.json
-rw-r--r-- 1 jenkins_svc_user jenkins_group 0 Jul 5 2017 envelope.json.disabled
[giga123#jenkins_dev_machine ~]$ ls -l /var/lib/jenkins/cb-envelope/cje-2.89.4.2/
total 0
Solution:
Soft fix: Renamed the envelop.json file to envelop.json.disabled.
Try Jenkins start now (ex: sudo /sbin/service jenkins stop/start and after start Jenkins should come up fine. Didn't catch that this issue came sometime back and someone did disable this file for Jenkins to startup.
The issue was a BLANK json file (thus '{' parse SEVERE error was coming up).
Hard fix: Rename /var/lib/jenkins/cb-envelope/ to /var/lib/jenkins/cb-envelope.OLD
Try Jenkins start now (ex: sudo /sbin/service jenkins stop/start and after start Jenkins should come up fine. cb-envelop folder will be recreated (if renamed/deleted) after Jenkins start.
Once this was done net.sf.json.JSONException: A JSONObject text must begin with '{' at character 0 of error went away and Jenkins installation went a little further BUT installation halted at a given plugin. I disabled that plugin (by going to $JENKINS_HOME/plugins/<plugin.jpi_or_hpi>.disabled and retried to start Jenkins, now it halted at another next plugin in the list of plugins during Initializing plugin .... plugin... steps/sub-steps.
To resolve that, we had to contact Cloudbees support team and disable support-core.jpi plugin. This plugin comes with Cloudbees Jenkins Operation Center / Master installation by default as one of the .jpi files.
After support-core.jpi file in plugins folder was renamed to support-core.jpi.disabled (you can move support-core folder to support-core.OLD if you want), we retried starting Jenkins and it came back up fine.
One last thing we noticed was, after Jenkins dashboard was finally UP, it was in QUITE and SHUTDOWN mode (by design). To remove state that, we had to click on:
As an admin level user account, Go to Jenkins > Manage Jenkins > Quiet Restart and UN-CHECK the check box which says Stay in "queiting down" state when restarted.
Remove the check from the following.
On Jenkins dashboard, click cancel on Shut down mode link (if any) and now Jenkins is up and running fine.

How to deploy a single HTML file on Tomcat 6

I have an HTML file named "testUrBuddy.html". I want to run this file on my local host. I have a Tomcat 6 server installed. When I run the server I get these logs:
Jul 31, 2014 5:40:21 PM org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.7.0_55\bin; ...
Jul 31, 2014 5:40:22 PM org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-8080 Jul 31, 2014 5:40:22 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 600 ms
Jul 31, 2014 5:40:22 PM org.apache.catalina.core.StandardService start INFO: Starting service Catalina
Jul 31, 2014 5:40:22 PM org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/6.0.37
Jul 31, 2014 5:40:22 PM org.apache.coyote.http11.Http11Protocol start INFO: Starting Coyote HTTP/1.1 on http-8080
Jul 31, 2014 5:40:22 PM org.apache.jk.common.ChannelSocket init INFO: JK: ajp13 listening on /0.0.0.0:8009
Jul 31, 2014 5:40:22 PM org.apache.jk.server.JkMain start INFO: Jk running ID=0 time=1/16 config=null Jul 31, 2014 5:40:22 PM org.apache.catalina.startup.Catalina start INFO: Server startup in 390 ms
This means my server is running. I put my testUrBuddy.html file in the webapps\ROOT folder. After running the server, when I type http://localhost:8080/testUrBuddy.html on the URL I am getting this error :
HTTP Status 404 - /testUrBuddy.html description The requested resource is not available.
Do i have change something in web.xml or somewhere else?.
You need to add the file into a web project. The project needs at least a WEB-INF folder including a web.xml file. If you are using Eclipse, do this:
Click "New"
Select "Other"
Select "Dynamic Web Project"
Follow the instructions and mark the checkbox "create deployment descriptor" (web.xml).
Put the HTML file into the "webapps" folder.
Export it as a war file.

what happened when set jruby min runtime?

I am now struggle on Jruby on Rails. We did not config the min/max jruby runtime before, the portal works well.
In these days, i found that set these config will improve our portal's performance, so I decide to config it in this way:
config.webxml.jruby.min.runtimes = 2
config.webxml.jruby.max.runtimes = 4
However, we portal can not boot up after i setting this, the log continue throw the java class can not found error:
INFO: Info: received max runtimes = 4
Dec 19, 2012 1:57:18 PM org.apache.catalina.core.ApplicationContext log
INFO: Info: received min runtimes = 2
Dec 19, 2012 1:57:18 PM org.apache.catalina.core.ApplicationContext log
INFO: Info: received max runtimes = 4
Dec 19, 2012 1:57:18 PM org.apache.catalina.core.ApplicationContext log
INFO: An exception happened during JRuby-Rack startup
cannot link Java class com.portal.util.selector.SelectorUtil, probable missing dependency: Could not initialize class com.portal.util.selector.SelectorUtil
--- System
jruby 1.6.1 (ruby-1.8.7-p330) (2011-04-12 85838f6) (Java HotSpot(TM) 64-Bit Server VM 1.6.0_35) [linux-amd64-java]
Time: Wed Dec 19 13:57:18 +0000 2012
Server: Apache Tomcat/6.0.35
jruby.home: file:/var/tomcat/webapps/ROOT/WEB-INF/lib/jruby-stdlib-1.6.1.jar!/META-INF/jruby.home
What is the difference when we set this min/max jruby runtime? Anyone can get me out of this?
Thanks in advance.
jruby thread safe comparison
in config/warbler.rb
config.webxml.jruby.min.runtimes = 1
config.webxml.jruby.max.runtimes = 1
and in config/environments/production.rb
config.threadsafe!

Tomcat stops responding and fails to shutdown

for the last four days i am facing a problem on my production server where Tomcat stops responding, and when i try to shut it down via shutdow.sh tomcat process stays alive. i will have to kill the process and start it again.
the below stack is logged directly before tomcat crashes and stops responding. i did lots of research but couldn't solve the problem just yet.
any help is appreciated
there are two SEVERE web application errors
Jun 9, 2012 4:50:08 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
SEVERE: The web application [/beta] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
Jun 9, 2012 4:50:08 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/beta] appears to have started a thread named [MultiThreadedHttpConnectionManager cleanup] but has failed to stop it. This is very likely to create a memory leak.
and one MySQL error
INFO: Illegal access: this web application instance has been stopped already. Could not load com.mysql.jdbc.SQLError. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
java.lang.IllegalStateException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1587)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3358)
at com.mysql.jdbc.MysqlIO.quit(MysqlIO.java:1695)
at com.mysql.jdbc.ConnectionImpl.realClose(ConnectionImpl.java:4388)
at com.mysql.jdbc.ConnectionImpl.cleanup(ConnectionImpl.java:1368)
at com.mysql.jdbc.ConnectionImpl.finalize(ConnectionImpl.java:2737)
at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
full stack below
INFO: Destroying Spring FrameworkServlet 'springMvcServlet'
Jun 9, 2012 4:50:08 PM org.apache.catalina.core.ApplicationContext log
INFO: Closing Spring root WebApplicationContext
Jun 9, 2012 4:50:08 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
SEVERE: The web application [/beta] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
Jun 9, 2012 4:50:08 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/beta] appears to have started a thread named [MultiThreadedHttpConnectionManager cleanup] but has failed to stop it. This is very likely to create a memory leak.
Jun 9, 2012 4:50:09 PM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(/home/bratecp/public_html/beta/WEB-INF/lib/ImageEditor.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
Jun 9, 2012 4:50:09 PM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(/home/bratecp/public_html/beta/WEB-INF/lib/gwt-user.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
Jun 9, 2012 4:50:09 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
Jun 9, 2012 4:50:11 PM org.apache.catalina.loader.WebappClassLoader loadClass
INFO: Illegal access: this web application instance has been stopped already. Could not load com.mysql.jdbc.SQLError. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
java.lang.IllegalStateException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1587)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3358)
at com.mysql.jdbc.MysqlIO.quit(MysqlIO.java:1695)
at com.mysql.jdbc.ConnectionImpl.realClose(ConnectionImpl.java:4388)
at com.mysql.jdbc.ConnectionImpl.cleanup(ConnectionImpl.java:1368)
at com.mysql.jdbc.ConnectionImpl.finalize(ConnectionImpl.java:2737)
at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
Jun 9, 2012 4:58:44 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/local/jdk1.6.0_29/jre/lib/amd64/server:/usr/local/jdk1.6.0_29/jre/lib/amd64:/usr/local/jdk1.6.0_29/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
Jun 9, 2012 4:58:44 PM org.apache.catalina.startup.SetAllPropertiesRule begin
WARNING: [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'compression' to 'on' did not find a matching property.
Jun 9, 2012 4:58:44 PM org.apache.catalina.startup.SetAllPropertiesRule begin
WARNING: [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'compressionMinSize' to '2048' did not find a matching property.
Jun 9, 2012 4:58:44 PM org.apache.catalina.startup.SetAllPropertiesRule begin
WARNING: [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'noCompressionUserAgents' to 'gozilla, traviata' did not find a matching property.
Jun 9, 2012 4:58:44 PM org.apache.catalina.startup.SetAllPropertiesRule begin
WARNING: [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'compressableMimeType' to 'text/xml,text/plain,application/json,application/javascript,text/css' did not find a matching property.
Jun 9, 2012 4:58:44 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'debug' to '1' did not find a matching property.
Jun 9, 2012 4:58:44 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'debug' to '0' did not find a matching property.
Jun 9, 2012 4:58:44 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'debug' to '1' did not find a matching property.
Jun 9, 2012 4:58:45 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Jun 9, 2012 4:58:45 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Jun 9, 2012 4:58:45 PM org.apache.catalina.startup.Catalina load
There are at least two problems occurring simultaneously:
You are registering a JDBC driver that is being loaded from within your webapp's WEB-INF/lib directory and failing to deregister the driver when your webapp shuts down. You can deregister a JDBC driver easily using java.sql.DriverManager.deregisterDriver() from a ServletContextListener.
You (likely) have a non-daemon thread outliving your webapp. The only way to determine what is going on here is to take a thread dump to find out which thread is still alive (after you run shutdown.sh and wait maybe 5 seconds for everything to settle down) and where it may have come from. Basically, anywhere you start a thread in your webapp needs to have a symmetrical stop-thread when your webapp shuts down. Remember that certain operations start threads without you realizing it (for instance, creating a TimerTask, performing certain AWT-related operations, etc.).
You probably want to fix both of these problems to improve the stability of your application server.
In your stack trace above, it's a Connection finalizer that is trying to "really" close the connection to the database. I wonder if you aren't properly shutting-down your Connection objects (or a connection pool) before your webapp shuts down, and so the Connection finalizers are running after they can actually accomplish their goals (after the ClassLoader is dead).