Revision history [back]

click to hide/show revision 1
initial version

GlobalBroadcast in SignalEmitter not working on ARM-JavaBinding.

Hi,

I'm facing problems on a Raspberry PI when emitting global signals using the Java binding. For the first step I decided to send out signals in broadcasts, instead of using multipoint or multi unicast to interested/connected peers. Because I'm not sure about one client-application, what options they use. But that would be n option to bypass the problem, I think.

Everything is compiled well i guess, because, cpp or Java (e.g. JavaSDKDocSignalService.jar) bundled samples working properly and even the biggest part of the project too. Basically the same source runs like a charm on Ubuntu 14.04 LTS 64Bit machine, where the problem is not present, which also makes debugging difficult.

The project has several actions and events, whereas actions can be triggered without problems. Whenever I try to emit a signal on the pi a BusException gets thrown. (see bash output)

I tried following combinations of emitter options, each of them with the same result:

protected SignalEmitter emitter = new SignalEmitter(AlljoynService.getBusObject(),SignalEmitter.GlobalBroadcast.On);
//  protected SignalEmitter emitter = new SignalEmitter(AlljoynService.getBusObject(),BusAttachment.SESSION_ID_ALL_HOSTED, SignalEmitter.GlobalBroadcast.On);
//  protected SignalEmitter emitter = new SignalEmitter(AlljoynService.getBusObject(),BusAttachment.SESSION_ID_ANY, SignalEmitter.GlobalBroadcast.On); 
IBusInterfaceAJ test = emitter.getInterface(IBusInterfaceAJ.class);
test.testReleased();

Extract of my interface description:

@BusInterface (name = "eu.example.test",
descriptionLanguage="en",
description="Test Appliances")
public interface IBusInterfaceAJ {
    @BusSignal(description="Test released", sessionless=true)
    public void testReleased() throws BusException;

Error output from bash:

152.986 ****** ERROR ALLJOYN external          ..._core/src/BusObject.cc:650 | Attempt to send a global broadcast signal when testReleased is not global broadcast: ER_INVALID_SIGNAL_EMISSION_TYPE 152.987 ****** ERROR ALLJOYN_JAVA external     .../jni/alljoyn_java.cc:11907 | SignalEmitter_signal(): Exception: ER_FAIL org.alljoyn.bus.BusException: ER_INVALID_SIGNAL_EMISSION_TYPE
at org.alljoyn.bus.SignalEmitter.signal(Native Method)
at org.alljoyn.bus.SignalEmitter.access$600(SignalEmitter.java:30)
at org.alljoyn.bus.SignalEmitter$Emitter.invoke(SignalEmitter.java:129)
at com.sun.proxy.$Proxy2.testReleased(Unknown Source)
...
at java.lang.Thread.run(Thread.java:744)

Does anybody know how to deal with that?

Besides that, how can I apply for this document : https://allseenalliance.org/docs-and-downloads/documentation/guide-alljoyn-development-using-java-sdk

I have not enough permission...

Thanks in advance.