> I'm wondering is_started() is a method supposed to prevent to initialize channel before ep start, correct?

right, we should start ep after channel is ready. But the root cause here is: when we make init query about the channel status after the launcher started, the channel maybe not initialized yet. The DBus will fail to assert an invalid passing file descriptor.