glibc detected *** node: invalid fastbin entry (free): 0x09749bf0 *** #4549

Closed
tchollingsworth opened this Issue Jan 9, 2013 · 4 comments

Projects

None yet

2 participants

@tchollingsworth

A Fedora contributor reported this issue running the less testsuite. He's likely using node-0.9.5 with a shared libuv (built from the same commit as the bundled version). He reports that it only seems to affect i686, and I don't have access to a 32-bit Fedora install handy so I'm passing it along to you guys.

+ cd less.js-1.3.1
+ make -j4 test
node test/less-test.js
�[4mLESS�[24m
*** glibc detected *** node: invalid fastbin entry (free): 0x09749bf0 ***
======= Backtrace: =========
/lib/libc.so.6(+0x75db9)[0x31adb9]
/lib/libuv.so.0.9.4(uv_fs_req_cleanup+0x26)[0x6368a6]
node[0x80705fd]
/lib/libuv.so.0.9.4(+0x73dc)[0x6343dc]
/lib/libuv.so.0.9.4(+0xf718)[0x63c718]
/lib/libuv.so.0.9.4(+0x628e)[0x63328e]
/lib/libuv.so.0.9.4(+0x1209f)[0x63f09f]
/lib/libuv.so.0.9.4(+0x6882)[0x633882]
/lib/libuv.so.0.9.4(uv_run+0x17)[0x633977]
node(_ZN4node5StartEiPPc+0x1da)[0x8067f2a]
node(main+0x1b)[0x805bf6b]
/lib/libc.so.6(__libc_start_main+0xf5)[0x2be865]
node[0x805c181]
======= Memory map: ========
00110000-0012c000 r-xp 00000000 fd:00 2752945                            /usr/lib/libgcc_s-4.7.2-20121109.so.1
0012c000-0012d000 r--p 0001b000 fd:00 2752945                            /usr/lib/libgcc_s-4.7.2-20121109.so.1
0012d000-0012e000 rw-p 0001c000 fd:00 2752945                            /usr/lib/libgcc_s-4.7.2-20121109.so.1
0012e000-00131000 r-xp 00000000 fd:00 2754175                            /usr/lib/libcom_err.so.2.1
00131000-00132000 r--p 00002000 fd:00 2754175                            /usr/lib/libcom_err.so.2.1
00132000-00133000 rw-p 00003000 fd:00 2754175                            /usr/lib/libcom_err.so.2.1
00134000-00149000 r-xp 00000000 fd:00 2753996                            /usr/lib/libz.so.1.2.7
00149000-0014a000 r--p 00014000 fd:00 2753996                            /usr/lib/libz.so.1.2.7
0014a000-0014b000 rw-p 00015000 fd:00 2753996                            /usr/lib/libz.so.1.2.7
0014b000-00155000 r-xp 00000000 fd:00 2756223                            /usr/lib/libkrb5support.so.0.1
00155000-00156000 r--p 00009000 fd:00 2756223                            /usr/lib/libkrb5support.so.0.1
00156000-00157000 rw-p 0000a000 fd:00 2756223                            /usr/lib/libkrb5support.so.0.1
00157000-0015a000 r-xp 00000000 fd:00 2756203                            /usr/lib/libkeyutils.so.1.4
0015a000-0015b000 r--p 00002000 fd:00 2756203                            /usr/lib/libkeyutils.so.1.4
0015b000-0015c000 rw-p 00003000 fd:00 2756203                            /usr/lib/libkeyutils.so.1.4
0015e000-00174000 r-xp 00000000 fd:00 2753837                            /usr/lib/libpthread-2.16.so
00174000-00175000 r--p 00015000 fd:00 2753837                            /usr/lib/libpthread-2.16.so
00175000-00176000 rw-p 00016000 fd:00 2753837                            /usr/lib/libpthread-2.16.so
00176000-00178000 rw-p 00000000 00:00 0 
0017a000-0017b000 r-xp 00000000 00:00 0                                  [vdso]
0017b000-00258000 r-xp 00000000 fd:00 2753971                            /usr/lib/libstdc++.so.6.0.17
00258000-00259000 ---p 000dd000 fd:00 2753971                            /usr/lib/libstdc++.so.6.0.17
00259000-0025d000 r--p 000dd000 fd:00 2753971                            /usr/lib/libstdc++.so.6.0.17
0025d000-0025e000 rw-p 000e1000 fd:00 2753971                            /usr/lib/libstdc++.so.6.0.17
0025e000-00265000 rw-p 00000000 00:00 0 
00265000-002a3000 r-xp 00000000 fd:00 2753819                            /usr/lib/libm-2.16.so
002a3000-002a4000 r--p 0003d000 fd:00 2753819                            /usr/lib/libm-2.16.so
002a4000-002a5000 rw-p 0003e000 fd:00 2753819                            /usr/lib/libm-2.16.so
002a5000-00454000 r-xp 00000000 fd:00 2753811                            /usr/lib/libc-2.16.so
00454000-00456000 r--p 001af000 fd:00 2753811                            /usr/lib/libc-2.16.so
00456000-00457000 rw-p 001b1000 fd:00 2753811                            /usr/lib/libc-2.16.so
00457000-0045a000 rw-p 00000000 00:00 0 
0045a000-0046f000 r-xp 00000000 fd:00 2753839                            /usr/lib/libresolv-2.16.so
0046f000-00470000 r--p 00014000 fd:00 2753839                            /usr/lib/libresolv-2.16.so
00470000-00471000 rw-p 00015000 fd:00 2753839                            /usr/lib/libresolv-2.16.so
00471000-00473000 rw-p 00000000 00:00 0 
0047a000-00499000 r-xp 00000000 fd:00 2753804                            /usr/lib/ld-2.16.so
00499000-0049a000 r--p 0001e000 fd:00 2753804                            /usr/lib/ld-2.16.so
0049a000-0049b000 rw-p 0001f000 fd:00 2753804                            /usr/lib/ld-2.16.so
0049b000-004db000 r-xp 00000000 fd:00 2756209                            /usr/lib/libgssapi_krb5.so.2.2
004db000-004dc000 r--p 0003f000 fd:00 2756209                            /usr/lib/libgssapi_krb5.so.2.2
004dc000-004dd000 rw-p 00040000 fd:00 2756209                            /usr/lib/libgssapi_krb5.so.2.2
004dd000-004fd000 r-xp 00000000 fd:00 2753984                            /usr/lib/libselinux.so.1
004fd000-004fe000 r--p 0001f000 fd:00 2753984                            /usr/lib/libselinux.so.1
004fe000-004ff000 rw-p 00020000 fd:00 2753984                            /usr/lib/libselinux.so.1
004ff000-00500000 rw-p 00000000 00:00 0 
00502000-00505000 r-xp 00000000 fd:00 2753817                            /usr/lib/libdl-2.16.so
00505000-00506000 r--p 00002000 fd:00 2753817                            /usr/lib/libdl-2.16.so
00506000-00507000 rw-p 00003000 fd:00 2753817                            /usr/lib/libdl-2.16.so
00507000-005e0000 r-xp 00000000 fd:00 2756221                            /usr/lib/libkrb5.so.3.3
005e0000-005e6000 r--p 000d9000 fd:00 2756221                            /usr/lib/libkrb5.so.3.3
005e6000-005e7000 rw-p 000df000 fd:00 2756221                            /usr/lib/libkrb5.so.3.3
005e7000-0060f000 r-xp 00000000 fd:00 2756213                            /usr/lib/libk5crypto.so.3.1
0060f000-00610000 ---p 00028000 fd:00 2756213                            /usr/lib/libk5crypto.so.3.1
00610000-00611000 r--p 00028000 fd:00 2756213                            /usr/lib/libk5crypto.so.3.1
00611000-00612000 rw-p 00029000 fd:00 2756213                            /usr/lib/libk5crypto.so.3.1
00612000-00613000 rw-p 00000000 00:00 0 
0062d000-00646000 r-xp 00000000 fd:00 2756939                            /usr/lib/libuv.so.0.9.4
00646000-00647000 r--p 00018000 fd:00 2756939                            /usr/lib/libuv.so.0.9.4
00647000-00648000 rw-p 00019000 fd:00 2756939                            /usr/lib/libuv.so.0.9.4
00648000-00649000 rw-p 00000000 00:00 0 
00649000-00b3d000 r-xp 00000000 fd:00 2756967                            /usr/lib/libv8.so.3.10.8
00b3d000-00b52000 r--p 004f3000 fd:00 2756967                            /usr/lib/libv8.so.3.10.8
00b52000-00b5a000 rw-p 00508000 fd:00 2756967                            /usr/lib/libv8.so.3.10.8
00b5a000-00b5c000 rw-p 00000000 00:00 0 
00b67000-00bbf000 r-xp 00000000 fd:00 2756238                            /usr/lib/libssl.so.1.0.1c
00bbf000-00bc0000 ---p 00058000 fd:00 2756238                            /usr/lib/libssl.so.1.0.1c
00bc0000-00bc2000 r--p 00058000 fd:00 2756238                            /usr/lib/libssl.so.1.0.1c
00bc2000-00bc5000 rw-p 0005a000 fd:00 2756238                            /usr/lib/libssl.so.1.0.1c
00bc5000-00c28000 r-xp 00000000 fd:00 2753985                            /usr/lib/libpcre.so.1.0.1
00c28000-00c29000 r--p 00062000 fd:00 2753985                            /usr/lib/libpcre.so.1.0.1
00c29000-00c2a000 rw-p 00063000 fd:00 2753985                            /usr/lib/libpcre.so.1.0.1
00c8c000-00c90000 r-xp 00000000 fd:00 2756972                            /usr/lib/libhttp_parser.so.2.0
00c90000-00c91000 r--p 00003000 fd:00 2756972                            /usr/lib/libhttp_parser.so.2.0
00c91000-00c92000 rw-p 00004000 fd:00 2756972                            /usr/lib/libhttp_parser.so.2.0
00cd8000-00ce8000 r-xp 00000000 fd:00 2756947                            /usr/lib/libcares.so.2.0.0
00ce8000-00ce9000 r--p 0000f000 fd:00 2756947                            /usr/lib/libcares.so.2.0.0
00ce9000-00cea000 rw-p 00010000 fd:00 2756947                            /usr/lib/libcares.so.2.0.0
00ddc000-00de3000 r-xp 00000000 fd:00 2753841                            /usr/lib/librt-2.16.so
00de3000-00de4000 r--p 00006000 fd:00 2753841                            /usr/lib/librt-2.16.so
00de4000-00de5000 rw-p 00007000 fd:00 2753841                            /usr/lib/librt-2.16.so
00e08000-00f97000 r-xp 00000000 fd:00 2756236                            /usr/lib/libcrypto.so.1.0.1c
00f97000-00fa6000 r--p 0018e000 fd:00 2756236                            /usr/lib/libcrypto.so.1.0.1c
00fa6000-00fac000 rw-p 0019d000 fd:00 2756236                            /usr/lib/libcrypto.so.1.0.1c
00fac000-00fb0000 rw-p 00000000 00:00 0 
00fb0000-011ac000 r-xp 00000000 fd:00 2756951                            /usr/lib/libicui18n.so.49.1.1
011ac000-011b2000 r--p 001fc000 fd:00 2756951                            /usr/lib/libicui18n.so.49.1.1
011b2000-011b3000 rw-p 00202000 fd:00 2756951                            /usr/lib/libicui18n.so.49.1.1
011b3000-011b4000 rw-p 00000000 00:00 0 
05e66000-05fcb000 r-xp 00000000 fd:00 2756963                            /usr/lib/libicuuc.so.49.1.1
05fcb000-05fd5000 r--p 00164000 fd:00 2756963                            /usr/lib/libicuuc.so.49.1.1
05fd5000-05fd6000 rw-p 0016e000 fd:00 2756963                            /usr/lib/libicuuc.so.49.1.1
05fd6000-05fda000 rw-p 00000000 00:00 0 
0652c000-0764c000 r-xp 00000000 fd:00 2756949                            /usr/lib/libicudata.so.49.1.1
0764c000-0764d000 r--p 0111f000 fd:00 2756949                            /usr/lib/libicudata.so.49.1.1
0764d000-0764e000 rw-p 01120000 fd:00 2756949                            /usr/lib/libicudata.so.49.1.1
08048000-08194000 r-xp 00000000 fd:00 2756976                            /usr/bin/node
08194000-08195000 r--p 0014b000 fd:00 2756976                            /usr/bin/node
08195000-08197000 rw-p 0014c000 fd:00 2756976                            /usr/bin/node
08197000-08198000 rw-p 00000000 00:00 0 
0972c000-09841000 rw-p 00000000 00:00 0                                  [heap]
20200000-20239000 rw-p 00000000 00:00 0 
2fd78000-2fd79000 r-xp 00000000 00:00 0 
32a00000-32a09000 rw-p 00000000 00:00 0 
32a09000-32a0a000 ---p 00000000 00:00 0 
32a0a000-32a33000 rwxp 00000000 00:00 0 
32a33000-32a34000 ---p 00000000 00:00 0 
38400000-38429000 rw-p 00000000 00:00 0 
3aca6000-3aca7000 r-xp 00000000 00:00 0 
3acde000-3ace0000 ---p 00000000 00:00 0 
3ace0000-3acf0000 rw-p 00000000 00:00 0 
3acf0000-3ad0e000 ---p 00000000 00:00 0 
3c300000-3c321000 rw-p 00000000 00:00 0 
41916000-41917000 r-xp 00000000 00:00 0 
4719b000-4729b000 rw-p 00000000 00:00 0 
47400000-47449000 rw-p 00000000 00:00 0 
4a600000-4a609000 rw-p 00000000 00:00 0 
4a609000-4a60a000 ---p 00000000 00:00 0 
4a60a000-4a66a000 rwxp 00000000 00:00 0 
4a66a000-4a66b000 ---p 00000000 00:00 0 
4da00000-4db00000 rw-p 00000000 00:00 0 
4e000000-4e700000 ---p 00000000 00:00 0 
4e700000-4e800000 rw-p 00000000 00:00 0 
4e800000-4ef00000 ---p 00000000 00:00 0 
4ef00000-4f000000 rw-p 00000000 00:00 0 
51200000-51300000 rw-p 00000000 00:00 0 
5984d000-5984e000 r-xp 00000000 00:00 0 
5987d000-5987e000 r-xp 00000000 00:00 0 
5c0c1000-5c0c2000 r-xp 00000000 00:00 0 
f41fc000-f41fd000 ---p 00000000 00:00 0 
f41fd000-f4bfd000 rw-p 00000000 00:00 0 
f4bfd000-f4bfe000 ---p 00000000 00:00 0 
f4bfe000-f55fe000 rw-p 00000000 00:00 0 
f55fe000-f55ff000 ---p 00000000 00:00 0 
f55ff000-f5fff000 rw-p 00000000 00:00 0 
f5fff000-f6000000 ---p 00000000 00:00 0 
f6000000-f6a09000 rw-p 00000000 00:00 0 
f6a09000-f6a0a000 ---p 00000000 00:00 0 
f6a0a000-f6aff000 rwxp 00000000 00:00 0 
f6aff000-f6b00000 ---p 00000000 00:00 0 
f6c00000-f6c21000 rw-p 00000000 00:00 0 
f6c21000-f6d00000 ---p 00000000 00:00 0 
f6d4c000-f6d4d000 ---p 00000000 00:00 0 
f6d4d000-f7755000 rw-p 00000000 00:00 0 
f7758000-f775a000 rw-p 00000000 00:00 0 
fff6c000-fff81000 rw-p 00000000 00:00 0                                  [stack]
make: *** [test] Aborted


I didn't saw that on scratch builds and also didn't saw that local. I guess, it might be a problem on parallel execution of tasks. I wonder, if somebody else was hit by such a problem in a real world example.
@bnoordhuis
Member

/lib/libuv.so.0.9.4(uv_fs_req_cleanup+0x26)[0x6368a6]

Can you verify that libuv and node are both compiled with -D_LARGEFILE_SOURCE and -D_FILE_OFFSET_BITS=64? Gut feeling says it's a sizeof(struct stat) mismatch.

@tchollingsworth

Hmm, AFAICT upstream uv.gyp adds these defines but node.gyp does not.

I'll ask him if adding it fixes his problem though.

@bnoordhuis
Member

Oh, that's right - I changed that in 83e5e20. _LARGEFILE_SOURCE and _FILE_OFFSET_BITS are inherited from libuv now. If you're building them separately, you'll have to make sure the defines match.

@bnoordhuis
Member

Closing, presumably fixed downstream.

@bnoordhuis bnoordhuis closed this Jan 22, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment