epoll workaround for linux java?

Alexander Leidinger Alexander at Leidinger.net
Mon Jan 17 12:25:07 UTC 2011


Quoting Andrew Gallatin <gallatin at cs.duke.edu> (from Sun, 16 Jan 2011  
16:31:17 -0500):

> Hi,
>
> I'm trying to run SageTV, which is a commercial, closed source
> linux media server on -current.  It is a Java based application
> that uses "native" linux JNI libs for accessing video tuner
> cards, so unfortunately I must run the Linux JVM, and not
> a native JVM.
>
> I've installed the default linux_base-f10, and the
> linux-sun-jdk-1.6.0.22.
>
> When I start the application, it semi-works, but the
> clients cannot connect.  Using kdump && linux-ktrace,
> I think I've narrowed the problem to:
>
>
>   9613 java     CALL  linux_epoll_create
>   9613 java     RET   linux_epoll_create -1 errno 78 Function not implemented
>   9613 java     CALL  gettimeofday(0x513c9ea0,0)
>   9613 java     RET   gettimeofday 0
>   9613 java     CALL  gettimeofday(0x513c9eb4,0)
>   9613 java     RET   gettimeofday 0
>   9613 java     CALL  write(0x4,0x513c7cb0,0x78)
>   9613 java     GIO   fd 4 wrote 120 bytes
>        "Sun 1/16 12:05:57.648 [MiniUIServer at 14b5f4a] MiniUI  
> ServerSocket died from:java.io.IOException: Function not impleme\
>         nted"
>
>
> I've done some googling, and it appears that epoll support
> was worked on as a SOC project in 2007 by rdivacky.  Eg:
> http://p4db.freebsd.org/fileLogView.cgi?FSPC=//depot/projects/soc2007/rdivacky/linux_epoll/sys/compat/linux/linux_epoll.c
> Were there problems with this code?

AFAIR it's not complete... Roman (CCed)?

> Last, is there any workaround to be able to use a linux
> jvm?  Perhaps by using a different linux base?  What
> would I be giving up?

Normally it is a combination of linux_base and the sysctl  
compat.linux.osrelease. In our kernel there is a difference between  
setting osrelease to 2.4 or to 2.6. For the glibc in the linux_base  
there _may_ be a difference even in the 3rd number (depends upon how  
the glibc is compiled). This can enable/disable some features glibc  
tries to use. AFAIR linux_base-f10 needs 2.6.x, IIRC fc6 is the latest  
version you can use with 2.4.x.

Bye,
Alexander.

-- 
Just because your doctor has a name for your
condition doesn't mean he knows what it is.

http://www.Leidinger.net    Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org       netchild @ FreeBSD.org  : PGP ID = 72077137


More information about the freebsd-emulation mailing list