dlopen-ing a library with OpenMP by a non-OpenMP process

Daniel Eischen deischen at freebsd.org
Wed Nov 12 12:12:58 PST 2008


On Wed, 12 Nov 2008, Mikhail Teterin wrote:

> Sent by Daniel Eischen:
>> On Wed, 12 Nov 2008, Mikhail Teterin wrote:
>> 
>>> Sent by Kostik Belousov:
>>>> On Wed, Nov 12, 2008 at 01:09:22PM -0500, Mikhail Teterin wrote:
>>>> 
>>>>> Hello!
>>>>> 
>>>>> Currently, when a program built without OpenMP (-fopenmp) is trying to 
>>>>> dlopen a library, built with the feature, the result is a crash from 
>>>>> "bad system call":
>>>>>
>>>>>    #0  0x00000008009a223c in ksem_init () from /lib/libc.so.7
>>>>>    #1  0x0000000800998a8f in sem_init () from /lib/libc.so.7
>>> Uhm... That worked... I see... Shouldn't sem_init be nicer about it, 
>>> though? Thanks,
>> Or perhaps you should read sem(4) ;-)
> Daniel, what are saying? That it is all my own fault? Generic kernel does not 
> have sem in it... I build a port with an option (OpenMP), that make perfect 
> sense, and try to use it. Software crashes...
> There is a bug -- and you, instead of contemplating a fix, are telling me to 
> read a man-page? Wow...

No, I simply meant that you saw it was returning bad system
call from sem_init/ksem_init.  A little investigation would
have turned up the reason.  If you want to debate whether or
not P1003_1B_SEMAPHORES should be standard, that is another
issue, which I might actually agree with.

-- 
DE


More information about the freebsd-stable mailing list