Date: Mon, 17 Jan 2011 13:24:43 +0100 From: Alexander Leidinger <Alexander@Leidinger.net> To: Andrew Gallatin <gallatin@cs.duke.edu> Cc: freebsd-emulation@freebsd.org, rdivacky@freebsd.org Subject: Re: epoll workaround for linux java? Message-ID: <20110117132443.12425wsnnktdbvk0@webmail.leidinger.net> In-Reply-To: <4D3363A5.9000207@cs.duke.edu> References: <4D3363A5.9000207@cs.duke.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
Quoting Andrew Gallatin <gallatin@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@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110117132443.12425wsnnktdbvk0>