You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@jmeter.apache.org by bu...@apache.org on 2012/02/18 02:17:45 UTC

DO NOT REPLY [Bug 52702] New: JMeter startup exception for org.apache.commons.logging.impl.LogKitLogger

https://issues.apache.org/bugzilla/show_bug.cgi?id=52702

             Bug #: 52702
           Summary: JMeter startup exception for
                    org.apache.commons.logging.impl.LogKitLogger
           Product: JMeter
           Version: 2.6
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Main
        AssignedTo: issues@jmeter.apache.org
        ReportedBy: mangaroo@gmail.com
    Classification: Unclassified


Submitting an issue as I have no idea how to resolve this myself. Not sure if
is configuration issue but have no idea how to fix it either. I assume some
debugging might require me to modify JMeter sources and recompile (unless I can
simply enable very verbose logging).

JMeter was previously working on my machine (months back). Just started
accessing it again but now it fails to start (or start properly).

Per the JMeter log, it fails to load
"org.apache.commons.logging.impl.LogKitLogger".

I've tried deleting JMeter folder and using a fresh downloaded extracted
instance/install and also uninstalled and reinstalled Java (JRE and JDK) and
those didn't help. I also checked and I have no system CLASSPATH. Echoing it on
Windows via "echo %CLASSPATH%" shows the variable name itself, which means it's
not defined. Also checked system environment variables section of Windows GUI
and found nothing on class paths there.

The JMeter install does have C:\apache-jmeter-2.6\lib\commons-logging-1.1.1.jar
and other Jars which I believe is the JARs in question for the class that is
failing to load.

I'm also starting JMeter (GUI) from the batch file JMeter.bat.

And per the JMeter wiki, section on classpath

http://jmeter.apache.org/usermanual/get-started.html

by default "-cp", "-classpath", and CLASSPATH are all ignored. So I really see
no idea how the class fails to load if it is using the defaults and the class
in question should already be packaged with the JMeter files.

Perhaps my complete Windows system is messed up for this particular thing and
no way to fix other than reinstall Windows as I already reinstalled Java but
I'd hate to do that other than a last resort effort.

Java works fine for other stuff. The only Java related stuff I have installed
or using on system are JEdit, Eclipse, Sikuli, Selenium server JAR, Beanshell.

I think at a minimum, if possible, it would help to dump out the classpath used
by JMeter when classes failed to load to help debug the issue.

Full details of log below.

2012/02/17 16:45:19 INFO  - jmeter.util.JMeterUtils: Setting Locale to en_US 
2012/02/17 16:45:19 INFO  - jmeter.JMeter: Loading user properties from:
C:\apache-jmeter-2.6\bin\user.properties 
2012/02/17 16:45:19 INFO  - jmeter.JMeter: Loading system properties from:
C:\apache-jmeter-2.6\bin\system.properties 
2012/02/17 16:45:19 INFO  - jmeter.JMeter: Copyright (c) 1998-2012 The Apache
Software Foundation 
2012/02/17 16:45:19 INFO  - jmeter.JMeter: Version 2.6 r1237317 
2012/02/17 16:45:19 INFO  - jmeter.JMeter: java.version=1.6.0_30 
2012/02/17 16:45:19 INFO  - jmeter.JMeter: java.vm.name=Java HotSpot(TM) Client
VM 
2012/02/17 16:45:19 INFO  - jmeter.JMeter: os.name=Windows XP 
2012/02/17 16:45:19 INFO  - jmeter.JMeter: os.arch=x86 
2012/02/17 16:45:19 INFO  - jmeter.JMeter: os.version=5.1 
2012/02/17 16:45:19 INFO  - jmeter.JMeter: file.encoding=Cp1252 
2012/02/17 16:45:19 INFO  - jmeter.JMeter: Default Locale=English (United
States) 
2012/02/17 16:45:19 INFO  - jmeter.JMeter: JMeter  Locale=English (United
States) 
2012/02/17 16:45:19 INFO  - jmeter.JMeter: JMeterHome=C:\apache-jmeter-2.6 
2012/02/17 16:45:19 INFO  - jmeter.JMeter: user.dir  =C:\apache-jmeter-2.6\bin 
2012/02/17 16:45:19 INFO  - jmeter.JMeter: PWD       =C:\apache-jmeter-2.6\bin 
2012/02/17 16:45:19 INFO  - jmeter.JMeter: IP: blah Name: blah FullName: blah 
2012/02/17 16:45:19 INFO  - jmeter.JMeter: Loaded icon properties from
org/apache/jmeter/images/icon.properties 
2012/02/17 16:45:20 INFO  - jmeter.engine.util.CompoundVariable: Note: Function
class names must contain the string: '.functions.' 
2012/02/17 16:45:20 INFO  - jmeter.engine.util.CompoundVariable: Note: Function
class names must not contain the string: '.gui.' 
2012/02/17 16:45:21 FATAL - jmeter.JMeter: An error occurred: 
java.lang.ExceptionInInitializerError
    at org.apache.commons.jexl2.JexlEngine.getUberspect(JexlEngine.java:217)
    at org.apache.commons.jexl2.JexlEngine.<init>(JexlEngine.java:195)
    at org.apache.commons.jexl2.JexlEngine.<init>(JexlEngine.java:183)
    at
org.apache.jmeter.functions.Jexl2Function.<clinit>(Jexl2Function.java:51)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at
org.apache.jmeter.engine.util.CompoundVariable.<clinit>(CompoundVariable.java:76)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at
org.apache.jmeter.functions.gui.FunctionHelper.initializeFunctionList(FunctionHelper.java:98)
    at
org.apache.jmeter.functions.gui.FunctionHelper.init(FunctionHelper.java:71)
    at
org.apache.jmeter.functions.gui.FunctionHelper.<init>(FunctionHelper.java:66)
    at
org.apache.jmeter.gui.action.CreateFunctionDialog.<init>(CreateFunctionDialog.java:37)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at java.lang.Class.newInstance0(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at
org.apache.jmeter.gui.action.ActionRouter.populateCommandMap(ActionRouter.java:256)
    at
org.apache.jmeter.gui.action.ActionRouter.getInstance(ActionRouter.java:287)
    at org.apache.jmeter.JMeter.startGui(JMeter.java:224)
    at org.apache.jmeter.JMeter.start(JMeter.java:367)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.jmeter.NewDriver.main(NewDriver.java:216)
Caused by: org.apache.commons.logging.LogConfigurationException: User-specified
log class 'org.apache.commons.logging.impl.LogKitLogger' cannot be found or is
not useable.
    at
org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:874)
    at
org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:604)
    at
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:336)
    at
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:310)
    at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685)
    at
org.apache.commons.jexl2.JexlEngine$UberspectHolder.<clinit>(JexlEngine.java:129)
    ... 28 more

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

DO NOT REPLY [Bug 52702] JMeter startup exception for org.apache.commons.logging.impl.LogKitLogger

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=52702

--- Comment #3 from David Luu <ma...@gmail.com> 2012-02-24 02:07:12 UTC ---
Created attachment 28376
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=28376
JMeter log with debug logging enabled

Attached JMeter log with the suggested debug logging enabled.

Skimming the log, it looks like classpath reference is correct for the
(logging) JARs, but fails to find them still. But I'm a novice so may have
interpreted log incorrectly, hence attaching it.

The JARs do exist in the referenced libs folder.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

DO NOT REPLY [Bug 52702] JMeter startup exception for org.apache.commons.logging.impl.LogKitLogger

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=52702

--- Comment #6 from David Luu <ma...@gmail.com> 2012-02-27 20:36:47 UTC ---
>> Can you check if you don't have some disk space problem ?

The machine has over 100GB free disk space. I also ran check of SMART
attributes on drive using free Speedfan tool on Windows and it reported drive
as ok, with overall fitness and performance at 98%. So the drive is not bad.

I also tried deploying JMeter to SD card and run on machine (the machine has an
SD card reader built in) and that still failed.

I am suspecting something related to Java is corrupt on the machine, highly
likely requiring an OS re-install (or restore from good backup image, if any)
to fix. Funny thing is everything else with Java and running Jars and classes
is fine, just JMeter broke because of this.

I guess good thing to do would be to compare other Java apps that use 

org.apache.commons.logging.impl.LogFactoryImpl and
org.apache.commons.logging.impl.LogKitLogger

and see if they work or not. But I don't know of any off the top of my head. Be
great if someone can let me know what other apps use the class so I can do more
investigation.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

DO NOT REPLY [Bug 52702] JMeter startup exception for org.apache.commons.logging.impl.LogKitLogger

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=52702

--- Comment #1 from David Luu <ma...@gmail.com> 2012-02-18 01:20:26 UTC ---
Forgot to mention that I tried same JMeter that I downloaded on another machine
and started up fine. So it is something specific to my one machine where this
fails. Problem is why and where it is failing I don't know.

To make things worse, it's (I believe) a standard utility library used by
JMeter that's failing, not some third party library that would make more sense.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

[Bug 52702] JMeter startup exception for org.apache.commons.logging.impl.LogKitLogger

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=52702

--- Comment #8 from Leo Amigood <ap...@amigood.com> ---
Having exactly the same issue with latest (2.11) JMeter.

Have two machines next to each other, Jmeter works on one, but does not on
another. Same OS, same JVM version, same Jmeter. 

Any ideas?

Leo

-- 
You are receiving this mail because:
You are the assignee for the bug.

DO NOT REPLY [Bug 52702] JMeter startup exception for org.apache.commons.logging.impl.LogKitLogger

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=52702

Philippe Mouawad <p....@ubik-ingenierie.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEEDINFO                    |RESOLVED
         Resolution|                            |WORKSFORME

--- Comment #5 from Philippe Mouawad <p....@ubik-ingenierie.com> 2012-02-25 12:52:40 UTC ---
I close issue as it's not a JMeter one, but you can keep giving informations
about it.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

DO NOT REPLY [Bug 52702] JMeter startup exception for org.apache.commons.logging.impl.LogKitLogger

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=52702

Sebb <se...@apache.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |NEEDINFO

--- Comment #2 from Sebb <se...@apache.org> 2012-02-24 01:25:33 UTC ---
Try enabling debug logging by setting the following properties:

log_level.jorphan=DEBUG
log_level.jmeter=DEBUG

That should show the classpath in use.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

[Bug 52702] JMeter startup exception for org.apache.commons.logging.impl.LogKitLogger

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=52702

--- Comment #7 from nikolay.kalachev@gmail.com ---
Try to remove libraries that exist in both jmeter and jre folders from jre
folder.

-- 
You are receiving this mail because:
You are the assignee for the bug.

DO NOT REPLY [Bug 52702] JMeter startup exception for org.apache.commons.logging.impl.LogKitLogger

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=52702

Philippe Mouawad <p....@ubik-ingenierie.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |p.mouawad@ubik-ingenierie.c
                   |                            |om

--- Comment #4 from Philippe Mouawad <p....@ubik-ingenierie.com> 2012-02-25 12:52:00 UTC ---
Can you check if you don't have some disk space problem ?
Issue seems to indicate commons-logging-1.1.1.jar is corrupt as
org.apache.commons.logging.impl.LogFactoryImpl does not find one of its class
org.apache.commons.logging.impl.LogKitLogger

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

[Bug 52702] JMeter startup exception for org.apache.commons.logging.impl.LogKitLogger

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=52702

--- Comment #9 from jaak@nutiteq.com ---
I have the same issue - jMeter worked fine, but then not for some tests
anymore, giving this "logkit not found" exception. I have the issue on mac (OSX
10.9), and two Java versions (tried with 1.7 and 1.8 new install) did not make
any difference.

Some details: it seems to be related to specific tests what I use. For example
BSF PreProcessor gives this error, but BeanShell PreProcessor works. In HTTP
Request when I select "Implementation: HttpClient3.1" then I get the error, but
 "java" and "HttpClient4"  works.

So my workaround is to avoid using problematic tests.

For me it seems that some tests require different (older?) version of LogKit.

-- 
You are receiving this mail because:
You are the assignee for the bug.