I think I understand why it all behaves like this. Once I read about -z now 
(BIND_NOW or disable lazy loading) it all makes sense.

Does it mean that java and python that come with Fedora distribution are 
always compiled with BIND_NOW on? What is that? Is it because it speeds up 
execution of such code? I could imagine it can slowdown the initial startup 
time as all symbols even unneeded have to be resolved.

BTW this python snippet would cause an issue in my case:
/scripts/run.py --api -e "/python3 -c \"import os; 
print(os.sched_getscheduler(0))\""

Also I came across this article about this useful article 
- https://developers.redhat.com/blog/2018/03/21/compiler-and-linker-flags-gcc/.

On Tuesday, August 14, 2018 at 11:29:22 AM UTC-4, Waldek Kozaczuk wrote:
>
> Maybe it comes from the fact each distribution and version comes with 
> different version of dependent libraries Python depends on. And some of of 
> those libraries use getrandom() from libc some call system call 318 and 
> some use other functions mentioned in 
> https://github.com/cloudius-systems/osv/issues/386?
>
> It seems to be very similar to the openjdk8-fedora related issues vs 
> openjdk8-zulu* apps.
>
> On Tue, Aug 14, 2018 at 11:01 AM Waldek Kozaczuk <jwkozac...@gmail.com> 
> wrote:
>
>> It is very interesting because I just managed to manually add Python 3.6 
>> on my Ubuntu 16.04 VM, tweaked python3x/GET to use python3.6 to discover 
>> where python is installed and I got Python 3.6 running WITHOUT having to 
>> add getrandom call:
>>
>> OSv v0.51.0-18-g2138522
>> eth0: 192.168.122.15
>> syscall(): unimplemented system call 318
>> Python 3.6.6 (default, Jun 28 2018, 04:42:43)
>> [GCC 5.4.0 20160609] on linux
>> Type "help", "copyright", "credits" or "license" for more information.
>> >>>
>>
>> On my regular machine with Ubuntu 18.04 I am getting missing getrandom 
>> symbol missing problem.
>>
>> What is the root cause of all these differences?
>>
>> Waldek
>>
>> On Tue, Aug 14, 2018 at 10:40 AM Nadav Har'El <n...@scylladb.com> wrote:
>>
>>>
>>> On Tue, Aug 14, 2018 at 5:27 PM, Waldek Kozaczuk <jwkozac...@gmail.com> 
>>> wrote:
>>>
>>>> It is interesting that neither this symbol nor other ones you mention 
>>>> here - 
>>>> https://github.com/cloudius-systems/osv/issues/386#issuecomment-412855717 
>>>> - matter when running Python 3.5 on Ubuntu 16.04 (3.6 on Ubuntu 18.04 has 
>>>> a 
>>>> problem of missing getrandom symbol).
>>>>
>>>> Or do you anticipate we will see those problems once we add getrandom?
>>>>
>>>
>>> Perhaps. I suspect Python was compiled with "-z now" so it needs many 
>>> symbols which aren't
>>> actually used in a run... You can try stubbing out getrandom (with NOSYS 
>>> or something, like I did)
>>> and seeing if it really gets used, or you'll now fail on the next symbol.
>>>
>>> I think we *should* add all these symbols, with either a stub or a good 
>>> implementation, but it will
>>> take a bit of time to do all of them.
>>>  
>>>
>>>>
>>>> Waldek
>>>>
>>>> On Tuesday, August 14, 2018 at 8:15:38 AM UTC-4, Bot Droid wrote:
>>>>>
>>>>> From: Nadav Har'El <n...@scylladb.com> 
>>>>> Committer: Nadav Har'El <n...@scylladb.com> 
>>>>> Branch: master 
>>>>>
>>>>> Stub implementation of mkfifoat() 
>>>>>
>>>>> Implement a stub mkfifoat() which just prints a message about not 
>>>>> being 
>>>>> implemented. Just like our existing mkfifo(). This symbol is needed 
>>>>> (but 
>>>>> not used...) by Python 3.6. 
>>>>>
>>>>> Fixes #990 
>>>>>
>>>>> Signed-off-by: Nadav Har'El <n...@scylladb.com> 
>>>>>
>>>>> --- 
>>>>> diff --git a/runtime.cc b/runtime.cc 
>>>>> --- a/runtime.cc 
>>>>> +++ b/runtime.cc 
>>>>> @@ -237,6 +237,7 @@ int munlock(const void*, size_t) 
>>>>>   } 
>>>>>
>>>>>   NO_SYS(int mkfifo(const char*, mode_t)); 
>>>>> +NO_SYS(int mkfifoat(int, const char *, mode_t)); 
>>>>>
>>>>>   int posix_fadvise(int fd, off_t offset, off_t len, int advice) 
>>>>>   { 
>>>>>
>>>> -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "OSv Development" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to osv-dev+unsubscr...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to osv-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to