TwilioDevEd / chat-quickstart-android

Chat Starter Application for Android
MIT License
7 stars 10 forks source link

Not able to run the app #50

Open dino-sunny opened 4 years ago

dino-sunny commented 4 years ago
 Caused by: com.twilio.chat.ListenerException: Exception thrown by a listener. Your application might have a problem in listener implementation. Listeners must never throw uncaught exceptions. See 'Caused by:' below for more details.
    at java.lang.reflect.Constructor.newInstance0(Native Method)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
    at com.twilio.chat.internal.RethrowingForwarder$RethrowingProxy.invoke(RethrowingForwarder.java:123)
    at java.lang.reflect.Proxy.invoke(Proxy.java:1006)
    at $Proxy1.onClientSynchronization(Unknown Source)
    at com.twilio.chat.ChatClient$ChatClientListenerForwarder.setListener(ChatClient.java:837)
    at com.twilio.chat.ChatClient.setListener(ChatClient.java:534)
    at com.twilio.chatquickstart.QuickstartChatManager$6.onSuccess(QuickstartChatManager.java:317)
    at com.twilio.chatquickstart.QuickstartChatManager$6.onSuccess(QuickstartChatManager.java:314)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.twilio.chat.internal.RethrowingForwarder$RethrowingProxy.invoke(RethrowingForwarder.java:121)Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'com.twilio.chat.Channels com.twilio.chat.ChatClient.getChannels()' on a null object reference
    at com.twilio.chatquickstart.QuickstartChatManager.loadChannels(QuickstartChatManager.java:137)
    at com.twilio.chatquickstart.QuickstartChatManager.access$700(QuickstartChatManager.java:41)
    at com.twilio.chatquickstart.QuickstartChatManager$5.onClientSynchronization(QuickstartChatManager.java:251)
jefflinwood commented 4 years ago

Hi,

Were you able to get this to work? Does your Chat app connect to your token server successfully?

Thanks! Jeff

jefflinwood commented 3 years ago

I'm going to close this issue out, but please reopen it if you have some feedback. Thank you!

viveksinha121 commented 3 years ago

This issue still persists. Please help to run.

2021-01-09 22:01:19.650 12185-12185/com.guftgu E/AndroidRuntime: FATAL EXCEPTION: main Process: com.guftgu, PID: 12185 com.twilio.chat.ListenerException: Exception thrown by a listener. Your application might have a problem in listener implementation. Listeners must never throw uncaught exceptions. See 'Caused by:' below for more details. at java.lang.reflect.Constructor.newInstance0(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:430) at com.twilio.chat.internal.RethrowingForwarder$RethrowingProxy.invoke(RethrowingForwarder.java:123) at java.lang.reflect.Proxy.invoke(Proxy.java:813) at $Proxy0.onSuccess(Unknown Source) at com.twilio.chat.internal.CallbackListenerForwarder$1.run(CallbackListenerForwarder.java:34) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6119) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) Caused by: com.twilio.chat.ListenerException: Exception thrown by a listener. Your application might have a problem in listener implementation. Listeners must never throw uncaught exceptions. See 'Caused by:' below for more details. at java.lang.reflect.Constructor.newInstance0(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:430) at com.twilio.chat.internal.RethrowingForwarder$RethrowingProxy.invoke(RethrowingForwarder.java:123) at java.lang.reflect.Proxy.invoke(Proxy.java:813) at $Proxy1.onClientSynchronization(Unknown Source) at com.twilio.chat.internal.ChatClientListenerForwarder.addListener(ChatClientListenerForwarder.java:46) at com.twilio.chat.ChatClient.addListener(ChatClient.java:532) at com.guftgu.QuickstartChatManager$6.onSuccess(QuickstartChatManager.java:327) at com.guftgu.QuickstartChatManager$6.onSuccess(QuickstartChatManager.java:324) at java.lang.reflect.Method.invoke(Native Method) at com.twilio.chat.internal.RethrowingForwarder$RethrowingProxy.invoke(RethrowingForwarder.java:121) at java.lang.reflect.Proxy.invoke(Proxy.java:813)  at $Proxy0.onSuccess(Unknown Source)  at com.twilio.chat.internal.CallbackListenerForwarder$1.run(CallbackListenerForwarder.java:34)  at android.os.Handler.handleCallback(Handler.java:751)  at android.os.Handler.dispatchMessage(Handler.java:95)  at android.os.Looper.loop(Looper.java:154)  at android.app.ActivityThread.main(ActivityThread.java:6119)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)  Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'com.twilio.chat.Channels com.twilio.chat.ChatClient.getChannels()' on a null object reference at com.guftgu.QuickstartChatManager.loadChannels(QuickstartChatManager.java:138) at com.guftgu.QuickstartChatManager.access$700(QuickstartChatManager.java:42) at com.guftgu.QuickstartChatManager$5.onClientSynchronization(QuickstartChatManager.java:261) at java.lang.reflect.Method.invoke(Native Method) at com.twilio.chat.internal.RethrowingForwarder$RethrowingProxy.invoke(RethrowingForwarder.java:121) at java.lang.reflect.Proxy.invoke(Proxy.java:813)  at $Proxy1.onClientSynchronization(Unknown Source)  at com.twilio.chat.internal.ChatClientListenerForwarder.addListener(ChatClientListenerForwarder.java:46)  at com.twilio.chat.ChatClient.addListener(ChatClient.java:532)  at com.guftgu.QuickstartChatManager$6.onSuccess(QuickstartChatManager.java:327)  at com.guftgu.QuickstartChatManager$6.onSuccess(QuickstartChatManager.java:324)  at java.lang.reflect.Method.invoke(Native Method)  at com.twilio.chat.internal.RethrowingForwarder$RethrowingProxy.invoke(RethrowingForwarder.java:121)  at java.lang.reflect.Proxy.invoke(Proxy.java:813)  at $Proxy0.onSuccess(Unknown Source)  at com.twilio.chat.internal.CallbackListenerForwarder$1.run(CallbackListenerForwarder.java:34)  at android.os.Handler.handleCallback(Handler.java:751)  at android.os.Handler.dispatchMessage(Handler.java:95)  at android.os.Looper.loop(Looper.java:154)  at android.app.ActivityThread.main(ActivityThread.java:6119)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 

LennyDennis commented 3 years ago

Am also getting a similar error @jefflinwood. The app is able to connect to the server and retrieve the token successfully. It crashes shortly after.

jefflinwood commented 3 years ago

@LennyDennis are you getting a null pointer exception when it tries to access the ChatClient's channels as well?

Thanks!

LennyDennis commented 3 years ago

@jefflinwood Yes. Here is the error.

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'com.twilio.chat.Channels com.twilio.chat.ChatClient.getChannels()' on a null object reference at com.twilio.chatquickstart.QuickstartChatManager.loadChannels(QuickstartChatManager.java:137) at com.twilio.chatquickstart.QuickstartChatManager.access$700(QuickstartChatManager.java:41) at com.twilio.chatquickstart.QuickstartChatManager$5.onClientSynchronization(QuickstartChatManager.java:260) at java.lang.reflect.Method.invoke(Native Method) at com.twilio.chat.internal.RethrowingForwarder$RethrowingProxy.invoke(RethrowingForwarder.java:121) at java.lang.reflect.Proxy.invoke(Proxy.java:1006)  at $Proxy1.onClientSynchronization(Unknown Source)  at com.twilio.chat.internal.ChatClientListenerForwarder.addListener(ChatClientListenerForwarder.java:46)  at com.twilio.chat.ChatClient.addListener(ChatClient.java:532)  at com.twilio.chatquickstart.QuickstartChatManager$6.onSuccess(QuickstartChatManager.java:326)  at com.twilio.chatquickstart.QuickstartChatManager$6.onSuccess(QuickstartChatManager.java:323)  at java.lang.reflect.Method.invoke(Native Method)  at com.twilio.chat.internal.RethrowingForwarder$RethrowingProxy.invoke(RethrowingForwarder.java:121)  at java.lang.reflect.Proxy.invoke(Proxy.java:1006)  at $Proxy0.onSuccess(Unknown Source)  at com.twilio.chat.internal.CallbackListenerForwarder$1.run(CallbackListenerForwarder.java:34)  at android.os.Handler.handleCallback(Handler.java:873)  at android.os.Handler.dispatchMessage(Handler.java:99)  at android.os.Looper.loop(Looper.java:193)  at android.app.ActivityThread.main(ActivityThread.java:6669)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 

jefflinwood commented 3 years ago

Hi,

I think this was a race condition between setting the chat client as a member variable in the Chat Manager and setting the listener - I reversed the order of those two in

https://github.com/TwilioDevEd/chat-quickstart-android/pull/78

which is merged into master. Thanks for bringing this up, everyone!

LennyDennis commented 3 years ago

Thanks !

kosiara commented 2 years ago

I had a similar issue when using Flutter's https://pub.dev/packages/twilio_programmable_chat

The following series of calls caused native Android crash:

final chatClient = TwilioProgrammableChat.create();
final channel = await chatClient.channels.getChannel(chat.channel);
final messages = await channel.messages.getLastMessages(50);

I had to INSERT a useless delay to resolve this issue.

Future.delayed(Duration(milliseconds: 700), () async {
   final messages = channel.messages.getLastMessages(50);
}

the error was:

com.twilio.chat.ListenerException: Exception thrown by a listener. Your application might have a problem in listener implementation. Listeners must never throw uncaught exceptions. See 'Caused by:' below for more details.

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.twilio.chat.Messages.getLastMessages(int, com.twilio.chat.CallbackListener)' on a null object reference E/AndroidRuntime( 1663): at twilio.flutter.twilio_programmable_chat.methods.MessagesMethods$getLastMessages$1.onSuccess(MessagesMethods.kt:208)