Get alert : sem_init() failed (78: Function not implemented

Hi All,

I just upgrade freebsd from 8.1 to 9.1. And after that, every time I
start Nginx, I’l get below error message:

2013/03/04 09:21:27 [alert] 43757#0: sem_init() failed (78: Function not
implemented)
2013/03/04 09:21:27 [alert] 43757#0: sem_init() failed (78: Function not
implemented)

This is the only error message I got, does anyone know how can I fix
this problem?

Thank

On Mar 4, 2013, at 19:30 , Meteor wrote:

Hi All,

I just upgrade freebsd from 8.1 to 9.1. And after that, every time I start
Nginx, I’l get below error message:

2013/03/04 09:21:27 [alert] 43757#0: sem_init() failed (78: Function not
implemented)
2013/03/04 09:21:27 [alert] 43757#0: sem_init() failed (78: Function not
implemented)

This is the only error message I got, does anyone know how can I fix this
problem?

Do you FreeBSD?
You need to rebuilt nginx.

On Mar 4, 2013, at 7:30 PM, Meteor [email protected] wrote:

Hi All,

I just upgrade freebsd from 8.1 to 9.1. And after that, every time I start
Nginx, I’l get below error message:

2013/03/04 09:21:27 [alert] 43757#0: sem_init() failed (78: Function not
implemented)
2013/03/04 09:21:27 [alert] 43757#0: sem_init() failed (78: Function not
implemented)

This is the only error message I got, does anyone know how can I fix this
problem?

You are likely running old binary built against FreeBSD 8.x.
The latter uses in-kernel implementation of semaphores.
FreeBSD 9.x switched to the new semaphore implementation based on umtx.
Here the kernel module is only used to support old binaries for pre-9.x.
So that’s why you seem “Function not implemented” error message:
since in 9.x sem isn’t present in the default GENERIC kernel.
I could try to kldload the module sem.ko, or better upgrade your system
canonically which means rebuilding nginx, as said in another mail.
See

for the canonical way to update your system.


Sergey Kandaurov
[email protected]