Libtorrent: [Stack Overflow] libtorrent::natpmp::update_mapping

Created on 1 Dec 2016  路  28Comments  路  Source: arvidn/libtorrent

https://drdump.com/Problem.aspx?ProblemID=249669&login=guest

flylinkdc_x64!libtorrent::natpmp::update_mapping+0x1fb

Repeated 10726 times:
flylinkdc_x64!libtorrent::natpmp::update_mapping+0x200

flylinkdc_x64!libtorrent::natpmp::mapping_expired+0x4f
flylinkdc_x64!boost::asio::detail::wait_handler,std::_Ph<1> const & __ptr64,int & __ptr64> >::do_complete+0xd2
flylinkdc_x64!boost::asio::detail::win_iocp_io_service::do_one+0x25d
flylinkdc_x64!boost::asio::detail::win_iocp_io_service::run+0xba
flylinkdc_x64!std::_LaunchPad >,std::default_delete > > > >::_Run+0x91
flylinkdc_x64!std::_Pad::_Call_func+0x9

2016-12-01_11-38-05

All 28 comments

2016-12-01_12-48-44

is this something you can reproduce consistently?

No :-( only .dmp file
2016-12-01_22-32-31

I see in the diffs that previously there was a mutex involved all over the place, but I'm not familiar with this part , can't say anything else.

It looks like we could get infinite recursion here if m.act != mapping_t::action::none && m.protocol == portmap_protocol::none is true for a mapping, which you can see if the case in the second screenshot. That can cause natpmp::update_mapping and natpmp::try_next_mapping to call each other in a recursive loop. It looks like natpmp::disable can put a mapping into that state. What does the bottom of the call stack look like? What's the state of the m_disabled?

@ssiloti
default

new call stack (VC++2017 + libtorrent-git-master)
https://drdump.com/Problem.aspx?ProblemID=286500&login=guest
help?

default

Just showing the infinite recursion portion of the call stack doesn't help, I need to see the calls that lead up to the recursion.

From time to time I get this error in android, it's UPnP but it looks very similar, an infinite recursion

backtrace:
    #00 pc 00314d0c  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZNSt6__ndk110shared_ptrIN10libtorrent4upnpEEC2IS2_EERKNS_8weak_ptrIT_EENS_9enable_ifIXsr14is_convertibleIPS6_PS2_EE5valueENS3_5__natEE4typeE)
    #01 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #02 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #03 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #04 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #05 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #06 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #07 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #08 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #09 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #10 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #11 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #12 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #13 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #14 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #15 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #16 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #17 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #18 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #19 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #20 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #21 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #22 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #23 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #24 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #25 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #26 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #27 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #28 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #29 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #30 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #31 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #32 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #33 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #34 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #35 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #36 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #37 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #38 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #39 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #40 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #41 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #42 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #43 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #44 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #45 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #46 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #47 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #48 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #49 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #50 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #51 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #52 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #53 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #54 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #55 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #56 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #57 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #58 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #59 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #60 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #61 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #62 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
    #63 pc 00310e58  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)

In the case of upnp I don't see how that could happen. act is always set to none before a recursive call is made which should prevent the mapping from being picked again.

@ssiloti
natpmp::update_mapping and natpmp::try_next_mapping - top list of crash-dumps
https://drdump.com/AppVersion.aspx?AppVersionID=3636&login=guest

help?

https://drdump.com/Problem.aspx?ProblemID=286500&login=guest

default

according to dump update_mapping called from two places:
c++ flylinkdc!libtorrent::natpmp::try_next_mapping+0x28 // update_mapping(i + 1); .... flylinkdc!libtorrent::natpmp::try_next_mapping+0xb4 // update_mapping(int(m - m_mappings.begin()));

i persume problem in this line:
````c++
void natpmp::try_next_mapping(int const i)
...
auto const m = std::find_if(
m_mappings.begin(), m_mappings.end()
, [] (mapping_t const& ma) { return ma.act != mapping_t::action::none; });

may be it should contain: c++
return ma.act != mapping_t::action::none && ma.protocol != portmap_protocol::none;
````

watch m_mappings[4]
default

as far as i understand "protocol" was assigned to "portmap_protocol::none", but "act" was not cleared and triggered infinite recursion. it could be fixed by changing std::find_if or by finding all places that makes "protocol = portmap_protocol::none" and adding "act = mapping_t::action::none"

@ajax16384 thanks


  1. default

2.
default

default

?

changes in natpmp::on_reply will skip this "if (m->act == mapping_t::action::add)" condition but it's ok

The data doesn't provide any new information. If always setting act to none solves the problem I'd just go with what.

i guess @pavel-pimenov will collect new crash dump stat with workaround and show if recursion is gone

@pavel-pimenov do you have a patch or PR?

both "std::find_if" and "set_none" changes should be applied

is this problem believed to only affect master? i.e. not RC_1_1?

I believe the std::find_if fix is the only thing necessary. This is a fix for RC_1_1: https://github.com/arvidn/libtorrent/pull/2012

BTW upnp does not suffer from same error (even it has similar find_if pattern) cause it "fix" (act!=none && protocol==none):

c++ void natpmp::update_mapping(int const i) ... if (m.act == mapping_t::action::none || m.protocol == portmap_protocol::none) { try_next_mapping(i); return; }
c++ void upnp::update_map(rootdevice& d, int const i) .... if (m.act == mapping_t::action::none || m.protocol == portmap_protocol::none) { ... m.act = mapping_t::action::none; // << fix possible recursion cause next(d, i); return; }

I believe this is fixed now

something still broken w/upnp-mappings, getting about 1000 crashes every 24 hours (android), they look like this:

backtrace:
  native: pc 000000000031726c  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZNSt6__ndk110shared_ptrIN10libtorrent4upnpEEC2IS2_EERKNS_8weak_ptrIT_EENS_9enable_ifIXsr14is_convertibleIPS6_PS2_EE5valueENS3_5__natEE4typeE)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)
  native: pc 00000000003133b8  /data/app/com.frostwire.android-2/lib/arm/libjlibtorrent.so (_ZN10libtorrent4upnp10update_mapERNS0_10rootdeviceEi+124)

@arvidn reopen issue :-( new crash dump:
https://drdump.com/Problem.aspx?ProblemID=303960&login=guest

I don't see any way the upnp code could get into an infinite recursion which would produce that stack trace. Without a more detailed dump I don't think there's any hope of solving that one.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

dessalines picture dessalines  路  7Comments

ctlaltdefeat picture ctlaltdefeat  路  15Comments

peter279k picture peter279k  路  8Comments

FranciscoPombal picture FranciscoPombal  路  5Comments

masudr4n4 picture masudr4n4  路  6Comments