-
Notifications
You must be signed in to change notification settings - Fork 207
Home
-
Troubles
-
Memory Leak (Java heap space)
-
Memory Leak (PermGen space)
-
Memory Leak (C heap space)
-
Dead Lock (Java)
-
Dead Lock (SQL)
-
Endless Waiting Process
-
Infinite Loop
-
Redirect Loop
-
Forward Loop
-
JVM Crash
-
Network Socket Leak
-
Database Connection Leak
-
File Descriptor Leak
-
Thread Leak
-
Mojibake
-
Vulnerabilities
-
XSS
-
SQL Injection
-
LDAP Injection
-
Code Injection
-
Errors
-
ExceptionInInitializerError
-
NoClassDefFoundError
-
OutOfMemoryError (Java heap space)
-
OutOfMemoryError (Requested array size exceeds VM limit)
-
OutOfMemoryError (unable to create new native thread)
-
OutOfMemoryError (GC overhead limit exceeded)
-
OutOfMemoryError (PermGen space)
-
OutOfMemoryError (Direct buffer memory)
-
StackOverflowError
-
UnsatisfiedLinkError
-
Performance
-
Slow Regular Expression Parsing
-
Others
-
Integer Overflow
-
Round Off Error
-
Truncation Error
-
Loss of Trailing Digits
mvn eclipse:eclipse
mvn package
mvn clean install exec:exec
java -jar easybuggy.jar
w/ JVM options:
-Xmx256m -XX:MaxPermSize=64m -XX:MaxDirectMemorySize=90m -XX:+UseSerialGC -Xloggc:logs/gc.log -XX:+PrintHeapAtGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=10M -XX:GCTimeLimit=15 -XX:GCHeapFreeLimit=50 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=logs/ -XX:ErrorFile=logs/hs_err_pid%p.log -XX:NativeMemoryTracking=summary -agentlib:jdwp=transport=dt_socket,server=y,address=9009,suspend=n -Dderby.stream.error.file=logs/derby.log -Dderby.infolog.append=true -Dderby.language.logStatementText=true -Dderby.locks.deadlockTrace=true -Dderby.locks.monitor=true -Dderby.storage.rowLocking=true -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=7900 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
cp ROOT.war ${CATALINA_HOME}/webapps/
${CATALINA_HOME}/bin/startup.sh
- Connection type: Standard (Socket Listen)
- Host: localhost
- Port: 9009
EasyBuggy may not work correctly on Windows.
- If you get the following error,
[2017-02-10T10:51:12.058+0900] [Payara Micro 4.1] [WARNING] [] [javax.enterprise.web] [tid: _ThreadID=15 _ThreadName=http-thread-pool(3)] [timeMillis: 1486691472058] [levelValue: 900] [[
StandardWrapperValve[org.t246osslab.easybuggy.MainServlet]: Servlet.service() for servlet org.t246osslab.easybuggy.MainServlet threw exception
org.apache.jasper.JasperException: PWC6345: There is an error in invoking javac. A full JDK (not just JRE) is required
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:92)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:378)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:119)
at org.apache.jasper.compiler.Jsr199JavaCompiler.compile(Jsr199JavaCompiler.java:208)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:384)
...
then you may have to add JDK/bin to path and run JRE/bin/java.
set path=%path%;C:\Program Files\Java\jdk1.8.0_121\bin
"C:\Program Files\Java\jdk1.8.0_121\jre\bin\java" -jar easybuggy.jar
- If you get the following error,
[INFO] --- exec-maven-plugin:1.2:exec (startup-embedded-jetty) @ easybuggy ---
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=32m; support was removed in 8.0
ERROR: transport error 202: bind failed: Address already in use
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [debugInit.c:750]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.715 s
[INFO] Finished at: 2017-02-10T11:19:47+09:00
[INFO] Final Memory: 12M/226M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2:exec (startup-embedded-jetty) on project easybuggy: Command execution failed. Process exited with an error: 2(Exit value: 2) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
or
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project easybuggy: Failed to clean project: Failed to delete C:\Users\ktamura\git\easybuggy\target\easybuggy-1-SNAPSHOT\WEB-INF\lib\t
log-1.1.jar -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project easybuggy: Failed to clean project: Failed to delete C:\Users\ktamura\git\eas
ggy\target\easybuggy-1-SNAPSHOT\WEB-INF\lib\tinylog-1.1.jar
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:347)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:154)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:157)
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.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to clean project: Failed to delete C:\Users\ktamura\git\easybuggy\target\easybuggy-1-SNAPSHOT\WEB-INF\lib\tinylog-1.1.jar
at org.apache.maven.plugin.clean.CleanMojo.execute(CleanMojo.java:215)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 19 more
Caused by: java.io.IOException: Failed to delete C:\Users\ktamura\git\easybuggy\target\easybuggy-1-SNAPSHOT\WEB-INF\lib\tinylog-1.1.jar
at org.apache.maven.plugin.clean.Cleaner.delete(Cleaner.java:249)
at org.apache.maven.plugin.clean.Cleaner.delete(Cleaner.java:191)
at org.apache.maven.plugin.clean.Cleaner.delete(Cleaner.java:158)
at org.apache.maven.plugin.clean.Cleaner.delete(Cleaner.java:158)
at org.apache.maven.plugin.clean.Cleaner.delete(Cleaner.java:158)
at org.apache.maven.plugin.clean.Cleaner.delete(Cleaner.java:158)
at org.apache.maven.plugin.clean.Cleaner.delete(Cleaner.java:117)
at org.apache.maven.plugin.clean.CleanMojo.execute(CleanMojo.java:193)
... 21 more
[ERROR]
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
then you should kill the EasyBuggy (java) process (using task manager) or click the link of "JVM crash" in the main page 😅
-
EasyBuggy 2.0.0 (2017 Summer)
- False Sharing
- Classloader Leak
- Stop the World
- Humongous Allocation Failure
- JVM Crash (SIGSEGV)
- JVM Crash (EXCEPTION_ACCESS_VIOLATION)
- JVM Crash (EXCEPTION_STACK_OVERFLOW)
- Infinite Recursion SQL
- Open Redirect
- Unrestricted Upload
- Unrestricted login page
- CSS injection
git clone https://github.com/k-tamura/easybuggy
cd easybuggy
cp src/main/java/org/t246osslab/easybuggy/TestServlet.java src/main/java/org/t246osslab/easybuggy/exceptions/NewServlet.java
grep -l "Test" src/main/java/org/t246osslab/easybuggy/exceptions/NewServlet.java | xargs perl -i -pe "s/Test/New/g"
grep -l "test" src/main/java/org/t246osslab/easybuggy/exceptions/NewServlet.java | xargs perl -i -pe "s/test/new/g"
vi src/main/java/org/t246osslab/easybuggy/exceptions/NewServlet.java
mvn clean install exec:exec
curl http://localhost:8080/new