Opened 3 months ago

Closed 6 weeks ago

#2595 closed defect (fixed)

ANR: executing service net.i2p.android/.router.service.RouterService

Reported by: Meeh Owned by: zzz
Priority: minor Milestone: 0.9.43
Component: apps/android Version: 0.9.41
Keywords: Cc: zzz, idk
Parent Tickets: Sensitive: no

Description

"main" prio=5 tid=1 Native
  | group="main" sCount=1 dsCount=0 obj=0x73ba8e40 self=0xb840f290
  | sysTid=27002 nice=0 cgrp=default sched=0/0 handle=0xb6efbc00
  | state=D schedstat=( 0 0 0 ) utm=91 stm=75 core=3 HZ=100
  | stack=0xbe2be000-0xbe2c0000 stackSize=8MB
  | held mutexes=
  at libcore.io.Posix.rename (Native method)
  at libcore.io.BlockGuardOs.rename (BlockGuardOs.java:260)
  at java.io.File.renameTo (File.java:1029)
  at android.app.SharedPreferencesImpl.writeToFile (SharedPreferencesImpl.java:580)
  at android.app.SharedPreferencesImpl.-wrap2 (SharedPreferencesImpl.java)
  at android.app.SharedPreferencesImpl$2.run (SharedPreferencesImpl.java:515)
- locked <0x06ea77b8> (a java.lang.Object)
  at android.app.SharedPreferencesImpl.enqueueDiskWrite (SharedPreferencesImpl.java:536)
  at android.app.SharedPreferencesImpl.-wrap0 (SharedPreferencesImpl.java)
  at android.app.SharedPreferencesImpl$EditorImpl.commit (SharedPreferencesImpl.java:458)
  at net.i2p.android.router.service.RouterService.saveState (RouterService.java:804)
  at net.i2p.android.router.service.RouterService.setState (RouterService.java:786)
  at net.i2p.android.router.service.RouterService.onStartCommand (RouterService.java:160)
- locked <0x029f3991> (a java.lang.Object)
  at android.app.ActivityThread.handleServiceArgs (ActivityThread.java:3011)
  at android.app.ActivityThread.-wrap17 (ActivityThread.java)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1443)
  at android.os.Handler.dispatchMessage (Handler.java:102)
  at android.os.Looper.loop (Looper.java:148)
  at android.app.ActivityThread.main (ActivityThread.java:5452)
  at java.lang.reflect.Method.invoke! (Native method)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:781)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:671)

Subtickets

#2632: ANR: executing service net.i2p.android/.router.service.RouterServiceclosedmeeh

Change History (4)

comment:1 Changed 3 months ago by zzz

The fix would be to thread the state saving to get the I/O out of the UI thread. We have a similar dilemma over in i2ptunnel, where we're unsure whether to wait at all, wait for a while, or wait forever… and how to ensure consistency.

comment:2 Changed 6 weeks ago by zzz

Milestone: undecided0.9.43
Owner: changed from Meeh to zzz
Status: newaccepted

comment:3 Changed 6 weeks ago by zzz

Add a subticket #2632 (ANR: executing service net.i2p.android/.router.service.RouterService?).

comment:4 Changed 6 weeks ago by zzz

Resolution: fixed
Status: acceptedclosed
Note: See TracTickets for help on using tickets.