[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Debian Live and libdbus-java



Hi,

I want to access udisks on Debian Live via libdbus-java but there seems
to be a bug.

I created a simple and reproducible test case. You can execute it with
the following commands:
-------------
wget http://www.imedias.ch/dateien/dbustest/dbus_test.sh
sh dbus_test.sh
-------------

On a virgin installation of Debian 6.0.2 this test case runs smoothly
and simply lists all device files that are seen by udisks.

On the other hand, when run on Debian Live (tested with
debian-live-6.0.1-i386-kde-desktop), this produces the following error
message:
-------------
org.freedesktop.DBus$Error$AccessDenied: Rejected send message, 3
matched rules; type="method_call", sender=":1.41" (uid=1000 pid=2782
comm="java) interface="(unset)" member="EnumerateDeviceFiles" error
name="(unset)" requested_reply=0
destination="org.freedesktop.UDisks" (uid=0 pid=2748
comm="/usr/lib/udisks/udisks-daemon))
   at java.lang.reflect.Constructor.newInstance(libgcj.so.10)
   at org.freedesktop.dbus.Error.getException(Error.java:110)
   at org.freedesktop.dbus.Error.throwException(Error.java:140)
   at
org.freedesktop.dbus.RemoteInvocationHandler.executeRemoteMethod(RemoteInvocationHandler.java:136)
   at
org.freedesktop.dbus.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:188)
   at $Proxy3.EnumerateDeviceFiles(Unknown Source:0)
   at dbustest.DbusTest.main(DbusTest.java:48)
-------------

The "AccessDenied" error message looks like a permission problem but
interestingly, the internal command of the test case executed via qdbus
works fine:
-------------
qdbus --system org.freedesktop.UDisks /org/freedesktop/UDisks
org.freedesktop.UDisks.EnumerateDeviceFiles
-------------

Therefore I guess there is an issue with integration of libdbus-java,
libunixsocket-java and aufs but the only hint I found is the following
snippet from the aufs man page:
-------------
The I/O to the named pipe or local socket are not handled by aufs, even
if it exists in aufs. After the reader and the writer established their
connection if the pipe/socket are copied-up, they keep using the old one
instead of the copied-up one.
-------------

Could this be the cause of this issue? Was this an issue before in other
applications? Any other hint?

Regards

Ronny

-- 
Ronny Standtke                 Fachhochschule Nordwestschweiz
Dozent Medienpädagogik / ICT   Pädagogische Hochschule
Telefon: +41 32 628 67 08      Obere Sternengasse 7
Mobil  : +41 79 786 81 82      4502 Solothurn


Reply to: