Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NodeJS get Floating point exception #522

Closed
Julius1985 opened this issue Mar 6, 2017 · 7 comments
Closed

NodeJS get Floating point exception #522

Julius1985 opened this issue Mar 6, 2017 · 7 comments

Comments

@Julius1985
Copy link

Node.js Version: v4.4.7
OS: SUSE Linux Enterprise Server 10 SP3 (x86_64)
Scope: Install

Hi, I have a little problem, I installed nodejs into a SUSE Linux Enterprise Server 10 SP3 (x86_64), but when I execute node -v command or another. I get "Floating point exception". Any idea whats going on?

@addaleax
Copy link
Member

addaleax commented Mar 6, 2017

Can you run grep -i flags /proc/cpuinfo and post the output here? Also: gdb node, then run -v, wait for the crash (assuming it happens) and then run bt and disassemble $rip-40,$rip+40 in gdb and share that output, too?

(like this:)

$ gdb node
[blah blah free software blah]
(gdb) run -v
Starting program: /usr/bin/node -v

Program received signal SIGFPE, Arithmetic exception.
0x00000000004004e5 in […] ()
(gdb) bt
[backtrace here]
(gdb) disassemble $rip-40,$rip+40
Dump of assembler code from 0x4004bd to 0x40050d:
[disassembly here]
(gdb) quit

@Julius1985
Copy link
Author

grep -i flags /proc/cpuinfo

result:

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 cl flush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx tm2 cx16 xtpr dca lahf_lm
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 cl flush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx tm2 cx16 xtpr dca lahf_lm
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 cl flush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx tm2 cx16 xtpr dca lahf_lm
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 cl flush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx tm2 cx16 xtpr dca lahf_lm
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 cl flush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx tm2 cx16 xtpr dca lahf_lm
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 cl flush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx tm2 cx16 xtpr dca lahf_lm
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 cl flush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx tm2 cx16 xtpr dca lahf_lm
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 cl flush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx tm2 cx16 xtpr dca lahf_lm

gdb node, then run -v,

result:

GNU gdb (GDB) SUSE (6.8.50.20090302-1.5.18)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-suse-linux".
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/...
(gdb) run -v
Starting program: /usr/local/bin/node -v
Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2
Failed to read a valid object file image from memory.

Program received signal SIGFPE, Arithmetic exception.
0x00002aaaaaab368f in do_lookup_x () from /lib64/ld-linux-x86-64.so.2
(gdb)

@addaleax
Copy link
Member

addaleax commented Mar 6, 2017

The output of disassemble $rip-40,$rip+40 in gdb would still be kinda interesting (maybe the paste got cut off there).

Also, that’s an odd place for an error – does running env | grep -i ^LD_ in the shell yield anything for you?

@Julius1985
Copy link
Author

gdb output:

GNU gdb (GDB) SUSE (6.8.50.20090302-1.5.18)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-suse-linux".
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/...
(gdb) run -v
Starting program: /usr/local/bin/node -v
Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2
Failed to read a valid object file image from memory.

Program received signal SIGFPE, Arithmetic exception.
0x00002aaaaaab368f in do_lookup_x () from /lib64/ld-linux-x86-64.so.2
(gdb) bt
#0 0x00002aaaaaab368f in do_lookup_x () from /lib64/ld-linux-x86-64.so.2
#1 0x00002aaaaaab3a77 in _dl_lookup_symbol_x () from /lib64/ld-linux-x86-64.so.2
#2 0x00002aaaaaab5028 in _dl_relocate_object () from /lib64/ld-linux-x86-64.so.2
#3 0x00002aaaaaaae633 in dl_main () from /lib64/ld-linux-x86-64.so.2
#4 0x00002aaaaaabcfc2 in _dl_sysdep_start () from /lib64/ld-linux-x86-64.so.2
#5 0x00002aaaaaaac247 in _dl_start () from /lib64/ld-linux-x86-64.so.2
#6 0x00002aaaaaaaba88 in _start () from /lib64/ld-linux-x86-64.so.2
#7 0x0000000000000002 in ?? ()
#8 0x00007fffffffe466 in ?? ()
#9 0x00007fffffffe47a in ?? ()
#10 0x0000000000000000 in ?? ()
(gdb) disassemble $rip-40,$rip+40
Dump of assembler code for function do_lookup_x:
0x00002aaaaaab35c0 <do_lookup_x+0>: push %r15
0x00002aaaaaab35c2 <do_lookup_x+2>: push %r14
0x00002aaaaaab35c4 <do_lookup_x+4>: push %r13
0x00002aaaaaab35c6 <do_lookup_x+6>: push %r12
0x00002aaaaaab35c8 <do_lookup_x+8>: push %rbp
0x00002aaaaaab35c9 <do_lookup_x+9>: push %rbx
0x00002aaaaaab35ca <do_lookup_x+10>: sub $0x78,%rsp
0x00002aaaaaab35ce <do_lookup_x+14>: mov (%r8),%rbx
0x00002aaaaaab35d1 <do_lookup_x+17>: mov 0x8(%r8),%eax
0x00002aaaaaab35d5 <do_lookup_x+21>: mov %rdx,0x18(%rsp)
0x00002aaaaaab35da <do_lookup_x+26>: mov %rdi,0x28(%rsp)
0x00002aaaaaab35df <do_lookup_x+31>: mov %rsi,0x20(%rsp)
0x00002aaaaaab35e4 <do_lookup_x+36>: mov %rcx,0x10(%rsp)
0x00002aaaaaab35e9 <do_lookup_x+41>: lea (%rbx,%r9,8),%rdx
0x00002aaaaaab35ed <do_lookup_x+45>: mov %r9,0x8(%rsp)
0x00002aaaaaab35f2 <do_lookup_x+50>: mov %rax,0x30(%rsp)
0x00002aaaaaab35f7 <do_lookup_x+55>: mov %rdx,0x58(%rsp)
0x00002aaaaaab35fc <do_lookup_x+60>: jmp 0x2aaaaaab361c <do_lookup_x+92>
0x00002aaaaaab35fe <do_lookup_x+62>: xchg %ax,%ax
0x00002aaaaaab3600 <do_lookup_x+64>: addq $0x1,0x8(%rsp)
0x00002aaaaaab3606 <do_lookup_x+70>: addq $0x8,0x58(%rsp)
0x00002aaaaaab360c <do_lookup_x+76>: mov 0x8(%rsp),%rax
0x00002aaaaaab3611 <do_lookup_x+81>: cmp %rax,0x30(%rsp)
0x00002aaaaaab3616 <do_lookup_x+86>: jbe 0x2aaaaaab3880 <do_lookup_x+704>
0x00002aaaaaab361c <do_lookup_x+92>: mov 0x58(%rsp),%rdx
0x00002aaaaaab3621 <do_lookup_x+97>: mov (%rdx),%rax
0x00002aaaaaab3624 <do_lookup_x+100>: mov 0x28(%rax),%r13
0x00002aaaaaab3628 <do_lookup_x+104>: cmp 0xc0(%rsp),%r13
0x00002aaaaaab3630 <do_lookup_x+112>: je 0x2aaaaaab3600 <do_lookup_x+64>
0x00002aaaaaab3632 <do_lookup_x+114>: testb $0x2,0xc8(%rsp)
0x00002aaaaaab363a <do_lookup_x+122>: je 0x2aaaaaab3646 <do_lookup_x+134>
0x00002aaaaaab363c <do_lookup_x+124>: testb $0x3,0x2f4(%r13)
0x00002aaaaaab3644 <do_lookup_x+132>: je 0x2aaaaaab3600 <do_lookup_x+64>
0x00002aaaaaab3646 <do_lookup_x+134>: testb $0x40,0x2f5(%r13)
0x00002aaaaaab364e <do_lookup_x+142>: jne 0x2aaaaaab3600 <do_lookup_x+64>
0x00002aaaaaab3650 <do_lookup_x+144>: testb $0x8,0x1125a9(%rip) # 0x2aaaaabc5c00 <_rtld_local_ro>
0x00002aaaaaab3657 <do_lookup_x+151>: jne 0x2aaaaaab3936 <do_lookup_x+886>
0x00002aaaaaab365d <do_lookup_x+157>: mov 0x70(%r13),%rax
0x00002aaaaaab3661 <do_lookup_x+161>: mov 0x8(%rax),%r15
0x00002aaaaaab3665 <do_lookup_x+165>: mov 0x68(%r13),%rax
0x00002aaaaaab3669 <do_lookup_x+169>: mov 0x8(%rax),%rax
0x00002aaaaaab366d <do_lookup_x+173>: mov %rax,0x38(%rsp)
---Type to continue, or q to quit---
0x00002aaaaaab3672 <do_lookup_x+178>: mov 0x320(%r13),%rbx
0x00002aaaaaab3679 <do_lookup_x+185>: mov 0x20(%rsp),%rax
0x00002aaaaaab367e <do_lookup_x+190>: mov %rbx,0x40(%rsp)
0x00002aaaaaab3683 <do_lookup_x+195>: mov 0x2d8(%r13),%edx
0x00002aaaaaab368a <do_lookup_x+202>: mov %rdx,%rbx
0x00002aaaaaab368d <do_lookup_x+205>: xor %edx,%edx
0x00002aaaaaab368f <do_lookup_x+207>: div %rbx
0x00002aaaaaab3692 <do_lookup_x+210>: mov 0x2e0(%r13),%rax
0x00002aaaaaab3699 <do_lookup_x+217>: mov (%rax,%rdx,4),%r12d
0x00002aaaaaab369d <do_lookup_x+221>: test %r12d,%r12d
0x00002aaaaaab36a0 <do_lookup_x+224>: je 0x2aaaaaab382d <do_lookup_x+621>
0x00002aaaaaab36a6 <do_lookup_x+230>: movl $0x0,0x4c(%rsp)
0x00002aaaaaab36ae <do_lookup_x+238>: movq $0x0,0x50(%rsp)
0x00002aaaaaab36b7 <do_lookup_x+247>: jmp 0x2aaaaaab36e0 <do_lookup_x+288>
0x00002aaaaaab36b9 <do_lookup_x+249>: xchg %ax,%ax
0x00002aaaaaab36bd <do_lookup_x+253>: xchg %ax,%ax
0x00002aaaaaab36c0 <do_lookup_x+256>: movzbl 0x4(%rbx),%eax
0x00002aaaaaab36c4 <do_lookup_x+260>: and $0xf,%eax
0x00002aaaaaab36c7 <do_lookup_x+263>: cmp $0x6,%eax
0x00002aaaaaab36ca <do_lookup_x+266>: je 0x2aaaaaab36f3 <do_lookup_x+307>
0x00002aaaaaab36cc <do_lookup_x+268>: mov 0x2e8(%r13),%rax
0x00002aaaaaab36d3 <do_lookup_x+275>: mov (%rax,%rbp,4),%r12d
0x00002aaaaaab36d7 <do_lookup_x+279>: test %r12d,%r12d
0x00002aaaaaab36da <do_lookup_x+282>: je 0x2aaaaaab3826 <do_lookup_x+614>
0x00002aaaaaab36e0 <do_lookup_x+288>: mov %r12d,%ebp
0x00002aaaaaab36e3 <do_lookup_x+291>: lea 0x0(%rbp,%rbp,2),%rax
0x00002aaaaaab36e8 <do_lookup_x+296>: lea (%r15,%rax,8),%rbx
0x00002aaaaaab36ec <do_lookup_x+300>: cmpq $0x0,0x8(%rbx)
0x00002aaaaaab36f1 <do_lookup_x+305>: je 0x2aaaaaab36c0 <do_lookup_x+256>
0x00002aaaaaab36f3 <do_lookup_x+307>: xor %eax,%eax
0x00002aaaaaab36f5 <do_lookup_x+309>: cmpw $0x0,0x6(%rbx)
0x00002aaaaaab36fa <do_lookup_x+314>: sete %al
0x00002aaaaaab36fd <do_lookup_x+317>: test %eax,0xc8(%rsp)
0x00002aaaaaab3704 <do_lookup_x+324>: jne 0x2aaaaaab36cc <do_lookup_x+268>
0x00002aaaaaab3706 <do_lookup_x+326>: movzbl 0x4(%rbx),%eax
0x00002aaaaaab370a <do_lookup_x+330>: and $0xf,%eax
0x00002aaaaaab370d <do_lookup_x+333>: cmp $0x2,%eax
0x00002aaaaaab3710 <do_lookup_x+336>: jle 0x2aaaaaab3717 <do_lookup_x+343>
0x00002aaaaaab3712 <do_lookup_x+338>: cmp $0x6,%eax
0x00002aaaaaab3715 <do_lookup_x+341>: jne 0x2aaaaaab36cc <do_lookup_x+268>
0x00002aaaaaab3717 <do_lookup_x+343>: cmp 0x18(%rsp),%rbx
0x00002aaaaaab371c <do_lookup_x+348>: je 0x2aaaaaab3733 <do_lookup_x+371>
0x00002aaaaaab371e <do_lookup_x+350>: mov (%rbx),%edi
---Type to continue, or q to quit---
0x00002aaaaaab3720 <do_lookup_x+352>: mov 0x28(%rsp),%rsi
0x00002aaaaaab3725 <do_lookup_x+357>: add 0x38(%rsp),%rdi
0x00002aaaaaab372a <do_lookup_x+362>: callq 0x2aaaaaabe2e0
0x00002aaaaaab372f <do_lookup_x+367>: test %eax,%eax
0x00002aaaaaab3731 <do_lookup_x+369>: jne 0x2aaaaaab36cc <do_lookup_x+268>
0x00002aaaaaab3733 <do_lookup_x+371>: cmpq $0x0,0xb0(%rsp)
0x00002aaaaaab373c <do_lookup_x+380>: je 0x2aaaaaab37d2 <do_lookup_x+530>
0x00002aaaaaab3742 <do_lookup_x+386>: cmpq $0x0,0x40(%rsp)
0x00002aaaaaab3748 <do_lookup_x+392>: je 0x2aaaaaab38f2 <do_lookup_x+818>
0x00002aaaaaab374e <do_lookup_x+398>: mov 0x40(%rsp),%rdx
0x00002aaaaaab3753 <do_lookup_x+403>: movzwl (%rdx,%rbp,2),%edx
0x00002aaaaaab3757 <do_lookup_x+407>: mov %edx,%eax
0x00002aaaaaab3759 <do_lookup_x+409>: mov %dx,0x60(%rsp)
0x00002aaaaaab375e <do_lookup_x+414>: mov 0xb0(%rsp),%rdx
0x00002aaaaaab3766 <do_lookup_x+422>: and $0x7fff,%eax
0x00002aaaaaab376b <do_lookup_x+427>: lea (%rax,%rax,2),%rax
0x00002aaaaaab376f <do_lookup_x+431>: shl $0x3,%rax
0x00002aaaaaab3773 <do_lookup_x+435>: add 0x300(%r13),%rax
0x00002aaaaaab377a <do_lookup_x+442>: mov 0x8(%rax),%r14d
0x00002aaaaaab377e <do_lookup_x+446>: cmp 0x8(%rdx),%r14d
0x00002aaaaaab3782 <do_lookup_x+450>: je 0x2aaaaaab3868 <do_lookup_x+680>
0x00002aaaaaab3788 <do_lookup_x+456>: mov 0xb0(%rsp),%rax
0x00002aaaaaab3790 <do_lookup_x+464>: mov 0xc(%rax),%edx
0x00002aaaaaab3793 <do_lookup_x+467>: test %edx,%edx
0x00002aaaaaab3795 <do_lookup_x+469>: jne 0x2aaaaaab36cc <do_lookup_x+268>
0x00002aaaaaab379b <do_lookup_x+475>: test %r14d,%r14d
0x00002aaaaaab379e <do_lookup_x+478>: jne 0x2aaaaaab36cc <do_lookup_x+268>
0x00002aaaaaab37a4 <do_lookup_x+484>: cmpw $0x0,0x60(%rsp)
0x00002aaaaaab37aa <do_lookup_x+490>: js 0x2aaaaaab36cc <do_lookup_x+268>
0x00002aaaaaab37b0 <do_lookup_x+496>: movzbl 0x4(%rbx),%eax
0x00002aaaaaab37b4 <do_lookup_x+500>: shr $0x4,%al
0x00002aaaaaab37b7 <do_lookup_x+503>: cmp $0x1,%al
0x00002aaaaaab37b9 <do_lookup_x+505>: je 0x2aaaaaab38ad <do_lookup_x+749>
0x00002aaaaaab37bf <do_lookup_x+511>: cmp $0x2,%al
0x00002aaaaaab37c1 <do_lookup_x+513>: je 0x2aaaaaab38cd <do_lookup_x+781>
0x00002aaaaaab37c7 <do_lookup_x+519>: test %r12d,%r12d
0x00002aaaaaab37ca <do_lookup_x+522>: jne 0x2aaaaaab3600 <do_lookup_x+64>
0x00002aaaaaab37d0 <do_lookup_x+528>: jmp 0x2aaaaaab382d <do_lookup_x+621>
0x00002aaaaaab37d2 <do_lookup_x+530>: cmpq $0x0,0x40(%rsp)
0x00002aaaaaab37d8 <do_lookup_x+536>: je 0x2aaaaaab37b0 <do_lookup_x+496>
0x00002aaaaaab37da <do_lookup_x+538>: mov 0x40(%rsp),%rdx
0x00002aaaaaab37df <do_lookup_x+543>: mov 0xb8(%rsp),%eax
0x00002aaaaaab37e6 <do_lookup_x+550>: movzwl (%rdx,%rbp,2),%ecx
---Type to continue, or q to quit---
0x00002aaaaaab37ea <do_lookup_x+554>: and $0x2,%eax
0x00002aaaaaab37ed <do_lookup_x+557>: cmp $0x1,%eax
0x00002aaaaaab37f0 <do_lookup_x+560>: sbb %eax,%eax
0x00002aaaaaab37f2 <do_lookup_x+562>: not %eax
0x00002aaaaaab37f4 <do_lookup_x+564>: mov %ecx,%edx
0x00002aaaaaab37f6 <do_lookup_x+566>: add $0x3,%eax
0x00002aaaaaab37f9 <do_lookup_x+569>: and $0x7fff,%edx
0x00002aaaaaab37ff <do_lookup_x+575>: cmp %edx,%eax
0x00002aaaaaab3801 <do_lookup_x+577>: jg 0x2aaaaaab37b0 <do_lookup_x+496>
0x00002aaaaaab3803 <do_lookup_x+579>: test %cx,%cx
0x00002aaaaaab3806 <do_lookup_x+582>: js 0x2aaaaaab36cc <do_lookup_x+268>
0x00002aaaaaab380c <do_lookup_x+588>: addl $0x1,0x4c(%rsp)
0x00002aaaaaab3811 <do_lookup_x+593>: cmpl $0x1,0x4c(%rsp)
0x00002aaaaaab3816 <do_lookup_x+598>: cmovne 0x50(%rsp),%rbx
0x00002aaaaaab381c <do_lookup_x+604>: mov %rbx,0x50(%rsp)
0x00002aaaaaab3821 <do_lookup_x+609>: jmpq 0x2aaaaaab36cc <do_lookup_x+268>
0x00002aaaaaab3826 <do_lookup_x+614>: cmpl $0x1,0x4c(%rsp)
0x00002aaaaaab382b <do_lookup_x+619>: je 0x2aaaaaab3891 <do_lookup_x+721>
0x00002aaaaaab382d <do_lookup_x+621>: cmpq $0x0,0xb0(%rsp)
0x00002aaaaaab3836 <do_lookup_x+630>: je 0x2aaaaaab3600 <do_lookup_x+64>
0x00002aaaaaab383c <do_lookup_x+636>: mov 0xb0(%rsp),%rbx
0x00002aaaaaab3844 <do_lookup_x+644>: mov 0x10(%rbx),%rdi
0x00002aaaaaab3848 <do_lookup_x+648>: test %rdi,%rdi
0x00002aaaaaab384b <do_lookup_x+651>: je 0x2aaaaaab3600 <do_lookup_x+64>
0x00002aaaaaab3851 <do_lookup_x+657>: mov %r13,%rsi
0x00002aaaaaab3854 <do_lookup_x+660>: callq 0x2aaaaaab7dd0 <_dl_name_match_p>
0x00002aaaaaab3859 <do_lookup_x+665>: test %eax,%eax
0x00002aaaaaab385b <do_lookup_x+667>: je 0x2aaaaaab3600 <do_lookup_x+64>
0x00002aaaaaab3861 <do_lookup_x+673>: mov $0xffffffff,%eax
0x00002aaaaaab3866 <do_lookup_x+678>: jmp 0x2aaaaaab3882 <do_lookup_x+706>
0x00002aaaaaab3868 <do_lookup_x+680>: mov (%rax),%rdi
0x00002aaaaaab386b <do_lookup_x+683>: mov (%rdx),%rsi
0x00002aaaaaab386e <do_lookup_x+686>: callq 0x2aaaaaabe2e0
0x00002aaaaaab3873 <do_lookup_x+691>: test %eax,%eax
0x00002aaaaaab3875 <do_lookup_x+693>: jne 0x2aaaaaab3788 <do_lookup_x+456>
0x00002aaaaaab387b <do_lookup_x+699>: jmpq 0x2aaaaaab37b0 <do_lookup_x+496>
0x00002aaaaaab3880 <do_lookup_x+704>: xor %eax,%eax
0x00002aaaaaab3882 <do_lookup_x+706>: add $0x78,%rsp
0x00002aaaaaab3886 <do_lookup_x+710>: pop %rbx
0x00002aaaaaab3887 <do_lookup_x+711>: pop %rbp
0x00002aaaaaab3888 <do_lookup_x+712>: pop %r12
0x00002aaaaaab388a <do_lookup_x+714>: pop %r13
0x00002aaaaaab388c <do_lookup_x+716>: pop %r14
---Type to continue, or q to quit---
0x00002aaaaaab388e <do_lookup_x+718>: pop %r15
0x00002aaaaaab3890 <do_lookup_x+720>: retq
0x00002aaaaaab3891 <do_lookup_x+721>: cmpq $0x0,0x50(%rsp)
0x00002aaaaaab3897 <do_lookup_x+727>: je 0x2aaaaaab382d <do_lookup_x+621>
0x00002aaaaaab3899 <do_lookup_x+729>: mov 0x50(%rsp),%rbx
0x00002aaaaaab389e <do_lookup_x+734>: movzbl 0x4(%rbx),%eax
0x00002aaaaaab38a2 <do_lookup_x+738>: shr $0x4,%al
0x00002aaaaaab38a5 <do_lookup_x+741>: cmp $0x1,%al
0x00002aaaaaab38a7 <do_lookup_x+743>: jne 0x2aaaaaab37bf <do_lookup_x+511>
0x00002aaaaaab38ad <do_lookup_x+749>: mov 0x10(%rsp),%rdx
0x00002aaaaaab38b2 <do_lookup_x+754>: mov $0x1,%eax
0x00002aaaaaab38b7 <do_lookup_x+759>: mov %rbx,(%rdx)
0x00002aaaaaab38ba <do_lookup_x+762>: mov %r13,0x8(%rdx)
0x00002aaaaaab38be <do_lookup_x+766>: add $0x78,%rsp
0x00002aaaaaab38c2 <do_lookup_x+770>: pop %rbx
0x00002aaaaaab38c3 <do_lookup_x+771>: pop %rbp
0x00002aaaaaab38c4 <do_lookup_x+772>: pop %r12
0x00002aaaaaab38c6 <do_lookup_x+774>: pop %r13
0x00002aaaaaab38c8 <do_lookup_x+776>: pop %r14
0x00002aaaaaab38ca <do_lookup_x+778>: pop %r15
0x00002aaaaaab38cc <do_lookup_x+780>: retq
0x00002aaaaaab38cd <do_lookup_x+781>: mov 0x11237d(%rip),%eax # 0x2aaaaabc5c50 <_rtld_local_ro+80>
0x00002aaaaaab38d3 <do_lookup_x+787>: test %eax,%eax
0x00002aaaaaab38d5 <do_lookup_x+789>: je 0x2aaaaaab38ad <do_lookup_x+749>
0x00002aaaaaab38d7 <do_lookup_x+791>: mov 0x10(%rsp),%rax
0x00002aaaaaab38dc <do_lookup_x+796>: cmpq $0x0,(%rax)
0x00002aaaaaab38e0 <do_lookup_x+800>: jne 0x2aaaaaab37c7 <do_lookup_x+519>
0x00002aaaaaab38e6 <do_lookup_x+806>: mov %rbx,(%rax)
0x00002aaaaaab38e9 <do_lookup_x+809>: mov %r13,0x8(%rax)
0x00002aaaaaab38ed <do_lookup_x+813>: jmpq 0x2aaaaaab37c7 <do_lookup_x+519>
0x00002aaaaaab38f2 <do_lookup_x+818>: mov 0xb0(%rsp),%rax
0x00002aaaaaab38fa <do_lookup_x+826>: mov 0x10(%rax),%rdi
0x00002aaaaaab38fe <do_lookup_x+830>: test %rdi,%rdi
0x00002aaaaaab3901 <do_lookup_x+833>: je 0x2aaaaaab37b0 <do_lookup_x+496>
0x00002aaaaaab3907 <do_lookup_x+839>: mov %r13,%rsi
0x00002aaaaaab390a <do_lookup_x+842>: callq 0x2aaaaaab7dd0 <_dl_name_match_p>
0x00002aaaaaab390f <do_lookup_x+847>: test %eax,%eax
0x00002aaaaaab3911 <do_lookup_x+849>: je 0x2aaaaaab37b0 <do_lookup_x+496>
0x00002aaaaaab3917 <do_lookup_x+855>: lea 0xde42(%rip),%rcx # 0x2aaaaaac1760 <PRETTY_FUNCTION.8179>
0x00002aaaaaab391e <do_lookup_x+862>: lea 0xdd35(%rip),%rsi # 0x2aaaaaac165a
0x00002aaaaaab3925 <do_lookup_x+869>: lea 0xf6e4(%rip),%rdi # 0x2aaaaaac3010
0x00002aaaaaab392c <do_lookup_x+876>: mov $0x72,%edx
0x00002aaaaaab3931 <do_lookup_x+881>: callq 0x2aaaaaabd210 <__assert_fail>
---Type to continue, or q to quit---
0x00002aaaaaab3936 <do_lookup_x+886>: mov 0x8(%r13),%rdx
0x00002aaaaaab393a <do_lookup_x+890>: mov 0x30(%r13),%rcx
0x00002aaaaaab393e <do_lookup_x+894>: cmpb $0x0,(%rdx)
0x00002aaaaaab3941 <do_lookup_x+897>: jne 0x2aaaaaab394d <do_lookup_x+909>
0x00002aaaaaab3943 <do_lookup_x+899>: mov 0x11229e(%rip),%rax # 0x2aaaaabc5be8 <_dl_argv_internal>
0x00002aaaaaab394a <do_lookup_x+906>: mov (%rax),%rdx
0x00002aaaaaab394d <do_lookup_x+909>: mov 0x28(%rsp),%rsi
0x00002aaaaaab3952 <do_lookup_x+914>: lea 0xf68f(%rip),%rdi # 0x2aaaaaac2fe8
0x00002aaaaaab3959 <do_lookup_x+921>: xor %eax,%eax
0x00002aaaaaab395b <do_lookup_x+923>: callq 0x2aaaaaab84d0 <_dl_debug_printf>
0x00002aaaaaab3960 <do_lookup_x+928>: jmpq 0x2aaaaaab365d <do_lookup_x+157>
End of assembler dump.

env | grep -i ^LD_, doesn't produce nothing for me

@addaleax
Copy link
Member

addaleax commented Mar 7, 2017

What’s your glibc version, if you can look that up somehow? Is it up to date? The copy of the glibc sources that I’m looking at don’t seem to correspond 100 % to the disassembly here…

@addaleax
Copy link
Member

addaleax commented Mar 7, 2017

Yeah, I’m pretty sure it’s a glibc bug that has been fixed in glibc >= 2.5. And unfortunately, it’s nothing that Node can do anything about. :/

@Julius1985
Copy link
Author

Julius1985 commented Mar 7, 2017 via email

@addaleax addaleax closed this as completed Mar 7, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants