This is good to hear.  I applied a variant of your patch along with
some changes I made PLUS some changes Ola made right after the release
of 0.8.3.  The result of those changes was enough to get open-uri and 
net/http working.  Well the simple examples given in the docs of those 
modules.

  The interest both Ola and I had were in getting client sockets working
well enough for rubygems.  I think we are there now.

-Tom

On Fri, 07 Apr 2006, Evan defenestrated me:

> The code consistently produces the said error for me provided I use
> jruby-0.8.3 (compiled and run with sun-jdk-1.4.2_10), run just like "java
> -jar jruby.jar -e '<code goes here>'".
> 
> I upgraded to the latest cvs and the problem seems to be already fixed, so
> I guess we'll leave it at that.
> 
> Evan
> 
> Ola Bini wrote:
> > ... and again, at least when running your code in jirb, the call blocks
> > at read, as expected. I also made a script of this, and run it with
> > jruby, and it seems to block. which means I cannot reproduce this
> > behaviour.
> >
> > Regards
> >  Ola Bini
> >
> > ----- Original Message -----
> > From: Evan <[EMAIL PROTECTED]>
> > Date: Friday, April 7, 2006 10:00 pm
> > Subject: [Jruby-devel] 0.8.3 Socket implementation broken
> > To: jruby-devel@lists.sourceforge.net
> >
> >> I'm porting my socket+send/recv patch to work with jruby 0.8.3 but
> >> thereseems to be a bug in the vanilla jruby 0.8.3 socket
> >> implementation.
> >> "read" (I haven't tried write...) returns something (instead of
> >> blocking)which when accessed crashes the interpreter.  Since the IO
> >> code seems to
> >> have changed minimally, this probably has to do with some IO code
> >> *not*being updated to reflect changes made elsewhere.
> >>
> >> I really am the only one using JRuby sockets, aren't I?  Its going
> >> to be
> >> impossible to implement the *whole* socket interface, as a lot of
> >> the Ruby
> >> socket implementation reflects C's socket implementation.  As long
> >> as I'm
> >> messing around with sockets, though, I could probably get a bigger
> >> userbase by implementing whatever it is that rails needs to use the
> >> native sql
> >> connector code.  Does anyone know what that is?  Maybe I'll just look
> >> through the code.
> >>
> >> Anyway, I'm looking into this, but any help would be appreciated.
> >>
> >>   To reproduce:
> >>
> >> require 'socket'
> >> s = TCPSocket.new('www.google.com', 80)
> >>
> >> string = s.read(10)
> >>
> >> $stderr.puts "Still haven't crashed"
> >>
> >> puts string
> >>
> >>   This produces:
> >>
> >> Still haven't crashed
> >> org.jruby.RubyIO.puts(RubyIO.java:777):
> >> java.lang.NullPointerException:null (NativeException)
> >>        from org.jruby.RubyKernel.puts(RubyKernel.java:253)
> >>        from sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> >> Method)        from
> >>
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >>        from
> >>
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >>        from java.lang.reflect.Method.invoke(Method.java:324)
> >>        from
> >>
> > org.jruby.runtime.callback.ReflectionCallback.execute(ReflectionCallback.java:140)
> >>        from
> >>
> > org.jruby.internal.runtime.methods.CallbackMethod.internalCall(CallbackMethod.java:79)
> >>        from
> >>
> > org.jruby.internal.runtime.methods.AbstractMethod.call(AbstractMethod.java:51)
> >>         ... 25 levels...
> >>        from org.jruby.Main.runInterpreter(Main.java:121)
> >>        from org.jruby.Main.main(Main.java:82)
> >>        from breakme.rb:8
> >> Complete Java stackTrace
> >> java.lang.NullPointerException
> >>        at org.jruby.RubyIO.puts(RubyIO.java:777)
> >>        at org.jruby.RubyKernel.puts(RubyKernel.java:253)
> >>        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:324)
> >>        at
> >>
> > org.jruby.runtime.callback.ReflectionCallback.execute(ReflectionCallback.java:140)
> >>        at
> >>
> > org.jruby.internal.runtime.methods.CallbackMethod.internalCall(CallbackMethod.java:79)
> >>        at
> >>
> > org.jruby.internal.runtime.methods.AbstractMethod.call(AbstractMethod.java:51)
> >>        at org.jruby.RubyObject.callMethod(RubyObject.java:361)
> >>        at org.jruby.RubyObject.callMethod(RubyObject.java:315)
> >>        at
> >>
> > org.jruby.evaluator.EvaluateVisitor$FCallNodeVisitor.execute(EvaluateVisitor.java:1028)
> >>        at
> >> org.jruby.evaluator.EvaluationState.executeNext(EvaluationState.java:211)
> >>        at
> >> org.jruby.evaluator.EvaluationState.begin(EvaluationState.java:291)
> >>        at org.jruby.Ruby.eval(Ruby.java:188)
> >>        at org.jruby.Main.runInterpreter(Main.java:152)
> >>        at org.jruby.Main.runInterpreter(Main.java:121)
> >>        at org.jruby.Main.main(Main.java:82)
> >>
> >>
> >>
> >>
> >> -------------------------------------------------------
> >> This SF.Net email is sponsored by xPML, a groundbreaking scripting
> >> languagethat extends applications into web and mobile media. Attend
> >> the live webcast
> >> and join the prime developer group breaking into this new coding
> >> territory!http://sel.as-
> >>
> > us.falkag.net/sel?cmdgk&kid0944&bid$1720&dat1642_______________________________________________
> >> Jruby-devel mailing list
> >> Jruby-devel@lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/jruby-devel
> >>
> >
> >
> > -------------------------------------------------------
> > This SF.Net email is sponsored by xPML, a groundbreaking scripting
> > language
> > that extends applications into web and mobile media. Attend the live
> > webcast
> > and join the prime developer group breaking into this new coding
> > territory!
> > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
> > _______________________________________________
> > Jruby-devel mailing list
> > Jruby-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/jruby-devel
> >
> 
> 
> -- 
> Evan Buswell
> (831)644-9219
> [EMAIL PROTECTED]
> 
> 
> 
> -------------------------------------------------------
> This SF.Net email is sponsored by xPML, a groundbreaking scripting language
> that extends applications into web and mobile media. Attend the live webcast
> and join the prime developer group breaking into this new coding territory!
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642
> _______________________________________________
> Jruby-devel mailing list
> Jruby-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jruby-devel

-- 
+ http://www.tc.umn.edu/~enebo +---- mailto:[EMAIL PROTECTED] ----+
| Thomas E Enebo, Protagonist  | "Luck favors the prepared    |
|                              |  mind." -Louis Pasteur       |


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642
_______________________________________________
Jruby-devel mailing list
Jruby-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jruby-devel

Reply via email to