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