altdesktop / python-dbus-next

🚌 The next great DBus library for Python with asyncio support
https://python-dbus-next.readthedocs.io/en/latest/
MIT License
187 stars 58 forks source link

Segfault with `_sync()` methods on python 3.11 #138

Open elParaguayo opened 1 year ago

elParaguayo commented 1 year ago

I'm trying to add python 3.11 to run the tests for Qtile on github.

A couple of our tests in qtile use the sync methods of dbus_next and these fail under 3.11.

Digging in to this some more, it seems that any _sync method triggers this.

For example, running the example at https://github.com/altdesktop/python-dbus-next/blob/master/examples/glib-list-names.py triggers the same segfault.

Core Dump (not sure if this helps) ```log PID: 231871 (python) UID: 1000 (elp) GID: 1000 (elp) Signal: 11 (SEGV) Timestamp: Sun 2022-11-06 09:28:58 GMT (1min 27s ago) Command Line: python test/scripts/checkdbus.py Executable: /usr/bin/python3.11 Control Group: /user.slice/user-1000.slice/session-1.scope Unit: session-1.scope Slice: user-1000.slice Session: 1 Owner UID: 1000 (elp) Boot ID: 3462a2ca3f074cea9208804583c2837b Machine ID: 2696ee72494b411784f24906924b2ac5 Hostname: elp-laptop Storage: /var/lib/systemd/coredump/core.python.1000.3462a2ca3f074cea9208804583c2837b.231871.1667726938000000.zst (present) Disk Size: 2.8M Message: Process 231871 (python) of user 1000 dumped core. Module /home/elp/Documents/scripts/github/qtile-dev/qtile/.tox/py311/lib/python3.11/site-packages/cairo/_cairo.cpython-311-x86_64-linux-gnu.so with build-id c4eafa4adf4e1c082343289eec9f228b194955e4 Module /home/elp/Documents/scripts/github/qtile-dev/qtile/.tox/py311/lib/python3.11/site-packages/gi/_gi.cpython-311-x86_64-linux-gnu.so with build-id c3b8b970002cca6deed5591c8907fdcd8f5ee8e8 Module /home/elp/Documents/scripts/github/qtile-dev/qtile/.tox/py311/lib/python3.11/site-packages/gi/_gi_cairo.cpython-311-x86_64-linux-gnu.so with build-id 3d4eaa4ee1108b275c8ac2e10cd90f61f86f167c Module linux-vdso.so.1 with build-id 5bfd75e96d7e2d68ce28ea9a8fb019ab0b29852d Module _json.cpython-311-x86_64-linux-gnu.so with build-id 6cd18ec2010b170c4482d1f58833ead1aebf63d6 Module libbrotlicommon.so.1 with build-id acfd597a977c8087bb6184383daae2e828a9ce42 Module libgraphite2.so.3 with build-id ce58945ebb55b86d3a4e717b6eae29efc4720d8e Module libXdmcp.so.6 with build-id d864159ab0008415667db8d5f251696d75c90df2 Module libXau.so.6 with build-id d9d5e8277140f1a86d3a07d9b52b1703c0a2f9a8 Module libbrotlidec.so.1 with build-id 66c54e9301f7e102ecc1d88547e5f0e8a056fe22 Module libharfbuzz.so.0 with build-id 181bbb0db2bce74b6bd5ed66ee7dcbed96323d8b Module libbz2.so.1.0 with build-id 919597c477c9b2cb9cdbb7745ed6494ac0e6da60 Module libpixman-1.so.0 with build-id 3782c95a3b9e331f10403b264ffeedab91f99768 Module libxcb-shm.so.0 with build-id 828fec4d856e2710e732ea8d92c3f250c807b1c2 Module libxcb-render.so.0 with build-id b1ca498d665807ab0ccdafbe8070853efd058173 Module libxcb.so.1 with build-id 13d677412a71468381b11092915d231f664d18d3 Module libXrender.so.1 with build-id 9d6512ea1c9698e8c81f27e89fda57d36eb4b18e Module libXext.so.6 with build-id d7f3b1c9d5be6574b5faf83b74f8bba3d0dfa3c6 Module libX11.so.6 with build-id 21e886e968772b7964d646f54c1faecc56734de9 Module libfreetype.so.6 with build-id f89dd5502e75aca28fb5c3ccd0dbd26fe822bfef Module libfontconfig.so.1 with build-id 9e856b5b37a3f4f7176ad8f92b2123508c95406e Module libpng16.so.16 with build-id 14d3b3cc9d61ec1b7c1f86bdf108218a99364945 Module libcairo-gobject.so.2 with build-id 9927090dddfb180365695a8f37d1cac89463f109 Module libcairo.so.2 with build-id a222d042e56108d2786ece7bf291b56ba2069591 Module libblkid.so.1 with build-id fb2c5d3c17aac74758a3eb80a2bc1c16bcf183b1 Module libmount.so.1 with build-id 9064fc3620c42e6f7aed38119f0a3ec39fca9a37 Module libgio-2.0.so.0 with build-id e40d688960cf27f1e3b08533563affb8baed62af Module libgmodule-2.0.so.0 with build-id 4145f63148e903c5cc49730868d4b108e4a2afba Module libpcre2-8.so.0 with build-id 917fc43d2c9f8539a3e324555c6c73886e8000a8 Module libffi.so.8 with build-id 5c6b22b6624dd486a0783dfe74fee085b626b573 Module libgirepository-1.0.so.1 with build-id b5497fd1bc90cd83e17834ddc6a5a0b54df984bb Module libgobject-2.0.so.0 with build-id 4912a41f41a806314fb1a528139e368746d80dda Module libglib-2.0.so.0 with build-id 49826f5cd4f784c8050176991d46fd93a5fcee9f Module _asyncio.cpython-311-x86_64-linux-gnu.so with build-id 52164b1843cba6fd7df4209adacf635a5bd223aa Module _contextvars.cpython-311-x86_64-linux-gnu.so with build-id dfd8ac7ba1153cb82055db51543ef194bfa8c255 Module libz.so.1 with build-id 5340199d53cb95e609028ce1143675c742ff4218 Module binascii.cpython-311-x86_64-linux-gnu.so with build-id 2cde6b4692d543d2b9b925cf96ee33de31cbabda Module libcrypto.so.1.1 with build-id 7981ea3d69f3c28e46ee312a815af96eab93775c Module libssl.so.1.1 with build-id e6b1f97a5b60b4248c49dfc5b11f53f281b507d0 Module _ssl.cpython-311-x86_64-linux-gnu.so with build-id 71f295f6f7802cabddf5f0166853ae21a00c4fb4 Module _posixsubprocess.cpython-311-x86_64-linux-gnu.so with build-id 60888cf4fed9109588128d45e34720399a7808c6 Module fcntl.cpython-311-x86_64-linux-gnu.so with build-id 5a1e10888df199e01d7aaaca73a17e263d907634 Module array.cpython-311-x86_64-linux-gnu.so with build-id 7403eed67795fe76d13126f8e951ee9b26a1c6fb Module select.cpython-311-x86_64-linux-gnu.so with build-id da716bf6534fff4070bd43853fc7874253ef7830 Module math.cpython-311-x86_64-linux-gnu.so with build-id 4ce7f0adedd1dd3eb4f96e0787f0274824e4dc81 Module _socket.cpython-311-x86_64-linux-gnu.so with build-id fffd23e5e1b086775b9af96708586cc780741083 Module _heapq.cpython-311-x86_64-linux-gnu.so with build-id 697344bba70a11c345e4d6741390e22ac6f1b2d3 Module libexpat.so.1 with build-id a98bfab551dfa3df6889c33d5fd2ccfa6d505608 Module pyexpat.cpython-311-x86_64-linux-gnu.so with build-id 0bce58ffef7c7e2a03bdab448b4d7e7034816722 Module _elementtree.cpython-311-x86_64-linux-gnu.so with build-id 351c29097e574850626972194a6c1cca7cfb8907 Module _opcode.cpython-311-x86_64-linux-gnu.so with build-id b0d1a76ee6b4fb01542e95380a50e0c2e61f826f Module _struct.cpython-311-x86_64-linux-gnu.so with build-id 9b45bf51432960e52e190abaa45e04a63202ad44 Module _typing.cpython-311-x86_64-linux-gnu.so with build-id f32081246557791535064037cab1570d1ed16218 Module ld-linux-x86-64.so.2 with build-id 22bd7a2c03d8cfc05ef7092bfae5932223189bc1 Module libm.so.6 with build-id 2c8ff1d29b255da5b7371efd5caf57444d622838 Module libc.so.6 with build-id 1e94beb079e278ac4f2c8bce1f53091548ea1584 Module libpython3.11.so.1.0 with build-id c1f1fb46e2ef414bcbcbf5bc4ef351b00d9a697d Module python3.11 with build-id 503637b249ace50060a53a6c315986ac08dacd72 Stack trace of thread 231871: #0 0x00007f6bb8cf0f54 n/a (libpython3.11.so.1.0 + 0x2f0f54) #1 0x00007f6bb8b09fb7 n/a (libpython3.11.so.1.0 + 0x109fb7) #2 0x00007f6bb8b2040a _PyErr_Restore (libpython3.11.so.1.0 + 0x12040a) #3 0x00007f6bb77d76c6 n/a (/home/elp/Documents/scripts/github/qtile-dev/qtile/.tox/py311/lib/python3.11/site-packages/gi/_gi.cpython-311-x86_64-linux-gnu.so + 0x2b6c6) ELF object binary architecture: AMD x86-64 ```

EDIT: I wonder if this is actually a fault in the glib mainloop. Let me test a bit more. EDIT 2: No. Basic MainLoop examples run ok on python 3.11.

elParaguayo commented 1 year ago

OK. It looks like this is an issue in v0.2.3 but is working in the latest git master.

Any chance of pushing a new release?

AiyionPrime commented 1 year ago

She solved my problem by specifying a commit from main.

Any chance of pushing a new release?

Would be highly appreciated.

dreirund commented 1 month ago

I still see that this is unresolved in release, but resolved in latest git.

What hinders making a new release, so that distributions can pick up?

@altdesktop

Regards!

elParaguayo commented 1 month ago

Sadly, I think it's pretty safe to say this package is no longer maintained.