<div dir="ltr"><p style="clear:both;vertical-align:baseline;line-height:18px;font-size:14px;font-family:Arial,'Liberation Sans','DejaVu Sans',sans-serif;margin:0px 0px 1em;border:0px;padding:0px">i'm developing android app that uses <code style="margin:0px;padding:1px 5px;border:0px;vertical-align:baseline;background-color:rgb(238,238,238);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif">Clang</code> via C API (libclang) for ARM. I've wrote wrapper to<code style="margin:0px;padding:1px 5px;border:0px;vertical-align:baseline;background-color:rgb(238,238,238);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif">invoke clang_..()</code> functions and map data between Java<->native code. So the app is working for few times and then crashing. It's interacting with native code from java background thread (if that helps).</p>
<p style="clear:both;vertical-align:baseline;line-height:18px;font-size:14px;font-family:Arial,'Liberation Sans','DejaVu Sans',sans-serif;margin:0px 0px 1em;border:0px;padding:0px">My idea about what's wrong is:</p>
<ol style="list-style-position:initial;vertical-align:baseline;line-height:18px;font-size:14px;font-family:Arial,'Liberation Sans','DejaVu Sans',sans-serif;margin:0px 0px 1em 30px;border:0px;padding:0px"><li style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">
i'm trying to delete already deleted pointer</li><li style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">there is a memory leak in my code/clang and heap is fully allocated</li>
<li style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">concurrency issue</li></ol><p style="clear:both;vertical-align:baseline;line-height:18px;font-size:14px;font-family:Arial,'Liberation Sans','DejaVu Sans',sans-serif;margin:0px 0px 1em;border:0px;padding:0px">
Any thoughts are highly appreciated:</p><p style="clear:both;vertical-align:baseline;line-height:18px;font-size:14px;font-family:Arial,'Liberation Sans','DejaVu Sans',sans-serif;margin:0px 0px 1em;border:0px;padding:0px">
<br></p><div style="font-family:arial,sans-serif;font-size:13px">12-11 00:10:38.126: INFO/DEBUG(166): backtrace:</div><div style="font-family:arial,sans-serif;font-size:13px">12-11 00:10:38.126: INFO/DEBUG(166): #00  pc 0001832a  /system/lib/libc.so</div>
<div style="font-family:arial,sans-serif;font-size:13px">12-11 00:10:38.126: INFO/DEBUG(166): #01  pc 0000dc04  /system/lib/libc.so (abort+4)</div><div style="font-family:arial,sans-serif;font-size:13px">12-11 00:10:38.126: INFO/DEBUG(166): #02  pc 0001f0df  /system/lib/libc.so (__assert2+30)</div>
<div style="font-family:arial,sans-serif;font-size:13px">12-11 00:10:38.126: INFO/DEBUG(166): #03  pc 0077c954  /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so (clang::Lexer::getSourceLocation(char const*, unsigned int) const+76)</div>
<div style="font-family:arial,sans-serif;font-size:13px">12-11 00:10:38.126: INFO/DEBUG(166): #04  pc 0077ca4c  /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so (clang::Lexer::FormTokenWithChars(clang::Token&, char const*, clang::tok::TokenKind)+100)</div>
<div style="font-family:arial,sans-serif;font-size:13px">12-11 00:10:38.126: INFO/DEBUG(166): #05  pc 00781098  /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so (clang::Lexer::LexTokenInternal(clang::Token&)+5616)</div>
<div style="font-family:arial,sans-serif;font-size:13px">12-11 00:10:38.126: INFO/DEBUG(166): #06  pc 0015de68  /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so (clang::Lexer::LexFromRawLexer(clang::Token&)+116)</div>
<div style="font-family:arial,sans-serif;font-size:13px">12-11 00:10:38.126: INFO/DEBUG(166): #07  pc 00781d3c  /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so (clang::Lexer::getRawToken(clang::SourceLocation, clang::Token&, clang::SourceManager const&, clang::LangOptions const&)+220)</div>
<div style="font-family:arial,sans-serif;font-size:13px">12-11 00:10:38.126: INFO/DEBUG(166): #08  pc 00781d9c  /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so (clang::Lexer::MeasureTokenLength(clang::SourceLocation, clang::SourceManager const&, clang::LangOptions const&)+36)</div>
<div style="font-family:arial,sans-serif;font-size:13px">12-11 00:10:38.126: INFO/DEBUG(166): #09  pc 001d1824  /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so (clang::DiagnosticRenderer::emitMacroExpansions(clang::SourceLocation, clang::DiagnosticsEngine::Level, llvm::ArrayRef<clang::CharSourceRange>, llvm::ArrayRef<clang::FixItHint>, clang::SourceManager const&, unsigned int&, unsigned int)+840)</div>
<div style="font-family:arial,sans-serif;font-size:13px">12-11 00:10:38.126: INFO/DEBUG(166): #10  pc 001d13ec  /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so (clang::DiagnosticRenderer::emitDiagnostic(clang::SourceLocation, clang::DiagnosticsEngine::Level, llvm::StringRef, llvm::ArrayRef<clang::CharSourceRange>, llvm::ArrayRef<clang::FixItHint>, clang::SourceManager const*, llvm::PointerUnion<clang::Diagnostic const*, clang::StoredDiagnostic const*>)+1224)</div>
<div style="font-family:arial,sans-serif;font-size:13px">12-11 00:10:38.126: INFO/DEBUG(166): #11  pc 001d1b20  /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so (clang::DiagnosticRenderer::emitStoredDiagnostic(clang::StoredDiagnostic&)+304)</div>
<div style="font-family:arial,sans-serif;font-size:13px">12-11 00:10:38.126: INFO/DEBUG(166): #12  pc 0017b1c8  /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so (clang::cxdiag::lazyCreateDiags(CXTranslationUnitImpl*, bool)+248)</div>
<div style="font-family:arial,sans-serif;font-size:13px">12-11 00:10:38.126: INFO/DEBUG(166): #13  pc 00009028  /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang_wrapper.so (Java_name_antonsmirnov_clang_clang_1wrapper_getDiagnostics+72)</div>
<div style="font-family:arial,sans-serif;font-size:13px">12-11 00:10:38.126: INFO/DEBUG(166): #14  pc 0001fb70  /system/lib/libdvm.so (dvmPlatformInvoke+112)</div><div style="font-family:arial,sans-serif;font-size:13px">12-11 00:10:38.126: INFO/DEBUG(166): #15  pc 0004e8b9  /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+360)</div>
<div style="font-family:arial,sans-serif;font-size:13px">12-11 00:10:38.126: INFO/DEBUG(166): #16  pc 00029020  /system/lib/libdvm.so</div><div style="font-family:arial,sans-serif;font-size:13px">12-11 00:10:38.126: INFO/DEBUG(166): #17  pc 0002d7e8  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+180)</div>
<div style="font-family:arial,sans-serif;font-size:13px">12-11 00:10:38.126: INFO/DEBUG(166): #18  pc 0005fed5  /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+272)</div>
<div style="font-family:arial,sans-serif;font-size:13px">12-11 00:10:38.126: INFO/DEBUG(166): #19  pc 0005feff  /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20)</div><div style="font-family:arial,sans-serif;font-size:13px">
12-11 00:10:38.126: INFO/DEBUG(166): #20  pc 00055327  /system/lib/libdvm.so</div><div style="font-family:arial,sans-serif;font-size:13px">12-11 00:10:38.126: INFO/DEBUG(166): #21  pc 00012e70  /system/lib/libc.so (__thread_entry+48)</div>
<div style="font-family:arial,sans-serif;font-size:13px">12-11 00:10:38.126: INFO/DEBUG(166): #22  pc 000125c8  /system/lib/libc.so (pthread_create+172)</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div>
<div style="font-family:arial,sans-serif;font-size:13px">clang_toggleCrashRecovery does not help and it crashes anyway.</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">
Regards, Anton.</div></div>