From nobody Thu Nov 21 15:04:58 2024 X-Original-To: freebsd-ports@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XvM3d42BHz5dCFy for ; Thu, 21 Nov 2024 15:05:17 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic313-19.consmr.mail.gq1.yahoo.com (sonic313-19.consmr.mail.gq1.yahoo.com [98.137.65.82]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4XvM3c0qpjz482s for ; Thu, 21 Nov 2024 15:05:16 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=sgfFdbnM; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.65.82 as permitted sender) smtp.mailfrom=marklmi@yahoo.com; dmarc=pass (policy=reject) header.from=yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1732201513; bh=BL1BDDJPXJn02SsfHQoug0zJ81IKkMdcMlNIjZoDm9s=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=sgfFdbnMrvzKupb7ac7e2BKP2JY2wl756wo4s0U01C3e2KjYJm49VDal68XaPAHmsvEE+sNafHV2J4BjDjuBGBR4vWWxGoinZaj+Kna7dLSROI7tSUutCGkt916KWYcXsibeQNLVmI0a9EHnN/AEDUuSRXk6a8hrm4VgtZCstBzRbLIH859QS39Z6rjiPwdk68JJHtRZDg7CRapN7WWG6kWAEVYARfaID2vG7SZJR7YztWgZoliAzrP2yv5PjD98QNxIfevLlQRUKND0fhCFgVosZA2mmMBcYpp3GEkAAXg0QaCnKlFrHZgbEH0yw8NtQ4WKzXimrGn57HasnFyb8A== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1732201513; bh=zweLVbD1oiNLlI7OEOOA/R3Wxr7OSGLfK155L77kbcK=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=Yto2zUR56UkY3vcInY2BlohHH0t29Du1fSaTjjqRMT22RAsGeumIkI+ePQd1IjoPRf7VsLT+r2CiCZCT2DXiOaeFQvU+4KhPt09rbPhffN0i7IZqEGcYwIS3yN+bfdWrkit7rQ1SltmF990kKfqU64VqfnRh8zJEAJeBwUUuff5ZcvfPaZq4lEaZi6DYGX/9T2Gd0DaJNlTC1LaZUvadfF9MdL/qpBTklcHY9mlKZ43nxJV4XYkvwYrzGiNPwkb0ys5ReoIhUlAc4zGPCVIhvnuC6XF6vDvYyN5qV3z/mqYEJ5dizewqFFQgkNMhmcoS0lh3/meBrOCXToRitmWXHQ== X-YMail-OSG: EUWuvQIVM1lC0mJ_AEC_rSrsAPlxndIeoA0HUWXfdu_MRnIFsGO3YRnkjW22yJO cH6_5iGzmMZR0sykJnOGnYzjM3TPAaAG6ftczWj_UadsqpzPioAdn6Ek5L33uL2oNdeBCwlnKtSf FpLbFZuQPHSzBgnlA1jGx2I0v8MZdKezGa_qADxplAeemCOdJniBYvE7h2U0uLCkuNu0sx1wzwvL qMiVVXff3aH.RgkZ.U3Csl_l3OKElgLtsrs7TZ2EwS8d1WSJr3JgzXTWn5sWemjnaF9gGzPS9gZD ndoyWqAP6N7tai7p8BSnauJK5G352Jv0TLZrTpFKjudNH2DX_AseFcMFBByLLN1shqoxbxevx3jB nflhV7Ae2Lbuqn5zoQtAlkVvV6fsM6JLtqEe_fJi3_KQvpgU_ZZyf9wZpQLMxxswv71Tn2_Dwtqo 0nckmF4.7ggceHxD87WB_WXT6i7WD1Ty_oO.0BuzeTekzddY1PncHQ0ByfAJHTf22fy1Iqx5k7PK fig1vwg3mONmjj4qLKD0FSK5xAz5pC6FMINtM4otDsASh7jAaYmKT6kHJnB_U7yFkCAAc8huSQ2L aL9rdlzGfZY_HWRmPq5sabPIPYMv6MoXAcvwwKDnqMju.5KogPDjYmhMNXGRa.Ov2dj9dDGycniv .JDDpA.bvADBw1GiarIDfDm3JfeYepr7f7OUNEJboKCYRJt5pYZm0SPGE6oHxrn.MiSBMOfGPJSc XaONaxSTAqpc.TwZlIZhBFqf2LTzz46xIjZhokOG2aHjfHmjq5w31EyEUb8o10vnEL3qpAlww8Kd Bi1sO1FOQkBhatM3l9OLsy5o9tsg4qMTUCAExgeboRNgMIZpQFBJiGCzQrvqulOnTcTSLVEar4AW C_4DQVf1TtbthDOESIM3xBdzZRbs6YRm0UskjSg4zi4WRYXXP4Y.4XfCMawXsQH.9SEjA0hZUP_L O8zgBdjk4.bJ16qyYOm5.umL1k_Gnw9W4oFzZEVGuzu43tcnXNpYSZD9YKdXKT9uNFIhgcc4AikO imB4qEliHK.Kvdvi00S3s4YpSKS1DH4rSOdX.kAeGjtLGpQUaqM5GPW83zZfYIUmykiNrPvjQE2J 8tKYRbouUqaLdF0UScl08NYFsuW_ZX2CxEVsfoEJ16A12IxZHyL4ITE5XTm85x0aOsE8LvA7.D0U ws5Lt4FdmNa0IObsUBPoq9uc4Er0XI65QoC2O_SYyK1jrp.BqRPovfFOl8RRpey9SjTZZ.0MWXk9 my2a2k2x5n_Cyfwx0jLJ55QO9yUeAX7HQITbs7WznyBtednafOp5vXK__6RRhNKn4GxHM5G3_Vhy Jf7T_WfdpO2L8zFuGBoCzWJxSX6r6vx4QWVjuCqkSg3qYEc8UsoI.DpYSx519LMIHaVmyDwLNCyq iohFNaKszabAa94CKm2z8rhSwTecqmnAspaqxWr.vG5OZQGHEkvZmlUE1c1VMmdnPi.i0NieGitt _hci8zVhbKUBkIAa102FQtKDoVrE6yrfYXG4jYkerUk6kXW7yhyWYrMFaxu3mbqdsMm_pAK8.Kpt DYN7Lwkd2S6sYVs4odT7eGg8v4EMTf_vcOSP61tE4MIBPmg8r3soPPuiNVguIZQzjnj_3kfg..Ks yvV2CXK_7P69m5HtUsJlspw6k4Fcq9oVYCb37bPkjRjNWdst.3ZiCCXuKkJRFAb7EFYFFt_hyw8A CDgwIRYSv3zyljWmgdV92fPWkkHgREGEdgFljel71FLuvT4uCy66b_Em0mpgtFAo1MBPjTCFkAQB gm1aJryy5ubRcyEBCECo.8BfyrF8XNwR.xEkStXZdplwa783uPcolmu.iq2iupyRxfLhrfxuv_jZ aAto21GZMcWcMlGC.goO8YCPWo7oggBehGc.5SX0wDL1KNwoX18NcxIMcEre4.l12rZtey9FPo2o b_8BNl5wMjCyxJjas2WWxmT.yAVfRauZwQZ5uFG0wFm.PjkPIu5WuqzQMgZJ1htnTiwpb3jm9s26 ldFu.031QwaTySrksTd4FlOUcutj_acec9eWpwDq.DmZ5E.OGMUI9jSy.5PO5EIXDcvhZIDSghJj 973qyLe201SDnW8sGBrrDboXMDlJVb2NAHnY0rGm6EXkqrOlp8uAWxDrIQEQRiaoRleXtTlsf0xn vu3RRHe.tTihsdpXi7RN9bZneB1N3t1PE3FLR.ZvHDUh.LyaqMYdkil75lAKMatq5DzL8vRI3tJe iqBwD26PGAEWh8QMxYv.HUVv6OTD_LwP5DWoiyCOcijoUUAPtFjxlvxxVTR0EY_Hrp0w3cOZErX7 3yViBKKfJd2CKEhotsgYyDfvhv7GIeQkZANQ- X-Sonic-MF: X-Sonic-ID: ce3e4323-8ef2-420b-82a5-c7ab59129574 Received: from sonic.gate.mail.ne1.yahoo.com by sonic313.consmr.mail.gq1.yahoo.com with HTTP; Thu, 21 Nov 2024 15:05:13 +0000 Received: by hermes--production-gq1-5dd4b47f46-wrqn7 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID bd6cecb568d6ecc4b8c66099e824a86e; Thu, 21 Nov 2024 15:05:09 +0000 (UTC) Content-Type: text/plain; charset=us-ascii List-Id: Porting software to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-ports List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-ports@freebsd.org Sender: owner-freebsd-ports@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3776.700.51\)) Subject: Re: port binary dumping core on recent head in poudriere From: Mark Millard In-Reply-To: <0078D1FE-5A33-43A1-B679-727080676688@yahoo.com> Date: Thu, 21 Nov 2024 07:04:58 -0800 Cc: Dimitry Andric Content-Transfer-Encoding: quoted-printable Message-Id: References: <0078D1FE-5A33-43A1-B679-727080676688@yahoo.com> To: Guido Falsi , FreeBSD Mailing List , Current FreeBSD X-Mailer: Apple Mail (2.3776.700.51) X-Spamd-Result: default: False [-3.99 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.99)[-0.990]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; MIME_GOOD(-0.10)[text/plain]; DKIM_TRACE(0.00)[yahoo.com:+]; TO_DN_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; ARC_NA(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_FROM(0.00)[yahoo.com]; MIME_TRACE(0.00)[0:+]; RCPT_COUNT_THREE(0.00)[4]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; MLMMJ_DEST(0.00)[freebsd-ports@freebsd.org]; APPLE_MAILER_COMMON(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.65.82:from]; RCVD_IN_DNSWL_NONE(0.00)[98.137.65.82:from] X-Rspamd-Queue-Id: 4XvM3c0qpjz482s X-Spamd-Bar: --- [Just resending, including the original-sender's listing of freebsd=3Dports.] On Nov 21, 2024, at 02:22, Mark Millard wrote: > I've noticed that recently some ports are dumping core during builds = of=20 > dependencies in head in poudriere. >=20 > I'm seeing this for example with sassc crashing while trying to build=20= > x11-themes/greybird-theme. >=20 > My first suspect was the llvm upgrade in head, but forcing sassc and=20= > libsass to build with older clang via USES=3Dllvm:max=3D18 is not = helping. >=20 > I did recompile the offending programs with debug and tried a = backtrace=20 > and got this: >=20 > ``` > (lldb) bt > * thread #1, name =3D 'sassc', stop reason =3D signal SIGSEGV: invalid=20= > permissions for mapped object (fault address: 0x82374a000) > * frame #0: 0x000000082374a000 libsass.so.1 > frame #1: 0x0000000823865a86 libsass.so.1`_GLOBAL__sub_I_ast.cpp=20 > [inlined] double std::__1::__math::acos[abi:se190102](__x=3D-1) = at=20 > inverse_trigonometric_functions.h:40:10 > frame #2: 0x0000000823865a81 libsass.so.1`_GLOBAL__sub_I_ast.cpp=20 > [inlined] __cxx_global_var_init at units.hpp:11:21 > frame #3: 0x0000000823865a81 libsass.so.1`_GLOBAL__sub_I_ast.cpp at=20 > ast.cpp:0 > frame #4: 0x00001eac6e3f078d ld-elf.so.1 > frame #5: 0x00001eac6e3ef349 ld-elf.so.1 > frame #6: 0x00001eac6e3ec099 ld-elf.so.1`___lldb_unnamed_symbol27 + 25 > ``` >=20 > which points me to this upstream line of code:=20 > = https://github.com/sass/libsass/blob/7037f03fabeb2b18b5efa84403f5a6d7a990f= 460/src/units.hpp#L11 The below verifies that the acos@got.plt ends up with the bad value that is the failure address, reloc_plt setting the bad value into acos@got.plt . Some of this may be because there are 2 's in the code (from an "info b" in gdb after I'd "b acos@plt"): 2.1 y 0x00000008004f3da0 2.2 y 0x000000080066e690 (gdb) disass 0x00000008004f3da0 Dump of assembler code for function acos@plt: 0x00000008004f3da0 <+0>: jmp *0x14362(%rip) # 0x800508108 = 0x00000008004f3da6 <+6>: push $0x72 0x00000008004f3dab <+11>: jmp 0x8004f3670 (gdb) disass 0x000000080066e690 Dump of assembler code for function acos@plt: 0x000000080066e690 <+0>: jmp *0x2ada(%rip) # 0x800671170 = 0x000000080066e696 <+6>: push $0xb 0x000000080066e69b <+11>: jmp 0x80066e5d0 End of assembler dump. There are also the 2 separate 's in the code: (gdb) x/gx 0x800508108 0x800508108 : 0x0000000800249000 (gdb) x/gx 0x800671170 0x800671170 : 0x000000080066e696 One of these is is junk and the other is not: (gdb) disass 0x0000000800249000 No function contains specified address. NOTE: At this stage the result should have been based on: 0x00000008004f3da6 (gdb) disass 0x000000080066e696 Dump of assembler code for function acos@plt: 0x000000080066e690 <+0>: jmp *0x2ada(%rip) # 0x800671170 = 0x000000080066e696 <+6>: push $0xb 0x000000080066e69b <+11>: jmp 0x80066e5d0 End of assembler dump. I built textproc/sassc in poudriere in my personal environment. Running it fails as was described. First just see the failing address and where it fits in the info files information. (gdb) run Starting program: /usr/local/bin/sassc =20 Program received signal SIGSEGV, Segmentation fault. Invalid permissions for mapped object. 0x0000000800249000 in ?? () (gdb) info files Symbols from "/usr/local/bin/sassc". Native process: Using the running image of child process 80969. While running this, GDB does not access memory from... Local exec file: `/usr/local/bin/sassc', file type elf64-x86-64-freebsd. Entry point: 0x203440. . . 0x0000000800225230 - 0x0000000800226058 is .bss in /libexec/ld-elf.so.1 0x00007ffffffff0e8 - 0x00007ffffffff100 is .hash in system-supplied DSO = at 0x7ffffffff000 0x00007ffffffff100 - 0x00007ffffffff130 is .dynsym in system-supplied = DSO at 0x7ffffffff000 0x00007ffffffff130 - 0x00007ffffffff157 is .dynstr in system-supplied = DSO at 0x7ffffffff000 0x00007ffffffff158 - 0x00007ffffffff15c is .gnu.version in = system-supplied DSO at 0x7ffffffff000 0x00007ffffffff15c - 0x00007ffffffff194 is .gnu.version_d in = system-supplied DSO at 0x7ffffffff000 0x00007ffffffff194 - 0x00007ffffffff1a8 is .eh_frame_hdr in = system-supplied DSO at 0x7ffffffff000 0x00007ffffffff1a8 - 0x00007ffffffff214 is .eh_frame in system-supplied = DSO at 0x7ffffffff000 0x00007ffffffff218 - 0x00007ffffffff2c8 is .dynamic in system-supplied = DSO at 0x7ffffffff000 0x00007ffffffff2d0 - 0x00007ffffffff2e6 is .text in system-supplied DSO = at 0x7ffffffff000 0x0000000800249270 - 0x0000000800249288 is .note.tag in = /usr/local/lib/libsass.so.1 . . . 0x0000000800630310 - 0x00000008006343f8 is .bss in /lib/libcxxrt.so.1 0x00000008006352a8 - 0x00000008006352c0 is .note.tag in /lib/libm.so.5 . . . 0x000000080066e5d0 - 0x000000080066ee30 is .plt in /lib/libm.so.5 NOTE where 0x0000000800249000 fits in the above: outside any range. (And is referencing an implementation in /lib/libm.so.5 instead of /usr/local/lib/libsass.so.1 .) NOTE where 0x000000080066e696 fits in the above: inside a /lib/libm.so.5 = range. (And is referencing the implementation also in /lib/libm.so.5 .) I'll note c++/v1/__math/inverse_trigonometric_functions.h having: template ::value, int> =3D 0> inline _LIBCPP_HIDE_FROM_ABI double acos(_A1 __x) _NOEXCEPT { return __builtin_acos((double)__x); } This is in use in multiple places but each should end up using the implementation in /lib/libm.so.5 . Then rerunning for tracking acos@got.plt use and a little other context: (gdb) set radix 16 Input and output radices now set to decimal 16, hex 10, octal 20. (gdb) b __cxx_global_var_init Breakpoint 1 at 0x800364a81: __cxx_global_var_init. (50 locations) (gdb) b acos@plt Breakpoint 2 at 0x8004f3da0 (2 locations) (gdb) watch -l *(unsigned long*)0x800508108 Hardware watchpoint 3: -location *(unsigned long*)0x800508108 (gdb) watch -l *(unsigned long*)0x800671170 Hardware watchpoint 4: -location *(unsigned long*)0x800671170 (gdb) run The program being debugged has been started already. Start it from the beginning? (y or n) y Starting program: /usr/local/bin/sassc =20 Hardware watchpoint 3: -location *(unsigned long*)0x800508108 Old value =3D 0x0 New value =3D 0x800249000 reloc_plt (obj=3Dobj@entry=3D0x80022a808, flags=3Dflags@entry=3D0x4, = lockstate=3Dlockstate@entry=3D0x0) at = /usr/main-src/libexec/rtld-elf/amd64/reloc.c:343 343 break; NOTE: Old value being 0x0 is why things are odd. (gdb) bt #0 reloc_plt (obj=3Dobj@entry=3D0x80022a808, flags=3Dflags@entry=3D0x4, = lockstate=3Dlockstate@entry=3D0x0) at = /usr/main-src/libexec/rtld-elf/amd64/reloc.c:343 #1 0x0000000800217763 in relocate_object (obj=3Dobj@entry=3D0x80022a808, = bind_now=3D0x0, rtldobj=3Drtldobj@entry=3D0x800225250 , = flags=3Dflags@entry=3D0x4, lockstate=3Dlockstate@entry=3D0x0) at /usr/main-src/libexec/rtld-elf/rtld.c:3331 #2 0x000000080020fc38 in relocate_objects (first=3D, = bind_now=3D, flags=3D0x4, lockstate=3D0x0, = rtldobj=3D) at /usr/main-src/libexec/rtld-elf/rtld.c:3369 #3 _rtld (sp=3D, exit_proc=3D0x7fffffffea50, = objp=3D0x7fffffffea58) at /usr/main-src/libexec/rtld-elf/rtld.c:903 #4 0x000000080020cdf9 in rtld_start () at = /usr/main-src/libexec/rtld-elf/amd64/rtld_start.S:40 (gdb) list 338 switch(ELF_R_TYPE(rela->r_info)) { 339 case R_X86_64_JMP_SLOT: 340 /* Relocate the GOT slot pointing into the PLT. */ 341 where =3D (Elf_Addr *)(obj->relocbase + rela->r_offset); 342 *where +=3D (Elf_Addr)obj->relocbase; 343 break; 344 345 case R_X86_64_IRELATIVE: 346 obj->irelative =3D true; 347 break; (gdb) print obj->relocbase $1 =3D (caddr_t) 0x800249000 "\177ELF\002\001\001\t" (gdb) print rela->r_offset $2 =3D 0x2bf108 (gdb) print where $3 =3D (Elf_Addr *) 0x800508108 (gdb) print *where $4 =3D 0x800249000 (gdb) c Continuing. Hardware watchpoint 4: -location *(unsigned long*)0x800671170 Old value =3D 0x39696 New value =3D 0x80066e696 reloc_plt (obj=3Dobj@entry=3D0x80022e408, flags=3Dflags@entry=3D0x4, = lockstate=3Dlockstate@entry=3D0x0) at = /usr/main-src/libexec/rtld-elf/amd64/reloc.c:343 343 break; (gdb) bt #0 reloc_plt (obj=3Dobj@entry=3D0x80022e408, flags=3Dflags@entry=3D0x4, = lockstate=3Dlockstate@entry=3D0x0) at = /usr/main-src/libexec/rtld-elf/amd64/reloc.c:343 #1 0x0000000800217763 in relocate_object (obj=3Dobj@entry=3D0x80022e408, = bind_now=3D0x0, rtldobj=3Drtldobj@entry=3D0x800225250 , = flags=3Dflags@entry=3D0x4, lockstate=3Dlockstate@entry=3D0x0) at /usr/main-src/libexec/rtld-elf/rtld.c:3331 #2 0x000000080020fc38 in relocate_objects (first=3D, = bind_now=3D, flags=3D0x4, lockstate=3D0x0, = rtldobj=3D) at /usr/main-src/libexec/rtld-elf/rtld.c:3369 #3 _rtld (sp=3D, exit_proc=3D0x7fffffffea50, = objp=3D0x7fffffffea58) at /usr/main-src/libexec/rtld-elf/rtld.c:903 #4 0x000000080020cdf9 in rtld_start () at = /usr/main-src/libexec/rtld-elf/amd64/rtld_start.S:40 (gdb) list 338 switch(ELF_R_TYPE(rela->r_info)) { 339 case R_X86_64_JMP_SLOT: 340 /* Relocate the GOT slot pointing into the PLT. */ 341 where =3D (Elf_Addr *)(obj->relocbase + rela->r_offset); 342 *where +=3D (Elf_Addr)obj->relocbase; 343 break; 344 345 case R_X86_64_IRELATIVE: 346 obj->irelative =3D true; 347 break; (gdb) print obj->relocbase $5 =3D (caddr_t) 0x800635000 "\177ELF\002\001\001\t" (gdb) print rela->r_offset $6 =3D 0x3c170 (gdb) print where $7 =3D (Elf_Addr *) 0x800671170 (gdb) print *where $8 =3D 0x80066e696 (gdb) c Continuing. Breakpoint 1.50, 0x00000008005beee4 in __cxx_global_var_init () from = /lib/libc++.so.1 (gdb) c Continuing. Breakpoint 1.1, __cxx_global_var_init () at ./units.hpp:11 warning: 11 ./units.hpp: No such file or directory (gdb) c Continuing. Breakpoint 2.1, 0x00000008004f3da0 in acos@plt () from = /usr/local/lib/libsass.so.1 (gdb) bt #0 0x00000008004f3da0 in acos@plt () from /usr/local/lib/libsass.so.1 #1 0x0000000800364a86 in = _ZNSt3__16__math4acosB8se190102IiTnNS_9enable_ifIXsr11is_integralIT_EE5val= ueEiE4typeELi0EEEdS3_ (__x=3D0xffffffff) at /usr/include/c++/v1/__math/inverse_trigonometric_functions.h:40 #2 __cxx_global_var_init () at ./units.hpp:11 #3 0x0000000800364a86 in _GLOBAL__sub_I_ast.cpp () from = /usr/local/lib/libsass.so.1 #4 0x00000008002114ed in objlist_call_init = (list=3Dlist@entry=3D0x7fffffffe9e0, = lockstate=3Dlockstate@entry=3D0x7fffffffe7d0) at = /usr/main-src/libexec/rtld-elf/rtld.c:3128 #5 0x00000008002100a9 in _rtld (sp=3D, = exit_proc=3D0x7fffffffea50, objp=3D0x7fffffffea58) at = /usr/main-src/libexec/rtld-elf/rtld.c:974 #6 0x000000080020cdf9 in rtld_start () at = /usr/main-src/libexec/rtld-elf/amd64/rtld_start.S:40 (gdb) disass Dump of assembler code for function acos@plt: =3D> 0x00000008004f3da0 <+0>: jmp *0x14362(%rip) # 0x800508108 = 0x00000008004f3da6 <+6>: push $0x72 0x00000008004f3dab <+11>: jmp 0x8004f3670 End of assembler dump. (gdb) stepi 0x0000000800249000 in ?? () (gdb) bt #0 0x0000000800249000 in ?? () #1 0x0000000800364a86 in = _ZNSt3__16__math4acosB8se190102IiTnNS_9enable_ifIXsr11is_integralIT_EE5val= ueEiE4typeELi0EEEdS3_ (__x=3D0xffffffff) at /usr/include/c++/v1/__math/inverse_trigonometric_functions.h:40 #2 __cxx_global_var_init () at ./units.hpp:11 #3 0x0000000800364a86 in _GLOBAL__sub_I_ast.cpp () from = /usr/local/lib/libsass.so.1 #4 0x00000008002114ed in objlist_call_init = (list=3Dlist@entry=3D0x7fffffffe9e0, = lockstate=3Dlockstate@entry=3D0x7fffffffe7d0) at = /usr/main-src/libexec/rtld-elf/rtld.c:3128 #5 0x00000008002100a9 in _rtld (sp=3D, = exit_proc=3D0x7fffffffea50, objp=3D0x7fffffffea58) at = /usr/main-src/libexec/rtld-elf/rtld.c:974 #6 0x000000080020cdf9 in rtld_start () at = /usr/main-src/libexec/rtld-elf/amd64/rtld_start.S:40 (gdb) stepi Program received signal SIGSEGV, Segmentation fault. Invalid permissions for mapped object. 0x0000000800249000 in ?? () =3D=3D=3D Mark Millard marklmi at yahoo.com =3D=3D=3D Mark Millard marklmi at yahoo.com