murat8505 / android-xbmcremote

Automatically exported from code.google.com/p/android-xbmcremote
0 stars 0 forks source link

Can't create handler inside thread that has not called Looper.prepare() #2

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Play song
2. Wait for the "Now playing" activity to start displaying any data about
the current song

What is the expected output? What do you see instead?
It crashes with attached log

What version of the product are you using? On what operating system?
svn revision 83
.

Original issue reported on code.google.com by sop...@gmail.com on 13 Sep 2009 at 9:27

Attachments:

GoogleCodeExporter commented 9 years ago
I can reproduce it, if android has no network connection.

Original comment by joscha.h...@gmail.com on 21 Sep 2009 at 9:28

GoogleCodeExporter commented 9 years ago
Provided a patch for the android no network connection cause in Issue #6

Original comment by yolanot...@gmail.com on 24 Sep 2009 at 3:22

GoogleCodeExporter commented 9 years ago

Original comment by Tobias.A...@gmail.com on 29 Sep 2009 at 1:14

GoogleCodeExporter commented 9 years ago
Actually, this sort of seems to be happening again:

11-27 19:58:54.955 I/Connection( 3433): DONE: 79ms (GetCurrentlyPlaying())
11-27 19:58:55.495 D/BATTERY_STAT( 2828): android.content.Intent
11-27 19:58:55.535 D/WifiService( 2605): ACTION_BATTERY_CHANGED pluggedType: 0
11-27 19:58:56.010 I/Connection( 3433): START:
http://xbmc@192.168.1.117:8080/xbmcCmds/xbmcHttp?command=GetCurrentlyPlaying()
11-27 19:58:56.075 I/global  ( 3433): Default buffer size used in BufferedReader
constructor. It would be better to be explicit if an 8k-char buffer is required.
11-27 19:58:56.075 I/Connection( 3433): DONE: 66ms (GetCurrentlyPlaying())
11-27 19:58:57.130 I/Connection( 3433): START:
http://xbmc@192.168.1.117:8080/xbmcCmds/xbmcHttp?command=GetCurrentlyPlaying()
11-27 19:58:57.315 I/global  ( 3433): Default buffer size used in BufferedReader
constructor. It would be better to be explicit if an 8k-char buffer is required.
11-27 19:58:57.315 I/Connection( 3433): DONE: 184ms (GetCurrentlyPlaying())
11-27 19:58:58.357 I/Connection( 3433): START:
http://xbmc@192.168.1.117:8080/xbmcCmds/xbmcHttp?command=GetCurrentlyPlaying()
11-27 19:58:58.545 I/global  ( 3433): Default buffer size used in BufferedReader
constructor. It would be better to be explicit if an 8k-char buffer is required.
11-27 19:58:58.545 I/Connection( 3433): DONE: 190ms (GetCurrentlyPlaying())
11-27 19:58:59.590 I/Connection( 3433): START:
http://xbmc@192.168.1.117:8080/xbmcCmds/xbmcHttp?command=GetCurrentlyPlaying()
11-27 19:58:59.925 D/dalvikvm( 3433): GC(0) freed 7475 objects / 511320 bytes 
in 153ms
11-27 19:58:59.925 I/global  ( 3433): Default buffer size used in BufferedReader
constructor. It would be better to be explicit if an 8k-char buffer is required.
11-27 19:58:59.935 I/Connection( 3433): DONE: 341ms (GetCurrentlyPlaying())
11-27 19:59:01.030 I/Connection( 3433): START:
http://xbmc@192.168.1.117:8080/xbmcCmds/xbmcHttp?command=GetCurrentlyPlaying()
11-27 19:59:02.125 I/global  ( 3433): Default buffer size used in BufferedReader
constructor. It would be better to be explicit if an 8k-char buffer is required.
11-27 19:59:02.125 I/Connection( 3433): DONE: 1099ms (GetCurrentlyPlaying())
11-27 19:59:03.180 I/Connection( 3433): START:
http://xbmc@192.168.1.117:8080/xbmcCmds/xbmcHttp?command=GetCurrentlyPlaying()
11-27 19:59:04.585 I/global  ( 3433): Default buffer size used in BufferedReader
constructor. It would be better to be explicit if an 8k-char buffer is required.
11-27 19:59:04.585 I/Connection( 3433): DONE: 1403ms (GetCurrentlyPlaying())
11-27 19:59:05.215 D/dalvikvm( 2885): GC(1) freed 2988 objects / 783008 bytes 
in 152ms
11-27 19:59:05.626 I/Connection( 3433): START:
http://xbmc@192.168.1.117:8080/xbmcCmds/xbmcHttp?command=GetCurrentlyPlaying()
11-27 19:59:10.245 D/dalvikvm( 2903): GC(1) freed 8213 objects / 368616 bytes 
in 164ms
11-27 19:59:15.225 D/dalvikvm( 2729): GC(1) freed 835 objects / 45472 bytes in 
136ms
11-27 19:59:15.815 W/System.err( 3433): java.net.SocketTimeoutException: The
operation timed out
11-27 19:59:15.815 W/System.err( 3433): at
org.apache.harmony.luni.net.PlainSocketImpl.read(PlainSocketImpl.java:557)
11-27 19:59:15.815 W/System.err( 3433): at
org.apache.harmony.luni.net.SocketInputStream.read(SocketInputStream.java:61)
11-27 19:59:15.815 W/System.err( 3433): at
org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.readln(
HttpURLConnection.java:1181)
11-27 19:59:15.815 W/System.err( 3433): at
org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.readSer
verResponse(HttpURLConnection.java:1253)
11-27 19:59:15.815 W/System.err( 3433): at
org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.sendReq
uest(HttpURLConnection.java:1241)
11-27 19:59:15.815 W/System.err( 3433): at
org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.doReque
stInternal(HttpURLConnection.java:1554)
11-27 19:59:15.815 W/System.err( 3433): at
org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.doReque
st(HttpURLConnection.java:1547)
11-27 19:59:15.815 W/System.err( 3433): at
org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.getInpu
tStream(HttpURLConnection.java:1055)
11-27 19:59:15.815 W/System.err( 3433): at
org.xbmc.httpapi.Connection.query(Connection.java:131)
11-27 19:59:15.815 W/System.err( 3433): at
org.xbmc.httpapi.Connection.getPairs(Connection.java:251)
11-27 19:59:15.815 W/System.err( 3433): at
org.xbmc.httpapi.Connection.getPairs(Connection.java:271)
11-27 19:59:15.815 W/System.err( 3433): at
org.xbmc.httpapi.client.ControlClient.getCurrentlyPlaying(ControlClient.java:263
)
11-27 19:59:15.815 W/System.err( 3433): at
org.xbmc.android.backend.httpapi.NowPlayingPollerThread.run(NowPlayingPollerThre
ad.java:141)
11-27 19:59:15.825 W/dalvikvm( 3433): threadid=19: thread exiting with uncaught
exception (group=0x4001a218)
11-27 19:59:15.825 E/AndroidRuntime( 3433): Uncaught handler: thread Thread-10
exiting due to uncaught exception
11-27 19:59:15.825 E/AndroidRuntime( 3433): java.lang.RuntimeException: Can't 
create
handler inside thread that has not called Looper.prepare()
11-27 19:59:15.825 E/AndroidRuntime( 3433): at
android.os.Handler.<init>(Handler.java:121)
11-27 19:59:15.825 E/AndroidRuntime( 3433): at 
android.app.Dialog.<init>(Dialog.java:99)
11-27 19:59:15.825 E/AndroidRuntime( 3433): at
android.app.AlertDialog.<init>(AlertDialog.java:63)
11-27 19:59:15.825 E/AndroidRuntime( 3433): at
android.app.AlertDialog.<init>(AlertDialog.java:59)
11-27 19:59:15.825 E/AndroidRuntime( 3433): at
android.app.AlertDialog$Builder.create(AlertDialog.java:786)
11-27 19:59:15.825 E/AndroidRuntime( 3433): at
org.xbmc.android.util.ErrorHandler.handle(ErrorHandler.java:154)
11-27 19:59:15.825 E/AndroidRuntime( 3433): at
org.xbmc.httpapi.Connection.query(Connection.java:155)
11-27 19:59:15.825 E/AndroidRuntime( 3433): at
org.xbmc.httpapi.Connection.getPairs(Connection.java:251)
11-27 19:59:15.825 E/AndroidRuntime( 3433): at
org.xbmc.httpapi.Connection.getPairs(Connection.java:271)
11-27 19:59:15.825 E/AndroidRuntime( 3433): at
org.xbmc.httpapi.client.ControlClient.getCurrentlyPlaying(ControlClient.java:263
)
11-27 19:59:15.825 E/AndroidRuntime( 3433): at
org.xbmc.android.backend.httpapi.NowPlayingPollerThread.run(NowPlayingPollerThre
ad.java:141)
11-27 19:59:15.845 I/Process ( 2605): Sending signal. PID: 3433 SIG: 3
11-27 19:59:15.845 I/dalvikvm( 3433): threadid=7: reacting to signal 3
11-27 19:59:15.885 I/dalvikvm( 3433): Wrote stack trace to 
'/data/anr/traces.txt'
11-27 19:59:20.375 D/dalvikvm( 3068): GC(1) freed 1952 objects / 105280 bytes 
in 278ms
11-27 19:59:20.895 I/Process ( 3433): Sending signal. PID: 3433 SIG: 9
11-27 19:59:20.915 I/ActivityManager( 2605): Process org.xbmc.android.remote 
(pid
3433) has died.
11-27 19:59:20.925 I/WindowManager( 2605): WIN DEATH: Window{43c37ca0
org.xbmc.android.remote/org.xbmc.android.remote.activity.NowPlayingActivity 
paused=false}
11-27 19:59:21.045 W/InputManagerService( 2605): Got RemoteException sending
setActive(false) notification to pid 3433 uid 10068
11-27 19:59:29.415 D/dalvikvm( 2806): GC(1) freed 146 objects / 8304 bytes in 
240ms
11-27 19:59:30.475 I/ActivityManager( 2605): Starting activity: Intent {
action=android.intent.action.MAIN categories={android.intent.category.LAUNCHER}
flags=0x10200000
comp={com.xtralogic.android.logcollector/com.xtralogic.android.logcollector.Send
LogActivity}
}
11-27 19:59:30.585 I/ActivityManager( 2605): Start proc
com.xtralogic.android.logcollector for activity
com.xtralogic.android.logcollector/.SendLogActivity: pid=3442 uid=10037 
gids={1007}
11-27 19:59:31.155 I/ActivityManager( 2605): Displayed activity
com.xtralogic.android.logcollector/.SendLogActivity: 679 ms
11-27 19:59:32.205 I/global  ( 3442): Default buffer size used in BufferedReader
constructor. It would be better to be explicit if an 8k-char buffer is required.

This is a network connection, although it seems my XBMC is very unstable when 
using
the remote so it will shut down the port or something similar. Anyway, 
xbmcremote
shouldn't crash because of this.

Original comment by sop...@gmail.com on 27 Nov 2009 at 7:52

GoogleCodeExporter commented 9 years ago
This seems to happen randomly, but fairly often. Its always in the "now playing"
activity. My XBMC is 9.11 Beta 1 Alpha 1 I think on linux.

Original comment by sop...@gmail.com on 27 Nov 2009 at 7:53

GoogleCodeExporter commented 9 years ago
Could you try on latest build?
A lot of effort is going into error handling at the moment 

Original comment by mukkenb...@gmail.com on 27 Nov 2009 at 9:03