Closed Flowdalic closed 1 year ago
Sorry, this is by far not enough information to help in any way. Do you have the https://github.com/rm5248/dbus-java-nativefd in your classpath?
Can you reproduce this with a minimum example and provide the required code?
Thanks for the fast reply.
Sorry, this is by far not enough information to help in any way.
Happy to add more information. I am currently looking into enabling the SLF4J trace output of dbus-java. But I have a log4j setup using log4j-slf4j-impl. Not sure yet how to enable the trace output with such a setup.
Do you have the https://github.com/rm5248/dbus-java-nativefd in your classpath?
No, but I have dbus-java-transport-native-unixsocket in classpath. Adding dbus-java-nativefd results in
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.freedesktop.dbus.connections.impl.DBusConnectionBuilder.validateTransportAddress(DBusConnectionBuilder.java:129)
at org.freedesktop.dbus.connections.impl.DBusConnectionBuilder.forSystemBus(DBusConnectionBuilder.java:55)
at eu.geekplace.sandmann.Sandmann$.main(Sandmann.scala:53)
at eu.geekplace.sandmann.Sandmann.main(Sandmann.scala)
Caused by: org.freedesktop.dbus.exceptions.TransportRegistrationException: Found transport org.freedesktop.dbus.transport.jre.NativeTransportProvider and org.freedesktop.dbus.transport.jnr.JnrUnixSocketTransportProvider both providing transport for socket type UNIX, please only add one of them to classpath.
at org.freedesktop.dbus.connections.transports.TransportBuilder.getTransportProvider(TransportBuilder.java:64)
at org.freedesktop.dbus.connections.transports.TransportBuilder.<clinit>(TransportBuilder.java:35)
... 4 more
Can you reproduce this with a minimum example and provide the required code?
I'll see if I can get you a reproducer. Essentially, this is calling public FileDescriptor Inhibit(String what, String who, String why, String mode);
of org.freedeskop.login1.Manager
. (Some) other methods of this class work fine.
Was able to get the trace output:
This is calling FileDescriptor Manager.Inhibit("sleep", "Sandmann", "Perform actions before sleep", "delay")
, see man org.freedesktop.login(5)
:
15:22:48 TRACE: Deserializing from [] to [void] [main]
15:22:48 TRACE: Converting 0 from 'sleep' to class java.lang.String [main]
15:22:48 TRACE: Converting 1 from 'Sandmann' to class java.lang.String [main]
15:22:48 TRACE: Converting 2 from 'Perform actions before sleep' to class java.lang.String [main]
15:22:48 TRACE: Converting 3 from 'delay' to class java.lang.String [main]
15:22:48 DEBUG: Creating message with serial 4 [main]
15:22:48 DEBUG: Appending sig: yyyy data: 108, 1, 0, 1 [main]
15:22:48 TRACE: Appending item: 0 y 0 [main]
15:22:48 TRACE: 4 [main]
15:22:48 TRACE: Appending type: y value: 108 [main]
15:22:48 TRACE: padding for y [main]
15:22:48 TRACE: 4 0 4 1 [main]
15:22:48 TRACE: Appending item: 1 y 1 [main]
15:22:48 TRACE: 4 [main]
15:22:48 TRACE: Appending type: y value: 1 [main]
15:22:48 TRACE: padding for y [main]
15:22:48 TRACE: 3 1 4 1 [main]
15:22:48 TRACE: Appending item: 2 y 2 [main]
15:22:48 TRACE: 4 [main]
15:22:48 TRACE: Appending type: y value: 0 [main]
15:22:48 TRACE: padding for y [main]
15:22:48 TRACE: 2 2 4 1 [main]
15:22:48 TRACE: Appending item: 3 y 3 [main]
15:22:48 TRACE: 4 [main]
15:22:48 TRACE: Appending type: y value: 1 [main]
15:22:48 TRACE: padding for y [main]
15:22:48 TRACE: 1 3 4 1 [main]
15:22:48 DEBUG: Appending arguments with signature: ssss [main]
15:22:48 DEBUG: Appending sig: ua(yv) data: 4, [[1, [o, /org/freedesktop/login1]], [6, [s, org.freedesktop.login1]], [2, [s, org.freedesktop.login1.Manager]], [3, [s, Inhibit]], [8, [g, ssss]]] [main]
15:22:48 TRACE: Appending item: 0 u 0 [main]
15:22:48 TRACE: 8 [main]
15:22:48 TRACE: Appending type: u value: 4 [main]
15:22:48 TRACE: padding for u [main]
15:22:48 TRACE: 0 4 8 4 [main]
15:22:48 TRACE: Marshalled int 4 to 04 00 00 00 [main]
15:22:48 TRACE: Appending item: 1 a 1 [main]
15:22:48 TRACE: 12 [main]
15:22:48 TRACE: Appending type: a value: [[1, [o, /org/freedesktop/login1]], [6, [s, org.freedesktop.login1]], [2, [s, org.freedesktop.login1.Manager]], [3, [s, Inhibit]], [8, [g, ssss]]] [main]
15:22:48 TRACE: padding for a [main]
15:22:48 TRACE: 0 4 12 4 [main]
15:22:48 TRACE: Appending array: [[1, [o, /org/freedesktop/login1]], [6, [s, org.freedesktop.login1]], [2, [s, org.freedesktop.login1.Manager]], [3, [s, Inhibit]], [8, [g, ssss]]] [main]
15:22:48 TRACE: padding for ( [main]
15:22:48 TRACE: 0 4 16 8 [main]
15:22:48 TRACE: Resizing 4 [main]
15:22:48 TRACE: 16 [main]
15:22:48 TRACE: Appending type: ( value: [1, [o, /org/freedesktop/login1]] [main]
15:22:48 TRACE: padding for ( [main]
15:22:48 TRACE: 0 4 16 8 [main]
15:22:48 TRACE: 16 [main]
15:22:48 TRACE: Appending type: y value: 1 [main]
15:22:48 TRACE: padding for y [main]
15:22:48 TRACE: 0 4 16 1 [main]
15:22:48 TRACE: 17 [main]
15:22:48 TRACE: Appending type: v value: [o, /org/freedesktop/login1] [main]
15:22:48 TRACE: padding for v [main]
15:22:48 TRACE: 0 4 17 1 [main]
15:22:48 TRACE: 17 [main]
15:22:48 TRACE: Appending type: g value: o [main]
15:22:48 TRACE: padding for g [main]
15:22:48 TRACE: 0 4 17 1 [main]
15:22:48 TRACE: 20 [main]
15:22:48 TRACE: Appending type: o value: /org/freedesktop/login1 [main]
15:22:48 TRACE: padding for o [main]
15:22:48 TRACE: 0 3 20 4 [main]
15:22:48 TRACE: Appending String of length 23 [main]
15:22:48 TRACE: Marshalled int 23 to 17 00 00 00 [main]
15:22:48 TRACE: 48 [main]
15:22:48 TRACE: Appending type: ( value: [6, [s, org.freedesktop.login1]] [main]
15:22:48 TRACE: padding for ( [main]
15:22:48 TRACE: 0 3 48 8 [main]
15:22:48 TRACE: 48 [main]
15:22:48 TRACE: Appending type: y value: 6 [main]
15:22:48 TRACE: padding for y [main]
15:22:48 TRACE: 0 3 48 1 [main]
15:22:48 TRACE: 49 [main]
15:22:48 TRACE: Appending type: v value: [s, org.freedesktop.login1] [main]
15:22:48 TRACE: padding for v [main]
15:22:48 TRACE: 0 3 49 1 [main]
15:22:48 TRACE: 49 [main]
15:22:48 TRACE: Appending type: g value: s [main]
15:22:48 TRACE: padding for g [main]
15:22:48 TRACE: 0 3 49 1 [main]
15:22:48 TRACE: 52 [main]
15:22:48 TRACE: Appending type: s value: org.freedesktop.login1 [main]
15:22:48 TRACE: padding for s [main]
15:22:48 TRACE: 0 3 52 4 [main]
15:22:48 TRACE: Appending String of length 22 [main]
15:22:48 TRACE: Marshalled int 22 to 16 00 00 00 [main]
15:22:48 TRACE: 79 [main]
15:22:48 TRACE: Appending type: ( value: [2, [s, org.freedesktop.login1.Manager]] [main]
15:22:48 TRACE: padding for ( [main]
15:22:48 TRACE: 0 3 79 8 [main]
15:22:48 TRACE: 0 3 80 1 [main]
15:22:48 TRACE: 80 [main]
15:22:48 TRACE: Appending type: y value: 2 [main]
15:22:48 TRACE: padding for y [main]
15:22:48 TRACE: 0 3 80 1 [main]
15:22:48 TRACE: 81 [main]
15:22:48 TRACE: Appending type: v value: [s, org.freedesktop.login1.Manager] [main]
15:22:48 TRACE: padding for v [main]
15:22:48 TRACE: 0 3 81 1 [main]
15:22:48 TRACE: 81 [main]
15:22:48 TRACE: Appending type: g value: s [main]
15:22:48 TRACE: padding for g [main]
15:22:48 TRACE: 0 3 81 1 [main]
15:22:48 TRACE: 84 [main]
15:22:48 TRACE: Appending type: s value: org.freedesktop.login1.Manager [main]
15:22:48 TRACE: padding for s [main]
15:22:48 TRACE: 0 3 84 4 [main]
15:22:48 TRACE: Appending String of length 30 [main]
15:22:48 TRACE: Marshalled int 30 to 1e 00 00 00 [main]
15:22:48 TRACE: 119 [main]
15:22:48 TRACE: Appending type: ( value: [3, [s, Inhibit]] [main]
15:22:48 TRACE: padding for ( [main]
15:22:48 TRACE: 0 3 119 8 [main]
15:22:48 TRACE: 0 3 120 1 [main]
15:22:48 TRACE: 120 [main]
15:22:48 TRACE: Appending type: y value: 3 [main]
15:22:48 TRACE: padding for y [main]
15:22:48 TRACE: 0 3 120 1 [main]
15:22:48 TRACE: 121 [main]
15:22:48 TRACE: Appending type: v value: [s, Inhibit] [main]
15:22:48 TRACE: padding for v [main]
15:22:48 TRACE: 0 3 121 1 [main]
15:22:48 TRACE: 121 [main]
15:22:48 TRACE: Appending type: g value: s [main]
15:22:48 TRACE: padding for g [main]
15:22:48 TRACE: 0 3 121 1 [main]
15:22:48 TRACE: 124 [main]
15:22:48 TRACE: Appending type: s value: Inhibit [main]
15:22:48 TRACE: padding for s [main]
15:22:48 TRACE: 0 3 124 4 [main]
15:22:48 TRACE: Appending String of length 7 [main]
15:22:48 TRACE: Marshalled int 7 to 07 00 00 00 [main]
15:22:48 TRACE: 136 [main]
15:22:48 TRACE: Appending type: ( value: [8, [g, ssss]] [main]
15:22:48 TRACE: padding for ( [main]
15:22:48 TRACE: 0 3 136 8 [main]
15:22:48 TRACE: 136 [main]
15:22:48 TRACE: Appending type: y value: 8 [main]
15:22:48 TRACE: padding for y [main]
15:22:48 TRACE: 0 3 136 1 [main]
15:22:48 TRACE: 137 [main]
15:22:48 TRACE: Appending type: v value: [g, ssss] [main]
15:22:48 TRACE: padding for v [main]
15:22:48 TRACE: 0 3 137 1 [main]
15:22:48 TRACE: 137 [main]
15:22:48 TRACE: Appending type: g value: g [main]
15:22:48 TRACE: padding for g [main]
15:22:48 TRACE: 0 3 137 1 [main]
15:22:48 TRACE: 140 [main]
15:22:48 TRACE: Appending type: g value: ssss [main]
15:22:48 TRACE: padding for g [main]
15:22:48 TRACE: 0 3 140 1 [main]
15:22:48 TRACE: start: 16 end: 146 length: 130 [main]
15:22:48 TRACE: Marshalled int 130 to 82 00 00 00 [main]
15:22:48 TRACE: padding for [main]
15:22:48 TRACE: 0 6 146 8 [main]
15:22:48 TRACE: 0 6 152 6 [main]
15:22:48 DEBUG: Appending sig: ssss data: sleep, Sandmann, Perform actions before sleep, delay [main]
15:22:48 TRACE: Appending item: 0 s 0 [main]
15:22:48 TRACE: 152 [main]
15:22:48 TRACE: Appending type: s value: sleep [main]
15:22:48 TRACE: padding for s [main]
15:22:48 TRACE: 0 6 152 4 [main]
15:22:48 TRACE: Appending String of length 5 [main]
15:22:48 TRACE: Marshalled int 5 to 05 00 00 00 [main]
15:22:48 TRACE: Appending item: 1 s 1 [main]
15:22:48 TRACE: 162 [main]
15:22:48 TRACE: Appending type: s value: Sandmann [main]
15:22:48 TRACE: padding for s [main]
15:22:48 TRACE: 0 6 162 4 [main]
15:22:48 TRACE: 0 6 164 2 [main]
15:22:48 TRACE: Appending String of length 8 [main]
15:22:48 TRACE: Marshalled int 8 to 08 00 00 00 [main]
15:22:48 TRACE: Appending item: 2 s 2 [main]
15:22:48 TRACE: 177 [main]
15:22:48 TRACE: Appending type: s value: Perform actions before sleep [main]
15:22:48 TRACE: padding for s [main]
15:22:48 TRACE: 0 6 177 4 [main]
15:22:48 TRACE: 0 6 180 3 [main]
15:22:48 TRACE: Appending String of length 28 [main]
15:22:48 TRACE: Marshalled int 28 to 1c 00 00 00 [main]
15:22:48 TRACE: Resizing 40 [main]
15:22:48 TRACE: Appending item: 3 s 3 [main]
15:22:48 TRACE: 213 [main]
15:22:48 TRACE: Appending type: s value: delay [main]
15:22:48 TRACE: padding for s [main]
15:22:48 TRACE: 0 6 213 4 [main]
15:22:48 TRACE: 0 6 216 3 [main]
15:22:48 TRACE: Appending String of length 5 [main]
15:22:48 TRACE: Marshalled int 5 to 05 00 00 00 [main]
15:22:48 TRACE: Appended body, type: ssss start: 152 end: 226 size: 74 [main]
15:22:48 TRACE: Marshalled int 74 to 4a 00 00 00 [main]
15:22:48 TRACE: marshalled size ([74, 0, 0, 0]): 000000 4a 00 00 00 J... [main]
15:22:48 DEBUG: <= MethodCall(0,4) { Invalid=>null, Path=>/org/freedesktop/login1, Interface=>org.freedesktop.login1.Manager, Member=>Inhibit, Error Name=>null, Reply Serial=>null, Destination=>org.freedesktop.login1, Sender=>null, Signature=>ssss, Unix FD=>null } { sleep, Sandmann, Perform actions before sleep, delay } [DBus Sender Thread-1]
15:22:48 TRACE: Blocking on MethodCall(0,4) { Invalid=>null, Path=>/org/freedesktop/login1, Interface=>org.freedesktop.login1.Manager, Member=>Inhibit, Error Name=>null, Reply Serial=>null, Destination=>org.freedesktop.login1, Sender=>null, Signature=>ssss, Unix FD=>null } { sleep, Sandmann, Perform actions before sleep, delay } [main]
15:22:48 TRACE: 000000 6c 01 00 01 l... [DBus Sender Thread-1]
15:22:48 TRACE: 000000 4a 00 00 00 J... [DBus Sender Thread-1]
15:22:48 TRACE: 000000 04 00 00 00 .... [DBus Sender Thread-1]
15:22:48 TRACE: 000000 82 00 00 00 .... [DBus Sender Thread-1]
15:22:48 TRACE: 000000 01 . [DBus Sender Thread-1]
15:22:48 TRACE: 000000 01 6f 00 .o. [DBus Sender Thread-1]
15:22:48 TRACE: 000000 17 00 00 00 ... [DBus Sender Thread-1]
15:22:48 TRACE: 000000 2f 6f 72 67 2f 66 72 65 65 64 65 73 6b 74 6f 70 2f 6c /org/freedesktop/l
000012 6f 67 69 6e 31 ogin1 [DBus Sender Thread-1]
15:22:48 TRACE: 000000 00 . [DBus Sender Thread-1]
15:22:48 TRACE: 000000 06 . [DBus Sender Thread-1]
15:22:48 TRACE: 000000 01 73 00 .s. [DBus Sender Thread-1]
15:22:48 TRACE: 000000 16 00 00 00 ... [DBus Sender Thread-1]
15:22:48 TRACE: 000000 6f 72 67 2e 66 72 65 65 64 65 73 6b 74 6f 70 2e 6c 6f org.freedesktop.lo
000012 67 69 6e 31 gin1 [DBus Sender Thread-1]
15:22:48 TRACE: 000000 00 . [DBus Sender Thread-1]
15:22:48 TRACE: 000000 00 . [DBus Sender Thread-1]
15:22:48 TRACE: 000000 02 . [DBus Sender Thread-1]
15:22:48 TRACE: 000000 01 73 00 .s. [DBus Sender Thread-1]
15:22:48 TRACE: 000000 1e 00 00 00 ... [DBus Sender Thread-1]
15:22:48 TRACE: 000000 6f 72 67 2e 66 72 65 65 64 65 73 6b 74 6f 70 2e 6c 6f org.freedesktop.lo
000012 67 69 6e 31 2e 4d 61 6e 61 67 65 72 gin1.Manager [DBus Sender Thread-1]
15:22:48 TRACE: 000000 00 . [DBus Sender Thread-1]
15:22:48 TRACE: 000000 00 . [DBus Sender Thread-1]
15:22:48 TRACE: 000000 03 . [DBus Sender Thread-1]
15:22:48 TRACE: 000000 01 73 00 .s. [DBus Sender Thread-1]
15:22:48 TRACE: 000000 07 00 00 00 .... [DBus Sender Thread-1]
15:22:48 TRACE: 000000 49 6e 68 69 62 69 74 Inhibit [DBus Sender Thread-1]
15:22:48 TRACE: 000000 00 . [DBus Sender Thread-1]
15:22:48 TRACE: 000000 08 . [DBus Sender Thread-1]
15:22:48 TRACE: 000000 01 67 00 .g. [DBus Sender Thread-1]
15:22:48 TRACE: 000000 04 73 73 73 73 00 .ssss. [DBus Sender Thread-1]
15:22:48 TRACE: 000000 00 00 00 00 00 00 ...... [DBus Sender Thread-1]
15:22:48 TRACE: 000000 05 00 00 00 .... [DBus Sender Thread-1]
15:22:48 TRACE: 000000 73 6c 65 65 70 sleep [DBus Sender Thread-1]
15:22:48 TRACE: 000000 00 . [DBus Sender Thread-1]
15:22:48 TRACE: 000000 00 00 .. [DBus Sender Thread-1]
15:22:48 TRACE: 000000 08 00 00 00 .... [DBus Sender Thread-1]
15:22:48 TRACE: 000000 53 61 6e 64 6d 61 6e 6e Sandmann [DBus Sender Thread-1]
15:22:48 TRACE: 000000 00 . [DBus Sender Thread-1]
15:22:48 TRACE: 000000 00 00 00 ... [DBus Sender Thread-1]
15:22:48 TRACE: 000000 1c 00 00 00 ... [DBus Sender Thread-1]
15:22:48 TRACE: 000000 50 65 72 66 6f 72 6d 20 61 63 74 69 6f 6e 73 20 62 65 Perform actions be
000012 66 6f 72 65 20 73 6c 65 65 70 fore sleep [DBus Sender Thread-1]
15:22:48 TRACE: 000000 00 . [DBus Sender Thread-1]
15:22:48 TRACE: 000000 00 00 00 ... [DBus Sender Thread-1]
15:22:48 TRACE: 000000 05 00 00 00 .... [DBus Sender Thread-1]
15:22:48 TRACE: 000000 64 65 6c 61 79 delay [DBus Sender Thread-1]
15:22:48 TRACE: 000000 00 . [DBus Sender Thread-1]
15:22:48 TRACE: (buffer was null) [DBus Sender Thread-1]
15:22:48 TRACE: Message sent: MethodCall(0,4) { Invalid=>null, Path=>/org/freedesktop/login1, Interface=>org.freedesktop.login1.Manager, Member=>Inhibit, Error Name=>null, Reply Serial=>null, Destination=>org.freedesktop.login1, Sender=>null, Signature=>ssss, Unix FD=>null } { sleep, Sandmann, Perform actions before sleep, delay } [DBus Sender Thread-1]
15:22:48 TRACE: 000000 6c 02 01 01 04 00 00 00 a3 03 00 00 l........... [DBusConnection [listener=false]]
15:22:48 TRACE: 000000 35 00 00 00 00 00 00 00 05 01 75 00 04 00 00 00 06 01 5.........u.......
000012 73 00 06 00 00 00 3a 31 2e 32 32 39 00 00 08 01 67 00 s.....:1.229....g.
000024 01 68 00 00 09 01 75 00 01 00 00 00 07 01 73 00 04 00 .h....u.......s...
000036 00 00 3a 31 2e 31 00 00 00 00 ..:1.1.... [DBusConnection [listener=false]]
15:22:48 TRACE: 000000 00 00 00 00 .... [DBusConnection [listener=false]]
15:22:48 TRACE: extract(u,#12, {0,4} [DBusConnection [listener=false]]
15:22:48 TRACE: Extracting type: u from offset 4 [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to u [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted: 4 (now at 8) [DBusConnection [listener=false]]
15:22:48 TRACE: extract(u,#12, {0,8} [DBusConnection [listener=false]]
15:22:48 TRACE: Extracting type: u from offset 8 [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to u [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted: 931 (now at 12) [DBusConnection [listener=false]]
15:22:48 TRACE: Message header: 5.........u.......s.....:1.229....g..h....u.......s.....:1.1.... [DBusConnection [listener=false]]
15:22:48 TRACE: extract(a(yv),#64, {0,0} [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to a [DBusConnection [listener=false]]
15:22:48 TRACE: Reading array of size: 53 [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to ( [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to ( [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to y [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted header signature type 'y' to: '5' [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to v [DBusConnection [listener=false]]
15:22:48 TRACE: extract(g,#64, {0,9} [DBusConnection [listener=false]]
15:22:48 TRACE: Extracting type: g from offset 9 [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to g [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted: u (now at 12) [DBusConnection [listener=false]]
15:22:48 TRACE: extract(u,#64, {0,12} [DBusConnection [listener=false]]
15:22:48 TRACE: Extracting type: u from offset 12 [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to u [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted: 4 (now at 16) [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted header signature type 'v' to: '4' [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted header signature type ')' to: '[5, 4]' [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to ( [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to y [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted header signature type 'y' to: '6' [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to v [DBusConnection [listener=false]]
15:22:48 TRACE: extract(g,#64, {0,17} [DBusConnection [listener=false]]
15:22:48 TRACE: Extracting type: g from offset 17 [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to g [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted: s (now at 20) [DBusConnection [listener=false]]
15:22:48 TRACE: extract(s,#64, {0,20} [DBusConnection [listener=false]]
15:22:48 TRACE: Extracting type: s from offset 20 [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to s [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted: :1.229 (now at 31) [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted header signature type 'v' to: ':1.229' [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted header signature type ')' to: '[6, :1.229]' [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to ( [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to y [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted header signature type 'y' to: '8' [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to v [DBusConnection [listener=false]]
15:22:48 TRACE: extract(g,#64, {0,33} [DBusConnection [listener=false]]
15:22:48 TRACE: Extracting type: g from offset 33 [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to g [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted: g (now at 36) [DBusConnection [listener=false]]
15:22:48 TRACE: extract(g,#64, {0,36} [DBusConnection [listener=false]]
15:22:48 TRACE: Extracting type: g from offset 36 [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to g [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted: h (now at 39) [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted header signature type 'v' to: 'h' [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted header signature type ')' to: '[8, h]' [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to ( [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to y [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted header signature type 'y' to: '9' [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to v [DBusConnection [listener=false]]
15:22:48 TRACE: extract(g,#64, {0,41} [DBusConnection [listener=false]]
15:22:48 TRACE: Extracting type: g from offset 41 [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to g [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted: u (now at 44) [DBusConnection [listener=false]]
15:22:48 TRACE: extract(u,#64, {0,44} [DBusConnection [listener=false]]
15:22:48 TRACE: Extracting type: u from offset 44 [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to u [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted: 1 (now at 48) [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted header signature type 'v' to: '1' [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted header signature type ')' to: '[9, 1]' [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to ( [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to y [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted header signature type 'y' to: '7' [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to v [DBusConnection [listener=false]]
15:22:48 TRACE: extract(g,#64, {0,49} [DBusConnection [listener=false]]
15:22:48 TRACE: Extracting type: g from offset 49 [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to g [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted: s (now at 52) [DBusConnection [listener=false]]
15:22:48 TRACE: extract(s,#64, {0,52} [DBusConnection [listener=false]]
15:22:48 TRACE: Extracting type: s from offset 52 [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to s [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted: :1.1 (now at 61) [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted header signature type 'v' to: ':1.1' [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted header signature type ')' to: '[7, :1.1]' [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted header signature type ')' to: '[[5, 4], [6, :1.229], [8, h], [9, 1], [7, :1.1]]' [DBusConnection [listener=false]]
15:22:48 TRACE: Extracted objects: [[5, 4], [6, :1.229], [8, h], [9, 1], [7, :1.1]] [DBusConnection [listener=false]]
15:22:48 TRACE: extract(h,#4, {0,0} [DBusConnection [listener=false]]
15:22:48 TRACE: Extracting type: h from offset 0 [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to h [DBusConnection [listener=false]]
15:22:48 DEBUG: => [!!!org.freedesktop.dbus.messages.MethodReturn@4bf41bb0=>java.lang.IndexOutOfBoundsException:Index 0 out of bounds for length 0!!!] [DBusConnection [listener=false]]
15:22:48 TRACE: extract(h,#4, {0,0} [DBusConnection [listener=false]]
15:22:48 TRACE: Extracting type: h from offset 0 [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to h [DBusConnection [listener=false]]
15:22:48 TRACE: Got Incoming Message: [!!!org.freedesktop.dbus.messages.MethodReturn@4bf41bb0=>java.lang.IndexOutOfBoundsException:Index 0 out of bounds for length 0!!!] [DBusConnection [listener=false]]
15:22:48 TRACE: extract(h,#4, {0,0} [DBusConnection [listener=false]]
15:22:48 TRACE: Extracting type: h from offset 0 [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to h [DBusConnection [listener=false]]
15:22:48 DEBUG: Handling incoming method return: [!!!org.freedesktop.dbus.messages.MethodReturn@4bf41bb0=>java.lang.IndexOutOfBoundsException:Index 0 out of bounds for length 0!!!] [DBusConnection [listener=false]]
15:22:48 TRACE: extract(h,#4, {0,0} [DBusConnection [listener=false]]
15:22:48 TRACE: Extracting type: h from offset 0 [DBusConnection [listener=false]]
15:22:48 TRACE: aligning to h [DBusConnection [listener=false]]
15:22:48 TRACE: Setting reply to MethodCall(0,4) { Invalid=>null, Path=>/org/freedesktop/login1, Interface=>org.freedesktop.login1.Manager, Member=>Inhibit, Error Name=>null, Reply Serial=>null, Destination=>org.freedesktop.login1, Sender=>null, Signature=>ssss, Unix FD=>null } { sleep, Sandmann, Perform actions before sleep, delay } to [!!!org.freedesktop.dbus.messages.MethodReturn@4bf41bb0=>java.lang.IndexOutOfBoundsException:Index 0 out of bounds for length 0!!!] [DBusConnection [listener=false]]
15:22:48 TRACE: extract(h,#4, {0,0} [main]
15:22:48 TRACE: Extracting type: h from offset 0 [main]
15:22:48 TRACE: aligning to h [main]
FileDescriptor only work when using jnr-transport and https://github.com/rm5248/dbus-java-nativefd as third party library. Support for FileDescriptor without the 3rd party library will be available with version 4.3.1 when using junixsocket transport.
The error message says that you have added 2 different unix transports (jnr and native). You can only use one of them. This is because dbus-java-nativefd pulls in jnr-transport while you also added native-transport as dependency. Please remove native-transport from your dependencies, add dbus-java-nativefd and jnr-transport instead (please add both to be sure you use the same version for dbus-java-core and jnr-transport).
Enabling trace logging is nothing slf4j related but log4j configuration in your case. Slf4j is just a abstraction to allow using any compatible logging framework instead of enforcing one. Configuring log4j to also log trace messages should do the trick.
The error message says that you have added 2 different unix transports (jnr and native).
Yep, I got that.
After adding dbus-java-nativefd
and swapping dbus-java-transport-native-unixsocket
for dbus-java-transport-jnr-unixsocket
it appears to work. Thanks for your help.
May I suggest that dbus-java, instead of throwing an IndexOutOfBoundsException
when there is no support for FileDescriptor
instead emits a meaning error message? This would improve dbus-java's usability a lot.
Invoking logind
Inhibit()
, which returns aFileDescriptor
causes the following exception to be thrown using dbus-java 4.3.0: