Code Monkey home page Code Monkey logo

org.intrace's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

org.intrace's Issues

server agent crash

I just got the InTrace agent to crash again....I'm still working on exact steps to reproduce.

The control thread is alive and will display the names of the classes that are instrumented. The UI can connect and disconnect.

When healthy, there is a continuous stream of events from the trace class (example.FirstTraceExample -- here is the URL: https://github.com/eostermueller/headlessInTraceClient/blob/master/src/main/java/example/FirstTraceExample.java).

But when in this broken condition, if you log onto the server agent and the instrumented class is full dialed in, then there are no events logged.

Oddly enough, this situation persists even after restarting FirstTraceExample.java.
Twice, I have fixed this problem by cleaning/compiling FirstTraceExample.java. I have even rebooted my laptop and can start FirstTraceExample.java and the error still shows up.

I got a thread dump of this process in the 'broken' state. I'm working on attaching the logs.

--Erik

NPE in Eclipse

java.lang.NullPointerException
at org.intrace.client.gui.helper.IncludeExcludeWindow$PatternInput$PatternList.parsePattern(IncludeExcludeWindow.java:358)
at org.intrace.client.gui.helper.IncludeExcludeWindow$PatternInput$PatternList.parsePatternSet(IncludeExcludeWindow.java:348)
at org.intrace.client.gui.helper.IncludeExcludeWindow$PatternInput$PatternList.(IncludeExcludeWindow.java:339)
at org.intrace.client.gui.helper.IncludeExcludeWindow$PatternInput$PatternList.(IncludeExcludeWindow.java:313)
at org.intrace.client.gui.helper.IncludeExcludeWindow$PatternInput.(IncludeExcludeWindow.java:188)
at org.intrace.client.gui.helper.IncludeExcludeWindow.fillCTabs(IncludeExcludeWindow.java:137)
at org.intrace.client.gui.helper.IncludeExcludeWindow.(IncludeExcludeWindow.java:106)
at org.intrace.client.gui.helper.InTraceUI$MainBar$3.widgetSelected(InTraceUI.java:421)

NPE in Eclipse Plugin

java.lang.NullPointerException
at intrace.ecl.ui.launching.ShowInTraceOutputAction.isInTraceLaunchAvailable(ShowInTraceOutputAction.java:420)
at intrace.ecl.ui.launching.ShowInTraceOutputAction.isEnabledFor(ShowInTraceOutputAction.java:410)
at intrace.ecl.ui.launching.ShowInTraceOutputAction.getEnableStateForSelection(ShowInTraceOutputAction.java:319)
at intrace.ecl.ui.launching.ShowInTraceOutputAction.update(ShowInTraceOutputAction.java:135)
at intrace.ecl.ui.launching.ShowInTraceOutputAction.initialize(ShowInTraceOutputAction.java:235)
at intrace.ecl.ui.launching.ShowInTraceOutputAction.selectionChanged(ShowInTraceOutputAction.java:111)

swt-gtk library issue

i get this exception when i run my program:

run:

Loaded InTrace Agent.

InTrace Agent listening on port 9123

Exception in thread "main" java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
no swt-gtk-3659 in java.library.path
no swt-gtk in java.library.path
Can't load library: C:\Users\quique\AppData\Local\Temp\swtlib-64\swt-gtk-3659.dll
Can't load library: C:\Users\quique\AppData\Local\Temp\swtlib-64\swt-gtk.dll

at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
at org.eclipse.swt.internal.C.<clinit>(Unknown Source)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source)
at dupin.VisualVM.client.gui.InTraceStandaloneUI.main(InTraceStandaloneUI.java:25)

Java Result: 1
I am using Netbeans and windows 8 (64bits)
Why Java is trying to load a gtk library for windows?

Feature request: burst-mode network requests

If InTrace is monitoring a remote application, it seems that a separate
network request is made for every trace event. Is that right? -- I haven't
looked closely enough at the code to see. If that is the case, I don't
think that kind of model will scale when medium-to-large amounts of load is applied.
Perhaps we could consider some kind of burst mode where trace events
collect in a queue and are sent to the GUI every X seconds?
CA Introscope, for instance, has a 15 second delay. I'd be happy with 5, but it should be configurable.

We should do some load testing to measure InTrace overhead.

  1. Deploy Java PetStore application
  2. Use "http://grinder.sourceforge.net/" to apply some load.
  3. Measure
  • CPU/RAM consumption on PetStore server.
  • Get from "The Grinder" Response time and throughput metrics

Compare results from the above test with and without InTrace with instrumentation.
We should have multiple Load tests with InTrace.

  1. instrumenting 50 classes
  2. instrumenting 100 classes
  3. instrumenting 200 classes
  4. instrumenting 400 classes

Feature request: Use Round Robin DB to store trace info

The Eclipse Enhancement 344422 referenced on the "InTrace Roadmap" page talks about archiving/replaying events.
If archiving is ever implemented, can I suggest that a "Round Robin" db is used?

Maintaining large trace files on disk is a royal pain.
A Round Robin DB allows data to "age off" once it is older than a specified number of days.
Here is one example: http://code.google.com/p/rrd4j/

Also, rrd4j (and other rrd impls) provides some nice graphing functionality of performance data.

enhancement request: instrument all implementation of a given interface

Vendors who make tools rely in java interfaces.
WebServers servers like tomcat rely on interfaces in the package javax.servlet.http.
Performance monitoring tools rely on javax.sql, javax.jms and many others.

If vendors could instrument the interfaces, they could use InTrace to track method invocations, regardless of the implementation. For example, they could instrument java.sql.PreparedStatement, and get notified of method invocation events regardless of which JDBC driver was in use.

This would be invaluable for comparing functionality and performance of various implementations of any spec/interface.

Details: Enable user to click on the "Classes" button in the InTrace UI and enter the name of an interface. InTrace agent would "instrument" all classes (and subclasses and subinterfaces) that implemented the given interface.

Feature request: fixed, non-random trace port for firewall rule

#18 (comment)

At the above link, mchr3k gives a good description of the two TCP connections in InTrace.
The 2nd port, the "trace" port, is opened on a random port on the "agent."

In one of our environments, we need to add a firewall rule so the InTrace client can access the trace port.
But we can't do it because a different port is randomly selected on each restart of the agent's JVM.

--Erik

Feature request: Instrumentation Helper

I am a fanatic about avoiding unnecessary overhead by tracing tools....especially for performance monitoring.
End users therefore need help finding just the right set of classes to instrument -- enough classes to show the info they need, but not so many as to cause excessive overhead.

I can think of two algorithms that will help an end user discover the names of helpful classes.
I'm sure others can think of more.

Here is the feature request: Allow programmers to write algorithms that will "suggest" the names of classes that can be helpful.
a) InTrace will allow end users to chose an algorithm.
b) InTrace will run the algorithm against the app being traced.
c) The algorithm will return to InTrace a list of suggested classes to instrument.
d) InTrace will display the list to the end user, with a check mark box (or similar) next to each class name.
e) End users will place check marks next to certain class names...then click a button labled "Intrumented all checked classes" (or similar).
f) InTrace will add instrumentation for all classes with check marks.

Here are two example algorithms:

Algorithm 1: Stacktrace mining

Consider SOA systems that use JDBC.
Capture a stack trace (without throwing a java.lang.Throwable) from inside certain methods in the JDBC driver. Here is one such method:
http://docs.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html#executeQuery()
Each class name referenced in the stack trace is a class that would be helpful (IMHO) for understanding application performance.

Algorithm 2: Import mining

Say that we've instrumented just a single class in a JVM. If one particular method shows a performance problem, the next performance troubleshooting step for me is to look at performance of all classes/methods invoke from the initial one.
The import statements for the original class contains a super set of all possible methods invoked.
Wouldn't it be possible to further trim down the list to show just those classes invoked from a single method?

Enhanced error reporting

So TraceExample.java is working fine.
I've moved on to hooking up InTrace to our SOA and having some problems.
The initial connection is made and InTrace reports the number of classes being traced. (42837).
However, about a minute or so after initial connection, I'm getting a "Connection timed out: connect" message out of this source:

org.intrace\src\org\intrace\client\gui\helper\InTraceUI.java

  {
    outputTabs.textOutputTab.filterThread
        .addSystemTraceLine("Failed to setup network trace: "
            + ex.toString());
  }

This potentially could be a firewall issue...but need more help from the code to diagnose.
Perhaps the values of the following InTraceUI#setSocket() local variables could be logged somewhere, along with a stack trace?
remoteAddress, networkTracePortStr, networkTracePort, networkTraceThread

--Erik

Does not work in W7 if Eclipse path has embedded space(s)

My Eclipse happened to be installed in c:Program files/...

  1. Then when I Select Intrace as 'Java Application' I get an error, ( I can't remember exactly as it is now fixed), it ends with ... can't find c:Program. I fixed the problem by creating a new directory c:/ProgramFiles/Eclipse/.... (i.e. with no embedded spaces) and created another Eclipse installation.

Also, in the page "http://mchr3k.github.com/org.intrace/eclipse.html", it is not at all clear ( if you have never done it) just what has to done to make InTrace work. A blow-by-blow explanation would help.
It seems the ordinary Run configuration is shared with InTrace, so ..
Edit the usual run configuration to add the VM argument
-javaagent:C:/fullpathto/intrace-agent.jar
Ensure there is no space after the colon else it won't work!
Also probably won't work if spaces in the path
Select either the Package or the actual class to be traced. This action will cause the
InTrace Run menu to have non-grey 'Java Application'. Click this. Then it should work.

Network output Deadlock

Main thread attempts to add a trace line to network output queue while holding a lock.

Network output thread attempts to grab the same lock as the main thread.

Deadlock!

Main thread needs to add trace to an unbounded queue and then sleep for a time which depends on the length of the queue.

Include/Exclude issues

Add an Include and an Exclude item, remove the exclude item, remove the include item, the "Include:" header is still visible.

Feature request: Listener API to eavesdrop on trace events

Expose a set of interfaces that allows a programmer to write a program (called the Implementor) that receives all InTrace trace events.

The classes java.util.Observable and java.util.Observer could be used as a model for some, but not all, of the interaction between InTrace and an Implementor.

Each Implementor would run in the same JVM as the InTrace GUI.
Some kind of configuration would store class names of all Implementors. -D parameters would be acceptable for a "first attempt." Once InTrace has all the configuration for a single Implementor, that Implementor will be considered "registered"

The interface must allow the InTrace GUI to ask the Implementor for a human-friendly name that will be used for display in the InTrace GUI.

The interface must allow the InTrace GUI to ask the Implementor for an Icon unique for that Implementor. If none is provided, a default (but unique one) will be used.

At GUI startup time, InTrace will ask each registered "Implementor" for a list of
-- classes to be instrumented. Include/exclude functionality should be incorporated.
-- Filters to be used. Include/exclude functionality should be incorporated.
Once the above and any other initialization is complete, InTrace GUI should invoke some kind of "startup" method on each Implementor.

When the end user closes the GUI, InTrace should notify each Implementor of the shutdown request.

Implementor display/output

Each implementor will have its own "section" in the InTrace GUI.
When InTrace UI starts, the end user will need a menu option to open a particular Implementor with a particular host/port.

Example Implementors

Each of these ideas imitates functionality found in commercially offered APM (Application Performance Monitoring) tools, like CompuWare DynaTrace and CA Introscope.

  1. Facility to display Gantt charts for each request of a SOA application being traced. Gantt chart will display response time for each traced method. Important to show "nested" methods.
  2. Response time/throughput graphs of instrumented classes
  3. List of all SQL statements executed by the application being traced.

Option 1), above, could be expanded to show the following for each SOA request:
a) input xml
b) response xml
c) all SQL requests made during the request
d) all exceptions thrown during the request.

Layout bug

  1. Open connection bar
  2. Connect to paused program
  3. Close connection bar
  4. Rest of UI doesn't move up to fill space

64bit OSX UI not working

Using SWT Jar: swt-osx64-3.6.2.jar
Launching InTrace UI ...
Launch failed: (UnsatisfiedLinkError: Could not load SWT library. Reasons:
no swt-gtk-3659 in java.library.path
no swt-gtk in java.library.path
Can't load library: /var/folders/g+/g+FUZTUwGMqBgKDTw59l2U+++TM/-Tmp-/swtlib-64/libswt-gtk-3659.jnilib
Can't load library: /var/folders/g+/g+FUZTUwGMqBgKDTw59l2U+++TM/-Tmp-/swtlib-64/libswt-gtk.jnilib
)
Try adding '-d32' to your command line arguments

Eclipse plug in issue

Hi, I tried using InTrace, both the command line and the Eclipse plug-in. I can get the plug-in working on the command line:

D:\dewan_backup\Java\WarmupProject\bin>java -javaagent:D:\dewan_backup\Java\lib
intrace-agent.jar warmup.AGreeter

Loaded InTrace Agent.

InTrace Agent listening on port 9123

Hello World
null

However, the Eclipse Plug-In gives the message:

Error occurred during initialization of VM
agent library failed to init: instrument
Error opening zip file or JAR manifest missing : D:\Program

It seems it cannot find the jar file(s). Do they have to be included in every project? It seems to be looking for the file D:\Program which does not seem to make sense.

Any help would be appreciated as InTrace seems like the perfect tool for my needs.

Prasun

IBM JDK Support

The InTrace javaagent throws an exception and fails to start with an IBM JDK.
Some of this is documented here:

#12 (comment)

Here is the JVM that was used:

java -version
java version "1.6.0"
Java(TM) SE Runtime Environment (build pxa6460sr7ifix-20100220_02(SR7+IZ69890+IZ70326))
IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 Linux amd64-64 jvmxa6460sr7-20100219_54097 (JIT enabled, AOT enabled)
J9VM - 20100219_054097
JIT - r9_20091123_13891
GC - 20100216_AA)
JCL - 20091202_01

Here is the full exception, which is also at the above link:

Buildfile: build.xml

init:

run:
[java] ## Loaded InTrace Agent.
[java] Exception in thread "main" java.lang.UnsupportedOperationException: cannot get the capability, performing dispose of the retransforming environment
[java] at sun.instrument.InstrumentationImpl.isRetransformClassesSupported0(Native Method)
[java] at sun.instrument.InstrumentationImpl.isRetransformClassesSupported(InstrumentationImpl.java:124)
[java] at sun.instrument.InstrumentationImpl.addTransformer(InstrumentationImpl.java:79)
[java] at org.intrace.agent.AgentInit.initialize(AgentInit.java:41)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
[java] at java.lang.reflect.Method.invoke(Method.java:600)
[java] at org.intrace.agent.Agent.initialize(Agent.java:66)
[java] at org.intrace.agent.Agent.premain(Agent.java:26)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
[java] at java.lang.reflect.Method.invoke(Method.java:600)
[java] at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:335)
[java] at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:350)
[java] Exception in thread "main" java.lang.reflect.InvocationTargetException
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
[java] at java.lang.reflect.Method.invoke(Method.java:600)
[java] at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:335)
[java] at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:350)
[java] Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
[java] at org.intrace.agent.Agent.initialize(Agent.java:70)
[java] at org.intrace.agent.Agent.premain(Agent.java:26)
[java] ... 6 more
[java] Caused by: java.lang.reflect.InvocationTargetException
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
[java] at java.lang.reflect.Method.invoke(Method.java:600)
[java] at org.intrace.agent.Agent.initialize(Agent.java:66)
[java] ... 7 more
[java] Caused by: java.lang.UnsupportedOperationException: adding retransformable transformers is not supported in this environment
[java] at sun.instrument.InstrumentationImpl.addTransformer(InstrumentationImpl.java:80)
[java] at org.intrace.agent.AgentInit.initialize(AgentInit.java:41)
[java] ... 12 more

 [java] Fatal error: processing of -javaagent failed

BUILD SUCCESSFUL
Total time: 0 seconds

InTrace.app requires legacy Java SE 6 (OS X)

InTrace's OS X version requires the legacy Java SE 6, which it's not supported starting from OS X Yosemite 10.10.

It would be great if you could re-package the UI for Mac.

Thanks,
Luca

Feature request: Trigger lines

Intended usage:

  1. Enable trace in a large number of classes e.g. "java.*"
  2. Add trigger line - e.g. "method: arg: foo"
  3. When trigger is hit, output filter is disabled for a certain number of lines of trace

This allows the collection of trace which happens after a certain event

EXTRA: Allow reverse event matching. When a trigger is hit, expose the previous N lines of trace.

Feature request & sample implementation: Ignore repeated methods

In the UI, it is nice to add a feature, whereby you check the checkbox "ignore repeated methods", and it will start storing all the method names in a set. If a method name is repeated, it won't output that same method name again..
Thereby, you are filtering out all methods that were previously displayed.

This is great for reverse engineering, allowing one to capture noisy methods that aren't part of the application, and then only display new methods based on some user action, etc..

I did an initial implementation here:

https://github.com/ianupright/org.intrace

method-level granularity

Given a class name, InTrace provides all events for that class.
If that class has 100 methods and you want events for just 1 -- you'll also receive events for the other 99 you're not interested in.

To minimize the amount of network traffic and other processing, would like to specify both a class and a method name (and probably method parameters) so InTrace only provides events for that specific method.

Thanks,
--Erik

Feature request: multi-user support

We need to enhance InTrace so that all people (developers, analysts, testers, etc..) submitting requests to a single test server can view all trace activity.

Use case: Developer1 and Developer2 both deploy their finished code to a single server.
A Business Analyst and a QA tester both need to review the newly completed code.

All of these four people have InTrace GUI running on their desktops at the same time throughout the business day while exercising and testing the new code.

Class name length is restricted.

Hi,

First things first, thanks for this wonderful tool. We have an issue to use this tool more effectively. The reason for this is
the class name for instrument has length restriction of 50 characters. In other words any class which has length more than 50 is not accepted.
Due to this limitation, our instrumentation becomes slow and we need to search a lot to get our results.

Hence, if you can increase the number of characters to 100 it would help us a lot.

Thanks
Qsaxffo

enhancement #31 is really slow

I made a jar with this enhancement:
#31 (comment)

...and performance of iterating/transforming on the agent side is significantly slower.

Still need to quantify the time it takes with/without this enhancement...but its real noticeable.

--Erik

java.lang.InternalError

The following stack trace comes from the intrace-agent.jar and happens when requesting to instrument a class, one other than the Log4JLogger seen below.
The intrace code I used was from the patch for this enhancement:
#31
I built the intrace-agent.jar file myself so I could add the "exception transforming" error message.

Log4JLogger comes from commons-logging-1.1.1.jar.

In this particular instance, the error is just a nuissance. I have a hunch this is causing problems in other tough-to-reproduce situations.
--Erik

exception transforming [org.apache.juli.logging.impl.Log4JLogger]
java.lang.InternalError
        at sun.instrument.InstrumentationImpl.retransformClasses0(Native Method)
        at sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:144)
        at org.intrace.agent.ClassTransformer.instrumentKlasses(ClassTransformer.java:702)
        at org.intrace.agent.ClassTransformer.getResponse(ClassTransformer.java:575)
        at org.intrace.agent.server.AgentClientConnection.runMethod(AgentClientConnection.java:118)
        at org.intrace.output.InstruRunnable.run(InstruRunnable.java:18)
        at java.lang.Thread.run(Thread.java:744)

Feature request: instrument multiple class names from paste buffer

I often keep a text list of several (perhaps 20) class names that need to be instrumented for one specific purpose -- say tracing the response time of all requests in a particular SOA.

I'd like to "Ctrl-V" this list of 20 class names into the InTrace "Classes to Instrument" dialog.
Seems reasonable to use some kind of a CR/LF as a delimiter.
The text box currently doesn't accept multi-line input.

I tried using the "pipe" character to say "this class OR that class OR the other class" (this|that|other) but the text input box wouldn't accept the |.

Thanks,

--Erik

NPE in classanalysis

Caught Throwable when trying to instrument: dcl.mwp.shsoap.ShSOAPCommandError
java.lang.NullPointerException
at org.intrace.agent.ClassAnalysis.visitLocalVariable(ClassAnalysis.java:142)
at org.intrace.internal.objectweb.asm.ClassReader.accept(ClassReader.java:1469)
at org.intrace.internal.objectweb.asm.ClassReader.accept(ClassReader.java:425)
at org.intrace.agent.ClassTransformer.getInstrumentedClassBytes(ClassTransformer.java:109)
at org.intrace.agent.ClassTransformer.transform(ClassTransformer.java:275)
at sun.instrument.TransformerManager.transform(Unknown Source)
at sun.instrument.InstrumentationImpl.transform(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)

Instrumentation on class compiled with JDK7

64-bit W7 system 12 core, 6G mem
Eclipse Indigo SR2 Win32-x86_64
Eclipse JDK 7 set for 1.6 compliance with JRE6 installed and checked to be added to build path.
Clean my app & rebuild.
The program ends with a "dong"
It does not seem to want to see the class files I have listed.
'My Classes...' box (from log below) is : [MainXFoil, JFoil, ca.rbh.xfoil.JPolar, Foil, ca.rbh.xfoil.Complex, ca.rbh.util.log.Logger] and Instrumented/Total Classes says 0/793.
If I add a file and 'Apply Changes' it still says 0/793.
Should it accept a package wild card such as ca.rbh.xfoil.* ??
If then add a class spec *, I then get 771/796 Java classes and none of my (about
22) classes although 5 are listed in 'Classes...'.
Is something not working or do I just not understand what I am supposed to
do? My classes are all side-by-side in the same package and run fine
without InTrace, thus:

Loaded InTrace Agent.

InTrace Agent listening on port 9123

(ordinary log output follows)
INFO JFoil: mrcl()
INFO JFoil: comset()
etc,etc

------- Log --------------------------------------------------------------
*** Instructions
*** - Select Classes you want to Trace
*** Full help available on the Help tab


*** Latest Settings Received
[21:30:47.522]:[11]:DEBUG: Class Regex : [MainXFoil, JFoil, ca.rbh.xfoil.JPolar, Foil, ca.rbh.xfoil.Complex, ca.rbh.util.log.Logger]
Exclude Class Regex : []
Tracing Enabled : true
Save Traced Class Files : false

*** Latest Settings Received
*** Latest Settings Received
*** No instrumented classes
*** Latest Settings Received
[21:31:18.675]:[1]:DEBUG: Ignoring class not matching the active include regex: sun.launcher.LauncherHelper
[21:31:18.675]:[1]:DEBUG: Ignoring class not matching the active include regex: sun.misc.URLClassPath$FileLoader$1
[21:31:18.706]:[1]:DEBUG: Ignoring class not matching the active include regex: ca.rbh.util.log.SystemOutLogger
[21:31:18.706]:[1]:DEBUG: Ignoring class not matching the active include regex: java.lang.VerifyError
[21:32:28.476]:[1]:DEBUG: Ignoring class not matching the active include regex: java.lang.Throwable$WrappedPrintStream
[21:32:28.476]:[1]:DEBUG: Ignoring class not matching the active include regex: java.lang.Throwable$PrintStreamOrWriter
[21:32:28.476]:[1]:DEBUG: Ignoring class not matching the active include regex: java.util.IdentityHashMap$KeySet
[21:32:28.476]:[17]:DEBUG: Ignoring class not matching the active include regex: java.util.IdentityHashMap$KeyIterator
[21:32:28.476]:[17]:DEBUG: Ignoring class not matching the active include regex: java.util.IdentityHashMap$IdentityHashMapIterator
then crash..
---------- Console ---------------------------------------

Loaded InTrace Agent.

InTrace Agent listening on port 9123

Loaded InTrace Agent.

Establishing Callback Connection...

Unable to listen on port: 9123

InTrace Agent listening on port 9124

Program Paused

Exception in thread "main" java.lang.VerifyError: Expecting a stack map frame in method ca.rbh.xfoil.MainXFoil.analysisAlphaRe(Lca/rbh/xfoil/Conditions;Lca/rbh/xfoil/Foil;Lca/rbh/xfoil/JFoil;)V at offset 121
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at sun.launcher.LauncherHelper.getMainMethod(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.