From nobody Thu Nov 21 10:22:54 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 4XvDp55XzRz5cLQQ for ; Thu, 21 Nov 2024 10:23:09 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic314-19.consmr.mail.gq1.yahoo.com (sonic314-19.consmr.mail.gq1.yahoo.com [98.137.69.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 4XvDp41vsYz43GJ for ; Thu, 21 Nov 2024 10:23:08 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=bsS96Pji; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.69.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=1732184586; bh=PopbP5hvmuEOOT4lZzKZFWjnux33lO46l1SHihHSNFk=; h=From:Subject:Date:Cc:To:References:From:Subject:Reply-To; b=bsS96PjipsIXaE6H0NSZmsILWQEhcTdH65SGiJdZVGp8LBr6qhIZqoJLwoHykKymkwJ+RhLAp4cyr0KW0tr8IpwKanq3O6P1BFjCIS6lXGcekUXphx6lPdTA95+l7ef0kyKEim8zyIRSxy9vN2GEFj87GkivZKeBrFtqza12QdzWkbZWTf9wP81rrtfkVMe1K14ktMU5mVylVxh/D3lexcoH+VaQfF8wcEwc19si2r7U8MNKPqMHE07Smb+e8Idhye30+XoHurzD4/bNvNUwD+4T9By0e9n1FzGQuNpA5ifNudY7jMBFCL+sdk1xrP76HukQ0O92ZJct7DECUfdqfQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1732184586; bh=irtU+cvjQt1lgHgY+br3zaHtytAYkP2AW/U80hGEGve=; h=X-Sonic-MF:From:Subject:Date:To:From:Subject; b=dk8I3NJpj+rgDRLuNfJms45zwwsmLwHClx/ak3c+qn/iX/GuszxyJ1HvVRUa93gMmWu8UDzMkXumKpJBMMd/ZUsUXNgMkYldOkzNHpyr51D+jLBrsubeQXS2RTUth8wYb3S3/9p6CLPpOiZ7awXm1RNsmyH9UB0shI2Hhk4ORRde5xO49eZGJTagaP5TrV+sF8KSkXAOqtk7MhcQYLgJG2KdLuRkLwWlzRhRRiA6t9pdmOj+DugSMfDyp04mb+yxEK8H+XbRFhLxkytUOah5eHOtBCiBMdIzCJVKIYUtaPPHp4XIlN8WYYIY58ae3eLh6HWqk9WfbaCIoqMeTm9FZg== X-YMail-OSG: JhZONVQVM1mjJ_3ohAxWjdaYdOW4stmkpjf5zoHD4chmuJCDVOxiLdqRByjv5YA JH3Ds7nW3SojaiW2H8drGS0CVozqaukNeDHX1uuUjEQLaxMozIyWGa2irqOfApZSskvbOlzv2Up6 hlBJRa5oxgPm3zC4a63EZg2d4.L.qS.uOlXCcd0mN3jN_1tiWSaP42DfkB0M6V5lkOTAEiuVXBzS zAc3tu2BFTBWRpRh9Zt8_aYWgISKucpGzzcu53_8UeYVGLOMFH2dPViCqTt23khio5IbUfiIXfLz zNLOZoZqwO.uh1RkjpMu0Qw8viSGJPddfds.OE0UU4N2ipAdxOtu_Fpb_c3EBSfrPSEBN3xDNkrs e7C9_uRzF2PqCKM2GOS2qMuhw8U.TqytXdNobxZkz8v3IgxCjbhUaCFXTh8.Z5rK3GpEbme5J5h9 XJdyZjpSTp0Wp9skyAqauA9zYok5GxtqbabC1VyE.VpWF6qKFHlpn3AtHYPeuMoKqNNFBiS3sAXz UOJ1f_G9XSdNrjJ33Ba1uysIoSz6TPlTRnH67i9VHMowteQxIfWehCYJpj6trv4sy8T6dKg28HPC ZeXeqFirsnGRAF6PJ2qGwVANTHfAyAeJulx3wRcV0Tl8_ENqLmaG.HVHoHgHejxoCcoyPdQPbdTA n7I3dRLVrQi06AWCz7OqqVB3f1PcN.5chVkO.IMESVEqcQwmFkh3ndUzA.6Jojs0fJDJA5u9CZ1n hB17.KfuPCs6o28_Ap8KW4.Xh5HjxTjdwFqTOCHKEKsz1oD.Xo5K88qpkBPmEUhGuincjrHFOWUd veHsweWbq8FgKal5xptA6KPND66cBiVeWU6NDeNYt0F7LRBBXOmtBr1g2vB_OPP3uN7HW5qRBHm2 K2Y32OHh8iH_CmIxqwcQxF6oCKaNzf.ndmwKrQHl8MniARNYKOcCbG0QIwnUD.X_x05jH6RPTQ8s bgpYAMfUCY_PuyakIax3H.2ZIDfr2FhGDGZsrIT2Tsi0Y3.45z08qqlDsmtdY4O9xAqtXGWiR01T hHfnsMC3gp7oaYI39hs5zRyui1h3Upcw5ijyT_P3OJ4tHeORmoymvrJqd1bE8iFLGpPsc_H5_.r. pI5iXdwVy7uV4Ve7xH9EFwlGOtaRug8oIxTn5dqKjAwbNoACskSVpU2jn.hy_2h_rMgur9D9vF3s hsIp6RbuOQTCeHrBr0FuAUgVWu8a0bf7ZRUc41IGylt3bQv_glFhev3aUiNm2_NxZ6XO3UQY6zky olAmNfB9EWkpvrfs0xz7bIhSnBJY4EBoTjKgtco_FleS_OK9dcC39Tasb4muvBcUZdux4IyiqUcd ZYdmYb8g5EBqveqm0XpW.NuLekUWrO9quqltZwXiFtH9inOmnKE4EB6hjwN8SAFftbouvIYbiB.j hdwHQvcMTi1RWJLhF4skJy7C9FNPGhfwp1skVH8XjbXsryjUeoNQVZgeJ_nzyrCX4SV3f_HGdTnF BJ1UZlD1NKV0KoNOf0GxZ570aGpcLbDbgoFH.fPf_YtEvJXC4FvoK6rxLoFbe8RgtfWLrPdFe8yA d5OZUbcoOnMRIKjK92F5QgHfd21hav3gg0I7WwMYa81nMPmLoTxqs3olElCtGArRvwttZSUVP4ak oCGmyz9DWiVPnLZ_xMVEk_MqDXlDbE76Vi447t9fepPJ.acKZ5vbUjKvdx2MGZjwD.KSM3gNsOpi YdGGNc1NTNRAQXbXq3I9aC3XMlw_dpCld4BAOxf4r9_7aDknRrgCUo4r5Sl289eTxLWHEDEBn1GG 8KWwTD6dvHky7v2z2OnSJrwpFQnr3PT3lquw9kmMPrvCJ7w61GXEEIK_JgVW2CZyh4UmPF3.A1eJ R5t0bNPZtB4Bzw5c0XE9.9QwLcKbkmtUjdNkwNErvCnYPLEUeFyHaeHixImrtVPFw4RFi8GlnjBF PVgWP.dQGfZmG4DFFco.3OfC5yaymhE9s31ht2FJicWc.sP1f5vgEuIToDndIbIT5LzE6uMeOYel SA.oNtoxMYD13Fp0rr6qqOfwKI9s8Zt54AYoBZeCdUL5S6pRZijcBU5vWgfca6.1VlWpE9lNhuFn lBQdS4KqnCYgZNt468mUEyEcSL60UciqF6eLAi4BblIWcxYdjAvwaQ_gvp4Hinm4LwORKMYglak6 qUOLl4H783uFhQeVEFTje4TJUr8gxI5hZ_5w3UU88NEO3X7K4WIulpnVOQuEfeS_QVdJVxhgzNSh WSNK166gPEqTr6YiyK9ZcQq9MugCnABiogxXzuIEaU1ByI6gIYScYswFWmy1BywzgDQjHnQiUPam 2VZh.2tx7Cwy6FdfzH1G4aDrg58tAIRh3yYQd X-Sonic-MF: X-Sonic-ID: adfc9949-1907-4eb9-8568-3ad8da2dd9ef Received: from sonic.gate.mail.ne1.yahoo.com by sonic314.consmr.mail.gq1.yahoo.com with HTTP; Thu, 21 Nov 2024 10:23:06 +0000 Received: by hermes--production-gq1-5dd4b47f46-5xsmt (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 4fe6aefb956f9581d2d1da8fdd61557d; Thu, 21 Nov 2024 10:23:05 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable 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 Message-Id: <0078D1FE-5A33-43A1-B679-727080676688@yahoo.com> Date: Thu, 21 Nov 2024 02:22:54 -0800 Cc: Dimitry Andric To: Guido Falsi , FreeBSD Mailing List X-Mailer: Apple Mail (2.3776.700.51) References: <0078D1FE-5A33-43A1-B679-727080676688.ref@yahoo.com> X-Spamd-Result: default: False [-3.38 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; NEURAL_HAM_SHORT(-0.38)[-0.379]; 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)[3]; 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.69.82:from]; RCVD_IN_DNSWL_NONE(0.00)[98.137.69.82:from] X-Rspamd-Queue-Id: 4XvDp41vsYz43GJ X-Spamd-Bar: --- > 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