Skip to content

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

@etimes2008

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)

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