From: Mark Geisert <mark@maxrnd.com>
To: cygwin@cygwin.com
Subject: Re: segfault on 32bit cygwin snapshot
Date: Fri, 5 Mar 2021 14:55:45 -0800 (PST) [thread overview]
Message-ID: <Pine.BSF.4.63.2103051447400.41714@m0.truegem.net> (raw)
In-Reply-To: <YEJDaQQ+U/+j3uQb@calimero.vinschen.de>
Hi Corinna,
On Fri, 5 Mar 2021, Corinna Vinschen wrote:
> On Mar 5 01:11, Mark Geisert wrote:
>> Marco Atzeri via Cygwin wrote:
>>> On 04.03.2021 21:17, Marco Atzeri wrote:
>>>> On 04.03.2021 16:17, Ken Brown via Cygwin wrote:
>>>>> On 3/4/2021 6:50 AM, Takashi Yano via Cygwin wrote:
>>>>>> On Thu, 4 Mar 2021 12:11:11 +0100
>>>>>> marco atzeri wrote:
>>>>>>> I have no problem to patch Python to solve the issue,
>>>>>>> but I have not seen evidence of the dlsym mechanism .
>>>>>>> But of course I an NOT and expert in this field.
>>>>>>>
>>>>>>> If someone looking to the code can give me some hints,
>>>>>>> I will appreciate
>>>>>>
>>>>>> I am also not sure where the dlsym() is used in python.
>>>>>> At least, os.uname() works in python 3.8.7 and 2.7.18 in my
>>>>>> environment even without that snippet. It seems that os.uname()
>>>>>> does not use dlsym(). Do I overlook something?
>>>>>
>>>>> This all started because Mark reported a problem building python 3.8.3:
>>>>>
>>>>> https://cygwin.com/pipermail/cygwin-apps/2020-December/040765.html
>>>>> https://cygwin.com/pipermail/cygwin-developers/2020-December/012019.html
>>>>>
>>>>> It's strange that Marco never bumped into the problem.
>>>>>
>>>>> Ken
>>>>
>>>> I never built python using cygwin snapshots as Mark was trying to do,
>>>> all my builds were using 3.1.7.
>>>>
>>>> Let me set a separate enviroment for building on latest snapshot
>>>
>>> I can not replicate with latest snapshot
>>>
>>> $ uname -svr
>>> CYGWIN_NT-10.0-WOW 3.2.0s(0.340/5/3) 2021-03-01 15:42
>>>
>>> nor in 64bit when building 3.8.8
>>>
>>> For what I see the DLL is always using a proper import
>>> from cygwin1.dll
>>>
>>> $ objdump -x libpython3.8.dll |grep uname
>>> 2b9de0 2170 uname
>>> 2b9de8 2171 uname_x
>>>
>>> the only thing not standard on my build system is a case sensitive
>>> filesystem and mount
>>
>> I had concerns that I had somehow corrupted my build environment, and it was
>> Marco's successes that convinced me to reinstall 3.1.7 to recover a
>> known-good environment. Then seeing Marco go ahead and release the
>> different Python releases (yay!) I didn't investigate any further.
>>
>> I'm now trying to locate the os.uname usage of dlopen/dlsym again just for
>> the record but am having some difficulty. I'll reply again when I've got
>> it.
>
> Guys,
>
> if it turns out that we fixed a problem that doesn't actually is a
> real-world problem, I'm wondering if we shouldn't just revert the Cygwin
> patch we're talking about here (commit 532b91d24e9496) and be done with
> it.
>
> Special casing dynamic loading of uname just to support some experimental
> bordercase doesn't make much sense. In that case I'm all for "don't do
> that"!
That may well be the appropriate endpoint, but please let me dig a little
further into the recent Python versions. The fact that they had an
explicit dlopen/dlsym to get at uname(), but now they don't, troubles me.
I want to be sure us Cygwin folk aren't in an inadvertent "arms race" with
the Python devs over the uname API change. Dunno why this didn't occur
15+ years ago, but here we are.
I think it was in Python's Modules/posixmodule.c. They're certainly using
uname() directly in their most recent builds. But I believe that wasn't
always the case, even just a few months ago. Let me dig for a day or two.
Thanks,
..mark
next prev parent reply other threads:[~2021-03-05 22:55 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-20 21:01 Marco Atzeri
2021-02-20 22:29 ` Takashi Yano
2021-02-28 18:48 ` Marco Atzeri
2021-03-01 0:55 ` Takashi Yano
2021-03-01 8:41 ` Takashi Yano
2021-03-01 11:26 ` Takashi Yano
2021-03-01 12:17 ` marco atzeri
2021-03-01 12:25 ` Takashi Yano
2021-03-02 11:03 ` Takashi Yano
2021-03-02 15:48 ` Corinna Vinschen
2021-03-03 9:56 ` Takashi Yano
2021-03-03 11:00 ` Corinna Vinschen
2021-03-04 9:05 ` Mark Geisert
2021-03-04 16:11 ` Corinna Vinschen
2021-03-05 9:18 ` Mark Geisert
2021-03-05 14:37 ` Corinna Vinschen
2021-03-04 9:05 ` Takashi Yano
2021-03-04 11:11 ` marco atzeri
2021-03-04 11:50 ` Takashi Yano
2021-03-04 15:17 ` Ken Brown
2021-03-04 15:54 ` Corinna Vinschen
2021-03-04 20:17 ` Marco Atzeri
2021-03-05 8:09 ` Marco Atzeri
2021-03-05 9:11 ` Mark Geisert
2021-03-05 14:42 ` Corinna Vinschen
2021-03-05 16:30 ` Marco Atzeri
2021-03-06 1:45 ` Takashi Yano
2021-03-06 17:16 ` Ken Brown
2021-03-06 21:38 ` Mark Geisert
2021-03-05 22:55 ` Mark Geisert [this message]
2021-03-08 11:07 ` Mark Geisert
2021-03-08 14:01 ` Corinna Vinschen
2021-03-04 15:52 ` Corinna Vinschen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.BSF.4.63.2103051447400.41714@m0.truegem.net \
--to=mark@maxrnd.com \
--cc=cygwin@cygwin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).