joa / apparat Goto Github PK
View Code? Open in Web Editor NEWA framework to optmize ABC, SWC and SWF files.
License: GNU Lesser General Public License v2.1
A framework to optmize ABC, SWC and SWF files.
License: GNU Lesser General Public License v2.1
I was trying to use flexmojos coverage and wasn't understanding why the coverage.xml was reporting a hit on a line that doesn't exist on the file.
After a night of debug i've found that apparat is instrumenting a line past the end of file when there is no constructor
Thank you for your great tools! I always use them.
I've caught an error, and can't to process my swf
stripper, scala 2.9.2
<function0>: caught java.lang.RuntimeException: finddef
java.lang.RuntimeException: finddef
at scala.sys.package$.error(package.scala:27)
at scala.Predef$.error(Predef.scala:123)
at apparat.bytecode.BytecodeDecoder$.readOp$1(BytecodeDecoder.scala:115)
at apparat.bytecode.BytecodeDecoder$.build$1(BytecodeDecoder.scala:245)
at apparat.bytecode.BytecodeDecoder$.apply(BytecodeDecoder.scala:252)
at apparat.bytecode.Bytecode$.fromBody(Bytecode.scala:37)
at apparat.abc.Abc$$anonfun$loadBytecode$2$$anonfun$apply$1.apply$mcV$sp
(Abc.scala:138)
at apparat.abc.Abc$$anonfun$loadBytecode$2$$anonfun$apply$1.apply(Abc.sc
ala:136)
at apparat.abc.Abc$$anonfun$loadBytecode$2$$anonfun$apply$1.apply(Abc.sc
ala:136)
at scala.actors.Futures$$anonfun$1.apply(Future.scala:127)
at scala.actors.Futures$$anonfun$1.apply(Future.scala:127)
at scala.actors.FutureActor$$anonfun$act$1.apply(Future.scala:93)
at scala.actors.FutureActor$$anonfun$act$1.apply(Future.scala:93)
at scala.actors.Reactor$class.seq(Reactor.scala:280)
at scala.actors.FutureActor.seq(Future.scala:55)
at scala.actors.Reactor$$anon$3.andThen(Reactor.scala:258)
at scala.actors.FutureActor.act(Future.scala:94)
at scala.actors.Reactor$$anonfun$dostart$1.apply(Reactor.scala:222)
at scala.actors.Reactor$$anonfun$dostart$1.apply(Reactor.scala:222)
at scala.actors.ReactorTask.run(ReactorTask.scala:33)
at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinP
ool.java:611)
at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:
422)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorke
rThread.java:340)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThre
ad.java:325)
console output:
[exec] java.lang.NoSuchMethodException:jitb.lang.Test.main([Ljava.lang.String;)
[exec] at java.lang.Class.getMethod(Class.java:1607)
[exec] at apparat.jitb.JITB$$anonfun$run$4.apply(JITB.scala:155)
source:
package
{
public class Test
{
public static function main(...args):void{
trace("hello world!");
}
}
}
build with flash builder 4.7, sdk 4.6.0
Received the following exception during a build of a Flex application using Maven and the Flex Mojos 4.0-RC2 libraries.
I'm not sure what to do as theres not much information avaliable and reading the source code at the described stack trace points leads me to wonder if we've got some code that has just tripped over a glass ceiling or has otherwise confused/broken the integration?
[INFO] Merging identical control flow ...
[INFO] Merging ABC files ...
[INFO] Rebuilding constant pool ...
[INFO] Compression ratio: 1.59%
[INFO] Total bytes: 7956
[INFO] Merging identical control flow ...
<function0>: caught java.lang.RuntimeException: Case index out of bounds : 16
java.lang.RuntimeException: Case index out of bounds : 16
at scala.Predef$.error(Predef.scala:58)
at apparat.graph.ControlFlowGraphBytecodeBuilder$LookupSwitchContainer$1.addCase(ControlFlowGraphBytecodeBuilder.scala:183)
at apparat.graph.ControlFlowGraphBytecodeBuilder$.patchLookupSwitch$1(ControlFlowGraphBytecodeBuilder.scala:205)
at apparat.graph.ControlFlowGraphBytecodeBuilder$$anonfun$toBytecode$3$$anonfun$apply$3.apply(ControlFlowGraphBytecodeBuilder.scala:248)
at apparat.graph.ControlFlowGraphBytecodeBuilder$$anonfun$toBytecode$3$$anonfun$apply$3.apply(ControlFlowGraphBytecodeBuilder.scala:221)
at scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(TraversableLike.scala:826)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:61)
at scala.collection.immutable.List.foreach(List.scala:45)
at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:825)
at apparat.graph.ControlFlowGraphBytecodeBuilder$$anonfun$toBytecode$3.apply(ControlFlowGraphBytecodeBuilder.scala:221)
at apparat.graph.ControlFlowGraphBytecodeBuilder$$anonfun$toBytecode$3.apply(ControlFlowGraphBytecodeBuilder.scala:220)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:61)
at scala.collection.immutable.List.foreach(List.scala:45)
at apparat.graph.ControlFlowGraphBytecodeBuilder$.toBytecode(ControlFlowGraphBytecodeBuilder.scala:219)
at apparat.graph.ControlFlowGraphBytecodeBuilder$.apply(ControlFlowGraphBytecodeBuilder.scala:301)
at apparat.graph.mutable.MutableBytecodeControlFlowGraph.bytecode(MutableBytecodeControlFlowGraph.scala:91)
at apparat.tools.reducer.Reducer$ReducerTool$$anonfun$run$3$$anonfun$apply$1$$anonfun$apply$2$$anonfun$apply$3$$anonfun$apply$4.apply(Reducer.scala:93)
at apparat.tools.reducer.Reducer$ReducerTool$$anonfun$run$3$$anonfun$apply$1$$anonfun$apply$2$$anonfun$apply$3$$anonfun$apply$4.apply(Reducer.scala:91)
at scala.Option.foreach(Option.scala:185)
at apparat.tools.reducer.Reducer$ReducerTool$$anonfun$run$3$$anonfun$apply$1$$anonfun$apply$2$$anonfun$apply$3.apply(Reducer.scala:91)
at apparat.tools.reducer.Reducer$ReducerTool$$anonfun$run$3$$anonfun$apply$1$$anonfun$apply$2$$anonfun$apply$3.apply(Reducer.scala:90)
at scala.Option.foreach(Option.scala:185)
at apparat.tools.reducer.Reducer$ReducerTool$$anonfun$run$3$$anonfun$apply$1$$anonfun$apply$2.apply(Reducer.scala:90)
at apparat.tools.reducer.Reducer$ReducerTool$$anonfun$run$3$$anonfun$apply$1$$anonfun$apply$2.apply(Reducer.scala:89)
at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:34)
at scala.collection.mutable.ArrayOps.foreach(ArrayOps.scala:35)
at apparat.tools.reducer.Reducer$ReducerTool$$anonfun$run$3.apply(Reducer.scala:86)
at apparat.tools.reducer.Reducer$ReducerTool$$anonfun$run$3.apply(Reducer.scala:84)
at apparat.swf.SwfTagMapping$$anonfun$2$$anonfun$apply$1.apply(SwfTagMapping.scala:41)
at apparat.swf.SwfTagMapping$$anonfun$2$$anonfun$apply$1.apply(SwfTagMapping.scala:41)
at scala.actors.Futures$$anonfun$1.apply(Future.scala:128)
at scala.actors.Futures$$anonfun$1.apply(Future.scala:128)
at scala.actors.FutureActor$$anonfun$act$1.apply(Future.scala:94)
at scala.actors.FutureActor$$anonfun$act$1.apply(Future.scala:94)
at scala.actors.Reactor$class.seq(Reactor.scala:280)
at scala.actors.FutureActor.seq(Future.scala:56)
at scala.actors.Reactor$$anon$3.andThen(Reactor.scala:258)
at scala.actors.FutureActor.act(Future.scala:95)
at scala.actors.Reactor$$anonfun$dostart$1.apply(Reactor.scala:222)
at scala.actors.Reactor$$anonfun$dostart$1.apply(Reactor.scala:222)
at scala.actors.ReactorTask.run(ReactorTask.scala:36)
at scala.actors.threadpool.ThreadPoolExecutor.runWorker(Unknown Source)
at scala.actors.threadpool.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Thread.java:724)
When I try running reducer on Mac OSX I get the following error. Can you please help?
[INFO] Apparat -- http://apparat.googlecode.com/
[INFO] Launching tool: Reducer
java.lang.NoClassDefFoundError: scala/runtime/AbstractFunction0$mcL$sp
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at scala.tools.nsc.util.ScalaClassLoader$URLClassLoader.scala$tools$nsc$util$ScalaClassLoader$$super$findClass(ScalaClassLoader.scala:88)
at scala.tools.nsc.util.ScalaClassLoader$class.findClass(ScalaClassLoader.scala:44)
at scala.tools.nsc.util.ScalaClassLoader$URLClassLoader.findClass(ScalaClassLoader.scala:88)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at scala.tools.nsc.util.ScalaClassLoader$URLClassLoader.scala$tools$nsc$util$ScalaClassLoader$$super$loadClass(ScalaClassLoader.scala:88)
at scala.tools.nsc.util.ScalaClassLoader$class.loadClass(ScalaClassLoader.scala:50)
at scala.tools.nsc.util.ScalaClassLoader$URLClassLoader.loadClass(ScalaClassLoader.scala:88)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at apparat.swf.SwfInputStream.readUI32(SwfInputStream.scala:123)
at apparat.swf.Swf.read(Swf.scala:124)
at apparat.swf.Swf$.fromInputStream(Swf.scala:79)
at apparat.utils.SwfStrategy.read(TagContainer.scala:115)
at apparat.utils.TagContainer.read(TagContainer.scala:64)
at apparat.tools.reducer.Reducer$ReducerTool.run(Reducer.scala:77)
at apparat.tools.ApparatApplication$.apply(ApparatApplication.scala:73)
at apparat.tools.reducer.Reducer$.main(Reducer.scala:20)
at apparat.tools.reducer.Reducer.main(Reducer.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at scala.tools.nsc.util.ScalaClassLoader$$anonfun$run$1.apply(ScalaClassLoader.scala:78)
at scala.tools.nsc.util.ScalaClassLoader$class.asContext(ScalaClassLoader.scala:24)
at scala.tools.nsc.util.ScalaClassLoader$URLClassLoader.asContext(ScalaClassLoader.scala:88)
at scala.tools.nsc.util.ScalaClassLoader$class.run(ScalaClassLoader.scala:78)
at scala.tools.nsc.util.ScalaClassLoader$URLClassLoader.run(ScalaClassLoader.scala:101)
at scala.tools.nsc.ObjectRunner$.run(ObjectRunner.scala:33)
at scala.tools.nsc.ObjectRunner$.runAndCatch(ObjectRunner.scala:40)
at scala.tools.nsc.MainGenericRunner.runTarget$1(MainGenericRunner.scala:56)
at scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:80)
at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:89)
at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)
Caused by: java.lang.ClassNotFoundException: scala.runtime.AbstractFunction0$mcL$sp
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at scala.tools.nsc.util.ScalaClassLoader$URLClassLoader.scala$tools$nsc$util$ScalaClassLoader$$super$findClass(ScalaClassLoader.scala:88)
at scala.tools.nsc.util.ScalaClassLoader$class.findClass(ScalaClassLoader.scala:44)
at scala.tools.nsc.util.ScalaClassLoader$URLClassLoader.findClass(ScalaClassLoader.scala:88)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at scala.tools.nsc.util.ScalaClassLoader$URLClassLoader.scala$tools$nsc$util$ScalaClassLoader$$super$loadClass(ScalaClassLoader.scala:88)
at scala.tools.nsc.util.ScalaClassLoader$class.loadClass(ScalaClassLoader.scala:50)
at scala.tools.nsc.util.ScalaClassLoader$URLClassLoader.loadClass(ScalaClassLoader.scala:88)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 41 more
[FATAL] scala/runtime/AbstractFunction0$mcL$sp
[INFO] Completed in 58ms.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.