https://bugs.documentfoundation.org/show_bug.cgi?id=168249

            Bug ID: 168249
           Summary: Installing Financial-Extension fails with a python
                    error - using either the extensions manager or command
                    line unopkg
           Product: LibreOffice
           Version: 24.2.4.2 release
          Hardware: All
                OS: Linux (All)
            Status: UNCONFIRMED
          Severity: normal
          Priority: medium
         Component: Calc
          Assignee: [email protected]
          Reporter: [email protected]

Description:
Installing Financial-Extensions fails with a python error.  Stderr from unopkg
follows.

rono@x360:~/Financials-Extension$ unopkg add Financials-Extension.oxt

ERROR: Exception occurred: <class 'AttributeError'>: module
'eventlet.green.select' has no attribute 'epoll', traceback follows
  File "/usr/lib/libreoffice/program/pythonloader.py", line 147, in
writeRegistryInfo
    mod = self.getModuleFromUrl( locationUrl )
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/libreoffice/program/pythonloader.py", line 102, in
getModuleFromUrl
    exec(codeobject, mod.__dict__)
  File
"/home/rono/.config/libreoffice/4/user/uno_packages/cache/uno_packages/lu8153kh4i.tmp_/Financials-Extension.oxt/financials.py",
line 57, in <module>
    import financials_yahoo as yahoo
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File
"/home/rono/.config/libreoffice/4/user/uno_packages/cache/uno_packages/lu8153kh4i.tmp_/Financials-Extension.oxt/financials_yahoo.py",
line 22, in <module>
    from baseclient import BaseClient, HttpException
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File
"/home/rono/.config/libreoffice/4/user/uno_packages/cache/uno_packages/lu8153kh4i.tmp_/Financials-Extension.oxt/baseclient.py",
line 29, in <module>
    from curl_cffi import requests, __version__ as requests_version, __name__
as requests_name
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rono/.local/lib/python3.12/site-packages/curl_cffi/__init__.py",
line 64, in <module>
    from .requests import (
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File
"/home/rono/.local/lib/python3.12/site-packages/curl_cffi/requests/__init__.py",
line 40, in <module>
    from .session import (
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File
"/home/rono/.local/lib/python3.12/site-packages/curl_cffi/requests/session.py",
line 42, in <module>
    import eventlet.tpool
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/__init__.py", line 6, in
<module>
    from eventlet import convenience
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/convenience.py", line 7, in
<module>
    from eventlet.green import socket
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/green/socket.py", line 21, in
<module>
    from eventlet.support import greendns
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 78,
in <module>
    setattr(dns, pkg, import_patched('dns.' + pkg))
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 60,
in import_patched
    return patcher.import_patched(module_name, **modules)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/patcher.py", line 132, in
import_patched
    return inject(
           ^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/patcher.py", line 109, in
inject
    module = __import__(module_name, {}, {}, module_name.split('.')[:-1])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/asyncquery.py", line 32, in <module>
    import dns.quic
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/quic/__init__.py", line 37, in
<module>
    import trio
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/trio/__init__.py", line 22, in <module>
    from ._core import TASK_STATUS_IGNORED as TASK_STATUS_IGNORED  # isort:
split
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/trio/_core/__init__.py", line 21, in
<module>
    from ._local import RunVar, RunVarToken
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/trio/_core/_local.py", line 9, in
<module>
    from . import _run
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/trio/_core/_run.py", line 2787, in
<module>
    from ._io_epoll import (
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/trio/_core/_io_epoll.py", line 202, in
<module>
    class EpollIOManager:
  File "/usr/lib/python3/dist-packages/trio/_core/_io_epoll.py", line 203, in
EpollIOManager
    _epoll: select.epoll = attr.ib(factory=select.epoll)
                                           ^^^^^^^^^^^^

 at ./pyuno/source/module/pyuno_runtime.cxx:950

ERROR: unopkg failed.





Steps to Reproduce:
1.download the Financial-Extension.oxt file from here
https://github.com/cmallwitz/Financials-Extension/releases
2.from the commandline: unopkg add Financials-Extension.oxt

Actual Results:
ERROR: Exception occurred: <class 'AttributeError'>: module
'eventlet.green.select' has no attribute 'epoll', traceback follows
  File "/usr/lib/libreoffice/program/pythonloader.py", line 147, in
writeRegistryInfo
    mod = self.getModuleFromUrl( locationUrl )
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/libreoffice/program/pythonloader.py", line 102, in
getModuleFromUrl
    exec(codeobject, mod.__dict__)
  File
"/home/rono/.config/libreoffice/4/user/uno_packages/cache/uno_packages/lu8153kh4i.tmp_/Financials-Extension.oxt/financials.py",
line 57, in <module>
    import financials_yahoo as yahoo
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File
"/home/rono/.config/libreoffice/4/user/uno_packages/cache/uno_packages/lu8153kh4i.tmp_/Financials-Extension.oxt/financials_yahoo.py",
line 22, in <module>
    from baseclient import BaseClient, HttpException
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File
"/home/rono/.config/libreoffice/4/user/uno_packages/cache/uno_packages/lu8153kh4i.tmp_/Financials-Extension.oxt/baseclient.py",
line 29, in <module>
    from curl_cffi import requests, __version__ as requests_version, __name__
as requests_name
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rono/.local/lib/python3.12/site-packages/curl_cffi/__init__.py",
line 64, in <module>
    from .requests import (
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File
"/home/rono/.local/lib/python3.12/site-packages/curl_cffi/requests/__init__.py",
line 40, in <module>
    from .session import (
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File
"/home/rono/.local/lib/python3.12/site-packages/curl_cffi/requests/session.py",
line 42, in <module>
    import eventlet.tpool
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/__init__.py", line 6, in
<module>
    from eventlet import convenience
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/convenience.py", line 7, in
<module>
    from eventlet.green import socket
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/green/socket.py", line 21, in
<module>
    from eventlet.support import greendns
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 78,
in <module>
    setattr(dns, pkg, import_patched('dns.' + pkg))
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 60,
in import_patched
    return patcher.import_patched(module_name, **modules)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/patcher.py", line 132, in
import_patched
    return inject(
           ^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/patcher.py", line 109, in
inject
    module = __import__(module_name, {}, {}, module_name.split('.')[:-1])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/asyncquery.py", line 32, in <module>
    import dns.quic
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/quic/__init__.py", line 37, in
<module>
    import trio
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/trio/__init__.py", line 22, in <module>
    from ._core import TASK_STATUS_IGNORED as TASK_STATUS_IGNORED  # isort:
split
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/trio/_core/__init__.py", line 21, in
<module>
    from ._local import RunVar, RunVarToken
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/trio/_core/_local.py", line 9, in
<module>
    from . import _run
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/trio/_core/_run.py", line 2787, in
<module>
    from ._io_epoll import (
  File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/trio/_core/_io_epoll.py", line 202, in
<module>
    class EpollIOManager:
  File "/usr/lib/python3/dist-packages/trio/_core/_io_epoll.py", line 203, in
EpollIOManager
    _epoll: select.epoll = attr.ib(factory=select.epoll)
                                           ^^^^^^^^^^^^

 at ./pyuno/source/module/pyuno_runtime.cxx:950

ERROR: unopkg failed.

Note that the extension is marked as installed ... but broken




Expected Results:
No output and the extension should be installed and available


Reproducible: Always


User Profile Reset: No

Additional Info:
You get the same results from the extension Manager GUI, but the dialog box
displaying the error output is unhelpful.  Not able to scroll to see all the
output and can not copy it to put in a bug report.  

So I reproduced this from the command line

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to