#2863 closed defect (fixed)
Bug in pyxdg throws error when a client connects
Reported by: | Markus Ebner | Owned by: | Antoine Martin |
---|---|---|---|
Priority: | major | Milestone: | 4.1 |
Component: | server | Version: | 4.0.x |
Keywords: | shadow, attach, pyxdg | Cc: |
Description (last modified by )
xpra shadow :0 --bind-tcp=0.0.0.0:10000 -d server
throws an error as soon as a client tries to connect when the pyxdg library is installed.
This because of: https://gitlab.freedesktop.org/xdg/pyxdg/-/issues/20
It does not seem that this will be fixed anytime soon, so you may want to catch this (if possible), or temporarily work around this by not attempting to use the library if python is too new.
Verified by uninstalling the python3-pyxdg package. This solved the problem for us.
Stacktrace:
Error during threaded setup of <class 'xpra.server.mixins.child_command_server.ChildCommandServer'> Traceback (most recent call last): File "/usr/lib64/python3.8/site-packages/xpra/server/server_base.py", line 172, in threaded_init c.threaded_setup(self) File "/usr/lib64/python3.8/site-packages/xpra/server/mixins/child_command_server.py", line 107, in threaded_setup load_xdg_menu_data() File "/usr/lib64/python3.8/site-packages/xpra/platform/xposix/xdg_helper.py", line 233, in load_xdg_menu_data xdg_menu_data = do_load_xdg_menu_data() File "/usr/lib64/python3.8/site-packages/xpra/platform/xposix/xdg_helper.py", line 264, in do_load_xdg_menu_data menu = parse() File "/usr/lib/python3.8/site-packages/xdg/Menu.py", line 1128, in parse return XMLMenuBuilder(debug).parse(filename) File "/usr/lib/python3.8/site-packages/xdg/Menu.py", line 632, in parse menu = self.parse_menu(tree.getroot(), filename) File "/usr/lib/python3.8/site-packages/xdg/Menu.py", line 650, in parse_menu self.parse_node(node, filename, menu) File "/usr/lib/python3.8/site-packages/xdg/Menu.py", line 659, in parse_node menu = self.parse_menu(child, filename) File "/usr/lib/python3.8/site-packages/xdg/Menu.py", line 650, in parse_menu self.parse_node(node, filename, menu) File "/usr/lib/python3.8/site-packages/xdg/Menu.py", line 682, in parse_node parent.Rules.append(self.parse_rule(child)) File "/usr/lib/python3.8/site-packages/xdg/Menu.py", line 759, in parse_rule return Rule(type, tree) File "/usr/lib/python3.8/site-packages/xdg/Menu.py", line 421, in __init__ self.code = compile(self.expression, '<compiled-menu-rule>', 'eval') ValueError: Name node can't be used with 'True' constant
Attachments (1)
Change History (5)
Changed 7 months ago by
comment:1 Changed 7 months ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:2 Changed 5 months ago by
Description: | modified (diff) |
---|
There is a viable workaround, launch your server with:
XPRA_EXPORT_XDG_MENU_DATA=0 xpra start ...
Or:
xpra start --env=XPRA_EXPORT_XDG_MENU_DATA=0 ...
comment:3 Changed 5 months ago by
For those unable to upgrade xpra or pyxdg, you can also apply this workaround: Bugfix AttributeError: type is not stored in attribute but calculated by method
comment:4 Changed 6 weeks ago by
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/2863
System Information (Bug-Report tool)