[issue42545] Check that all symbols in the limited ABI are exported

2020-12-03 Thread Igor Skochinsky


Change by Igor Skochinsky :


--
nosy: +Igor.Skochinsky

___
Python tracker 
<https://bugs.python.org/issue42545>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue40939] Remove the old parser

2020-12-02 Thread Igor Skochinsky


Igor Skochinsky  added the comment:

> I am currently working on test that checks that the stable API symbols are 
> correctly exported.

Thank you very much! For added motivation, the 3.8.0 release was unusable 
thanks to issue37633 which was somewhat similar (also in pythonrun). For 
reference, I've attached a list of symbols we currently use (a few more we have 
to import dynamically since they're not in the stable ABI but we'd like to keep 
that list as short as possible).

--
Added file: https://bugs.python.org/file49647/py3.txt

___
Python tracker 
<https://bugs.python.org/issue40939>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue40939] Remove the old parser

2020-12-02 Thread Igor Skochinsky


Igor Skochinsky  added the comment:

Thanks for the fix! I'd like to submit a test to avoid this and similar  issues 
in future. Are there any guidelines for this? Sorry if this is a wrong place to 
ask.

--

___
Python tracker 
<https://bugs.python.org/issue40939>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue40939] Remove the old parser

2020-12-01 Thread Igor Skochinsky


Igor Skochinsky  added the comment:

Attached is a sample program which works on 3.9 but fails linking with 3.10.0a2 

The .so is missing the symbol:

igor@LAPTOP:~/py_limited_api_example$ nm /home/igor/lib/libpython3.9.so | grep 
Py_CompileString
00212720 T Py_CompileString
0020fe30 T Py_CompileStringExFlags
00212730 T Py_CompileStringFlags
0020fd40 T Py_CompileStringObject

igor@LAPTOP:~/py_limited_api_example$ nm /home/igor/lib/libpython3.10.so | grep 
Py_CompileString
00201a40 T Py_CompileStringExFlags
00201980 T Py_CompileStringObject


Please stop breaking the Stable ABI :/

--
Added file: https://bugs.python.org/file49642/py_limited_api_example.zip

___
Python tracker 
<https://bugs.python.org/issue40939>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue40939] Remove the old parser

2020-11-30 Thread Igor Skochinsky


Igor Skochinsky  added the comment:

> But Py_CompileString() function was not removed, it's still in the master 
> branch (future Python 3.10). Why do you think that it has been removed?

Thank you. It looked that way because of the removed block of lines in the 
commit 1ed83adb0e95305af858bd41af531e487f54fee7 (pythonrun.c). We were also 
getting a missing symbol error. We'll check again to be sure.

--

___
Python tracker 
<https://bugs.python.org/issue40939>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue40939] Remove the old parser

2020-11-30 Thread Igor Skochinsky


Igor Skochinsky  added the comment:

Hi All,

 It seems this patch removes some functions provided by the Stable ABI (PEP 
384), most notably Py_CompileString. Was this the intention? If not, is there 
still a chance to reintroduce it before the release?

--
nosy: +Igor.Skochinsky

___
Python tracker 
<https://bugs.python.org/issue40939>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31767] Windows Installer fails with error 0x80091007 when trying to install debugging symbols

2017-10-12 Thread Igor Skochinsky

Igor Skochinsky <skochin...@gmail.com> added the comment:

Hi Steve,

 Thanks for the suggestion! I tried that and while it did not succeed it
gave me an idea of what went wrong last time since it complained about lack
of disk space. I have *not* run the /layout but now that I checked I indeed
had core_d.msi and core_pdb.msi (and a few more) in the Downloads
directory, so I think maybe the installer tried to download them but ran
out of space and the download was incomplete.

Another possibility is that the .msi was for the wrong installer - I first
tried installing the x86 version but later changed my mind but since I did
not expect it to download extra files into the same directory I did not
clean them. Also it seems the downloaded .msi files have the original
timestamp (16-09-27) so I did not notice them when sorting my downloads by
date until I tried to look for .msi files specifically.

In the end I guess this could be closed as PEBKAC but I think maybe some
more testing in low-disk-space conditions and/or installing x86 then x64
from the same directory could uncover some real issues.

In general, I found the 3.3 install experience not very straightforward
compared to 2.7 - I expected that the installer contains everything
necessary (since I did *not* pick "webinstall" one) and won't download
extra files (with the exception of the PDB option which did say
"download"). If the .msi files came from the .exe itself, I'd expect them
to be extracted into a unique temporary directory and not next to the exe.

I will work on freeing some space and then try again.

> Steve Dower <steve.do...@python.org> added the comment:
>
> Can you try moving the installer exe to its own (empty) directory before
> running it?
>

--

___
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue31767>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31767] Windows Installer fails with error 0x80091007 when trying to install debugging symbols

2017-10-11 Thread Igor Skochinsky

New submission from Igor Skochinsky <skochin...@gmail.com>:

Trying to install 3.6.3 on Windows 10 and getting this error.

Repro steps:

1. Download python-3.6.3.exe or python-3.6.3-amd64.exe, run it
2. Select "Customize Installation"
3. Next
4. In Advanced Options, select 
[x] Install for all users (not sure if important)
[x] Download debugging symbols
change path to F:\Python36 (not sure if it matters but my system drive is F: 
and C: is missing except for when I plug in a USB drive)
Ucheck
[ ] Associate files with Python
Click Install and accept elevation prompt. After a while it fails with 

Error 0x80091007 - Hash value not correct.

Interestingly, "log file" link does not work. I had to go hunt for the log in 
%temp% myself. The relevant parts:

Error 0x80091007: Hash mismatch for path: F:\ProgramData\Package 
Cache\.unverified\core_AllUsers_pdb, expected: 
A4B6E4A818E49F000513774F034EC98A194E3C3D, actual: 
36C7B852E586D26F4D239ED72EFE5FFBEBA21825
Error 0x80091007: Failed to verify hash of payload: core_AllUsers_pdb
Failed to verify payload: core_AllUsers_pdb at path: F:\ProgramData\Package 
Cache\.unverified\core_AllUsers_pdb, error: 0x80091007. Deleting file.
Application requested retry of payload: core_AllUsers_pdb, encountered error: 
0x80091007. Retrying...

There are a few more retries basically with the same result. However, this one 
is interesting:

Acquiring package: core_AllUsers_pdb, payload: core_AllUsers_pdb, copy from: 
F:\Users\Igor\Downloads\core_pdb.msi

I don't have such a file there, just the installer .exe

--
components: Installation
messages: 304182
nosy: Igor.Skochinsky
priority: normal
severity: normal
status: open
title: Windows Installer fails with error 0x80091007 when trying to install 
debugging symbols
type: security
versions: Python 3.6

___
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue31767>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue28687] Python 2.7.12 windows x64 installer fails after previous bad uninstall

2016-11-14 Thread Igor Skochinsky

New submission from Igor Skochinsky:

It's somewhat my fault but I think it's not such an uncommon scenario.
I had installed 2.7.10 x64 some time ago into C:\Python27_64 but then had to 
delete it to save space. Rather foolishly instead of using the uninstaller, I 
just trashed the directory and now I have a problem: neither the Control Panel 
uninstall item, nor the fresh 2.7.12 installer work. The latter fails when it 
tries to use the nonexisting Python to remove pip:

MSI (s) (04:B0) [11:00:09:881]: Product: Python 2.7.10 (64-bit) -- Error 1721. 
There is a problem with this Windows Installer package. A program required for 
this install to complete could not be run. Contact your support personnel or 
package vendor. Action: RemovePip, location: C:\Python27_64\python.exe, 
command: -B -m ensurepip._uninstall 

In the UI just the first message is shown, without the failed commandline, so 
it's not at all clear what went wrong.

I think at the very least the user should be informed about the failed command 
so they can clean up the old installer's remains, or maybe the installation 
should be allowed to proceed anyway, replacing the bad paths in the registry.

In the end, I had to use "Msizap TWA {E2B51919-207A-43EB-AE78-733F9C6797C3}" 
after which I could install 2.7.12 into a separate directory

--
components: Installation
messages: 280747
nosy: Igor.Skochinsky
priority: normal
severity: normal
status: open
title: Python 2.7.12 windows x64 installer fails after previous bad uninstall
type: behavior
versions: Python 2.7

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue28687>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue17213] ctypes loads wrong version of C runtime, leading to error message box from system

2013-08-06 Thread Igor Skochinsky

Igor Skochinsky added the comment:

Just had this issue when using networkx (which imports uuid). One keyword that 
would help visibility is R6034 (the runtime error number). A couple of reports 
related to this:

https://projects.blender.org/tracker/index.php?func=detailaid=27666
http://forums.boxee.tv/showthread.php?t=15425

The proper solution is to fix ctypes, but in the meantime we can at least fix 
uuid. The error seems to be triggered by this snippet:

# The uuid_generate_* routines are provided by libuuid on at least
# Linux and FreeBSD, and provided by libc on Mac OS X.
for libname in ['uuid', 'c']:
try:
lib = ctypes.CDLL(ctypes.util.find_library(libname))
except:
continue
if hasattr(lib, 'uuid_generate_random'):
_uuid_generate_random = lib.uuid_generate_random
if hasattr(lib, 'uuid_generate_time'):
_uuid_generate_time = lib.uuid_generate_time

Since this code is useless on Windows, protecting it in if os.name not in 
['nt', 'ce'] does the trick.

BTW, instead of going all way with activation context etc., a simpler solution 
would be to add to ctypes something like this in CDLL.__init__:

if os.name in ['nt', 'ce'] and name == util.find_msvcrt():  # TODO: handle the 
extension
  self._handle = windll.kernel32.GetModuleHandleA(self._name)

i.e. use the already present runtime DLL instead of trying to load it again.

--
nosy: +Igor.Skochinsky

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue17213
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com