Opened 11 months ago

Last modified 11 months ago

#6198 new defect

Native crash in FilterEngine.matches()

Reported by: asmirnov Assignee:
Priority: P2 Milestone:
Module: Libadblockplus-Android Keywords:
Cc: sergz Blocked By:
Blocking: Platform: Android
Ready: no Confidential: no
Tester: Unknown Verified working: no
Review URL(s):

Description (last modified by asmirnov)

Environment

Android 7.x devices.
Partner device and stacktrace.

How to reproduce

"the app crashed when I enabled the adblock settings. and I open some url from our browser quickly"

...

Observed behaviour

The app crashes

Expected behaviour

The app does not crash.

Attachments (2)

stacktrace.txt (2.7 KB) - added by asmirnov 11 months ago.
WechatIMG106.png (58.7 KB) - added by asmirnov 11 months ago.
seems like it's same issue

Download all attachments as: .zip

Change History (7)

Changed 11 months ago by asmirnov

comment:1 Changed 11 months ago by asmirnov

  • Description modified (diff)

comment:2 Changed 11 months ago by asmirnov

Actually it's catched by CATCH_THROW_AND_RETURN(env, 0) in https://github.com/adblockplus/libadblockplus-android/blob/master/libadblockplus-android/jni/JniFilterEngine.cpp#L338 or https://github.com/adblockplus/libadblockplus-android/blob/master/libadblockplus-android/jni/JniFilterEngine.cpp#L299.

This is how it works:

#define CATCH_THROW_AND_RETURN(jEnv, retVal) \
  catch (const std::exception& except) \
  { \
    JniThrowException(jEnv, except); \
    return retVal; \
  } \
  catch (...) \
  { \
    JniThrowException(jEnv); \
    return retVal; \
  }

So something is cached by catch(...):
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------

Last edited 11 months ago by asmirnov (previous) (diff)

comment:3 Changed 11 months ago by asmirnov

  • Cc sergz added

comment:4 Changed 11 months ago by asmirnov

  • Description modified (diff)

comment:5 Changed 11 months ago by asmirnov

ACCESS_WIFI_STATE and ACCESS_NETWORK_STATE permissions are requested AndroidManifest.xml

Changed 11 months ago by asmirnov

seems like it's same issue

Note: See TracTickets for help on using tickets.