9 Replies Latest reply on Oct 18, 2010 8:37 AM by Rafael Nunes

    JBoss Web Native Connectors for Solaris 10 x86 64 bit?

    Brian Doran Newbie

      Hello,

       

      I am trying to get these native libs for Solaris 10 x86 64bit .. just wondering if anyone knows if where they are available?

       

      i'm using JBoss 5.1.0 GA.

       

      regards

      Brian

        • 1. Re: JBoss Web Native Connectors for Solaris 10 x86 64 bit?
          Jean-Frederic Clere Master

          I will add them to the hudson builds and once tested successfully to the download page.

          Try http://www.jboss.org/jbossweb/downloads/jboss-native-2-0-9.html tomorrow.

          • 2. Re: JBoss Web Native Connectors for Solaris 10 x86 64 bit?
            Brian Doran Newbie

            That's fantastic ... thanks a million Jean-Frederic.

            • 3. Re: JBoss Web Native Connectors for Solaris 10 x86 64 bit?
              Brian Doran Newbie

              Jean Frederic ... I see that the sparc64 has been put up .. I am actually looking for the x64 .. is this possible?

               

              uname -a gives me

              SunOS server1 5.10 Generic_137138-09 i86pc i386 i86pc

               

              I need the 64bit libraries as I'm using the 64 bit JVM.

               

              Other native libs we are using  are reported as the following type (using file) ... ELF 64-bit LSB dynamic lib AMD64 Version 1, dynamically linked, not stripped

               

              Apologies for the hassle ... any help is greatly appreciated.


              Brian

              • 5. Re: JBoss Web Native Connectors for Solaris 10 x86 64 bit?
                Brian Doran Newbie

                Hi ..

                 

                Unfortunately that didn;t work .. it crashed JBoss when I went to send a message back to out client .. here is the trace ..

                 

                The 32 bit libs work fine on Solaris10 32bit but unfortunately we need the x64

                 

                I get the following..

                 

                first message send attempt

                 

                ERROR [STDERR] (pool-19-thread-2:) Exception in thread "pool-19-thread-2"
                ERROR [STDERR] (pool-19-thread-2:) org.apache.tomcat.jni.Error: Socket operation on non-socket
                ERROR [STDERR] (pool-19-thread-2:)       at org.apache.tomcat.jni.Socket.sendbb(Native Method)
                ERROR [STDERR] (pool-19-thread-2:)       at org.apache.coyote.http11.InternalAprOutputBuffer.flushBuffer(InternalAprOutputBuffer.java:843)
                ERROR [STDERR] (pool-19-thread-2:)       at org.apache.coyote.http11.InternalAprOutputBuffer.endRequest(InternalAprOutputBuffer.java:381)
                ERROR [STDERR] (pool-19-thread-2:)       at org.apache.coyote.http11.Http11AprProcessor.action(Http11AprProcessor.java:1081)
                ERROR [STDERR] (pool-19-thread-2:)       at org.apache.coyote.Response.action(Response.java:186)
                ERROR [STDERR] (pool-19-thread-2:)       at org.apache.coyote.Response.finish(Response.java:312)
                ERROR [STDERR] (pool-19-thread-2:)       at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:302)
                ERROR [STDERR] (pool-19-thread-2:)       at org.apache.catalina.connector.CoyoteOutputStream.close(CoyoteOutputStream.java:104)
                ERROR [STDERR] (pool-19-thread-2:)       at org.granite.gravity.AbstractChannel.runReceived(AbstractChannel.java:309)
                ERROR [STDERR] (pool-19-thread-2:)       at org.granite.gravity.AbstractChannel.runReceive(AbstractChannel.java:199)
                ERROR [STDERR] (pool-19-thread-2:)       at org.granite.gravity.AsyncReceiver.doRun(AsyncReceiver.java:34)
                ERROR [STDERR] (pool-19-thread-2:)       at org.granite.gravity.AsyncChannelRunner.run(AsyncChannelRunner.java:52)
                ERROR [STDERR] (pool-19-thread-2:)       at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
                ERROR [STDERR] (pool-19-thread-2:)       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
                ERROR [STDERR] (pool-19-thread-2:)       at java.lang.Thread.run(Thread.java:619)
                INFO  [com.arantech.cw.pa.engine.statistics.SimpleLoggingStatisticsManagerBean] (DefaultQuartzScheduler_Worker-7:) Invalid event count: 0, WARN  [org.granite.gravity.jbossweb.JBossWebChannel] (http-0.0.0.0-8080-3:) Got a new non null event "org.apache.catalina.connector.HttpEventImpl [BEGIN]" while current event "org.apache.catalina.connector.HttpEventImpl [BEGIN]" isn't null

                 

                and then just before the crash:

                 

                WARN  [org.granite.gravity.jbossweb.JBossWebChannel] (http-0.0.0.0-8080-4:) Got a new non null event "org.apache.catalina.connector.HttpEventImpl [BEGIN]" while current event "org.apache.catalina.connector.HttpEventImpl [BEGIN]" isn't null

                 

                Baffling ... to me anyway!

                 

                Can the jbossweb libs be added, I think they will do it?

                 

                regards,

                Brian

                • 6. Re: JBoss Web Native Connectors for Solaris 10 x86 64 bit?
                  Jean-Frederic Clere Master

                  I can't reproduce the error with my test applications. Could make a small example to reproduce the error?

                  • 7. Re: JBoss Web Native Connectors for Solaris 10 x86 64 bit?
                    Rafael Nunes Newbie

                    I can reproduce.

                    I am having this problem right now.

                     

                    I am using native libraries/Apr Processor and HttpEvent to handle Comet clients.

                     

                    In a servlet, I have a List of HttpEvents(comet clients connected)

                    If I try to iterate this list, and write something to the clients, one by one, everything works fine.

                     

                    But if I create Threads(java.lang or Jboss ThreadPool), to do this write, I receive a:  org.apache.tomcat.jni.Error: Socket operation on non-socket

                     

                    StackTrace:

                    org.apache.tomcat.jni.Error: Socket operation on non-socket
                            at org.apache.tomcat.jni.Socket.sendbb(Native Method)
                            at org.apache.coyote.http11.InternalAprOutputBuffer.flushBuffer(InternalAprOutputBuffer.java:843)
                            at org.apache.coyote.http11.InternalAprOutputBuffer.flush(InternalAprOutputBuffer.java:307)
                            at org.apache.coyote.http11.Http11AprProcessor.action(Http11AprProcessor.java:1066)
                            at org.apache.coyote.Response.action(Response.java:186)
                            at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:343)
                            at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:314)
                            at org.apache.catalina.connector.CoyoteWriter.flush(CoyoteWriter.java:95)
                            at br.com.q10.comet.mdb.NotifyThread.run(NotifyThread.java:24)
                            at org.jboss.util.threadpool.RunnableTaskWrapper.run(RunnableTaskWrapper.java:147)
                            at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
                            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
                            at java.lang.Thread.run(Thread.java:619)

                    org.apache.tomcat.jni.Error: Socket operation on non-socket

                            at org.apache.tomcat.jni.Socket.sendbb(Native Method)

                            at org.apache.coyote.http11.InternalAprOutputBuffer.flushBuffer(InternalAprOutputBuffer.java:843)

                            at org.apache.coyote.http11.InternalAprOutputBuffer.flush(InternalAprOutputBuffer.java:307)

                            at org.apache.coyote.http11.Http11AprProcessor.action(Http11AprProcessor.java:1066)

                            at org.apache.coyote.Response.action(Response.java:186)

                            at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:343)

                            at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:314)

                            at org.apache.catalina.connector.CoyoteWriter.flush(CoyoteWriter.java:95)

                            at br.com.q10.comet.mdb.NotifyThread.run(NotifyThread.java:24)

                            at org.jboss.util.threadpool.RunnableTaskWrapper.run(RunnableTaskWrapper.java:147)

                            at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

                            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

                            at java.lang.Thread.run(Thread.java:619)

                     

                    Ps: Not using Solaris, I am on a Ubuntu 9.10 32bits/Jboss 5.1

                    • 8. Re: JBoss Web Native Connectors for Solaris 10 x86 64 bit?
                      Jean-Frederic Clere Master

                      Could you post your code or better the simplest code that reproduce the error?

                      • 9. Re: JBoss Web Native Connectors for Solaris 10 x86 64 bit?
                        Rafael Nunes Newbie

                        Sure!

                         

                        In a EJB =>

                        MBeanServer server = MBeanServerLocator.locate();
                                ThreadPoolMBean poolmb = (ThreadPoolMBean) MBeanProxyExt.create(ThreadPoolMBean.class, "jboss.system:service=ThreadPool", server);
                                poolmb.getInstance().run(new MyRun());

                        MBeanServer server = MBeanServerLocator.locate();

                        ThreadPoolMBean poolmb = (ThreadPoolMBean) MBeanProxyExt.create(ThreadPoolMBean.class, "jboss.system:service=ThreadPool", server);

                        poolmb.getInstance().run(new NotifyThread(response, msg));

                         

                        //Response is a HttpServletResponse that I hold in a ArrayList

                         

                        NotifyThread =>

                        public void run(){

                                try{

                                    response.getWriter().write(msg);

                                    response.getWriter().flush();

                                }catch(IOException ioe){

                                    ioe.printStackTrace();

                                }

                            }

                         

                         

                        //And if I do not use Threads, just iterate over the List, it works fine. Like:

                        for(HttpServletResponse out : myList){

                           out.getWriter().write(msg);

                           out.getWriter().flush();

                        }