paddybyers / node

evented I/O for v8 javascript
http://nodejs.org/
Other
91 stars 24 forks source link

v0.10.15 sqlite segfaults #27

Closed feichh closed 11 years ago

feichh commented 11 years ago

Hi, i backported the android-configure script and related changes from node master to the v0.10.15-release branch and REPL works fine. i also built node-sqlite3 master against this linking everything statically into sqlite3_bindings.node. when I require it I just get a plain seg fault:

test = require( './node_modules/sqlite3_bindings.node') Segmentation fault

I'm somewhat at a loss right now, as i dont have too much experience with C++ debugging. maybe someone else has stumbled over similar issues? thanks for any suggestions.

cheers

feichh commented 11 years ago

the tombstone looks like this:


Build fingerprint: 'google/yakju/maguro:4.1.1/JRO03C/398337:user/release-keys' pid: 1665, tid: 1665, name: node >>> ./node <<< signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000013 r0 01de2e10 r1 00001774 r2 28d00000 r3 00000000 r4 01de1750 r5 00000000 r6 01e022e8 r7 bef837f7 r8 25720639 r9 00000000 sl 0016ca38 fp 0000173c ip 40a86d24 sp bef837b0 lr 4069f718 pc 40718208 cpsr 20000010 d0 813f08f708000000 d1 01df96680c000001 d2 e3a00002e52d0004 d3 e344107be3001e5c d4 e59fc020e3441068 d5 e1a0d00be12fff3c d6 e30dc234e8bd4800 d7 e59cc000e340c1dc d8 0000000000000000 d9 0000000000000000 d10 0000000000000000 d11 0000000000000000 d12 0000000000000000 d13 0000000000000000 d14 0000000000000000 d15 0000000000000000 d16 427404f3349c0000 d17 7e37e43c8800759c d18 4193444c90000000 d19 0000000000000000 d20 0000000000000000 d21 0000000000000000 d22 0000000000000000 d23 0000000000000000 d24 0000000000000000 d25 0000000000000000 d26 0000000000000000 d27 0000000000000000 d28 0000000000000000 d29 0000000000000000 d30 0000000000000000 d31 0000000000000000 scr 80000010

backtrace:

00 pc 0042b208 /data/data/org.openmtc/node_modules/sqlite3_bindings.node (v8::internal::Isolate::native_context()+16)

#01  pc 003b2714  /data/data/org.openmtc/node_modules/sqlite3_bindings.node (v8::internal::Execution::InstantiateFunction(v8::internal::Handlev8::internal::FunctionTemplateInfo, bool*)+44)

stack: bef83770 408d4d53 /data/data/org.openmtc/node_modules/sqlite3_bindings.node bef83774 40768560 /data/data/org.openmtc/node_modules/sqlite3bindings.node (v8::internal::SymbolTable::LookupSymbol(v8::internal::Vector, v8::internal::Object*)+96) bef83778 408d4d53 /data/data/org.openmtc/node_modules/sqlite3_bindings.node bef8377c 00000008
bef83780 40a77b00 /data/data/org.openmtc/node_modules/sqlite3_bindings.node bef83784 408d4d53 /data/data/org.openmtc/node_modules/sqlite3_bindings.node bef83788 00000008
bef8378c 75c5a2ce
bef83790 00000008
bef83794 05a44d15
bef83798 01de1758 [heap] bef8379c 01de1750 [heap] bef837a0 01de1758 [heap] bef837a4 406cc894 /data/data/org.openmtc/node_modules/sqlite3_bindings.node (v8::internal::Heap::LookupSymbol(v8::internal::Vector)+40) bef837a8 df0027ad
bef837ac 00000000

00 bef837b0 28d09341

     ........  ........
#01  bef837b0  28d09341  
     bef837b4  01de1750  [heap]
     bef837b8  00000000  
     bef837bc  4069f718  /data/data/org.openmtc/node_modules/sqlite3_bindings.node (v8::internal::Execution::InstantiateFunction(v8::internal::Handlev8::internal::FunctionTemplateInfo, bool_)+48)
     bef837c0  28d09341  
     bef837c4  00000005  
     bef837c8  408d4d53  /data/data/org.openmtc/node_modules/sqlite3_bindings.node
     bef837cc  00000008  
     bef837d0  00000000  
     bef837d4  01de1750  [heap]
     bef837d8  40a86c34  /data/data/org.openmtc/node_modules/sqlite3_bindings.node
     bef837dc  01e022e8  [heap]
     bef837e0  00000005  
     bef837e4  25720639  
     bef837e8  0016ca38  /data/data/org.openmtc/node
     bef837ec  4065a4f4  /data/data/org.openmtc/node_modules/sqlite3_bindings.node (v8::FunctionTemplate::GetFunction()+224)

memory near r0: 01de2df0 00000000 00000000 01dd7c50 01dd1dc8 ........P|...... 01de2e00 01dcd398 01dcd4b8 01dd2530 01dd8338 ........0%..8... 01de2e10 00000001 01dd8348 01dcd180 01de1750 ....H.......P... 01de2e20 bef087ac bef087ac bef087ac bef087ac ................ 01de2e30 00000000 00000000 00000000 01dd17b8 ................

memory near r1: 00001754 ffffffff ffffffff ffffffff ffffffff ................ 00001764 ffffffff ffffffff ffffffff ffffffff ................ 00001774 ffffffff ffffffff ffffffff ffffffff ................ 00001784 ffffffff ffffffff ffffffff ffffffff ................ 00001794 ffffffff ffffffff ffffffff ffffffff ................

memory near r2: 28cfffe0 ffffffff ffffffff ffffffff ffffffff ................ 28cffff0 ffffffff ffffffff ffffffff ffffffff ................ 28d00000 01dd17ec 01dd17ec 00048080 00000808 ................ 28d00010 28d08080 28d48080 28d00000 00049000 ...(...(...(.... 28d00020 01dd17cb 01de1758 00000000 00000000 ....X...........

memory near r4: 01de1730 01de1730 01de1730 00000000 00166270 0...0.......pb.. 01de1740 00702a30 00000000 00000000 0000736b 0*p.........ks.. 01de1750 00000001 00000000 01de1750 39608501 ........P.....9 01de1760 39608525 396086f9 3960871d 3ef00030 %.9..9..90..> 01de1770 28d08091 28d080c1 28d08081 28d080a1 ...(...(...(...(

memory near r6: 01e022c8 00000000 00000000 00000000 00000000 ................ 01e022d8 00000000 00000000 00000000 0000101b ................ 01e022e8 28d09341 01000000 00000000 00000000 A..(............ 01e022f8 00000000 00010000 00000000 01e02308 .............#.. 01e02308 00000000 00020000 00000000 01e02318 .............#..

memory near r7: bef837d4 01de1750 40a86c34 01e022e8 00000005 P...4l.@."...... bef837e4 25720639 0016ca38 4065a4f4 408d4d53 9.r%8.....e@SM.@ bef837f4 00000008 408d4d53 40a94010 01df9348 ....SM.@.@.@H... bef83804 408d4d53 00000000 40488e79 00000000 SM.@....y.H@.... bef83814 00000000 00000000 00000000 01df9340 ............@...

memory near r8: 25720618 00000000 3150828d 00000124 2101fc91 ......P1$......! 25720628 330080a5 00000004 3300b4ad 3300b65d ...3.......3]..3 25720638 33008159 0016ca38 330080a5 00000008 Y..38......3.... 25720648 21008091 21008091 21008091 21008091 ...!...!...!...! 25720658 3300b6c9 25720641 31508081 330080a5 ...3A.r%..P1...3

memory near sl: 0016ca18 e5d33007 e353007f caffffe2 eaffff8c .0....S......... 0016ca28 e3a04000 eaffffd4 003df2dc 003df2ec .@........=...=. 0016ca38 e92d4070 e24ddd21 e24dd008 e1a04000 p@-.!.M...M..@.. 0016ca48 e28d0028 eb05211d e59f02a0 e08f0000 (....!.......... 0016ca58 ebffde30 e5943008 e3530001 da00007c 0....0....S.|...

memory near fp: 0000171c ffffffff ffffffff ffffffff ffffffff ................ 0000172c ffffffff ffffffff ffffffff ffffffff ................ 0000173c ffffffff ffffffff ffffffff ffffffff ................ 0000174c ffffffff ffffffff ffffffff ffffffff ................ 0000175c ffffffff ffffffff ffffffff ffffffff ................

memory near ip: 40a86d04 400ef048 400ef080 400fb6b7 400eea78 H..@...@...@x..@ 40a86d14 400eea94 401048a9 4010464f 400f4ea4 ...@.H.@OF.@.N.@ 40a86d24 400f5080 400f4fd4 400f4dd4 400efbd0 .P.@.O.@.M.@...@ 40a86d34 400f0750 400fda29 400fd02d 400fcff1 P..@)..@-..@...@ 40a86d44 400fe411 400f0418 400fbe95 400f5395 ...@...@...@.S.@

memory near sp: bef83790 00000008 05a44d15 01de1758 01de1750 .....M..X...P... bef837a0 01de1758 406cc894 df0027ad 00000000 X.....l@.'...... bef837b0 28d09341 01de1750 00000000 4069f718 A..(P.........i@ bef837c0 28d09341 00000005 408d4d53 00000008 A..(....SM.@.... bef837d0 00000000 01de1750 40a86c34 01e022e8 ....P...4l.@."..

code around pc: 407181e8 e3a00001 e12fff1e 00001704 0000171c ....../......... 407181f8 e2800d5b e92d4038 e590303c e59f104c [...8@-.<0..L... 40718208 e5933013 e593400f e1a03a24 e1a03a03 .0...@..$:...:.. 40718218 e5935024 e2853d5d e2455008 e5932030 $P..]=...PE.0 .. 40718228 e7953001 e1530002 0a000005 e59f201c .0....S...... ..

code around lr: 4069f6f8 e1a02a02 e5924024 e1a06000 e2444008 .*..$@...`...@D. 4069f708 e1a00004 e593500b e1a07001 eb01e2b7 .....P...p...... 4069f718 e1a050c5 e1a02005 e5903000 e59300b7 .P... ...0...... 4069f728 e1a01000 eb02fbc4 e2003003 e3530003 .........0....S. 4069f738 e1a05000 0a000001 e3530001 0a000030 .P........S.0...


pid: 1665, tid: 1666, name: SignalSender r0 01dc93a4 r1 00000080 r2 fffffffe r3 00000000 r4 01dc93a4 r5 00000000 r6 fffffffe r7 000000f0 r8 10000004 r9 00000001 sl 0050e6b8 fp 00703d74 ip 006f3efc sp 401ebe60 lr 4010b131 pc 400efc70 cpsr 60000010 d0 813f08f708000000 d1 01dc03280c000001 d2 e3a00002e52d0004 d3 e3401041e30c1ef0 d4 e59fc020e340102f d5 e1a0d00be12fff3c d6 e30ac564e8bd4800 d7 e59cc000e340c1da d8 0000000000000000 d9 0000000000000000 d10 0000000000000000 d11 0000000000000000 d12 0000000000000000 d13 0000000000000000 d14 0000000000000000 d15 0000000000000000 d16 c1a06df72a6c8b44 d17 3f50624dd2f1a9fc d18 4193444c90000000 d19 0000000000000000 d20 0000000000000000 d21 0000000000000000 d22 0000000000000000 d23 0000000000000000 d24 0000000000000000 d25 0000000000000000 d26 0000000000000000 d27 0000000000000000 d28 0000000000000000 d29 0000000000000000 d30 0000000000000000 d31 0000000000000000 scr 00000010

backtrace:

00 pc 0000dc70 /system/lib/libc.so (__futex_syscall3+8)

#01  pc 0002912d  /system/lib/libc.so (sem_wait+48)
#02  pc 00505c98  /data/data/org.openmtc/node (v8::internal::CallStubCompiler::CompileCallInterceptor(v8::internal::Handlev8::internal::JSObject, v8::internal::Handlev8::internal::JSObject, v8::internal::Handlev8::internal::String)+36)

stack: 401ebe20 00000000
401ebe24 006fd6d8 /data/data/org.openmtc/node 401ebe28 0041cb28 /data/data/org.openmtc/node (v8::internal::V8HeapExplorer::GetStrongGcSubrootName(v8::internal::Object_)+4332) 401ebe2c 00703ce4
401ebe30 00000001
401ebe34 00000000
401ebe38 00703d74
401ebe3c 400f8d31 /system/lib/libc.so (malloc+12) 401ebe40 00000000
401ebe44 0053d080 /data/data/org.openmtc/node (v8::internal::KeyedLoadIC::Load(v8::internal::InlineCacheState, v8::internal::Handlev8::internal::Object, v8::internal::Handlev8::internal::Object, bool)+1512) 401ebe48 00703ce4
401ebe4c 00000000
401ebe50 00000000
401ebe54 0050eb74 /data/data/org.openmtc/node (v8::internal::StoreStubCompiler::CompileStoreViaSetter(v8::internal::Handlev8::internal::String, v8::internal::Handlev8::internal::JSObject, v8::internal::Handlev8::internal::JSObject, v8::internal::Handlev8::internal::JSFunction)+20) 401ebe58 01dc93a4 [heap] 401ebe5c 00000000

00 401ebe60 01dc93a4 [heap]

     401ebe64  0069018c  /data/data/org.openmtc/node (unibrow::kEcma262UnCanonicalizeMultiStrings0+6556)
#01  401ebe68  01dc93a4  [heap]
     401ebe6c  006901c4  /data/data/org.openmtc/node (unibrow::kEcma262UnCanonicalizeMultiStrings0+6612)
     401ebe70  006901b0  /data/data/org.openmtc/node (unibrow::kEcma262UnCanonicalizeMultiStrings0+6592)
     401ebe74  0050dc9c  /data/data/org.openmtc/node (v8::internal::CallStubCompiler::CompileCallInterceptor(v8::internal::Handlev8::internal::JSObject, v8::internal::Handlev8::internal::JSObject, v8::internal::Handlev8::internal::String)+40)
#02  401ebe78  0050dc5c  /data/data/org.openmtc/node (v8::internal::CallStubCompiler::CompileCallConstant(v8::internal::Handlev8::internal::Object, v8::internal::Handlev8::internal::JSObject, v8::internal::Handlev8::internal::JSFunction, v8::internal::Handlev8::internal::String, v8::internal::CheckType)+1776)
     401ebe7c  00703ce0  
     401ebe80  00000002  
     401ebe84  006f3c58  /data/data/org.openmtc/node
     401ebe88  01dc9344  [heap]
     401ebe8c  0041c438  /data/data/org.openmtc/node (v8::internal::V8HeapExplorer::GetStrongGcSubrootName(v8::internal::Object_)+2556)
     401ebe90  006f3c58  /data/data/org.openmtc/node
     401ebe94  01dc9320  [heap]
     401ebe98  000003e8  
     401ebe9c  0050f12c  /data/data/org.openmtc/node (v8::internal::LoadStubCompiler::CompileLoadNonexistent(v8::internal::Handlev8::internal::String, v8::internal::Handlev8::internal::JSObject, v8::internal::Handlev8::internal::JSObject)+16)
     401ebea0  00000000  
     401ebea4  00000000  
     401ebea8  00000000  
     401ebeac  00000000  
     401ebeb0  00000000  
     401ebeb4  00000000  

pid: 1665, tid: 1668, name: SignalSender r0 01dd1f0c r1 00000080 r2 fffffffe r3 00000000 r4 01dd1f0c r5 00000000 r6 fffffffe r7 000000f0 r8 10000004 r9 00000001 sl 408a264c fp 40a9cdf4 ip 40a86ef0 sp 40096e60 lr 4010b131 pc 400efc70 cpsr 60000010 d0 813f08f708000000 d1 01df96680c000001 d2 e3a00002e52d0004 d3 e344107be3001e5c d4 e59fc020e3441068 d5 e1a0d00be12fff3c d6 e30dc234e8bd4800 d7 e59cc000e340c1dc d8 0000000000000000 d9 0000000000000000 d10 0000000000000000 d11 0000000000000000 d12 0000000000000000 d13 0000000000000000 d14 0000000000000000 d15 0000000000000000 d16 427404f3349c0000 d17 7e37e43c8800759c d18 4193444c90000000 d19 0000000000000000 d20 0000000000000000 d21 0000000000000000 d22 0000000000000000 d23 0000000000000000 d24 0000000000000000 d25 0000000000000000 d26 0000000000000000 d27 0000000000000000 d28 0000000000000000 d29 0000000000000000 d30 0000000000000000 d31 0000000000000000 scr 80000010

backtrace:

00 pc 0000dc70 /system/lib/libc.so (__futex_syscall3+8)

#01  pc 0002912d  /system/lib/libc.so (sem_wait+48)
#02  pc 005b4c2c  /data/data/org.openmtc/node_modules/sqlite3_bindings.node (v8::internal::LinuxSemaphore::Wait()+60)

stack: 40096e20 00000000
40096e24 40a9148c /data/data/org.openmtc/node_modules/sqlite3_bindings.node 40096e28 407b0a94 /data/data/org.openmtc/node_modules/sqlite3_bindings.node (v8::internal::LazyInstanceImpl<v8::internal::Semaphore, v8::internal::DynamicallyAllocatedInstanceTrait, v8::internal::CreateSemaphoreTrait<0>, v8::internal::ThreadSafeInitOnceTrait, v8::internal::LeakyInstanceTraitv8::internal::Semaphore >::InitInstance(v8::internal::Semaphore**)) 40096e2c 40a9cd64
40096e30 00000001
40096e34 00000000
40096e38 40a9cdf4
40096e3c 400f8d31 /system/lib/libc.so (malloc+12) 40096e40 00000000
40096e44 404ed7d4 /data/data/org.openmtc/node_modules/sqlite3_bindings.node (operator new(unsigned int)+24) 40096e48 40a9cd64
40096e4c 00000000
40096e50 00000000
40096e54 408a2b08 /data/data/org.openmtc/node_modules/sqlite3_bindings.node (v8::internal::OS::CreateSemaphore(int)+56) 40096e58 01dd1f0c [heap] 40096e5c 00000000

00 40096e60 01dd1f0c [heap]

     40096e64  40a235bc  /data/data/org.openmtc/node_modules/sqlite3_bindings.node
#01  40096e68  01dd1f0c  [heap]
     40096e6c  40a235f4  /data/data/org.openmtc/node_modules/sqlite3_bindings.node
     40096e70  40a235e0  /data/data/org.openmtc/node_modules/sqlite3_bindings.node
     40096e74  408a1c30  /data/data/org.openmtc/node_modules/sqlite3_bindings.node (v8::internal::LinuxSemaphore::Wait()+64)
#02  40096e78  408a1bf0  /data/data/org.openmtc/node_modules/sqlite3_bindings.node (v8::internal::LinuxSemaphore::Wait())
     40096e7c  40a9cd60  
     40096e80  00000000  
     40096e84  40a86c34  /data/data/org.openmtc/node_modules/sqlite3_bindings.node
     40096e88  01dd1eac  [heap]
     40096e8c  407b03a4  /data/data/org.openmtc/node_modules/sqlite3_bindings.node (v8::internal::RuntimeProfiler::WaitForSomeIsolateToEnterJS()+156)
     40096e90  40a86c34  /data/data/org.openmtc/node_modules/sqlite3_bindings.node
     40096e94  01dd1e88  [heap]
     40096e98  000003e8  
     40096e9c  408a30c0  /data/data/org.openmtc/node_modules/sqlite3_bindings.node (v8::internal::SignalSender::Run()+100)
     40096ea0  00000000  
     40096ea4  00000000  
     40096ea8  00000000  
     40096eac  00000000  
     40096eb0  00000000  
     40096eb4  00000000  
feichh commented 11 years ago

I hope I circumvented all issues regarding node-sqlite3 by compiling it into the node executable as a core module.