Bug+fix: sipbuild-6.7.2 exception handler throws error

Phil Thompson phil at riverbankcomputing.com
Thu Oct 20 16:33:56 BST 2022


On 18/10/2022 22:52, Patrick Stinson wrote:
> Phil,
> 
> I found a bug in sipbuild-6.7.2.
> 
> I got the following exception when running into errors in my custom sip
> files while upgrading from PyQt5 to PyQt6. It looks like changing
> OverloadFormatter(overload,
> scope) to OverloadFormatter('any string', overload, scope) allows
> exceptions to be printed.
> 
> bash-5.2$ sip-build
> Querying qmake about your Qt installation...
> /Users/patrick/dev/lib/Qt/6.4.0/macos/bin/qmake -query
> These bindings will be built: _pkdiagram.
> Generating the _pkdiagram bindings...
> sip-build: An internal error occurred...
> Traceback (most recent call last):
>   File "/Users/patrick/dev/familydiagram/.venv/bin/sip-build", line 8, 
> in
> <module>
>     sys.exit(main())
>   File
> "/Users/patrick/dev/familydiagram/.venv/lib/python3.10/site-packages/sipbuild/tools/build.py",
> line 37, in main
>     handle_exception(e)
>   File
> "/Users/patrick/dev/familydiagram/.venv/lib/python3.10/site-packages/sipbuild/exceptions.py",
> line 81, in handle_exception
>     raise e
>   File
> "/Users/patrick/dev/familydiagram/.venv/lib/python3.10/site-packages/sipbuild/tools/build.py",
> line 34, in main
>     project.build()
>   File
> "/Users/patrick/dev/familydiagram/.venv/lib/python3.10/site-packages/sipbuild/project.py",
> line 244, in build
>     self.builder.build()
>   File
> "/Users/patrick/dev/familydiagram/.venv/lib/python3.10/site-packages/sipbuild/builder.py",
> line 48, in build
>     self._generate_bindings()
>   File
> "/Users/patrick/dev/familydiagram/.venv/lib/python3.10/site-packages/sipbuild/builder.py",
> line 277, in _generate_bindings
>     buildable = bindings.generate()
>   File
> "/Users/patrick/dev/familydiagram/.venv/lib/python3.10/site-packages/sipbuild/bindings.py",
> line 171, in generate
>     resolve(spec)
>   File
> "/Users/patrick/dev/familydiagram/.venv/lib/python3.10/site-packages/sipbuild/generator/resolver/resolver.py",
> line 98, in resolve
>     _resolve_module(spec, spec.modules[0], error_log)
>   File
> "/Users/patrick/dev/familydiagram/.venv/lib/python3.10/site-packages/sipbuild/generator/resolver/resolver.py",
> line 231, in _resolve_module
>     _resolve_scope_overloads(spec, klass.overloads, error_log,
>   File
> "/Users/patrick/dev/familydiagram/.venv/lib/python3.10/site-packages/sipbuild/generator/resolver/resolver.py",
> line 936, in _resolve_scope_overloads
>     _resolve_func_types(spec, overload.common.module, scope, overload,
>   File
> "/Users/patrick/dev/familydiagram/.venv/lib/python3.10/site-packages/sipbuild/generator/resolver/resolver.py",
> line 1288, in _resolve_func_types
>     _resolve_py_signature_types(spec, mod, scope, overload, error_log)
>   File
> "/Users/patrick/dev/familydiagram/.venv/lib/python3.10/site-packages/sipbuild/generator/resolver/resolver.py",
> line 1375, in _resolve_py_signature_types
>     _log_overload_error(error_log,
>   File
> "/Users/patrick/dev/familydiagram/.venv/lib/python3.10/site-packages/sipbuild/generator/resolver/resolver.py",
> line 2195, in _log_overload_error
>     formatter = OverloadFormatter(overload, scope)
> TypeError: ScopedFormatter.__init__() missing 1 required positional
> argument: 'scope'
> 
> Cheers,
> -Patrick

Should be fixed in the next snapshot.

Thanks,
Phil


More information about the PyQt mailing list