镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

NodeJS get Floating point exception #522

Description

@Julius1985

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?

Activity

  1. addaleax commented on Mar 6, 2017

    @addaleax
    Member

    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
    
  2. Julius1985 commented on Mar 6, 2017

    @Julius1985
    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)

  3. addaleax commented on Mar 6, 2017

    @addaleax
    Member

    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?

  4. Julius1985 commented on Mar 7, 2017

    @Julius1985
    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

  5. addaleax commented on Mar 7, 2017

    @addaleax
    Member

    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…

  6. addaleax commented on Mar 7, 2017

    @addaleax
    Member

    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. :/

  7. Julius1985 commented on Mar 7, 2017

    @Julius1985
    Author
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions