jashkenas / ruby-processing

Code as Art, Art as Code. Processing and Ruby are meant for each other.
http://github.com/jashkenas/ruby-processing/wikis
Other
1.28k stars 94 forks source link

load_image does not work #83

Closed wontaeyang closed 10 years ago

wontaeyang commented 10 years ago

Using rvm and jruby-1.7.11 with processing 2.0.3 .rp5rc is setup with correct path and generally sketches run fine.

whenever load_image is called, the sketch exits and throws error and quits. It also quits on the all the sample codes that has load_image in it. *images are in correct folder named 'data'

here is copy of the error message.. any help would be great! Thanks

java.lang.NullPointerException
    at processing.core.PApplet.dataFile(PApplet.java:7875)
    at processing.core.PApplet.dataPath(PApplet.java:7860)
    at processing.core.PApplet.createInputRaw(PApplet.java:7125)
    at processing.core.PApplet.createInput(PApplet.java:7068)
    at processing.core.PApplet.loadBytes(PApplet.java:7295)
    at processing.core.PApplet.loadImage(PApplet.java:5734)
    at processing.core.PApplet.loadImage(PApplet.java:5665)
    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 org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:455)
    at org.jruby.javasupport.JavaMethod.tryProxyInvocation(JavaMethod.java:631)
    at org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:313)
    at org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:61)
    at org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:61)
    at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:326)
    at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:170)
    at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
    at org.jruby.ast.InstAsgnNode.interpret(InstAsgnNode.java:95)
    at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
    at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
    at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
    at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:112)
    at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:126)
    at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:173)
    at org.jruby.javasupport.proxy.JavaProxyConstructor$2.invoke(JavaProxyConstructor.java:224)
    at org.jruby.proxy.processing.core.PApplet$Proxy0.setup(Unknown Source)
    at processing.core.PApplet.handleDraw(PApplet.java:2281)
    at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:237)
    at processing.core.PApplet.run(PApplet.java:2177)
    at java.lang.Thread.run(Thread.java:695)
Java::JavaLang::NullPointerException

    processing.core.PApplet.dataFile(processing/core/PApplet.java:7875)
    processing.core.PApplet.dataPath(processing/core/PApplet.java:7860)
    processing.core.PApplet.createInputRaw(processing/core/PApplet.java:7125)
    processing.core.PApplet.createInput(processing/core/PApplet.java:7068)
    processing.core.PApplet.loadImageIO(processing/core/PApplet.java:5904)
    processing.core.PApplet.loadImage(processing/core/PApplet.java:5766)
    processing.core.PApplet.loadImage(processing/core/PApplet.java:5665)
    java.lang.reflect.Method.invoke(java/lang/reflect/Method.java:597)
    RUBY.setup(alphamask.rb:8)
    processing.core.PApplet.handleDraw(processing/core/PApplet.java:2281)
    processing.core.PGraphicsJava2D.requestDraw(processing/core/PGraphicsJava2D.java:237)
    processing.core.PApplet.run(processing/core/PApplet.java:2177)
    java.lang.Thread.run(java/lang/Thread.java:695)
monkstone commented 10 years ago

@wontaeyang Use the--nojruby flag for such sketches. Some sketches require to be run using jruby-complete rather than the installed jruby, these include those with load_image and the shader sketches. For explanation see FAQ Why is there a difference between using jruby-complete and the system installed jruby

wontaeyang commented 10 years ago

Ahhh got it! Thank you