DBus error "System.Error.E2BIG" error

We’ve had a juju bug reported

where running a juju command gives an error

~$ juju controllerrs internal error, please report: running “juju” failed: cannot create transient scope: DBus error “System.Error.E2BIG”: [Argument list too long]

This same error has been reported for other snaps as well

microk8s

and spotify-tui

We can’t seem to reproduce the juju issue so it’s hard to know if the suggested workaround(s) suggested in the microk8s issue are valid or not.

Can any of the snap folks provide some insight on what’s happening here and how to fix?

The /usr/bin/snap sends a request to systemd --user instance to create a transient scope for it. Basically a dbus call to org.freedesktop.systemd1 on session bus, method org.freedesktop.systemd1.Manager.StartTransientUnit with arguments: 0, unit name, "fail", {"PID", <pid>}, nil, where unit name is snap.<uuid>.scope, eg. snap.ohmygiraffe.ohmygiraffe.2ce67290-4b94-44cc-a189-65df5c0f0fc5.scope. I don’t know why it comes back with E2BIG, perhaps you can capture dbus traffic with busctl --user monitor and then we’ll be able to tell more.

FWIW /usr/bin/snap only sends out a request, but the handling is actually in systemd. What I see though, is that Ubuntu 18.04 is a common thing for all the bug reports linked here, so maybe something there.

Thank you, I’ll let the customer know about the suggestion here and when they see the issue again they can hopefully capture some useful data.

busctl --user monitor comes back with Failed to set address: No such file or directory.

FWIW, this particular host didn’t have anything running on it that was difficult to restart, so I rebooted it - that fixed the issue for me.

Is there any other information to collect that might be useful?

@mborzecki from the bug report:

$ busctl --user monitor Monitoring bus message stream. ‣ Type=method_call Endian=l Flags=0 Version=1 Priority=0 Cookie=1 Sender=:1.201423 Destination=org.freedesktop.DBus Path=/org/freedesktop/DBus Interface=org.freedesktop.DBus Member=Hello UniqueName=:1.201423 MESSAGE “” { };

‣ Type=method_return Endian=l Flags=1 Version=1 Priority=0 Cookie=1 ReplyCookie=1 Sender=org.freedesktop.DBus Destination=:1.201423 MESSAGE “s” { STRING “:1.201423”; };

‣ Type=signal Endian=l Flags=1 Version=1 Priority=0 Cookie=402696 Sender=org.freedesktop.DBus Path=/org/freedesktop/DBus Interface=org.freedesktop.DBus Member=NameOwnerChanged MESSAGE “sss” { STRING “:1.201423”; STRING “”; STRING “:1.201423”; };

‣ Type=signal Endian=l Flags=1 Version=1 Priority=0 Cookie=2 Sender=org.freedesktop.DBus Destination=:1.201423 Path=/org/freedesktop/DBus Interface=org.freedesktop.DBus Member=NameAcquired MESSAGE “s” { STRING “:1.201423”; };

‣ Type=method_call Endian=l Flags=0 Version=1 Priority=0 Cookie=2 Sender=:1.201423 Destination=org.freedesktop.systemd1 Path=/org/freedesktop/systemd1 Interface=org.freedesktop.systemd1.Manager Member=StartTransientUnit UniqueName=:1.201423 MESSAGE “ssa(sv)a(sa(sv))” { STRING “snap.juju.juju.1d69ab4e-7c6d-4a53-8c86-1751ae2014bc.scope”; STRING “fail”; ARRAY “(sv)” { STRUCT “sv” { STRING “PIDs”; VARIANT “au” { ARRAY “u” { UINT32 20414; }; }; }; }; ARRAY “(sa(sv))” { }; };

‣ Type=method_call Endian=l Flags=0 Version=1 Priority=0 Cookie=1049556 Sender=:1.1 Destination=org.freedesktop.DBus Path=/org/freedesktop/DBus Interface=org.freedesktop.DBus Member=GetConnectionUnixUser UniqueName=:1.1 MESSAGE “s” { STRING “:1.201423”; };

‣ Type=method_return Endian=l Flags=1 Version=1 Priority=0 Cookie=459316 ReplyCookie=1049556 Sender=org.freedesktop.DBus Destination=:1.1 MESSAGE “u” { UINT32 115268091; };

‣ Type=error Endian=l Flags=1 Version=1 Priority=0 Cookie=1049557 ReplyCookie=2 Sender=:1.1 Destination=:1.201423 ErrorName=System.Error.E2BIG ErrorMessage=“Argument list too long” UniqueName=:1.1 MESSAGE “s” { STRING “Argument list too long”; };

‣ Type=signal Endian=l Flags=1 Version=1 Priority=0 Cookie=5 Sender=org.freedesktop.DBus Destination=:1.201423 Path=/org/freedesktop/DBus Interface=org.freedesktop.DBus Member=NameLost MESSAGE “s” { STRING “:1.201423”; };

‣ Type=signal Endian=l Flags=1 Version=1 Priority=0 Cookie=402697 Sender=org.freedesktop.DBus Path=/org/freedesktop/DBus Interface=org.freedesktop.DBus Member=NameOwnerChanged MESSAGE “sss” { STRING “:1.201423”; STRING “:1.201423”; STRING “”; };