[jboss-jira] [JBoss JIRA] (WFLY-1453) WildFly is not running on FreeBSD due to missing Linux epoll_create syscall

David Lloyd (JIRA) jira-events at lists.jboss.org
Fri Sep 20 15:26:04 EDT 2013


     [ https://issues.jboss.org/browse/WFLY-1453?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Lloyd resolved WFLY-1453.
-------------------------------

    Fix Version/s: 8.0.0.Beta1
       Resolution: Done


This should be fixed in latest upstream now.
                
> WildFly is not running on FreeBSD due to missing Linux epoll_create syscall
> ---------------------------------------------------------------------------
>
>                 Key: WFLY-1453
>                 URL: https://issues.jboss.org/browse/WFLY-1453
>             Project: WildFly
>          Issue Type: Bug
>          Components: Remoting, Scripts
>    Affects Versions: 8.0.0.Alpha1
>         Environment: FreeBSD arq 9.1-RELEASE-p3 FreeBSD 9.1-RELEASE-p3 #0: Mon Apr 29 18:27:25 UTC 2013     root at amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64
> I am running the latest FreeBSD patching -p3 on top of the latest FreeBSD 9.1.
> java -version
> java version "1.7.0_21"
> Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
> Java HotSpot(TM) Server VM (build 23.21-b01, mixed mode)
> I am running latest /usr/ports/java/linux-sun-jdk17 port which uses Java of version 1.7.0._21.
> Since this is JDK for Linux, there has to be Linux compatibility layer under Java and on top of FreeBSD. 
> I am running these ports in order to provide FreeBSD that Linux compatibility:
> % pkg_version | grep linux
> linux-f10-expat                     =
> linux-f10-fontconfig                =
> linux-f10-xorg-libs                 =
> linux_base-f10                      =
> I have enabled linux.ko driver in kernel
> % kldstat
> Id Refs Address            Size     Name
>  1   20 0xffffffff80200000 1323408  kernel
>  2    1 0xffffffff81524000 208758   zfs.ko
>  3    2 0xffffffff8172d000 5c78     opensolaris.ko
>  4    1 0xffffffff81812000 3e1c     linprocfs.ko
>  5    1 0xffffffff81816000 1f43e    linux.ko
>            Reporter: Stefan Miklosovic
>            Assignee: David Lloyd
>            Priority: Minor
>             Fix For: 8.0.0.Beta1
>
>
> When trying to start ./bin/standalone.sh, it writes these errors to the console:
> 09:22:43,771 INFO  [org.jboss.remoting] (MSC service thread 1-2) JBoss Remoting version 4.0.0.Beta1
> 09:22:43,823 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.remoting.endpoint.management: org.jboss.msc.service.StartException in service jboss.remoting.endpoint.management: JBAS017113: Failed to start service
> 	at org.jboss.as.remoting.EndpointService.start(EndpointService.java:85)
> 	at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1974) [jboss-msc-1.1.2.Final.jar:1.1.2.Final]
> 	at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1907) [jboss-msc-1.1.2.Final.jar:1.1.2.Final]
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_21]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_21]
> 	at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_21]
> Caused by: java.io.IOException: Function not implemented
> 	at sun.nio.ch.EPollArrayWrapper.epollCreate(Native Method) [rt.jar:1.7.0_21]
> 	at sun.nio.ch.EPollArrayWrapper.<init>(EPollArrayWrapper.java:87) [rt.jar:1.7.0_21]
> 	at sun.nio.ch.EPollSelectorImpl.<init>(EPollSelectorImpl.java:68) [rt.jar:1.7.0_21]
> 	at sun.nio.ch.EPollSelectorProvider.openSelector(EPollSelectorProvider.java:36) [rt.jar:1.7.0_21]
> 	at org.xnio.nio.NioXnio$DefaultSelectorCreator.open(NioXnio.java:203)
> 	at org.xnio.nio.NioXnioWorker.<init>(NioXnioWorker.java:89)
> 	at org.xnio.nio.NioXnio.createWorker(NioXnio.java:172)
> 	at org.jboss.remoting3.EndpointImpl.construct(EndpointImpl.java:137)
> 	at org.jboss.remoting3.Remoting.createEndpoint(Remoting.java:60)
> 	at org.jboss.remoting3.Remoting.createEndpoint(Remoting.java:73)
> 	at org.jboss.as.remoting.EndpointService.start(EndpointService.java:72)
> 	... 5 more
> Which are repeated several times for different components.
> The problem is with unimplemented Linux epoll syscall on Linux compatibility layer. The state of compatibility of Linux with FreeBSD can be tracked here:
> https://wiki.freebsd.org/linux-kernel
> Where, specifically, the workaround for this issue is:
> bq.if you run an application in the linux java which wants to use the linux epoll functions (you should see "not implemented" messages in dmesg), you can start java with the argument -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.PollSelectorProvider
> This is exactly what I see in dmesg: syscall epoll_create not implemented.
> I created simple patch for standalone.sh which resolve this by introducing FreeBSD platform and adding that argument into JAVA_OPTS.
> I am aware that WildFly is not officially supported for FreeBSD but I do not see a reason why it could not be repaired in order to provide at least some runnable version for the community to hack around.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jboss-jira mailing list