Not able to receive crash reports in Acralyzer from ACRA

572 Views Asked by At

Below I have given all the crash logs printed in Logcat. I am crashing the app with the below code on a button's onclicklistener. The server is running and the device and server are in same wifi network.

throw new RuntimeException("This is a crash");

I went throught the installation twice for Acralyzer and couldn't find my mistake. And I am hosting the server my own laptop.

If anyone need any more details I am willing to post it. All the server related details I used as a guide is here There is no reports displayed in server as well.

Logcat Logs

E/ACRA: ACRA caught a RuntimeException for com.example.sys.myapplication
        java.lang.RuntimeException: This is a crash
            at com.example.sys.myapplication.MainActivity$3.onClick(MainActivity.java:111)
            at android.view.View.performClick(View.java:5207)
            at android.view.View$PerformClick.run(View.java:21168)
            at android.os.Handler.handleCallback(Handler.java:746)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:148)
            at android.app.ActivityThread.main(ActivityThread.java:5443)
            at java.lang.reflect.Method.invoke(Native Method)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
E/AndroidRuntime: FATAL EXCEPTION: main
                  Process: com.example.sys.myapplication, PID: 16543
                  java.lang.RuntimeException: This is a crash
                      at com.example.sys.myapplication.MainActivity$3.onClick(MainActivity.java:111)
                      at android.view.View.performClick(View.java:5207)
                      at android.view.View$PerformClick.run(View.java:21168)
                      at android.os.Handler.handleCallback(Handler.java:746)
                      at android.os.Handler.dispatchMessage(Handler.java:95)
                      at android.os.Looper.loop(Looper.java:148)
                      at android.app.ActivityThread.main(ActivityThread.java:5443)
                      at java.lang.reflect.Method.invoke(Native Method)
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
W/System: ClassLoader referenced unknown path: /data/app/com.example.sys.myapplication-2/lib/arm
W/System: ClassLoader referenced unknown path: /data/app/com.example.sys.myapplication-2/lib/arm
E/InstantRun: IO Error creating local socket at com.example.sys.myapplication
              java.io.IOException: Address already in use
                  at android.net.LocalSocketImpl.bindLocal(Native Method)
                  at android.net.LocalSocketImpl.bind(LocalSocketImpl.java:309)
                  at android.net.LocalServerSocket.<init>(LocalServerSocket.java:48)
                  at com.android.tools.fd.runtime.Server.<init>(Server.java:94)
                  at com.android.tools.fd.runtime.Server.create(Server.java:88)
                  at com.android.tools.fd.runtime.BootstrapApplication.onCreate(BootstrapApplication.java:315)
                  at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1036)
                  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4728)
                  at android.app.ActivityThread.-wrap1(ActivityThread.java)
                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1415)
                  at android.os.Handler.dispatchMessage(Handler.java:102)
                  at android.os.Looper.loop(Looper.java:148)
                  at android.app.ActivityThread.main(ActivityThread.java:5443)
                  at java.lang.reflect.Method.invoke(Native Method)
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
I/ACRA: Sending report /data/user/0/com.example.sys.myapplication/app_ACRA-approved/2016-05-05T18:44:37.046+05:30.stacktrace
E/ACRA: Failed to send crash report for /data/user/0/com.example.sys.myapplication/app_ACRA-approved/2016-05-05T18:44:37.046+05:30.stacktrace
        org.acra.sender.ReportSenderException: Error while sending JSON report via Http POST
            at org.acra.sender.HttpSender.send(HttpSender.java:236)
            at org.acra.sender.ReportDistributor.sendCrashReport(ReportDistributor.java:102)
            at org.acra.sender.ReportDistributor.distribute(ReportDistributor.java:70)
            at org.acra.sender.SenderService.onHandleIntent(SenderService.java:69)
            at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:66)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:148)
            at android.os.HandlerThread.run(HandlerThread.java:61)
         Caused by: java.net.SocketTimeoutException: failed to connect to /192.168.1.15 (port 5984) after 5000ms
            at libcore.io.IoBridge.connectErrno(IoBridge.java:169)
            at libcore.io.IoBridge.connect(IoBridge.java:122)
            at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:183)
            at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:452)
            at java.net.Socket.connect(Socket.java:884)
            at com.android.okhttp.internal.Platform.connectSocket(Platform.java:117)
            at com.android.okhttp.internal.http.SocketConnector.connectRawSocket(SocketConnector.java:160)
            at com.android.okhttp.internal.http.SocketConnector.connectCleartext(SocketConnector.java:67)
            at com.android.okhttp.Connection.connect(Connection.java:152)
            at com.android.okhttp.Connection.connectAndSetOwner(Connection.java:185)
            at com.android.okhttp.OkHttpClient$1.connectAndSetOwner(OkHttpClient.java:128)
            at com.android.okhttp.internal.http.HttpEngine.nextConnection(HttpEngine.java:341)
            at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:330)
            at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:248)
            at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:437)
            at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:114)
            at org.acra.util.HttpRequest.send(HttpRequest.java:142)
            at org.acra.sender.HttpSender.send(HttpSender.java:233)
            at org.acra.sender.ReportDistributor.sendCrashReport(ReportDistributor.java:102) 
            at org.acra.sender.ReportDistributor.distribute(ReportDistributor.java:70) 
            at org.acra.sender.SenderService.onHandleIntent(SenderService.java:69) 
            at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:66) 
            at android.os.Handler.dispatchMessage(Handler.java:102) 
            at android.os.Looper.loop(Looper.java:148) 
            at android.os.HandlerThread.run(HandlerThread.java:61) 
I/ACRA: Sending report /data/user/0/com.example.sys.myapplication/app_ACRA-approved/2016-05-05T19:02:07.897+05:30.stacktrace
E/ACRA: Failed to send crash report for /data/user/0/com.example.sys.myapplication/app_ACRA-approved/2016-05-05T19:02:07.897+05:30.stacktrace
        org.acra.sender.ReportSenderException: Error while sending JSON report via Http POST
            at org.acra.sender.HttpSender.send(HttpSender.java:236)
            at org.acra.sender.ReportDistributor.sendCrashReport(ReportDistributor.java:102)
            at org.acra.sender.ReportDistributor.distribute(ReportDistributor.java:70)
            at org.acra.sender.SenderService.onHandleIntent(SenderService.java:69)
            at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:66)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:148)
            at android.os.HandlerThread.run(HandlerThread.java:61)
         Caused by: java.net.SocketTimeoutException: failed to connect to /192.168.1.15 (port 5984) after 5000ms
            at libcore.io.IoBridge.connectErrno(IoBridge.java:169)
            at libcore.io.IoBridge.connect(IoBridge.java:122)
            at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:183)
            at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:452)
            at java.net.Socket.connect(Socket.java:884)
            at com.android.okhttp.internal.Platform.connectSocket(Platform.java:117)
            at com.android.okhttp.internal.http.SocketConnector.connectRawSocket(SocketConnector.java:160)
            at com.android.okhttp.internal.http.SocketConnector.connectCleartext(SocketConnector.java:67)
            at com.android.okhttp.Connection.connect(Connection.java:152)
            at com.android.okhttp.Connection.connectAndSetOwner(Connection.java:185)
            at com.android.okhttp.OkHttpClient$1.connectAndSetOwner(OkHttpClient.java:128)
            at com.android.okhttp.internal.http.HttpEngine.nextConnection(HttpEngine.java:341)
            at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:330)
            at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:248)
            at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:437)
            at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:114)
            at org.acra.util.HttpRequest.send(HttpRequest.java:142)
            at org.acra.sender.HttpSender.send(HttpSender.java:233)
            at org.acra.sender.ReportDistributor.sendCrashReport(ReportDistributor.java:102) 
            at org.acra.sender.ReportDistributor.distribute(ReportDistributor.java:70) 
            at org.acra.sender.SenderService.onHandleIntent(SenderService.java:69) 
            at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:66) 
            at android.os.Handler.dispatchMessage(Handler.java:102) 
            at android.os.Looper.loop(Looper.java:148) 
            at android.os.HandlerThread.run(HandlerThread.java:61) 
I/ACRA: Sending report /data/user/0/com.example.sys.myapplication/app_ACRA-approved/2016-05-05T19:03:58.007+05:30.stacktrace
E/ACRA: Failed to send crash report for /data/user/0/com.example.sys.myapplication/app_ACRA-approved/2016-05-05T19:03:58.007+05:30.stacktrace
        org.acra.sender.ReportSenderException: Error while sending JSON report via Http POST
            at org.acra.sender.HttpSender.send(HttpSender.java:236)
            at org.acra.sender.ReportDistributor.sendCrashReport(ReportDistributor.java:102)
            at org.acra.sender.ReportDistributor.distribute(ReportDistributor.java:70)
            at org.acra.sender.SenderService.onHandleIntent(SenderService.java:69)
            at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:66)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:148)
            at android.os.HandlerThread.run(HandlerThread.java:61)
         Caused by: java.net.SocketTimeoutException: failed to connect to /192.168.1.15 (port 5984) after 5000ms
            at libcore.io.IoBridge.connectErrno(IoBridge.java:169)
            at libcore.io.IoBridge.connect(IoBridge.java:122)
            at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:183)
            at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:452)
            at java.net.Socket.connect(Socket.java:884)
            at com.android.okhttp.internal.Platform.connectSocket(Platform.java:117)
            at com.android.okhttp.internal.http.SocketConnector.connectRawSocket(SocketConnector.java:160)
            at com.android.okhttp.internal.http.SocketConnector.connectCleartext(SocketConnector.java:67)
            at com.android.okhttp.Connection.connect(Connection.java:152)
            at com.android.okhttp.Connection.connectAndSetOwner(Connection.java:185)
            at com.android.okhttp.OkHttpClient$1.connectAndSetOwner(OkHttpClient.java:128)
            at com.android.okhttp.internal.http.HttpEngine.nextConnection(HttpEngine.java:341)
            at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:330)
            at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:248)
            at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:437)
            at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:114)
            at org.acra.util.HttpRequest.send(HttpRequest.java:142)
            at org.acra.sender.HttpSender.send(HttpSender.java:233)
            at org.acra.sender.ReportDistributor.sendCrashReport(ReportDistributor.java:102) 
            at org.acra.sender.ReportDistributor.distribute(ReportDistributor.java:70) 
            at org.acra.sender.SenderService.onHandleIntent(SenderService.java:69) 
            at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:66) 
            at android.os.Handler.dispatchMessage(Handler.java:102) 
            at android.os.Looper.loop(Looper.java:148) 
            at android.os.HandlerThread.run(HandlerThread.java:61) 
I/ACRA: Sending report /data/user/0/com.example.sys.myapplication/app_ACRA-approved/2016-05-05T19:20:27.024+05:30.stacktrace
2

There are 2 best solutions below

1
F43nd1r On BEST ANSWER

The log is pretty clear:

java.net.SocketTimeoutException: failed to connect to /192.168.1.15 (port 5984)

ACRA can't reach the server.

You can check if you can reach the server from a normal mobile browser to identify the problems location.

1
Vishal On

For those who might struggle with the same issue, here's what I did. Couchdb by default listens only to the localhost. You can enable listening for remote device or other systems by setting from bind_address = 127.0.0.1 to bind_address = 0.0.0.0. The files can be found under C:\Program Files (x86)\Apache Software Foundation\CouchDB\etc\couchdb, default.ini and local.ini. Check in both as for me it was default.ini and local.ini file had it commented out. local.ini file settings will override default.ini file as stated in documentation of local.ini file.

btw this didn't solve my entire problem yet. Now I am able to send the request to the server. But the Acralyzer Dashboard shows no details of the inserted data. And I am not sure yet whether the data is inserted correctly or not.