fuwaneko / node-protobuf

Google Protocol Buffers wrapper for Node.js [UNMAINTAINED]
181 stars 42 forks source link

Segmentation Fault using 1.4.2 #88

Open pressureDrop opened 7 years ago

pressureDrop commented 7 years ago

Hello. Since updating to 1.4.2 I have received segfaults on multiple machines.

Downgraded back to 1.4.1 again and no longer get them.

Segmentation fault: 11

I have seen this both with Node v7.4.0 and v7.5.0.

For example: 11:51:19 glibc detected /home/jenkins/.nvm/versions/node/v7.4.0/bin/node: free(): invalid next size (fast): 0x0000000002fd8470 *** 11:51:19 ======= Backtrace: ========= 11:51:19 /lib/x86_64-linux-gnu/libc.so.6(+0x7da26)[0x7f69e5797a26] 11:51:19 /usr/local/lib/libprotobuf.so.9(_ZN6google8protobuf14DynamicMessageD2Ev+0x107)[0x7f69e32a1967] 11:51:19 /usr/local/lib/libprotobuf.so.9(_ZN6google8protobuf14DynamicMessageD0Ev+0x9)[0x7f69e32a1c69] 11:51:19 /home/jenkins/workspace/metis-tests/node_modules/node-protobuf/build/Release/protobuf.node(_ZN14NativeProtobuf9SerializeERKN3Nan20FunctionCallbackInfoIN2v85ValueEEE+0x2a7)[0x7f69e350eac7] 11:51:19 /home/jenkins/workspace/metis-tests/node_modules/node-protobuf/build/Release/protobuf.node(+0x4c73)[0x7f69e350bc73] 11:51:19 /home/jenkins/.nvm/versions/node/v7.4.0/bin/node(_ZN2v88internal25FunctionCallbackArguments4CallEPFvRKNS_20FunctionCallbackInfoINS_5ValueEEEE+0x165)[0xa974d5] 11:51:19 /home/jenkins/.nvm/versions/node/v7.4.0/bin/node[0xb0a3ec] 11:51:19 /home/jenkins/.nvm/versions/node/v7.4.0/bin/node(_ZN2v88internal21Builtin_HandleApiCallEiPPNS0_6ObjectEPNS0_7IsolateE+0x1d5)[0xb0a965] 11:51:19 [0x26f5e86063a7] 11:51:19 ======= Memory map: ======== 11:51:19 00400000-01f2e000 r-xp 00000000 ca:01 1721996 /home/jenkins/.nvm/versions/node/v7.4.0/bin/node 11:51:19 0212d000-02146000 rw-p 01b2d000 ca:01 1721996 /home/jenkins/.nvm/versions/node/v7.4.0/bin/node 11:51:19 02146000-0215e000 rw-p 00000000 00:00 0 11:51:19 02c7a000-03704000 rw-p 00000000 00:00 0 [heap] 11:51:19 6f87bf00000-6f87c000000 rw-p 00000000 00:00 0 11:51:19 755adc00000-755add00000 rw-p 00000000 00:00 0 11:51:19 88069900000-88069a00000 rw-p 00000000 00:00 0 11:51:19 9843f500000-9843f600000 rw-p 00000000 00:00 0 11:51:19 9f149000000-9f149100000 rw-p 00000000 00:00 0 11:51:19 b3065f00000-b3066000000 rw-p 00000000 00:00 0 11:51:19 b9d16500000-b9d16600000 rw-p 00000000 00:00 0 11:51:19 ba3b3200000-ba3b3300000 rw-p 00000000 00:00 0 11:51:19 bb608300000-bb608400000 rw-p 00000000 00:00 0 11:51:19 cdf85b00000-cdf85c00000 rw-p 00000000 00:00 0 11:51:19 ce49b200000-ce49b300000 rw-p 00000000 00:00 0 11:51:19 da5cd100000-da5cd200000 rw-p 00000000 00:00 0 11:51:19 db001f00000-db002000000 rw-p 00000000 00:00 0 11:51:19 10f3b3a00000-10f3b3b00000 rw-p 00000000 00:00 0 11:51:19 119b5fe00000-119b5ff00000 rw-p 00000000 00:00 0 11:51:19 17bf38e00000-17bf38f00000 rw-p 00000000 00:00 0 11:51:19 17ffba500000-17ffba600000 rw-p 00000000 00:00 0 11:51:19 18e747200000-18e747300000 rw-p 00000000 00:00 0 11:51:19 18e80ce00000-18e80cf00000 rw-p 00000000 00:00 0 11:51:19 192982e00000-192982f00000 rw-p 00000000 00:00 0 11:51:19 1b4e4c700000-1b4e4c800000 rw-p 00000000 00:00 0 11:51:19 1e5f36400000-1e5f36500000 rw-p 00000000 00:00 0 11:51:19 1e91d0b00000-1e91d0c00000 rw-p 00000000 00:00 0 11:51:19 1efaa489a000-1efaa48a0000 ---p 00000000 00:00 0 11:51:19 1efaa48a0000-1efaa48c0000 rw-p 00000000 00:00 0 11:51:19 1efaa48c0000-1efaa48da000 ---p 00000000 00:00 0 11:51:19 207458000000-207458100000 rw-p 00000000 00:00 0 11:51:19 22222a300000-22222a400000 rw-p 00000000 00:00 0 11:51:19 23038b300000-23038b400000 rw-p 00000000 00:00 0 11:51:19 24344e300000-24344e400000 rw-p 00000000 00:00 0 11:51:19 2510e0600000-2510e0700000 rw-p 00000000 00:00 0 11:51:19 2554fa100000-2554fa200000 rw-p 00000000 00:00 0 11:51:19 255652000000-2556520e6000 rw-p 00000000 00:00 0 11:51:19 26c661b00000-26c661c00000 rw-p 00000000 00:00 0 11:51:19 26f5e8216000-26f5e8300000 ---p 00000000 00:00 0 11:51:19 26f5e8300000-26f5e8305000 rw-p 00000000 00:00 0 11:51:19 26f5e8305000-26f5e8306000 ---p 00000000 00:00 0 11:51:19 26f5e8306000-26f5e8308000 rwxp 00000000 00:00 0 11:51:19 26f5e8308000-26f5e8400000 ---p 00000000 00:00 0 11:51:19 26f5e8400000-26f5e8405000 rw-p 00000000 00:00 0 11:51:19 26f5e8405000-26f5e8406000 ---p 00000000 00:00 0 11:51:19 26f5e8406000-26f5e8407000 rwxp 00000000 00:00 0 11:51:19 26f5e8407000-26f5e8500000 ---p 00000000 00:00 0 11:51:19 26f5e8500000-26f5e8505000 rw-p 00000000 00:00 0 11:51:19 26f5e8505000-26f5e8506000 ---p 00000000 00:00 0 11:51:19 26f5e8506000-26f5e8508000 rwxp 00000000 00:00 0 11:51:19 26f5e8508000-26f5e8600000 ---p 00000000 00:00 0 11:51:19 26f5e8600000-26f5e8605000 rw-p 00000000 00:00 0 11:51:19 26f5e8605000-26f5e8606000 ---p 00000000 00:00 0 11:51:19 26f5e8606000-26f5e8683000 rwxp 00000000 00:00 0 11:51:19 26f5e8683000-26f5e8700000 ---p 00000000 00:00 0 11:51:19 26f5e8700000-26f5e8705000 rw-p 00000000 00:00 0 11:51:19 26f5e8705000-26f5e8706000 ---p 00000000 00:00 0 11:51:19 26f5e8706000-26f5e87ff000 rwxp 00000000 00:00 0 11:51:19 26f5e87ff000-26f5e8800000 ---p 00000000 00:00 0 11:51:19 26f5e8800000-26f5e8805000 rw-p 00000000 00:00 0 11:51:19 26f5e8805000-26f5e8806000 ---p 00000000 00:00 0 11:51:19 26f5e8806000-26f5e88ff000 rwxp 00000000 00:00 0 11:51:19 26f5e88ff000-26f5e8900000 ---p 00000000 00:00 0 11:51:19 26f5e8900000-26f5e8905000 rw-p 00000000 00:00 0 11:51:19 26f5e8905000-26f5e8906000 ---p 00000000 00:00 0 11:51:19 26f5e8906000-26f5e89ff000 rwxp 00000000 00:00 0 11:51:19 26f5e89ff000-26f5e8a00000 ---p 00000000 00:00 0 11:51:19 26f5e8a00000-26f5e8a05000 rw-p 00000000 00:00 0 11:51:19 26f5e8a05000-26f5e8a06000 ---p 00000000 00:00 0 11:51:19 26f5e8a06000-26f5e8aff000 rwxp 00000000 00:00 0 11:51:19 26f5e8aff000-26f5e8b00000 ---p 00000000 00:00 0 11:51:19 26f5e8b00000-26f5e8b05000 rw-p 00000000 00:00 0 11:51:19 26f5e8b05000-26f5e8b06000 ---p 00000000 00:00 0 11:51:19 26f5e8b06000-26f5e8bff000 rwxp 00000000 00:00 0 11:51:19 26f5e8bff000-26f608216000 ---p 00000000 00:00 0 11:51:19 296587900000-296587a00000 rw-p 00000000 00:00 0 11:51:19 2bc448d00000-2bc448e00000 rw-p 00000000 00:00 0 11:51:19 2bc932e00000-2bc932e15000 rw-p 00000000 00:00 0 11:51:19 32334f000000-32334f100000 rw-p 00000000 00:00 0 11:51:19 373873600000-373873700000 rw-p 00000000 00:00 0 11:51:19 3a789e200000-3a789e300000 rw-p 00000000 00:00 0 11:51:19 3e4698700000-3e4698800000 rw-p 00000000 00:00 0 11:51:19 3f61911ef000-3f619122f000 rw-p 00000000 00:00 0 11:51:19 3f619122f000-3f61915ef000 ---p 00000000 00:00 0 11:51:19 7f69bc000000-7f69bc021000 rw-p 00000000 00:00 0 11:51:19 7f69bc021000-7f69c0000000 ---p 00000000 00:00 0 11:51:19 7f69c4000000-7f69c4021000 rw-p 00000000 00:00 0 11:51:19 7f69c4021000-7f69c8000000 ---p 00000000 00:00 0 11:51:19 7f69c8000000-7f69c8021000 rw-p 00000000 00:00 0 11:51:19 7f69c8021000-7f69cc000000 ---p 00000000 00:00 0 11:51:19 7f69cc000000-7f69cc0d0000 rw-p 00000000 00:00 0 11:51:19 7f69cc0d0000-7f69d0000000 ---p 00000000 00:00 0 11:51:19 7f69d0000000-7f69d0021000 rw-p 00000000 00:00 0 11:51:19 7f69d0021000-7f69d4000000 ---p 00000000 00:00 0 11:51:19 7f69d4000000-7f69d48c3000 rw-p 00000000 00:00 0 11:51:19 7f69d48c3000-7f69d8000000 ---p 00000000 00:00 0 11:51:19 7f69d8000000-7f69d8160000 rw-p 00000000 00:00 0 11:51:19 7f69d8160000-7f69dc000000 ---p 00000000 00:00 0 11:51:19 7f69dc000000-7f69dc1a3000 rw-p 00000000 00:00 0 11:51:19 7f69dc1a3000-7f69e0000000 ---p 00000000 00:00 0 11:51:19 7f69e09ac000-7f69e09c4000 r-xp 00000000 ca:01 394580 /lib/x86_64-linux-gnu/libresolv-2.15.so 11:51:19 7f69e09c4000-7f69e0bc4000 ---p 00018000 ca:01 394580 /lib/x86_64-linux-gnu/libresolv-2.15.so 11:51:19 7f69e0bc4000-7f69e0bc5000 r--p 00018000 ca:01 394580 /lib/x86_64-linux-gnu/libresolv-2.15.so 11:51:19 7f69e0bc5000-7f69e0bc6000 rw-p 00019000 ca:01 394580 /lib/x86_64-linux-gnu/libresolv-2.15.so 11:51:19 7f69e0bc6000-7f69e0bc8000 rw-p 00000000 00:00 0 11:51:19 7f69e0bc8000-7f69e0bcf000 r-xp 00000000 ca:01 394504 /lib/x86_64-linux-gnu/libnss_dns-2.15.so 11:51:19 7f69e0bcf000-7f69e0dce000 ---p 00007000 ca:01 394504 /lib/x86_64-linux-gnu/libnss_dns-2.15.so 11:51:19 7f69e0dce000-7f69e0dcf000 r--p 00006000 ca:01 394504 /lib/x86_64-linux-gnu/libnss_dns-2.15.so 11:51:19 7f69e0dcf000-7f69e0dd0000 rw-p 00007000 ca:01 394504 /lib/x86_64-linux-gnu/libnss_dns-2.15.so 11:51:19 7f69e0dd0000-7f69e0ddb000 r-xp 00000000 ca:01 394767 /lib/x86_64-linux-gnu/libnss_files-2.15.so 11:51:19 7f69e0ddb000-7f69e0fda000 ---p 0000b000 ca:01 394767 /lib/x86_64-linux-gnu/libnss_files-2.15.so 11:51:19 7f69e0fda000-7f69e0fdb000 r--p 0000a000 ca:01 394767 /lib/x86_64-linux-gnu/libnss_files-2.15.so 11:51:19 7f69e0fdb000-7f69e0fdc000 rw-p 0000b000 ca:01 394767 /lib/x86_64-linux-gnu/libnss_files-2.15.so 11:51:19 7f69e0fdc000-7f69e0fdd000 ---p 00000000 00:00 0 11:51:19 7f69e0fdd000-7f69e17dd000 rw-p 00000000 00:00 0 [stack:10644] 11:51:19 7f69e17dd000-7f69e17de000 ---p 00000000 00:00 0 11:51:19 7f69e17de000-7f69e1fde000 rw-p 00000000 00:00 0 [stack:10643] 11:51:19 7f69e1fde000-7f69e1fdf000 ---p 00000000 00:00 0 11:51:19 7f69e1fdf000-7f69e27df000 rw-p 00000000 00:00 0 [stack:10642] 11:51:19 7f69e27df000-7f69e27e0000 ---p 00000000 00:00 0 11:51:19 7f69e27e0000-7f69e2fe0000 rw-p 00000000 00:00 0 [stack:10641] 11:51:19 7f69e2fe0000-7f69e2ff6000 r-xp 00000000 ca:01 396858 /lib/x86_64-linux-gnu/libz.so.1.2.3.4 11:51:19 7f69e2ff6000-7f69e31f5000 ---p 00016000 ca:01 396858 /lib/x86_64-linux-gnu/libz.so.1.2.3.4 11:51:19 7f69e31f5000-7f69e31f6000 r--p 00015000 ca:01 396858 /lib/x86_64-linux-gnu/libz.so.1.2.3.4 11:51:19 7f69e31f6000-7f69e31f7000 rw-p 00016000 ca:01 396858 /lib/x86_64-linux-gnu/libz.so.1.2.3.4 11:51:19 7f69e31f7000-7f69e3300000 r-xp 00000000 ca:01 11774 /usr/local/lib/libprotobuf.so.9.0.1 11:51:19 7f69e3300000-7f69e3500000 ---p 00109000 ca:01 11774 /usr/local/lib/libprotobuf.so.9.0.1 11:51:19 7f69e3500000-7f69e3504000 r--p 00109000 ca:01 11774 /usr/local/lib/libprotobuf.so.9.0.1 11:51:19 7f69e3504000-7f69e3507000 rw-p 0010d000 ca:01 11774 /usr/local/lib/libprotobuf.so.9.0.1 11:51:19 7f69e3507000-7f69e3515000 r-xp 00000000 ca:01 8927502 /home/jenkins/workspace/gerrit-metis-tests/node_modules/node-protobuf/build/Release/protobuf.node 11:51:19 7f69e3515000-7f69e3714000 ---p 0000e000 ca:01 8927502 /home/jenkins/workspace/gerrit-metis-tests/node_modules/node-protobuf/build/Release/protobuf.node 11:51:19 7f69e3714000-7f69e3715000 r--p 0000d000 ca:01 8927502 /home/jenkins/workspace/gerrit-metis-tests/node_modules/node-protobuf/build/Release/protobuf.node 11:51:19 7f69e3715000-7f69e3716000 rw-p 0000e000 ca:01 8927502 /home/jenkins/workspace/gerrit-metis-tests/node_modules/node-protobuf/build/Release/protobuf.node 11:51:19 7f69e3716000-7f69e3717000 ---p 00000000 00:00 0 11:51:19 7f69e3717000-7f69e3f17000 rw-p 00000000 00:00 0 [stack:10639] 11:51:19 7f69e3f17000-7f69e3f18000 ---p 00000000 00:00 0 11:51:19 7f69e3f18000-7f69e4718000 rw-p 00000000 00:00 0 [stack:10638] 11:51:19 7f69e4718000-7f69e4719000 ---p 00000000 00:00 0 11:51:19 7f69e4719000-7f69e4f19000 rw-p 00000000 00:00 0 [stack:10637] 11:51:19 7f69e4f19000-7f69e4f1a000 ---p 00000000 00:00 0 11:51:19 7f69e4f1a000-7f69e571a000 rw-p 00000000 00:00 0 [stack:10636] 11:51:19 7f69e571a000-7f69e58ce000 r-xp 00000000 ca:01 394634 /lib/x86_64-linux-gnu/libc-2.15.so 11:51:19 7f69e58ce000-7f69e5acd000 ---p 001b4000 ca:01 394634 /lib/x86_64-linux-gnu/libc-2.15.so 11:51:19 7f69e5acd000-7f69e5ad1000 r--p 001b3000 ca:01 394634 /lib/x86_64-linux-gnu/libc-2.15.so 11:51:19 7f69e5ad1000-7f69e5ad3000 rw-p 001b7000 ca:01 394634 /lib/x86_64-linux-gnu/libc-2.15.so 11:51:19 7f69e5ad3000-7f69e5ad8000 rw-p 00000000 00:00 0 11:51:19 7f69e5ad8000-7f69e5af0000 r-xp 00000000 ca:01 394719 /lib/x86_64-linux-gnu/libpthread-2.15.so 11:51:19 7f69e5af0000-7f69e5cef000 ---p 00018000 ca:01 394719 /lib/x86_64-linux-gnu/libpthread-2.15.so 11:51:19 7f69e5cef000-7f69e5cf0000 r--p 00017000 ca:01 394719 /lib/x86_64-linux-gnu/libpthread-2.15.so 11:51:19 7f69e5cf0000-7f69e5cf1000 rw-p 00018000 ca:01 394719 /lib/x86_64-linux-gnu/libpthread-2.15.so 11:51:19 7f69e5cf1000-7f69e5cf5000 rw-p 00000000 00:00 0 11:51:19 7f69e5cf5000-7f69e5d0b000 r-xp 00000000 ca:01 395094 /lib/x86_64-linux-gnu/libgcc_s.so.1 11:51:19 7f69e5d0b000-7f69e5f0a000 ---p 00016000 ca:01 395094 /lib/x86_64-linux-gnu/libgcc_s.so.1 11:51:19 7f69e5f0a000-7f69e5f0b000 r--p 00015000 ca:01 395094 /lib/x86_64-linux-gnu/libgcc_s.so.1 11:51:19 7f69e5f0b000-7f69e5f0c000 rw-p 00016000 ca:01 395094 /lib/x86_64-linux-gnu/libgcc_s.so.1 11:51:19 7f69e5f0c000-7f69e6007000 r-xp 00000000 ca:01 394782 /lib/x86_64-linux-gnu/libm-2.15.so 11:51:19 7f69e6007000-7f69e6206000 ---p 000fb000 ca:01 394782 /lib/x86_64-linux-gnu/libm-2.15.so 11:51:19 7f69e6206000-7f69e6207000 r--p 000fa000 ca:01 394782 /lib/x86_64-linux-gnu/libm-2.15.so 11:51:19 7f69e6207000-7f69e6208000 rw-p 000fb000 ca:01 394782 /lib/x86_64-linux-gnu/libm-2.15.so 11:51:19 7f69e6208000-7f69e630f000 r-xp 00000000 ca:01 4418 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.22 11:51:19 7f69e630f000-7f69e650e000 ---p 00107000 ca:01 4418 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.22 11:51:19 7f69e650e000-7f69e6516000 r--p 00106000 ca:01 4418 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.22 11:51:19 7f69e6516000-7f69e6518000 rw-p 0010e000 ca:01 4418 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.22 11:51:19 7f69e6518000-7f69e651b000 rw-p 00000000 00:00 0 11:51:19 7f69e651b000-7f69e6522000 r-xp 00000000 ca:01 394579 /lib/x86_64-linux-gnu/librt-2.15.so 11:51:19 7f69e6522000-7f69e6721000 ---p 00007000 ca:01 394579 /lib/x86_64-linux-gnu/librt-2.15.so 11:51:19 7f69e6721000-7f69e6722000 r--p 00006000 ca:01 394579 /lib/x86_64-linux-gnu/librt-2.15.so 11:51:19 7f69e6722000-7f69e6723000 rw-p 00007000 ca:01 394579 /lib/x86_64-linux-gnu/librt-2.15.so 11:51:19 7f69e6723000-7f69e6725000 r-xp 00000000 ca:01 394544 /lib/x86_64-linux-gnu/libdl-2.15.so 11:51:19 7f69e6725000-7f69e6925000 ---p 00002000 ca:01 394544 /lib/x86_64-linux-gnu/libdl-2.15.so 11:51:19 7f69e6925000-7f69e6926000 r--p 00002000 ca:01 394544 /lib/x86_64-linux-gnu/libdl-2.15.so 11:51:19 7f69e6926000-7f69e6927000 rw-p 00003000 ca:01 394544 /lib/x86_64-linux-gnu/libdl-2.15.so 11:51:19 7f69e6927000-7f69e6949000 r-xp 00000000 ca:01 394753 /lib/x86_64-linux-gnu/ld-2.15.so 11:51:19 7f69e6b2d000-7f69e6b33000 rw-p 00000000 00:00 0 11:51:19 7f69e6b42000-7f69e6b43000 rw-p 00000000 00:00 0 11:51:19 7f69e6b43000-7f69e6b44000 ---p 00000000 00:00 0 11:51:19 7f69e6b44000-7f69e6b49000 rw-p 00000000 00:00 0 [stack:10635] 11:51:19 7f69e6b49000-7f69e6b4a000 r--p 00022000 ca:01 394753 /lib/x86_64-linux-gnu/ld-2.15.so 11:51:19 7f69e6b4a000-7f69e6b4c000 rw-p 00023000 ca:01 394753 /lib/x86_64-linux-gnu/ld-2.15.so 11:51:19 7fff643c1000-7fff643e4000 rw-p 00000000 00:00 0 [stack] 11:51:19 7fff643e4000-7fff643e6000 r-xp 00000000 00:00 0 [vdso] 11:51:19 ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall] 11:51:19 Aborted (core dumped)

fuwaneko commented 7 years ago

@pressureDrop can you provide code sample to reproduce?

InfinitiesLoop commented 7 years ago

I've just discovered a SIGSEGV in our systems as well. I can't easily provide sample code for it though, it's a rare occurrence in a high throughput, highly concurrent system.

InfinitiesLoop commented 7 years ago

@webmakersteve found the cause, working on a PR!