Skip to content

lua 调用 java 调用多次后jni层的内存泄露 #21

Closed

Description

@etimes2008

java:
public static void adbSwipe(Double x1, Double y1, Double x2, Double y2){
Log.i(TAG, execAdbCmd("input swipe "+x1.intValue()+" "+y1.intValue()+" "+x2.intValue()+" "+y2.intValue(), 0));
}

luaContext.evalScript(
"while(true) do "+
"TestModule:sleep(15000); "+
"TestModule:adbSwipe(300,600,300,0); "+
"end"
);

前面能正常调用,到后面就出bug了:
08-20 13:02:58.441 5917-5936/com.cn.automate A/art: art/runtime/indirect_reference_table.cc:113] JNI ERROR (app bug): local reference table overflow (max=512)
08-20 13:02:58.441 5917-5936/com.cn.automate A/art: art/runtime/indirect_reference_table.cc:113] local reference table dump:
08-20 13:02:58.442 5917-5936/com.cn.automate A/art: art/runtime/indirect_reference_table.cc:113] Last 10 entries (of 512):
08-20 13:02:58.442 5917-5936/com.cn.automate A/art: art/runtime/indirect_reference_table.cc:113] 511: 0x22cf40b0 java.lang.Double
08-20 13:02:58.442 5917-5936/com.cn.automate A/art: art/runtime/indirect_reference_table.cc:113] 510: 0x22cf2180 cn.vimfung.luascriptcore.LuaValue[] (4 elements)
08-20 13:02:58.443 5917-5936/com.cn.automate A/art: art/runtime/indirect_reference_table.cc:113] 509: 0x22cf2140 cn.vimfung.luascriptcore.LuaValue
08-20 13:02:58.443 5917-5936/com.cn.automate A/art: art/runtime/indirect_reference_table.cc:113] 508: 0x22c000b0 cn.vimfung.luascriptcore.LuaExportTypeManager
08-20 13:02:58.443 5917-5936/com.cn.automate A/art: art/runtime/indirect_reference_table.cc:113] 507: 0x22cf2040 cn.vimfung.luascriptcore.LuaValue
08-20 13:02:58.443 5917-5936/com.cn.automate A/art: art/runtime/indirect_reference_table.cc:113] 506: 0x22c000b0 cn.vimfung.luascriptcore.LuaExportTypeManager
08-20 13:02:58.444 5917-5936/com.cn.automate A/art: art/runtime/indirect_reference_table.cc:113] 505: 0x22c09060 cn.vimfung.luascriptcore.LuaValue
08-20 13:02:58.444 5917-5936/com.cn.automate A/art: art/runtime/indirect_reference_table.cc:113] 504: 0x22c000b0 cn.vimfung.luascriptcore.LuaExportTypeManager
08-20 13:02:58.444 5917-5936/com.cn.automate A/art: art/runtime/indirect_reference_table.cc:113] 503: 0x22c09040 cn.vimfung.luascriptcore.LuaValue
08-20 13:02:58.445 5917-5936/com.cn.automate A/art: art/runtime/indirect_reference_table.cc:113] 502: 0x22c000b0 cn.vimfung.luascriptcore.LuaExportTypeManager
08-20 13:02:58.445 5917-5936/com.cn.automate A/art: art/runtime/indirect_reference_table.cc:113] Summary:
08-20 13:02:58.446 5917-5936/com.cn.automate A/art: art/runtime/indirect_reference_table.cc:113] 1 of cn.vimfung.luascriptcore.LuaValue[] (4 elements)
08-20 13:02:58.446 5917-5936/com.cn.automate A/art: art/runtime/indirect_reference_table.cc:113] 254 of cn.vimfung.luascriptcore.LuaValue (254 unique instances)
08-20 13:02:58.446 5917-5936/com.cn.automate A/art: art/runtime/indirect_reference_table.cc:113] 255 of cn.vimfung.luascriptcore.LuaExportTypeManager (1 unique instances)
08-20 13:02:58.447 5917-5936/com.cn.automate A/art: art/runtime/indirect_reference_table.cc:113] 1 of java.lang.String
08-20 13:02:58.447 5917-5936/com.cn.automate A/art: art/runtime/indirect_reference_table.cc:113] 1 of java.lang.Double
08-20 13:02:58.447 5917-5936/com.cn.automate A/art: art/runtime/indirect_reference_table.cc:113]
08-20 13:02:58.448 5917-5936/com.cn.automate A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 5936 (Beat)

Activity

  1. changed the title [-]lua 调用 java 调用多次后有问题[/-] [+]lua 调用 java 调用多次后jni层的内存泄露[/+] on Aug 21, 2019
  2. etimes2008 commented on Aug 21, 2019

    @etimes2008
    Author

    implementation 'com.github.vimfung.luascriptcore:luascriptcore:2.4.0'
    2.4.0 版本已解决,真棒。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions