[issue42697] 3.8.7rc1 regression: 'free(): invalid pointer' after running backports-zoneinfo test suite

2020-12-21 Thread Paul Ganssle
Paul Ganssle added the comment: For future reference, this bug is triggered only when `.fromutc` is called on a subclass of `datetime` and the resulting date is the second ambiguous time (e.g. if there's a DST transition from 02:00 → 01:00, and the result of the `.fromutc` call is the

[issue42697] 3.8.7rc1 regression: 'free(): invalid pointer' after running backports-zoneinfo test suite

2020-12-21 Thread Michał Górny
Michał Górny added the comment: Thank you for debugging this. I can confirm that this patch resolves my issue. -- ___ Python tracker ___

[issue42697] 3.8.7rc1 regression: 'free(): invalid pointer' after running backports-zoneinfo test suite

2020-12-20 Thread Pablo Galindo Salgado
Change by Pablo Galindo Salgado : -- assignee: -> pablogsal priority: release blocker -> resolution: -> not a bug stage: -> resolved status: open -> closed ___ Python tracker

[issue42697] 3.8.7rc1 regression: 'free(): invalid pointer' after running backports-zoneinfo test suite

2020-12-20 Thread Brandt Bucher
Brandt Bucher added the comment: Almost certain. The number one is offset 192 bytes in small_ints on 3.8, which matches both of your backtraces: >>> id(1) - id(-5) >>>

[issue42697] 3.8.7rc1 regression: 'free(): invalid pointer' after running backports-zoneinfo test suite

2020-12-20 Thread Pablo Galindo Salgado
Pablo Galindo Salgado added the comment: I am quite sure that is the problem. I opened https://github.com/pganssle/zoneinfo/pull/97 to correct this in the backport. The standard library versions are ok. Brandt, if you agree that this is indeed the problem, let's close this as "not a bug".

[issue42697] 3.8.7rc1 regression: 'free(): invalid pointer' after running backports-zoneinfo test suite

2020-12-20 Thread Pablo Galindo Salgado
Change by Pablo Galindo Salgado : -- nosy: +p-ganssle ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue42697] 3.8.7rc1 regression: 'free(): invalid pointer' after running backports-zoneinfo test suite

2020-12-20 Thread Pablo Galindo Salgado
Pablo Galindo Salgado added the comment: Oh, wait. This looks incorrect: https://github.com/pganssle/zoneinfo/blob/07ec80ad5dc7e7e4b4f861ddbb61a9b71e9f27c7/lib/zoneinfo_module.c#L619-L621 That #ifndef ATLEAST_37 should be #ifdef ATLEAST_37 --

[issue42697] 3.8.7rc1 regression: 'free(): invalid pointer' after running backports-zoneinfo test suite

2020-12-20 Thread Pablo Galindo Salgado
Pablo Galindo Salgado added the comment: The version in 3.9 is also different but also uses _PyLong_One: https://github.com/python/cpython/blob/3.9/Modules/_zoneinfo.c#L571-L590 Although that is passed directly to PyDict_SetItemString so the refcount should be correct. --

[issue42697] 3.8.7rc1 regression: 'free(): invalid pointer' after running backports-zoneinfo test suite

2020-12-20 Thread Pablo Galindo Salgado
Pablo Galindo Salgado added the comment: Indeed. The module in the std lib is actually different: https://github.com/python/cpython/blob/master/Modules/_zoneinfo.c#L570-L589 and uses _PyLong_GetOne() instead of _PyLong_One -- ___ Python tracker

[issue42697] 3.8.7rc1 regression: 'free(): invalid pointer' after running backports-zoneinfo test suite

2020-12-20 Thread Brandt Bucher
Brandt Bucher added the comment: On my phone right now, but this looks a tad suspicious: https://github.com/pganssle/zoneinfo/blob/07ec80ad5dc7e7e4b4f861ddbb61a9b71e9f27c7/lib/zoneinfo_module.c#L596-L600 -- ___ Python tracker

[issue42697] 3.8.7rc1 regression: 'free(): invalid pointer' after running backports-zoneinfo test suite

2020-12-20 Thread Pablo Galindo Salgado
Pablo Galindo Salgado added the comment: The symptom is that we are now trying to free something in the small integer cache that we shouldn't. Running this under the address sanitizer shows a bit more of the problem: ==190303==ERROR: AddressSanitizer: attempting free on address which was

[issue42697] 3.8.7rc1 regression: 'free(): invalid pointer' after running backports-zoneinfo test suite

2020-12-20 Thread Pablo Galindo Salgado
Pablo Galindo Salgado added the comment: Raising this to a release blocker -- priority: normal -> release blocker versions: +Python 3.10, Python 3.9 ___ Python tracker ___

[issue42697] 3.8.7rc1 regression: 'free(): invalid pointer' after running backports-zoneinfo test suite

2020-12-20 Thread Arfrever Frehtes Taifersar Arahesis
Change by Arfrever Frehtes Taifersar Arahesis : -- nosy: +brandtbucher, nascheme, pablogsal, tim.peters ___ Python tracker ___ ___

[issue42697] 3.8.7rc1 regression: 'free(): invalid pointer' after running backports-zoneinfo test suite

2020-12-20 Thread Michał Górny
Michał Górny added the comment: A more complete backtrace: #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49 #1 0x7fa633b20536 in __GI_abort () at abort.c:79 #2 0x7fa633b79bf7 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7fa633c8c3b5

[issue42697] 3.8.7rc1 regression: 'free(): invalid pointer' after running backports-zoneinfo test suite

2020-12-20 Thread Michał Górny
Michał Górny added the comment: aeb66c1abbf4ec214e2e80eb972546996d1a1571 is the first bad commit commit aeb66c1abbf4ec214e2e80eb972546996d1a1571 Author: Miss Skeleton (bot) <31488909+miss-isling...@users.noreply.github.com> Date: Thu Oct 15 08:51:48 2020 -0700 bpo-41984: GC track all

[issue42697] 3.8.7rc1 regression: 'free(): invalid pointer' after running backports-zoneinfo test suite

2020-12-20 Thread Arfrever Frehtes Taifersar Arahesis
Change by Arfrever Frehtes Taifersar Arahesis : -- nosy: +lukasz.langa ___ Python tracker ___ ___ Python-bugs-list mailing list

[issue42697] 3.8.7rc1 regression: 'free(): invalid pointer' after running backports-zoneinfo test suite

2020-12-20 Thread Michał Górny
New submission from Michał Górny : I'm still investigating the problem and I will include more information shortly. However, I'm filing the bug early, as I'd like to prevent this regression from hitting 3.8.7 release. When running backports-zoneinfo-0.2.1 test suite using cpython 3.8.7rc1,