python-irodsclient icon indicating copy to clipboard operation
python-irodsclient copied to clipboard

Investigate interpreter segfault TODO comment for Python 3.6 vs 3.11

Open korydraughn opened this issue 1 year ago • 7 comments

See comment in the following code. https://github.com/irods/python-irodsclient/blob/86a8f11a9399db29774c4096d83bba733a024ab6/irods/test/data_obj_test.py#L741-L744

This may apply to other tests (i.e. collection_test.py).

korydraughn avatar May 07 '24 13:05 korydraughn

FWIW, I would recommend dropping support for 3.6 as part of #480 as it has been EOL since the end of 2021 (https://devguide.python.org/versions/#unsupported-versions), and so we won't need to worry about this.

alanking avatar Aug 01 '24 13:08 alanking

FWIW, I would recommend dropping support for 3.6 as part of #480 as it has been EOL since the end of 2021 (https://devguide.python.org/versions/#unsupported-versions), and so we won't need to worry about this.

Yes please. We currently advertise 3.4, 3.5, and 3.6. Let's drop all three for 2.1.0.

https://github.com/irods/python-irodsclient/blob/0c9600e898b33e184c97f1dfc219375074e201a0/setup.py#L32-L34

We'll keep 2.7 (and 3.7, also EOL) until we get to our 3.0.0 release.

trel avatar Aug 01 '24 13:08 trel

Hmm, that matrix of dropping support might be confusing to users.

trel avatar Aug 01 '24 13:08 trel

So perhaps we move this issue to 3.0.0 and take care of all EOL issues at once?

trel avatar Aug 01 '24 13:08 trel

I was more thinking of dropping support in 3.0.0. If we drop support for anything that came after python 2.7, that would be kind of weird.

Yes, I think moving this to the 3.0.0 milestone makes sense.

alanking avatar Aug 01 '24 13:08 alanking

3.0.0 - done.

trel avatar Aug 01 '24 13:08 trel

We want to remove support for < Python 3.8 for PRC 3.0.0.

Aka, we'll support 3.8 and later.

trel avatar Aug 22 '24 17:08 trel

We want to remove support for < Python 3.8 for PRC 3.0.0.

Aka, we'll support 3.8 and later.

Does this still apply? We should currently support 3.8+ instead of 3.9+? In the current version of the issue description @alanking has given Python 3.9 as the cutoff for the Python PRC should now minimally support, but I kind of think we should still support 3.8+, as 3.8 is the system-Python on ubuntu 20.04 and we still actively publish packages for that OS.

With that in mind, I'm currently still investigating whether 3.8 has the segfault issue.

d-w-moore avatar Mar 20 '25 05:03 d-w-moore

Update, Python 3.8.0 still segfaults. Going on to 3.9, since ubuntu20.04 has ready-installable packages for that version.

d-w-moore avatar Mar 20 '25 05:03 d-w-moore

Ok, I've established 3.9.5 (the version of system Python 3.9 that is ready installable on ubuntu 20.04) does not segfault in context of this issue. Will investigate 3.9.0 and if it's stil true of that version, it should cinch 3.9+ as the new definitively supportable Python for latest PRC.

d-w-moore avatar Mar 20 '25 06:03 d-w-moore

Ok, in the clear for 3.9.0 - no segmentation fault.
We'll work on checking off the boxes and make Python 3.9 the cutoff for upcoming PRC v3.1.0

d-w-moore avatar Mar 20 '25 06:03 d-w-moore

make Python 3.9 the cutoff for upcoming PRC v3.1.0

Yes please.

The packages/OSs we publish for the server are independent from this client library.

trel avatar Mar 20 '25 11:03 trel

make Python 3.9 the cutoff for upcoming PRC v3.1.0

Yes please.

The packages/OSs we publish for the server are independent from this client library.

True, although there will be a number of new things for e.g. Ubuntu 20 system admins to watch now like making sure an SSL development support lib is installed (think there are a couple options for that one?) as well as zlib1g-dev and maybe others before building a custom Python. Otherwise pip won't install.

d-w-moore avatar Mar 20 '25 12:03 d-w-moore

But i'm pretty sure those are way outside our scope for this library, right?

If you think not, then let's open a separate issue to discuss any particular pitfalls.

trel avatar Mar 20 '25 12:03 trel

On re-examination, yes - our README is presently just a Python iRODS Client usage guide , not including directions to management of the OS's facilities (like builds of Python) and packages that we depend on. It's big enough already, and if there's a need later for a README-install.md we'll know it.

d-w-moore avatar Mar 20 '25 12:03 d-w-moore

@d-w-moore confirmed that Python versions >3.8 do not exhibit the issue here. The next release will be listed as compatible only with Python versions >3.8, so the tearDownClass method has been stubbed out and the TODO comment has been removed.

If that sounds accurate, please close this one, @d-w-moore. Thanks

alanking avatar Mar 21 '25 15:03 alanking

looks good. closing.

trel avatar Mar 21 '25 20:03 trel