Opened 6 months ago

Last modified 5 months ago

#2486 new defect

ANR I2PTunnel Android

Reported by: Meeh Owned by: Meeh
Priority: minor Milestone: undecided
Component: apps/android Version: 0.9.39
Keywords: Cc:
Parent Tickets: Sensitive: no

Description

"main" prio=5 tid=1 Blocked
  | group="main" sCount=1 dsCount=0 obj=0x75750568 self=0xb2d84400
  | sysTid=27032 nice=-4 cgrp=default sched=0/0 handle=0xb5bfe534
  | state=S schedstat=( 0 0 0 ) utm=4804 stm=695 core=4 HZ=100
  | stack=0xbe26e000-0xbe270000 stackSize=8MB
  | held mutexes=
  at net.i2p.client.impl.I2PSessionImpl.isClosed (I2PSessionImpl.java:1167)
- waiting to lock <0x04c4a58c> (a java.lang.Object) held by thread 115
  at net.i2p.i2ptunnel.TunnelController.getIsStandby (TunnelController.java:1090)
  at net.i2p.android.i2ptunnel.TunnelEntry.getStatus (TunnelEntry.java:106)
  at net.i2p.android.i2ptunnel.TunnelEntry.getStatusIcon (TunnelEntry.java:278)
  at net.i2p.android.i2ptunnel.TunnelEntryAdapter.onBindViewHolder (TunnelEntryAdapter.java:142)
  at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder (RecyclerView.java:6781)
  at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder (RecyclerView.java:6823)
  at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline (RecyclerView.java:5752)
  at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline (RecyclerView.java:6019)
  at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition (RecyclerView.java:5858)
  at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition (RecyclerView.java:5854)
  at android.support.v7.widget.LinearLayoutManager$LayoutState.next (LinearLayoutManager.java:2230)
  at android.support.v7.widget.LinearLayoutManager.layoutChunk (LinearLayoutManager.java:1557)
  at android.support.v7.widget.LinearLayoutManager.fill (LinearLayoutManager.java:1517)
  at android.support.v7.widget.LinearLayoutManager.onLayoutChildren (LinearLayoutManager.java:612)
  at android.support.v7.widget.RecyclerView.dispatchLayoutStep2 (RecyclerView.java:3924)
  at android.support.v7.widget.RecyclerView.dispatchLayout (RecyclerView.java:3641)
  at android.support.v7.widget.RecyclerView.onLayout (RecyclerView.java:4194)
  at android.view.View.layout (View.java:17573)
  at android.view.ViewGroup.layout (ViewGroup.java:5656)
  at android.widget.FrameLayout.layoutChildren (FrameLayout.java:323)
  at android.widget.FrameLayout.onLayout (FrameLayout.java:261)
  at android.view.View.layout (View.java:17573)
  at android.view.ViewGroup.layout (ViewGroup.java:5656)
  at android.support.v4.view.ViewPager.onLayout (ViewPager.java:1775)
  at android.view.View.layout (View.java:17573)
  at android.view.ViewGroup.layout (ViewGroup.java:5656)
  at android.widget.RelativeLayout.onLayout (RelativeLayout.java:1080)
  at android.view.View.layout (View.java:17573)
  at android.view.ViewGroup.layout (ViewGroup.java:5656)
  at android.support.v4.view.ViewPager.onLayout (ViewPager.java:1775)
  at android.view.View.layout (View.java:17573)
  at android.view.ViewGroup.layout (ViewGroup.java:5656)
  at android.widget.FrameLayout.layoutChildren (FrameLayout.java:323)
  at android.widget.FrameLayout.onLayout (FrameLayout.java:261)
  at android.view.View.layout (View.java:17573)
  at android.view.ViewGroup.layout (ViewGroup.java:5656)
  at android.widget.LinearLayout.setChildFrame (LinearLayout.java:1741)
  at android.widget.LinearLayout.layoutVertical (LinearLayout.java:1585)
  at android.widget.LinearLayout.onLayout (LinearLayout.java:1494)
  at android.view.View.layout (View.java:17573)
  at android.view.ViewGroup.layout (ViewGroup.java:5656)
  at android.widget.FrameLayout.layoutChildren (FrameLayout.java:323)
  at android.widget.FrameLayout.onLayout (FrameLayout.java:261)
  at android.view.View.layout (View.java:17573)
  at android.view.ViewGroup.layout (ViewGroup.java:5656)
  at android.widget.LinearLayout.setChildFrame (LinearLayout.java:1741)
  at android.widget.LinearLayout.layoutVertical (LinearLayout.java:1585)
  at android.widget.LinearLayout.onLayout (LinearLayout.java:1494)
  at android.view.View.layout (View.java:17573)
  at android.view.ViewGroup.layout (ViewGroup.java:5656)
  at android.widget.FrameLayout.layoutChildren (FrameLayout.java:323)
  at android.widget.FrameLayout.onLayout (FrameLayout.java:261)
  at android.view.View.layout (View.java:17573)
  at android.view.ViewGroup.layout (ViewGroup.java:5656)
  at android.widget.LinearLayout.setChildFrame (LinearLayout.java:1741)
  at android.widget.LinearLayout.layoutVertical (LinearLayout.java:1585)
  at android.widget.LinearLayout.onLayout (LinearLayout.java:1494)
  at android.view.View.layout (View.java:17573)
  at android.view.ViewGroup.layout (ViewGroup.java:5656)
  at android.widget.FrameLayout.layoutChildren (FrameLayout.java:323)
  at android.widget.FrameLayout.onLayout (FrameLayout.java:261)
  at com.android.internal.policy.DecorView.onLayout (DecorView.java:755)
  at android.view.View.layout (View.java:17573)
  at android.view.ViewGroup.layout (ViewGroup.java:5656)
  at android.view.ViewRootImpl.performLayout (ViewRootImpl.java:2422)
  at android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:2142)
  at android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1299)
  at android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:6558)
  at android.view.Choreographer$CallbackRecord.run (Choreographer.java:871)
  at android.view.Choreographer.doCallbacks (Choreographer.java:683)
  at android.view.Choreographer.doFrame (Choreographer.java:619)
  at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:857)
  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:6316)
  at java.lang.reflect.Method.invoke! (Native method)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:872)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:762)

Subtickets

Change History (3)

comment:1 Changed 6 months ago by zzz

possibly related: #2491

comment:2 Changed 6 months ago by zzz

This is just a simple wait for the state lock. In some cases it could take a while but it shouldn't. See I2PSessionImpl. We don't have the stack trace for the thread holding the lock so this could be difficult to diagnose.

comment:3 Changed 5 months ago by Meeh

Okay so what do we do here as next step?

Note: See TracTickets for help on using tickets.