[issue47169] Stable ABI: Some optional (#ifdef'd) functions aren't handled correctly
Jakub Kulik added the comment: Solaris is affected by missing `PyThread_get_thread_native_id`; all other symbols from the SYMBOL_NAMES tuple (in test_stable_abi_ctypes.py) are available. -- ___ Python tracker <https://bugs.python.org/issue47169> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue47169] Stable ABI: Some optional (#ifdef'd) functions aren't handled correctly
Change by Jakub Kulik : -- nosy: +kulikjak ___ Python tracker <https://bugs.python.org/issue47169> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue44133] Some C-API symbols (e.g. Py_FrozenMain) are not always exported on Unix
Jakub Kulik added the comment: Yes, it still does, and PyThread_get_thread_native_id is the only symbol missing. -- ___ Python tracker <https://bugs.python.org/issue44133> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue47058] Skip tests failing on Solaris
Change by Jakub Kulik : -- title: Skip tests failing on Solaris worker -> Skip tests failing on Solaris ___ Python tracker <https://bugs.python.org/issue47058> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue47058] Skip tests failing on Solaris worker
Change by Jakub Kulik : -- keywords: +patch pull_requests: +30068 stage: -> patch review pull_request: https://github.com/python/cpython/pull/31978 ___ Python tracker <https://bugs.python.org/issue47058> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue47058] Skip tests failing on Solaris worker
New submission from Jakub Kulik : There are several tests failing on the recently added Solaris buildbot worker. This Issue aims to fix/skip the to make Solaris green on buildbot. ## test_posix ## Issues with the `os.sched_get_priority_min`; fix offered here: https://bugs.python.org/issue41839 # ## test_shutil ## # Issues with `sendfile` being disabled on Solaris (and test suite not being able to handle that); fix offered here: https://bugs.python.org/issue41843 # ## test_locale ## # Strxfrm does not work in the current implementation due to the difference in Solaris locale encoding (most of which was solved with https://bugs.python.org/issue43667). Internally we have fixed this issue with: https://github.com/oracle/solaris-userland/blob/master/components/python/python39/patches/24-strxfrm-fix.patch But this idea was previously rejected in https://bugs.python.org/issue16258 Because of that, those tests are skipped on Solaris in the attached PR. # ## test_re ## # On SPARC there are some weird matches in some regexes: Traceback (most recent call last): File ".../build/Lib/test/test_re.py", line 1907, in test_locale_caching self.check_en_US_utf8() File ".../build/Lib/test/test_re.py", line 1924, in check_en_US_utf8 self.assertIsNone(re.match(b'\xc5', b'\xe5', re.L|re.I)) AssertionError: is not None I have no idea why this is happening. I presume it is locale related, but I didn't find anything problematic yet. The simplest way to reproduce this is (meaning that this probably isn't caching related): ``` import locale import re locale.setlocale(locale.LC_CTYPE, 'en_US.utf8') print(re.match(b'\xc5', b'\xe5', re.L|re.I)) ``` This returns: on Solaris and None on Linux. I am happy to investigate it further; any pointers as for where to look would be appreciated as I am stuck a little bit. # ## test_socket ## # There are two issues here. The first one is similar to what BSD, Darwin and AIX experience with testFDPass tests: https://bugs.python.org/issue22397 https://bugs.python.org/issue12958 These tests are skipped on Solaris in the attached PR. The other one is an incorrect assumption about CMSG_SPACE on SPARC Solaris; it grows slightly sooner when increasing length compared to other platforms I tested. with toobig == 2147483632 length socket.CMSG_SPACE output 2147483619 2147483632 2147483620 2147483632 2147483621 2147483640 2147483622 2147483640 2147483623 2147483640 2147483624 2147483640 2147483625 2147483640 2147483626 2147483640 2147483627 2147483640 2147483628 2147483640 2147483629 <- OverflowError == ERROR: testCMSG_SPACE (test.test_socket.CmsgMacroTests) -- Traceback (most recent call last): File "/builds/jkulik/testing/components/python/python39/Python-3.9.9/Lib/test/test_socket.py", line 3360, in testCMSG_SPACE ret = socket.CMSG_SPACE(n) OverflowError: CMSG_SPACE() argument out of range (on other platforms, increases generally happen with lengths divisible by 8, meaning that it gets all the way to 2147483631). I am unsure how to fix this (currently, PR includes change we use internally but is likely not acceptable) as I don't know how to correctly guess the largest CMSG_SPACE on all platforms. Is it even necessary though (it can test OverflowError on other values than just the first failing one and can end slightly sooner)? ### ## test_time ## ### This was recently fixed with: https://bugs.python.org/issue46099 -- components: Tests messages: 415493 nosy: kulikjak priority: normal severity: normal status: open title: Skip tests failing on Solaris worker versions: Python 3.10, Python 3.11, Python 3.9 ___ Python tracker <https://bugs.python.org/issue47058> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue44133] Some C-API symbols (e.g. Py_FrozenMain) are not always exported on Unix
Jakub Kulik added the comment: Ah, sorry, I could have described the issue better. It's not a problem with exporting, PyThread_get_thread_native_id() isn't available on Solaris (and possibly other platforms) at all. https://github.com/python/cpython/blob/main/Include/pythread.h#L28 https://github.com/python/cpython/blob/main/Python/thread_pthread.h#L329 The reason I didn't implement it yet is that Solaris doesn't expose anything like native thread id. We do have functions like `_lwp_self()` or `pthread_self()` or `thr_self()` but neither of them returns id where "value may be used to uniquely identify this particular thread system-wide". (I presume that means that no other thread of no other process running on a given system would return the same number - all these functions return single digit numbers so there is no way they are unique system wide). If necessary, I guess that such a number can be created by masking pid and thread id together, but then there's a question of how it is supposed to be used (because OS would not understand it). -- ___ Python tracker <https://bugs.python.org/issue44133> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue40066] Enum: modify __repr__, __str__; update docs
Jakub Kulik added the comment: This also broke our Solaris build with the following error: == FAIL: testGetaddrinfo (test.test_socket.GeneralModuleTests) -- Traceback (most recent call last): File "//cpython-main/Lib/test/test_socket.py", line 1523, in testGetaddrinfo self.assertEqual(repr(type), '') ^^^ AssertionError: '' != '' - ? ^ + ? ^ (test.test_socket.GeneralModuleTests fails with the same error). The issue is almost certainly that on Solaris, SOCK_STREAM is defined as 2 rather than 1; the following simple program confirms that: #include #include void main() { printf("%d\n", SOCK_STREAM); } I'm just not sure whether to fix this with `assertRegex` or a special branch for Solaris (though I am not sure whether everybody else uses 1 or it's more varied). -- nosy: +kulikjak ___ Python tracker <https://bugs.python.org/issue40066> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue44133] Some C-API symbols (e.g. Py_FrozenMain) are not always exported on Unix
Jakub Kulik added the comment: >> On Solaris (and most likely several other platforms), >> `PyThread_get_thread_native_id` is also not available. > Oh, I added an explicit test for that in my PR 30556. Now it started failing on a different place: == FAIL: test_export_symbols (test.test_capi.CAPITest) (name='PyThread_get_thread_native_id') -- Traceback (most recent call last): File "//cpython-main/Lib/test/test_capi.py", line 662, in test_export_symbols self.assertTrue(hasattr(ctypes.pythonapi, name)) AssertionError: False is not true Looking at the test, is the expectation that all OSes must implement it since 3.11? -- ___ Python tracker <https://bugs.python.org/issue44133> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46099] Solaris: Fix pthread_getcpuclockid test
Change by Jakub Kulik : -- keywords: +patch pull_requests: +28358 stage: -> patch review pull_request: https://github.com/python/cpython/pull/30140 ___ Python tracker <https://bugs.python.org/issue46099> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46099] Solaris: Fix pthread_getcpuclockid test
New submission from Jakub Kulik : On Solaris, when `pthread_getcpuclockid()` is called with current thread id as an argument, it returns `CLOCK_THREAD_CPUTIME_ID`. == FAIL: test_pthread_getcpuclockid (test.test_time.TimeTestCase) -- Traceback (most recent call last): File "/var/share/buildbot-worker/default/3.9.kulikjak-solaris-sparcv9/build/Lib/test/test_time.py", line 116, in test_pthread_getcpuclockid self.assertNotEqual(clk_id, time.CLOCK_THREAD_CPUTIME_ID) AssertionError: 2 == 2 Based on the test code, 32bit AIX seems to do the same thing so I added another similar code for Solaris. -- components: Tests messages: 408694 nosy: kulikjak priority: normal severity: normal status: open title: Solaris: Fix pthread_getcpuclockid test versions: Python 3.10, Python 3.11, Python 3.9 ___ Python tracker <https://bugs.python.org/issue46099> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue44133] Some C-API symbols (e.g. Py_FrozenMain) are not always exported
Jakub Kulik added the comment: On Solaris (and most likely several other platforms), `PyThread_get_thread_native_id` is also not available. -- nosy: +kulikjak ___ Python tracker <https://bugs.python.org/issue44133> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue44935] Solaris: enable posix_spawn in subprocess
Change by Jakub Kulik : -- keywords: +patch pull_requests: +26264 stage: -> patch review pull_request: https://github.com/python/cpython/pull/27795 ___ Python tracker <https://bugs.python.org/issue44935> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue44935] Solaris: enable posix_spawn in subprocess
New submission from Jakub Kulik : Solaris also provides posix_spawn() syscall that can/should be used in the subprocess module to spawn new processes. -- components: Library (Lib) messages: 399750 nosy: kulikjak priority: normal severity: normal status: open title: Solaris: enable posix_spawn in subprocess versions: Python 3.10, Python 3.11, Python 3.9 ___ Python tracker <https://bugs.python.org/issue44935> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue43498] "dictionary changed size during iteration" error in _ExecutorManagerThread
Jakub Kulik added the comment: I think that even if copy() doesn't fix it entirely, it's still much better than nothing. I never encountered the issue mentioned in bpo-40327, but I saw this issue several times a week (before applying the proposed patch). -- ___ Python tracker <https://bugs.python.org/issue43498> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue43219] shutil.copy raises IsADirectoryError when the directory does not actually exist
Change by Jakub Kulik : -- pull_requests: +25802 pull_request: https://github.com/python/cpython/pull/27257 ___ Python tracker <https://bugs.python.org/issue43219> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue43219] shutil.copy raises IsADirectoryError when the directory does not actually exist
Jakub Kulik added the comment: On Solaris (I checked this on Oracle and SmartOS), the error is: NotADirectoryError: [Errno 20] Not a directory: 'not_a_dir/' which I think belongs to the 'errors are not confusing' category with Windows and macOS. -- nosy: +kulikjak ___ Python tracker <https://bugs.python.org/issue43219> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue43667] Solaris: Fix broken Unicode encoding in non-UTF locales
Change by Jakub Kulik : -- pull_requests: +24998 pull_request: https://github.com/python/cpython/pull/26405 ___ Python tracker <https://bugs.python.org/issue43667> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue43667] Solaris: Fix broken Unicode encoding in non-UTF locales
Jakub Kulik added the comment: Sorry for delayed response. Considering that we are not delivering or using 3.8 in any way and this issue doesn't seem to impact anybody else, we can omit the backport to 3.8. I will prepare another PR with a news fragment, and after that, this can be considered solved and closed. -- versions: +Python 3.11 -Python 3.8 ___ Python tracker <https://bugs.python.org/issue43667> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue41843] Reenable sendfile in shutil.copyfile() on Solaris
Jakub Kulik added the comment: Based on the comment https://bugs.python.org/issue43743#msg393429 I think my question is answered: #36610 should not be reverted. Attached PR (which merely adds Solaris to systems where _USE_CP_SENDFILE is True) should thus be the preferred way of reenabling this. -- ___ Python tracker <https://bugs.python.org/issue41843> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue43667] Solaris: Fix broken Unicode encoding in non-UTF locales
Change by Jakub Kulik : -- components: +Unicode -Tests versions: +Python 3.10, Python 3.8, Python 3.9 -Python 3.11 ___ Python tracker <https://bugs.python.org/issue43667> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue43667] Solaris: Fix broken Unicode encoding in non-UTF locales
Change by Jakub Kulik : -- pull_requests: +24530 pull_request: https://github.com/python/cpython/pull/25847 ___ Python tracker <https://bugs.python.org/issue43667> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue43498] "dictionary changed size during iteration" error in _ExecutorManagerThread
Jakub Kulik added the comment: I investigated a little bit more and found out that this happens when `ProcessPoolExecutor::_adjust_process_count()` adds a new process during the iteration. With the following change, I can reproduce this reliably every time: --- Python-3.9.1/Lib/concurrent/futures/process.py +++ Python-3.9.1/Lib/concurrent/futures/process.py @@ -373,7 +373,14 @@ class _ExecutorManagerThread(threading.T assert not self.thread_wakeup._closed wakeup_reader = self.thread_wakeup._reader readers = [result_reader, wakeup_reader] -worker_sentinels = [p.sentinel for p in self.processes.values()] +worker_sentinels = [] +for p in self.processes.values(): +time.sleep(1) +worker_sentinels.append(p.sentinel) ready = mp.connection.wait(readers + worker_sentinels) cause = None Since `wait_result_broken_or_wakeup()` is called periodically, and there is no issue if processes added during the iteration are omitted (if they were added just after that, they would be omitted anyway), the attached PR shouldn't break anything. -- ___ Python tracker <https://bugs.python.org/issue43498> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue43667] Solaris: Fix broken Unicode encoding in non-UTF locales
Jakub Kulik added the comment: I forgot to mention: this affects Oracle Solaris. I tested this on SmartOS, and I cannot reproduce it there as it seems that they are using Unicode representation for all locales. Based on the documentation, this might also affect other systems as well (e.g. HP UIX specifically says: 'These values may not be compatible with values obtained by specifying other locales that are supported'), but it's hard to tell without testing that. This one liner breaks with ValueError: character U+3069 is not in range [U+; U+10] if the issue is present: python3.7 -c 'import datetime; import locale; locale.setlocale(locale.LC_ALL,"es_ES.ISO8859-1"); datetime.date(2001, 1, 3).strftime("%a")' -- ___ Python tracker <https://bugs.python.org/issue43667> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue43667] Solaris: Fix broken Unicode encoding in non-UTF locales
Change by Jakub Kulik : -- keywords: +patch pull_requests: +23840 stage: -> patch review pull_request: https://github.com/python/cpython/pull/25096 ___ Python tracker <https://bugs.python.org/issue43667> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue43667] Solaris: Fix broken Unicode encoding in non-UTF locales
New submission from Jakub Kulik : On Linux, wchar_t values are mapped to their UTF-8 counterparts; however, that does not have to be the case as the standard allows any arbitrary representation to be used, and this is the case for Solaris. In Oracle Solaris, the internal form of wchar_t is specific to a locale; in the Unicode locales, wchar_t has the UTF-32 Unicode encoding form, and other locales have different representations [1]. This is an issue because Python expects wchar_t to correspond with Unicode, which on Oracle Solaris with non-UTF locale results either in errors (values are outside the Unicode range) or in output with different symbols. Unicode locales work as expected, but they are not an acceptable workaround for some Oracle Solaris users that cannot use Unicode encoding for various reasons. Because of that, we fixed it a few months ago with a patch to `PyUnicode_FromWideChar`, which handles conversion to unicode (attached in PR). It was tested over the last half a year, and we didn't see any related issues since. Is something like this acceptable or should it be fixed on a different place/in a different way? All comments are appreciated. [1] https://docs.oracle.com/cd/E36784_01/html/E39536/gmwkm.html -- components: Unicode messages: 389813 nosy: ezio.melotti, kulikjak, vstinner priority: normal severity: normal status: open title: Solaris: Fix broken Unicode encoding in non-UTF locales versions: Python 3.10, Python 3.7, Python 3.8, Python 3.9 ___ Python tracker <https://bugs.python.org/issue43667> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue43498] "dictionary changed size during iteration" error in _ExecutorManagerThread
Change by Jakub Kulik : -- keywords: +patch pull_requests: +23630 stage: -> patch review pull_request: https://github.com/python/cpython/pull/24868 ___ Python tracker <https://bugs.python.org/issue43498> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue43498] "dictionary changed size during iteration" error in _ExecutorManagerThread
New submission from Jakub Kulik : Recently several of our Python 3.9 builds froze during `make install` with the following trace in logs: Listing .../components/python/python39/build/prototype/sparc/usr/lib/python3.9/lib2to3/tests/data/fixers/myfixes... Exception in thread Thread-1: Traceback (most recent call last): File ".../components/python/python39/build/prototype/sparc/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner self.run() File ".../components/python/python39/build/prototype/sparc/usr/lib/python3.9/concurrent/futures/process.py", line 317, in run result_item, is_broken, cause = self.wait_result_broken_or_wakeup() File ".../components/python/python39/build/prototype/sparc/usr/lib/python3.9/concurrent/futures/process.py", line 376, in wait_result_broken_or_wakeup worker_sentinels = [p.sentinel for p in self.processes.values()] File ".../components/python/python39/build/prototype/sparc/usr/lib/python3.9/concurrent/futures/process.py", line 376, in worker_sentinels = [p.sentinel for p in self.processes.values()] RuntimeError: dictionary changed size during iteration After this, the build freezes and never ends (most likely waiting for the broken thread). We see this only in Python 3.9 (3.7 doesn't seem to be affected, and we don't deliver other versions) and only when doing full builds of the entire Userland, meaning that this might be related to big utilization of the build machine? That said, it only happened three or four times, so this might be just a coincidence. Simple fix seems to be this (PR shortly): --- Python-3.9.1/Lib/concurrent/futures/process.py +++ Python-3.9.1/Lib/concurrent/futures/process.py @@ -373,7 +373,7 @@ class _ExecutorManagerThread(threading.T assert not self.thread_wakeup._closed wakeup_reader = self.thread_wakeup._reader readers = [result_reader, wakeup_reader] -worker_sentinels = [p.sentinel for p in self.processes.values()] +worker_sentinels = [p.sentinel for p in self.processes.copy().values()] ready = mp.connection.wait(readers + worker_sentinels) cause = None This is on Oracle Solaris and on both SPARC and Intel machines. -- components: Installation, asyncio messages: 388712 nosy: asvetlov, kulikjak, yselivanov priority: normal severity: normal status: open title: "dictionary changed size during iteration" error in _ExecutorManagerThread type: crash versions: Python 3.10, Python 3.9 ___ Python tracker <https://bugs.python.org/issue43498> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue41843] Reenable sendfile in shutil.copyfile() on Solaris
Change by Jakub Kulik : -- keywords: +patch pull_requests: +22748 stage: -> patch review pull_request: https://github.com/python/cpython/pull/23893 ___ Python tracker <https://bugs.python.org/issue41843> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19561] request to reopen Issue837046 - pyport.h redeclares gethostname() if SOLARIS is defined
Change by Jakub Kulik : -- versions: +Python 3.10, Python 3.8, Python 3.9 -Python 2.7, Python 3.3 ___ Python tracker <https://bugs.python.org/issue19561> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37232] Parallel compilation fails because of low ulimit.
Jakub Kulik added the comment: I am closing this as it is true that the limit on files of 256 is pretty low, and no matter how robust you make it, arbitrarily low ulimits will crash it anyway. -- resolution: -> not a bug stage: -> resolved status: open -> closed ___ Python tracker <https://bugs.python.org/issue37232> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue42277] Solaris & PEP 3149: start using ABI version tagged .so files
Change by Jakub Kulik : -- resolution: -> duplicate stage: patch review -> resolved status: open -> closed ___ Python tracker <https://bugs.python.org/issue42277> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue42277] Solaris & PEP 3149: start using ABI version tagged .so files
Jakub Kulik added the comment: This was resolved with issue 42604 and PR 23708. -- ___ Python tracker <https://bugs.python.org/issue42277> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue42655] Fix subprocess extra_groups gid conversion
Jakub Kulik added the comment: I checked and indeed there seems to be no reason as for why should we use `void *` rather than `gid_t *` and `uid_t *`. I changed that in the attached PR. -- ___ Python tracker <https://bugs.python.org/issue42655> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue42655] Fix subprocess extra_groups gid conversion
Change by Jakub Kulik : -- keywords: +patch pull_requests: +22655 stage: -> patch review pull_request: https://github.com/python/cpython/pull/23762 ___ Python tracker <https://bugs.python.org/issue42655> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue42655] Fix subprocess extra_groups gid conversion
New submission from Jakub Kulik : C function `subprocess_fork_exec` incorrectly transforms gids from the `extra_groups` argument because it passes `unsigned long*` rather than `pid_t*` into the `_Py_Gid_Converter()`. Assuming that `gid_t` is 32 bit and `unsigned long` is 64 bit (which it often is), `*(gid_t *)p = gid;` then incorrectly overwrites only part of that variable, leaving the other one filled with previous garbage. I found this on Solaris, but I am pretty sure that this doesn't work correctly on Linux as well, since both use `unsigned int` as `gid_t`. -- components: Extension Modules messages: 383132 nosy: kulikjak priority: normal severity: normal status: open title: Fix subprocess extra_groups gid conversion versions: Python 3.10, Python 3.9 ___ Python tracker <https://bugs.python.org/issue42655> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue41818] Lib/pty.py major revision
Jakub Kulik added the comment: This change also broke Solaris (SunOS), where (similarly to BSDs and Darwin) OSError is not raised in the `new test_master_read()` test. Adding `or PLATFORM == "SunOS"` into the `expectedFailureOnBSD` function fixes this issue, but it's no longer just BSDs and it's derivates. -- nosy: +kulikjak ___ Python tracker <https://bugs.python.org/issue41818> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19561] request to reopen Issue837046 - pyport.h redeclares gethostname() if SOLARIS is defined
Change by Jakub Kulik : -- pull_requests: +22106 stage: -> patch review pull_request: https://github.com/python/cpython/pull/23208 ___ Python tracker <https://bugs.python.org/issue19561> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19561] request to reopen Issue837046 - pyport.h redeclares gethostname() if SOLARIS is defined
Jakub Kulik added the comment: And for the reference, Solaris distros are already removing this code: https://github.com/oracle/solaris-userland/blob/master/components/python/python37/patches/15-gethostname.patch https://github.com/OpenIndiana/oi-userland/blob/oi/hipster/components/python/python37/patches/15-gethostname.patch https://github.com/omniosorg/omnios-build/blob/master/build/python37/patches/15-gethostname.patch -- ___ Python tracker <https://bugs.python.org/issue19561> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19561] request to reopen Issue837046 - pyport.h redeclares gethostname() if SOLARIS is defined
Jakub Kulik added the comment: I think this code should be removed. It was added in its current form more than 20 years ago with the intention to add function declarations missing from system include files: https://github.com/python/cpython/commit/1e0c2f4bee43728930bd5f4dc77283f09c4ba004 Today, every Solaris system should have gethostname() available in unistd.h. I am not sure when exactly was it added, but it was available in the OpenSolaris since the first commit (year 2005): https://github.com/illumos/illumos-gate/blame/master/usr/src/head/unistd.h#L344 Also, AFAIK, 'SOLARIS' macro is not predefined on Solaris systems in compiler preprocessors today *; hence, unless compiled with `-DSOLARIS`, this code has no effect. *) I tested this with several GCC [7|9|10] and Solaris studio and neither of those defined it. It seems like it might have worked many years ago, but it certainly isn't a way to #ifdef Solaris today. -- nosy: +kulikjak ___ Python tracker <https://bugs.python.org/issue19561> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue41839] Solaris: Fix error checking in sched_get_priority_ functions
Jakub Kulik added the comment: > Checking for -1 rather than all negative values fixes this issue. To be 100% exact, it should be "checking for -1 and errno" (as other Jakub noted in the PR). Here is the standard for reference: https://pubs.opengroup.org/onlinepubs/009695399/functions/sched_get_priority_min.html Sticking to it should hopefully not break anything. -- ___ Python tracker <https://bugs.python.org/issue41839> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue42277] Solaris & PEP 3149: start using ABI version tagged .so files
Change by Jakub Kulik : -- keywords: +patch pull_requests: +22088 stage: -> patch review pull_request: https://github.com/python/cpython/pull/23182 ___ Python tracker <https://bugs.python.org/issue42277> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue42277] Solaris & PEP 3149: start using ABI version tagged .so files
New submission from Jakub Kulik : Solaris doesn't have ABI version tagged .so files enabled in upstream CPython yet, but almost every Solaris distribution* patches this functionality in: Oracle Solaris: https://github.com/oracle/solaris-userland/blob/master/components/python/python39/patches/13-SOABI.patch OpenIndiana: https://github.com/OpenIndiana/oi-userland/blob/oi/hipster/components/python/python37/patches/13-SOABI.patch OmniOS: https://github.com/omniosorg/omnios-build/blob/master/build/python37/patches/13-SOABI.patch Because of that, I think it should be merged into master. *) The only exception is pkgsrc (used in SmartOS), but they are patching it out for every system, so no change there: https://github.com/joyent/pkgsrc/blob/trunk/lang/python39/patches/patch-configure -- components: Build messages: 380449 nosy: kulikjak priority: normal severity: normal status: open title: Solaris & PEP 3149: start using ABI version tagged .so files type: enhancement versions: Python 3.10 ___ Python tracker <https://bugs.python.org/issue42277> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue42237] test_socket.SendfileUsingSendfileTest fails on illumos
Change by Jakub Kulik : -- versions: +Python 3.9 ___ Python tracker <https://bugs.python.org/issue42237> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue42237] test_socket.SendfileUsingSendfileTest fails on illumos
Jakub Kulik added the comment: I did some further digging, and this is indeed not possible on Oracle Solaris (that is, sendfile() cannot write bytes and fail during the same call). We considered this a bug and changed/fixed it several years ago. Manual page doesn't mention that either: https://docs.oracle.com/cd/E88353_01/html/E37843/sendfile-3c.html I am not sure whether Illumos will want to change this as well (probably not since it is mentioned in the man page as expected behavior), but either way, the proposed change doesn't harm Oracle Solaris because 'if (offset != original_offset)' can never be true. -- nosy: +kulikjak ___ Python tracker <https://bugs.python.org/issue42237> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue35455] Solaris: thread_time doesn't work with current implementation
Change by Jakub Kulik : -- versions: -Python 3.7 ___ Python tracker <https://bugs.python.org/issue35455> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue35455] Solaris: thread_time doesn't work with current implementation
Change by Jakub Kulik : -- pull_requests: +22057 pull_request: https://github.com/python/cpython/pull/23145 ___ Python tracker <https://bugs.python.org/issue35455> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue35455] Solaris: thread_time doesn't work with current implementation
Change by Jakub Kulik : -- versions: +Python 3.10 ___ Python tracker <https://bugs.python.org/issue35455> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue35455] Solaris: thread_time doesn't work with current implementation
Change by Jakub Kulik : -- title: Solaris thread_time doesn't work with current implementation -> Solaris: thread_time doesn't work with current implementation ___ Python tracker <https://bugs.python.org/issue35455> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue35455] Solaris thread_time doesn't work with current implementation
Jakub Kulik added the comment: Comment from https://bugs.python.org/issue42173#msg380205 confirmed that this issue is still relevant to Illumos based systems. Because of that, I am happy to resolve it. -- ___ Python tracker <https://bugs.python.org/issue35455> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue42173] Drop Solaris support
Jakub Kulik added the comment: Thanks Andy, good to know we are seeing the same issue! We tried to fix sendfile differences in Python code before as well, but as you said, it was never 100% solved. Recently we finally fixed it in C and it was accepted (https://bugs.python.org/issue41687) and backported to 3.9 so you might/should be ok without the patch as well. CLOCK_THREAD_CPUTIME_ID was issue for us as well but before the patch was accepted upstream, Oracle Solaris implemented it so it was no longer necessary. But the issue is still open https://bugs.python.org/issue35455 and knowing that others will use it, I will dust it off and finish it. Knowing that Oracle and Illumos are facing the same issues, I am much more confident that our patches won't break Illumos. I will start upstream more of them right away. -- ___ Python tracker <https://bugs.python.org/issue42173> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue42173] Drop Solaris support
Jakub Kulik added the comment: I ran the test and the results are attached (the first one is a complete test and the other one failed tests in verbose mode). I checked the failing tests and divided them into several groups: issues already reported: test_asyncio - reported and being solved here: https://bugs.python.org/issue38323 test_posix - problem with return values, reported here: https://bugs.python.org/issue41839 test_shutil - sendfile for Solaris was disabled in the library, but not in the test suite, which leads to the issues (I asked about reenabling here: https://bugs.python.org/issue41843; that would solve the issue) these failures are probably related to our internal network settings (false positives): test_ssl, test_urllib, test_urllib2, test_urllib2_localnet other: test_float - locale related * test_locale - locale related * test_re - most likely locale related * test_socket - known issues not yet reported upstream (not ready for acceptable PR) test_time - one locale related * and other not yet known test_tcl - yet to investigate *) Locale related failures are due to wchar_t differences between the Linux world and ours. It's something we resolved very recently and have yet to rework it into an upstreamable form and report it. It would be interesting to see Illumos results as well, because while also Solaris, there might be differences due to almost ten years of spit development. -- Added file: https://bugs.python.org/file49558/Oracle_Solaris_full_test.txt ___ Python tracker <https://bugs.python.org/issue42173> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue42173] Drop Solaris support
Change by Jakub Kulik : Added file: https://bugs.python.org/file49559/Oracle_Solaris_detailed_test.txt ___ Python tracker <https://bugs.python.org/issue42173> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue42173] Drop Solaris support
Jakub Kulik added the comment: Hi, here I am passing on several notes from the Oracle Solaris team: - Oracle continues to develop and advance Oracle Solaris technology, and have committed to doing so for years to come. We release a new update (so called SRU) every month (https://blogs.oracle.com/solaris/oracle-solaris%3a-update-to-the-continuous-delivery-model). - Python is essential for Oracle Solaris and actively worked on. In fact, we recently finished migration to Python 3.7 and integrated Python 3.9, which will be released to customers soon. - Internally, we are performing daily testing for each Python version from 3.7+ and reporting any issues that are found* (fortunately, there are not many of them because Python works very well!). - Python 3 is running for more than a year now on any machine running Oracle Solaris 11.4. - Looking at six download statistics is very misleading because we are packaging Python and its modules in Solaris packages. This package is essential (meaning that every Oracle Solaris machine will have it installed). Also, we are caching archives internally, so unless customers download a newer version into a virtual environment, you won't see more than a few downloads from Oracle Solaris (which are then distributed onto thousands of machines running Oracle Solaris). - We are looking at how to provide build bots running on Oracle Solaris. - We are trying to be part of the Python community and also put back Solaris specific fixes (we provide patches for many of those issues reported). - It is certainly much better (hopefully for everyone) to resolve any specific Solaris issues and help with the maintenance within the Python community than do this just internally as part of Oracle Solaris development. *) everything reported by me are Solaris related issues Jakub -- nosy: +kulikjak -sugondesenuts007 ___ Python tracker <https://bugs.python.org/issue42173> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue27777] cgi.FieldStorage can't parse simple body with Content-Length and no Content-Disposition
Jakub Kulik added the comment: We internally tested the most recent PR and found some issues with it: https://github.com/python/cpython/pull/21457#issuecomment-698845895 We ended up using a much simpler patch, which seems to work as expected. --- Python-3.7.8/Lib/cgi.py +++ Python-3.7.8/Lib/cgi.py @@ -703,7 +703,10 @@ if not data: self.done = -1 break -self.file.write(data) +if self._binary_file: +self.file.write(data) +else: +self.file.write(data.decode()) todo = todo - len(data) def read_lines(self): -- nosy: +kulikjak ___ Python tracker <https://bugs.python.org/issue2> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue41843] Reenable sendfile in shutil.copyfile() on Solaris
New submission from Jakub Kulik : The use of sendfile() in shutil.copyfile() on Solaris was previously disabled in #36610 due to slightly different behavior. This difference was recently accounted for in #41687, and I observed no other unexpected problems/differences with sendfile. Can we get this reenabled? I can prepare PR, however, I am not sure whether #36610 should be reverted (hence enabling sendfile in copyfile on every system where it is available) or whether I should just add Solaris to _USE_CP_SENDFILE condition. -- components: Library (Lib) messages: 377383 nosy: giampaolo.rodola, kulikjak priority: normal severity: normal status: open title: Reenable sendfile in shutil.copyfile() on Solaris type: performance versions: Python 3.10, Python 3.9 ___ Python tracker <https://bugs.python.org/issue41843> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue41839] Fix error checking in sched_get_priority_ functions
Change by Jakub Kulik : -- versions: +Python 3.8 ___ Python tracker <https://bugs.python.org/issue41839> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue41839] Fix error checking in sched_get_priority_ functions
Change by Jakub Kulik : -- keywords: +patch pull_requests: +21413 stage: -> patch review pull_request: https://github.com/python/cpython/pull/22374 ___ Python tracker <https://bugs.python.org/issue41839> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue41839] Fix error checking in sched_get_priority_ functions
New submission from Jakub Kulik : Python presumes that any negative number returned from sched_get_priority_min or sched_get_priority_max indicates that error has occurred. However, neither Linux manual pages nor POSIX.1-2001 specification forbids negative values to be returned; only -1 has a special meaning for error. On Solaris, sched_get_priority_min can, in some instances, return -60, and while this is a legitimate scheduling priority value, Python throws an OSError. Checking for -1 rather than all negative values fixes this issue. -- components: Library (Lib) messages: 377363 nosy: kulikjak priority: normal severity: normal status: open title: Fix error checking in sched_get_priority_ functions type: behavior versions: Python 3.10, Python 3.9 ___ Python tracker <https://bugs.python.org/issue41839> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue35520] Python won't build with dtrace enabled on some systems.
Jakub Kulik added the comment: No more non-security related backports to 3.7 allowed. -- resolution: -> fixed stage: patch review -> resolved status: open -> closed ___ Python tracker <https://bugs.python.org/issue35520> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue41687] sendfile implementation is not compatible with Solaris
Jakub Kulik added the comment: I just realized that the recently merged PR has broken error handling, so I opened another one with a followup fix. -- ___ Python tracker <https://bugs.python.org/issue41687> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue41687] sendfile implementation is not compatible with Solaris
Change by Jakub Kulik : -- pull_requests: +21209 pull_request: https://github.com/python/cpython/pull/22128 ___ Python tracker <https://bugs.python.org/issue41687> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue33802] Regression in logging configuration
Change by Jakub Kulik : -- nosy: -kulikjak ___ Python tracker <https://bugs.python.org/issue33802> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue36533] logging regression with threading + fork are mixed in 3.7.1rc2 (deadlock potential)
Change by Jakub Kulik : -- nosy: -kulikjak ___ Python tracker <https://bugs.python.org/issue36533> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue33802] Regression in logging configuration
Change by Jakub Kulik : -- pull_requests: -21199 ___ Python tracker <https://bugs.python.org/issue33802> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue36533] logging regression with threading + fork are mixed in 3.7.1rc2 (deadlock potential)
Change by Jakub Kulik : -- pull_requests: -21198 ___ Python tracker <https://bugs.python.org/issue36533> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6721] Locks in the standard library should be sanitized on fork
Change by Jakub Kulik : -- pull_requests: -21197 ___ Python tracker <https://bugs.python.org/issue6721> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6721] Locks in the standard library should be sanitized on fork
Change by Jakub Kulik : -- nosy: -kulikjak ___ Python tracker <https://bugs.python.org/issue6721> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue33802] Regression in logging configuration
Change by Jakub Kulik : -- nosy: +kulikjak nosy_count: 7.0 -> 8.0 pull_requests: +21199 pull_request: https://github.com/python/cpython/pull/22040 ___ Python tracker <https://bugs.python.org/issue33802> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue36533] logging regression with threading + fork are mixed in 3.7.1rc2 (deadlock potential)
Change by Jakub Kulik : -- nosy: +kulikjak nosy_count: 7.0 -> 8.0 pull_requests: +21198 pull_request: https://github.com/python/cpython/pull/22040 ___ Python tracker <https://bugs.python.org/issue36533> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6721] Locks in the standard library should be sanitized on fork
Change by Jakub Kulik : -- nosy: +kulikjak nosy_count: 27.0 -> 28.0 pull_requests: +21197 pull_request: https://github.com/python/cpython/pull/22040 ___ Python tracker <https://bugs.python.org/issue6721> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue41687] sendfile implementation is not compatible with Solaris
Change by Jakub Kulik : -- keywords: +patch pull_requests: +21137 stage: -> patch review pull_request: https://github.com/python/cpython/pull/22040 ___ Python tracker <https://bugs.python.org/issue41687> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue41687] sendfile implementation is not compatible with Solaris
New submission from Jakub Kulik : Hi, Sendfile on Solaris raises EINVAL if offset is equal or bigger than the size of the file. This is different from Linux, where similar sendfile call returns 0, which is used in an ad-hoc fashion to indicate EOF. Since Python sendfile implementation expects 0 to be returned, it breaks. I already reported this in issue 36610, which led to sendfile eventually being disabled on Solaris to be safe before the 3.8 release. We were first looking into a possibility to change Solaris behavior of sendfile to reflect that of Linux but decided not to because of the significant risk that it can break existing programs. The other reason is that sendfile isn't standardized (Linux manpage explicitly states that) and hence Solaris implementation isn't broken, just different. Because of that, we patched the runtime and added #ifdef branch (of which there are already many due to os differences) with additional offset check. It is tested with the current master and also 3.7, which we are using internally. Thanks -- components: Library (Lib) messages: 376191 nosy: kulikjak priority: normal severity: normal status: open title: sendfile implementation is not compatible with Solaris versions: Python 3.10, Python 3.7, Python 3.8, Python 3.9 ___ Python tracker <https://bugs.python.org/issue41687> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37573] asyncio: freeze when using MultiLoopChildWatcher on Solaris
Jakub Kulik added the comment: You are right, that seems to be the same issue. Thanks for closing this. -- ___ Python tracker <https://bugs.python.org/issue37573> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue35455] Solaris thread_time doesn't work with current implementation
Jakub Kulik added the comment: Correction: looking at the PR, I made it so that it checks for SunOS, so even with CLOCK_THREAD_CPUTIME_ID available, new code would be executed. So if you believe that this should be implemented for other SunOSes, I can do it ;). -- ___ Python tracker <https://bugs.python.org/issue35455> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue35455] Solaris thread_time doesn't work with current implementation
Jakub Kulik added the comment: I was speaking for Oracle Solaris 11.4, where CLOCK_THREAD_CPUTIME_ID is now implemented (and we don't need it in older releases). But you are right that other Solaris/SunOS versions might not have this and hence would find this useful. I can rebase and reopen the original PR, but I cannot test it that well now that our Solaris doesn't use that part of the code (I can change the #define for testing, that should be sufficient). -- ___ Python tracker <https://bugs.python.org/issue35455> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue38110] Use fdwalk() within os.closerange() impl if available
Change by Jakub Kulik : -- keywords: +patch pull_requests: +15581 pull_request: https://github.com/python/cpython/pull/15224 ___ Python tracker <https://bugs.python.org/issue38110> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37785] argparse uses %s in gettext calls causing xgettext warnings
Jakub Kulik added the comment: Thanks, I see; this is not a change for security only stage. I merged your suggestion. -- ___ Python tracker <https://bugs.python.org/issue37785> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue35484] Segmentation fault due to faulthandler on Solaris
Jakub Kulik added the comment: Oh, thanks for the catch, it most likely is. -- resolution: -> duplicate stage: -> resolved status: open -> closed ___ Python tracker <https://bugs.python.org/issue35484> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37785] argparse uses %s in gettext calls causing xgettext warnings
Change by Jakub Kulik : -- keywords: +patch pull_requests: +14894 stage: -> patch review pull_request: https://github.com/python/cpython/pull/15161 ___ Python tracker <https://bugs.python.org/issue37785> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37785] argparse uses %s in gettext calls causing xgettext warnings
Change by Jakub Kulik : -- title: argparse uses %s in gettext calls -> argparse uses %s in gettext calls causing xgettext warnings ___ Python tracker <https://bugs.python.org/issue37785> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37785] argparse uses %s in gettext calls
New submission from Jakub Kulik : Running xgettext on argparse.py (of any currently supported Python 3.x) return following warning: ./Lib/argparse.py: warning: 'msgid' format string with unnamed arguments cannot be properly localized: The translator cannot reorder the arguments. Please consider using a format string with named arguments, and a mapping instead of a tuple for the arguments. Same problem was already partially fixed here: https://bugs.python.org/issue10528. I guess that this occurrence was either missed or is new since. It would be nice to have this backported to all supported releases but considering incompatibility worries in issue linked above, it may be fixed only in 3.8+ (which is still nice). -- components: Library (Lib) messages: 349166 nosy: kulikjak priority: normal severity: normal status: open title: argparse uses %s in gettext calls versions: Python 3.5, Python 3.6, Python 3.7, Python 3.8, Python 3.9 ___ Python tracker <https://bugs.python.org/issue37785> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37573] asyncio: freeze when using MultiLoopChildWatcher on Solaris
New submission from Jakub Kulik : Hi, since the 3.8.0b2 test_asyncio freezes in test_subprocess when MultiLoopChildWatcher is being used as a watcher (new in b2). All other watchers are working as expected. This is all on Solaris. I tried to find out the reason for these issues and it seems that awaited coroutines never end (there are many tests with this problem - I tested it on test_cancel_make_subprocess_transport_exec). I found out that commenting out `signal.siginterrupt(signal.SIGCHLD, False)` in `attach_loop` method of MultiLoopChildWatcher seems to fix the issue, however, I don't understand this enough to see why that should be a problem... I can provide more information if necessary. -- components: Library (Lib) messages: 347743 nosy: kulikjak priority: normal severity: normal status: open title: asyncio: freeze when using MultiLoopChildWatcher on Solaris versions: Python 3.8, Python 3.9 ___ Python tracker <https://bugs.python.org/issue37573> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37558] Shared memory tests are failing due to double slashes
Change by Jakub Kulik : -- keywords: +patch pull_requests: +14502 stage: -> patch review pull_request: https://github.com/python/cpython/pull/14703 ___ Python tracker <https://bugs.python.org/issue37558> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37558] Shared memory tests are failing due to double slashes
New submission from Jakub Kulik : Hi, with the addition of shared memory into Python 3.8, we now have three tests failing on Solaris, namely `test_multiprocessing_fork`, `test_multiprocessing_forkserver` and `test_multiprocessing_spawn`. All of them fail in the same way: == ERROR: test_shared_memory_cleaned_after_process_termination (test.test_multiprocessing_fork.WithProcessesTestSharedMemory) -- Traceback (most recent call last): File ".../Python-3.8.0b2/Lib/test/_test_multiprocessing.py", line 4013, in test_shared_memory_cleaned_after_process_termination smm = shared_memory.SharedMemory(name, create=False) File ".../Python-3.8.0b2/Lib/multiprocessing/shared_memory.py", line 100, in __init__ self._fd = _posixshmem.shm_open( OSError: [Errno 22] Invalid argument: '//psm_5c1b5800' The reason for this, in my opinion, is that the test suite is accessing private `sm._name` instead of the normalized `sm.name`. Returned value already has one slash prepended, and another one is prepended SharedMemory init is called, resulting in double slashes, which is incorrect. Change to `sm.name` fixes this problem. -- components: Tests messages: 347662 nosy: kulikjak priority: normal severity: normal status: open title: Shared memory tests are failing due to double slashes type: behavior versions: Python 3.8, Python 3.9 ___ Python tracker <https://bugs.python.org/issue37558> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37335] Improve encoding alias handling in locale coercion tests
Change by Jakub Kulik : -- resolution: -> fixed stage: patch review -> resolved status: open -> closed ___ Python tracker <https://bugs.python.org/issue37335> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37335] Improve encoding alias handling in locale coercion tests
Change by Jakub Kulik : -- pull_requests: +14265 pull_request: https://github.com/python/cpython/pull/14449 ___ Python tracker <https://bugs.python.org/issue37335> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37335] Improve encoding alias handling in locale coercion tests
Change by Jakub Kulik : -- pull_requests: +14263 pull_request: https://github.com/python/cpython/pull/14447 ___ Python tracker <https://bugs.python.org/issue37335> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37335] Improve encoding alias handling in locale coercion tests
Jakub Kulik added the comment: Python 3.8+ encodings are always normalized and thus no output variations handling is necessary (the code is no longer necessary). Python 3.7 (and possibly lower) can have variations in encodings - that should be fixed with codecs.lookup functions. -- title: Fix unexpected ASCII aliases in locale coercion tests. -> Improve encoding alias handling in locale coercion tests versions: +Python 3.8, Python 3.9 ___ Python tracker <https://bugs.python.org/issue37335> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37335] Fix unexpected ASCII aliases in locale coercion tests.
Change by Jakub Kulik : -- pull_requests: +14259 pull_request: https://github.com/python/cpython/pull/14443 ___ Python tracker <https://bugs.python.org/issue37335> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37335] Fix unexpected ASCII aliases in locale coercion tests.
Change by Jakub Kulik : -- title: Add 646 ASCII alias to locale coercion tests. -> Fix unexpected ASCII aliases in locale coercion tests. ___ Python tracker <https://bugs.python.org/issue37335> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37335] Add 646 ASCII alias to locale coercion tests.
Jakub Kulik added the comment: I just added that in the way it was already there but I see why the current solution is not the best. Also I wanted to push this into 3.7 only as this problem is not present in 3.8 (as discussed in the PR 11195 opened incorrectly against the master). Just to be sure: what you propose is to rewrite current replaces to use "codecs.lookup(encoding).name" instead and then push it into the master? Ok, I will look into it. -- ___ Python tracker <https://bugs.python.org/issue37335> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37335] Add 646 ASCII alias to locale coercion tests.
Change by Jakub Kulik : -- pull_requests: +14107 pull_request: https://github.com/python/cpython/pull/14285 ___ Python tracker <https://bugs.python.org/issue37335> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue35455] Solaris thread_time doesn't work with current implementation
Jakub Kulik added the comment: Since I created this pull request, clock_gettime(CLOCK_THREAD_CPUTIME_ID, ..) was implemented into the Solaris kernel, so I guess that this is no longer relevant. -- resolution: -> not a bug stage: patch review -> resolved status: open -> closed ___ Python tracker <https://bugs.python.org/issue35455> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37335] Add 646 ASCII alias to locale coercion tests.
Change by Jakub Kulik : -- keywords: +patch pull_requests: +14063 stage: -> patch review pull_request: https://github.com/python/cpython/pull/11195 ___ Python tracker <https://bugs.python.org/issue37335> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37335] Add 646 ASCII alias to locale coercion tests.
New submission from Jakub Kulik : Locale coercion tests on Solaris are failing because 646 ASCII alias is not recognized. Its addition into the _handle_output_variations function fixes this problem. This was changed/fixed in Python 3.8 and later, where aliases are correctly translated to their canonical Python codec name so no patch is needed there. -- components: Tests messages: 346025 nosy: kulikjak priority: normal severity: normal status: open title: Add 646 ASCII alias to locale coercion tests. versions: Python 3.7 ___ Python tracker <https://bugs.python.org/issue37335> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37252] devpoll test failures on Solaris
Change by Jakub Kulik : -- keywords: +patch pull_requests: +13882 stage: -> patch review pull_request: https://github.com/python/cpython/pull/14017 ___ Python tracker <https://bugs.python.org/issue37252> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37252] devpoll test failures on Solaris
New submission from Jakub Kulik : test_devpoll currently ends with two failures with Python 3.8 on Solaris. First one is wrong number of arguments to devpoll.register function (which thrown the same error as expected in 3.7 but now acts differently). Second one is that register and modify no longer throw OverflowError when negative number is given as second argument, but rather a ValueError. I am not sure whether this is just a small semantics change or some bigger problem (documentation doesn't mention what error should be thrown). So I fixed it in attached pull request by changing the expected thrown error but there might be other problem as well. -- components: Extension Modules messages: 345365 nosy: kulikjak priority: normal severity: normal status: open title: devpoll test failures on Solaris versions: Python 3.8 ___ Python tracker <https://bugs.python.org/issue37252> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37232] Parallel compilation fails because of low ulimit.
Jakub Kulik added the comment: I am not sure what you are asking now. compileall with -j0 does compile on all cores simultaneously right? -- ___ Python tracker <https://bugs.python.org/issue37232> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37232] Parallel compilation fails because of low ulimit.
Jakub Kulik added the comment: We have a limit of 256 opened files, which is not much, but I can up it and then it doesn't happen. Mainly, I wanted to report that this might be happening now. But I guess not many people will face this problem. -- ___ Python tracker <https://bugs.python.org/issue37232> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com