graphics/shotwell segfaults on amd64

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

graphics/shotwell segfaults on amd64

Josh Grosse-3
I'm trying to figure out a root cause, but am struggling
because my usual method of preventing stripped modules
fails when I build shotwell.  Setting $INSTALL_STRIP
doesn't have an effect during make fake.

Size mismatch warnings between libstdc++ and libc++abi occur
when the application is started, and after displaying thumbnails
a segfault in libc++abi occurs when the user clicks on any
thumbnail.

A console log, backtrace, and dmesg follow.  Any suggestions for capturing
better data would be appreciated.

Thanks in advance.

----------

x220$ shotwell
shotwell:/usr/lib/libstdc++.so.57.0: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVN10__cxxabiv120__si_class_type_infoE) size mismatch, relink your program
shotwell:/usr/lib/libstdc++.so.57.0: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVN10__cxxabiv120__function_type_infoE) size mismatch, relink your program
shotwell:/usr/lib/libstdc++.so.57.0: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVSt9type_info) size mismatch, relink your program
shotwell:/usr/lib/libstdc++.so.57.0: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVN10__cxxabiv117__class_type_infoE) size mismatch, relink your program
shotwell:/usr/lib/libstdc++.so.57.0: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVN10__cxxabiv123__fundamental_type_infoE) size mismatch, relink your program
shotwell:/usr/lib/libstdc++.so.57.0: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVN10__cxxabiv119__pointer_type_infoE) size mismatch, relink your program
shotwell:/usr/lib/libstdc++.so.57.0: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVN10__cxxabiv129__pointer_to_member_type_infoE) size mismatch, relink your program
shotwell:/usr/lib/libstdc++.so.57.0: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVN10__cxxabiv116__enum_type_infoE) size mismatch, relink your program
shotwell:/usr/lib/libstdc++.so.57.0: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVN10__cxxabiv121__vmi_class_type_infoE) size mismatch, relink your program
shotwell:/usr/lib/libstdc++.so.57.0: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVN10__cxxabiv117__pbase_type_infoE) size mismatch, relink your program
shotwell:/usr/lib/libstdc++.so.57.0: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVN10__cxxabiv117__array_type_infoE) size mismatch, relink your program

(shotwell:79515): Gtk-1;33mWARNING0m **: 34m19:25:48.0880m: gtk_window_present_with_time() should not be called with 0, or GDK_CURRENT_TIME as a timestamp, the timestamp should instead be gathered at the time the user initiated the request for the window to be shown
Segmentation fault (core dumped)
x220$ egdb /usr/local/bin/shotwell shotwell.core
?1034hGNU gdb (GDB) 7.12.1
Copyright (C) 2017 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-unknown-openbsd6.4".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/local/bin/shotwell...(no debugging symbols found)...done.
[New process 593704]
[New process 464506]
[New process 360647]
[New process 124467]
[New process 546624]
[New process 228011]
[New process 387002]
[New process 565161]
[New process 198636]
[New process 184287]
[New process 579951]
[New process 268459]
[New process 615539]
Core was generated by `shotwell'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  is_equal (x=0x137ccba91e80 <typeinfo for Exiv2::Internal::TiffDirectory>, use_strcmp=false, y=<optimized out>)
    at /usr/src/lib/libcxxabi/src/private_typeinfo.cpp:64
64 return x == y;
[Current thread is 1 (process 593704)]
(gdb) bt
#0  is_equal (x=0x137ccba91e80 <typeinfo for Exiv2::Internal::TiffDirectory>, use_strcmp=false, y=<optimized out>)
    at /usr/src/lib/libcxxabi/src/private_typeinfo.cpp:64
#1  __cxxabiv1::__si_class_type_info::has_unambiguous_public_base (this=0x137ccba91e80 <typeinfo for Exiv2::Internal::TiffDirectory>, info=0x0,
    adjustedPtr=0x6, path_below=-878109056) at /usr/src/lib/libcxxabi/src/private_typeinfo.cpp:289
#2  0x0000137d6a060c3f in __cxxabiv1::__dynamic_cast (src_ptr=0x137cee1e0cc0, src_type=0x137ccba91e10 <typeinfo for Exiv2::Internal::TiffComponent>,
    dst_type=0x137ccba91e80 <typeinfo for Exiv2::Internal::TiffDirectory>, src2dst=0)
    at /usr/src/gnu/lib/libstdc++-v3/../../gcc/libstdc++-v3/libsupc++/tinfo.cc:731
#3  0x0000137ccb9dea59 in Exiv2::Internal::TiffSubIfd::doAddChild(std::__1::auto_ptr<Exiv2::Internal::TiffComponent>) ()
   from /usr/local/lib/libexiv2.so.11.0
#4  0x0000137ccb9dd930 in Exiv2::Internal::TiffComponent::addChild(std::__1::auto_ptr<Exiv2::Internal::TiffComponent>) ()
   from /usr/local/lib/libexiv2.so.11.0
#5  0x0000137ccb9f721d in Exiv2::Internal::TiffReader::visitSubIfd(Exiv2::Internal::TiffSubIfd*) () from /usr/local/lib/libexiv2.so.11.0
#6  0x0000137ccb9df182 in Exiv2::Internal::TiffSubIfd::doAccept(Exiv2::Internal::TiffVisitor&) () from /usr/local/lib/libexiv2.so.11.0
#7  0x0000137ccb9df0ad in Exiv2::Internal::TiffDirectory::doAccept(Exiv2::Internal::TiffVisitor&) () from /usr/local/lib/libexiv2.so.11.0
#8  0x0000137ccb9e8814 in Exiv2::Internal::TiffParserWorker::parse(unsigned char const*, unsigned int, unsigned int, Exiv2::Internal::TiffHeaderBase*) () from /usr/local/lib/libexiv2.so.11.0
#9  0x0000137ccb9e7430 in Exiv2::Internal::TiffParserWorker::decode(Exiv2::ExifData&, Exiv2::IptcData&, Exiv2::XmpData&, unsigned char const*, unsigned int, unsigned int, void (Exiv2::Internal::TiffDecoder::*(*)(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned int, Exiv2::Internal::IfdId))(Exiv2::Internal::TiffEntryBase const*), Exiv2::Internal::TiffHeaderBase*) ()
   from /usr/local/lib/libexiv2.so.11.0
#10 0x0000137ccb9e6c77 in Exiv2::TiffParser::decode(Exiv2::ExifData&, Exiv2::IptcData&, Exiv2::XmpData&, unsigned char const*, unsigned int) ()
   from /usr/local/lib/libexiv2.so.11.0
#11 0x0000137ccb9531c2 in Exiv2::ExifParser::decode(Exiv2::ExifData&, unsigned char const*, unsigned int) () from /usr/local/lib/libexiv2.so.11.0
#12 0x0000137ccb97126a in Exiv2::JpegBase::readMetadata() () from /usr/local/lib/libexiv2.so.11.0
#13 0x0000137cfab296d4 in gexiv2_metadata_open_path () from /usr/local/lib/libgexiv2.so.3.1
#14 0x0000137ab36d9ff5 in ?? ()
#15 0x0000137ab3b0508e in media_metadata_read_from_file ()
#16 0x0000137ab36e1414 in ?? ()
#17 0x0000137ab36b9b0e in photo_file_reader_read_metadata ()
#18 0x0000137ab398b684 in ?? ()
#19 0x0000137ab37a0659 in photo_source_get_metadata ()
#20 0x0000137ab39e3b0a in ?? ()
#21 0x0000137ab39e1bd9 in properties_get_single_properties ()
#22 0x0000137ab39e2e6a in ?? ()
#23 0x0000137ab39e5deb in ?? ()
#24 0x0000137ab39e1dd9 in properties_get_properties ()
#25 0x0000137ab39e315b in ?? ()
#26 0x0000137ab39e6038 in ?? ()
#27 0x0000137ab39e2189 in properties_internal_update_properties ()
#28 0x0000137ab39e206a in properties_update_properties ()
#29 0x0000137ab37206a2 in ?? ()
#30 0x0000137ab371624f in ?? ()
#31 0x0000137ab362b844 in ?? ()
#32 0x0000137ab3629562 in ?? ()
#33 0x0000137d7106d718 in g_main_dispatch (context=<optimized out>) at ../glib-2.58.3/glib/gmain.c:3182
#34 g_main_context_dispatch (context=<optimized out>) at ../glib-2.58.3/glib/gmain.c:3847
#35 0x0000137d7106db36 in g_main_context_iterate (context=<optimized out>, block=1, dispatch=1, self=<optimized out>)
    at ../glib-2.58.3/glib/gmain.c:3920
#36 0x0000137d7106dc23 in g_main_context_iteration (context=0x137cfe116800, may_block=1) at ../glib-2.58.3/glib/gmain.c:3981
#37 0x0000137d690b8bdd in g_application_run (application=0x137da5da22d0, argc=<optimized out>, argv=<optimized out>)
    at ../glib-2.58.3/gio/gapplication.c:2470
#38 0x0000137ab3acf0e7 in application_start ()
#39 0x0000137ab388a786 in library_exec ()
#40 0x0000137ab388cdc3 in _vala_main ()
#41 0x0000137ab388d52f in main ()
(gdb) quit


----------

OpenBSD 6.5-beta (GENERIC.MP) #832: Mon Mar 25 14:28:55 MDT 2019
    [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 8451125248 (8059MB)
avail mem = 8185020416 (7805MB)
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.6 @ 0xdae9c000 (64 entries)
bios0: vendor LENOVO version "8DET76WW (1.46 )" date 06/21/2018
bios0: LENOVO 4291G26
acpi0 at bios0: rev 2
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP SLIC SSDT SSDT SSDT HPET APIC MCFG ECDT ASF! TCPA SSDT SSDT DMAR UEFI UEFI UEFI
acpi0: wakeup devices LID_(S3) SLPB(S3) IGBE(S4) EXP4(S4) EXP7(S4) EHC1(S3) EHC2(S3) HDEF(S4)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpihpet0 at acpi0: 14318179 Hz
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz, 2492.25 MHz, 06-2a-07
cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,MELTDOWN
cpu0: 256KB 64b/line 8-way L2 cache
cpu0: smt 0, core 0, package 0
mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges
cpu0: apic clock running at 99MHz
cpu0: mwait min=64, max=64, C-substates=0.2.1.1.2, IBE
cpu1 at mainbus0: apid 2 (application processor)
cpu1: Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz, 2491.91 MHz, 06-2a-07
cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,MELTDOWN
cpu1: 256KB 64b/line 8-way L2 cache
cpu1: smt 0, core 1, package 0
ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 24 pins
acpimcfg0 at acpi0
acpimcfg0: addr 0xf8000000, bus 0-63
acpiec0 at acpi0
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus -1 (PEG_)
acpiprt2 at acpi0: bus 2 (EXP1)
acpiprt3 at acpi0: bus 3 (EXP2)
acpiprt4 at acpi0: bus -1 (EXP4)
acpiprt5 at acpi0: bus 13 (EXP5)
acpiprt6 at acpi0: bus -1 (EXP7)
acpicpu0 at acpi0: C3(350@104 io@0x415), C1(1000@1 halt), PSS
acpicpu1 at acpi0: C3(350@104 io@0x415), C1(1000@1 halt), PSS
acpipwrres0 at acpi0: PUBS, resource for EHC1, EHC2
acpitz0 at acpi0: critical temperature is 99 degC
acpibtn0 at acpi0: LID_
acpibtn1 at acpi0: SLPB
acpipci0 at acpi0 PCI0: 0x00000000 0x00000011 0x00000001
acpicmos0 at acpi0
tpm0 at acpi0: TPM_ addr 0xfed40000/0x5000: device 0x0000104a rev 0x4e
acpibat0 at acpi0: BAT0 model "42T4875" serial    94 type LION oem "Panasonic"
acpiac0 at acpi0: AC unit online
acpithinkpad0 at acpi0
"PNP0C14" at acpi0 not configured
"PNP0C14" at acpi0 not configured
acpidock0 at acpi0: GDCK not docked (0)
acpivideo0 at acpi0: VID_
acpivout at acpivideo0 not configured
acpivideo1 at acpi0: VID_
cpu0: Enhanced SpeedStep 2492 MHz: speeds: 2501, 2500, 2200, 2000, 1800, 1600, 1400, 1200, 1000, 800 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "Intel Core 2G Host" rev 0x09
inteldrm0 at pci0 dev 2 function 0 "Intel HD Graphics 3000" rev 0x09
drm0 at inteldrm0
inteldrm0: msi
inteldrm0: 1366x768, 32bpp
wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation)
wsdisplay0: screen 1-5 added (std, vt100 emulation)
"Intel 6 Series MEI" rev 0x04 at pci0 dev 22 function 0 not configured
em0 at pci0 dev 25 function 0 "Intel 82579LM" rev 0x04: msi, address f0:de:f1:78:7c:39
ehci0 at pci0 dev 26 function 0 "Intel 6 Series USB" rev 0x04: apic 2 int 16
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
azalia0 at pci0 dev 27 function 0 "Intel 6 Series HD Audio" rev 0x04: msi
azalia0: codecs: Conexant CX20590, Intel/0x2805, using Conexant CX20590
audio0 at azalia0
ppb0 at pci0 dev 28 function 0 "Intel 6 Series PCIE" rev 0xb4: msi
pci1 at ppb0 bus 2
ppb1 at pci0 dev 28 function 1 "Intel 6 Series PCIE" rev 0xb4: msi
pci2 at ppb1 bus 3
rtwn0 at pci2 dev 0 function 0 "Realtek 8188CE" rev 0x01: msi
rtwn0: MAC/BB RTL8188CE, RF 6052 1T1R, address ec:55:f9:c6:f9:40
ppb2 at pci0 dev 28 function 4 "Intel 6 Series PCIE" rev 0xb4: msi
pci3 at ppb2 bus 13
sdhc0 at pci3 dev 0 function 0 "Ricoh 5U822 SD/MMC" rev 0x07: apic 2 int 16
sdhc0: SDHC 3.0, 50 MHz base clock
sdmmc0 at sdhc0: 4-bit, sd high-speed, mmc high-speed, dma
ehci1 at pci0 dev 29 function 0 "Intel 6 Series USB" rev 0x04: apic 2 int 23
usb1 at ehci1: USB revision 2.0
uhub1 at usb1 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
pcib0 at pci0 dev 31 function 0 "Intel QM67 LPC" rev 0x04
ahci0 at pci0 dev 31 function 2 "Intel 6 Series AHCI" rev 0x04: msi, AHCI 1.3
ahci0: port 0: 6.0Gb/s
ahci0: port 2: 3.0Gb/s
scsibus1 at ahci0: 32 targets
sd0 at scsibus1 targ 0 lun 0: <ATA, SSD2SC240G1CS175, CS11> SCSI3 0/direct fixed naa.5f8db4c115701558
sd0: 228936MB, 512 bytes/sector, 468862128 sectors, thin
sd1 at scsibus1 targ 2 lun 0: <ATA, TS32GMSA370, N112> SCSI3 0/direct fixed t10.ATA_TS32GMSA370_C528390021_
sd1: 30533MB, 512 bytes/sector, 62533296 sectors, thin
ichiic0 at pci0 dev 31 function 3 "Intel 6 Series SMBus" rev 0x04: apic 2 int 18
iic0 at ichiic0
spdmem0 at iic0 addr 0x50: 4GB DDR3 SDRAM PC3-10600 SO-DIMM
spdmem1 at iic0 addr 0x51: 4GB DDR3 SDRAM PC3-10600 SO-DIMM
isa0 at pcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5 irq 1 irq 12
pckbd0 at pckbc0 (kbd slot)
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
wsmouse0 at pms0 mux 0
wsmouse1 at pms0 mux 0
pms0: Synaptics clickpad, firmware 8.1, 0x1e2b1 0x940300
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
aps0 at isa0 port 0x1600/31
vmm0 at mainbus0: VMX/EPT
efifb at mainbus0 not configured
sdmmc0: can't enable card
uhub2 at uhub0 port 1 configuration 1 interface 0 "Intel Rate Matching Hub" rev 2.00/0.00 addr 2
uhidev0 at uhub2 port 2 configuration 1 interface 0 "Logitech USB RECEIVER" rev 1.10/25.10 addr 3
uhidev0: iclass 3/1
ums0 at uhidev0: 16 buttons, Z and W dir
wsmouse2 at ums0 mux 0
uhub3 at uhub1 port 1 configuration 1 interface 0 "Intel Rate Matching Hub" rev 2.00/0.00 addr 2
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
sd2 at scsibus3 targ 1 lun 0: <OPENBSD, SR CRYPTO, 006> SCSI2 0/direct fixed
sd2: 228935MB, 512 bytes/sector, 468860513 sectors
root on sd2a (84cf7725b144158a.a) swap on sd2b dump on sd2b

Reply | Threaded
Open this post in threaded view
|

Re: graphics/shotwell segfaults on amd64

Stuart Henderson
On 2019/03/26 20:25, Josh Grosse wrote:

> I'm trying to figure out a root cause, but am struggling
> because my usual method of preventing stripped modules
> fails when I build shotwell.  Setting $INSTALL_STRIP
> doesn't have an effect during make fake.
>
> Size mismatch warnings between libstdc++ and libc++abi occur
> when the application is started, and after displaying thumbnails
> a segfault in libc++abi occurs when the user clicks on any
> thumbnail.
>
> A console log, backtrace, and dmesg follow.  Any suggestions for capturing
> better data would be appreciated.

> x220$ shotwell
> shotwell:/usr/lib/libstdc++.so.57.0: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVN10__cxxabiv120__si_class_type_infoE) size mismatch, relink your program

Well that is very odd, why is it linking libstdc++?
I'm not at all surprised that it's crashing.

Reply | Threaded
Open this post in threaded view
|

Re: graphics/shotwell segfaults on amd64

Josh Grosse-3
On Wed, Mar 27, 2019 at 01:17:11AM +0000, Stuart Henderson wrote:

> On 2019/03/26 20:25, Josh Grosse wrote:
> > I'm trying to figure out a root cause, but am struggling
> > because my usual method of preventing stripped modules
> > fails when I build shotwell.  Setting $INSTALL_STRIP
> > doesn't have an effect during make fake.
> >
> > Size mismatch warnings between libstdc++ and libc++abi occur
> > when the application is started, and after displaying thumbnails
> > a segfault in libc++abi occurs when the user clicks on any
> > thumbnail.
> >
> > A console log, backtrace, and dmesg follow.  Any suggestions for capturing
> > better data would be appreciated.
>
> > x220$ shotwell
> > shotwell:/usr/lib/libstdc++.so.57.0: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVN10__cxxabiv120__si_class_type_infoE) size mismatch, relink your program
>
> Well that is very odd, why is it linking libstdc++?
> I'm not at all surprised that it's crashing.

It appears to have been added to WANTLIB at r1.101 on Feb 7.

Reply | Threaded
Open this post in threaded view
|

Re: graphics/shotwell segfaults on amd64

Stuart Henderson
On 2019/03/27 03:54, Josh Grosse wrote:

> On Wed, Mar 27, 2019 at 01:17:11AM +0000, Stuart Henderson wrote:
> > On 2019/03/26 20:25, Josh Grosse wrote:
> > > I'm trying to figure out a root cause, but am struggling
> > > because my usual method of preventing stripped modules
> > > fails when I build shotwell.  Setting $INSTALL_STRIP
> > > doesn't have an effect during make fake.
> > >
> > > Size mismatch warnings between libstdc++ and libc++abi occur
> > > when the application is started, and after displaying thumbnails
> > > a segfault in libc++abi occurs when the user clicks on any
> > > thumbnail.
> > >
> > > A console log, backtrace, and dmesg follow.  Any suggestions for capturing
> > > better data would be appreciated.
> >
> > > x220$ shotwell
> > > shotwell:/usr/lib/libstdc++.so.57.0: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVN10__cxxabiv120__si_class_type_infoE) size mismatch, relink your program
> >
> > Well that is very odd, why is it linking libstdc++?
> > I'm not at all surprised that it's crashing.
>
> It appears to have been added to WANTLIB at r1.101 on Feb 7.
>

It's added to WANTLIB because it is linked against it. The question is
why it's linking against it..

Reply | Threaded
Open this post in threaded view
|

Re: graphics/shotwell segfaults on amd64

Antoine Jacoutot-7
In reply to this post by Josh Grosse-3
On Tue, Mar 26, 2019 at 08:25:40PM -0400, Josh Grosse wrote:

> I'm trying to figure out a root cause, but am struggling
> because my usual method of preventing stripped modules
> fails when I build shotwell.  Setting $INSTALL_STRIP
> doesn't have an effect during make fake.
>
> Size mismatch warnings between libstdc++ and libc++abi occur
> when the application is started, and after displaying thumbnails
> a segfault in libc++abi occurs when the user clicks on any
> thumbnail.
>
> A console log, backtrace, and dmesg follow.  Any suggestions for capturing
> better data would be appreciated.
>
> Thanks in advance.

The problem comes from libraw which hardcodes -lstdc++.
Libs: -L${libdir} -lraw -lstdc++


> ----------
>
> x220$ shotwell
> shotwell:/usr/lib/libstdc++.so.57.0: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVN10__cxxabiv120__si_class_type_infoE) size mismatch, relink your program
> shotwell:/usr/lib/libstdc++.so.57.0: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVN10__cxxabiv120__function_type_infoE) size mismatch, relink your program
> shotwell:/usr/lib/libstdc++.so.57.0: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVSt9type_info) size mismatch, relink your program
> shotwell:/usr/lib/libstdc++.so.57.0: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVN10__cxxabiv117__class_type_infoE) size mismatch, relink your program
> shotwell:/usr/lib/libstdc++.so.57.0: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVN10__cxxabiv123__fundamental_type_infoE) size mismatch, relink your program
> shotwell:/usr/lib/libstdc++.so.57.0: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVN10__cxxabiv119__pointer_type_infoE) size mismatch, relink your program
> shotwell:/usr/lib/libstdc++.so.57.0: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVN10__cxxabiv129__pointer_to_member_type_infoE) size mismatch, relink your program
> shotwell:/usr/lib/libstdc++.so.57.0: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVN10__cxxabiv116__enum_type_infoE) size mismatch, relink your program
> shotwell:/usr/lib/libstdc++.so.57.0: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVN10__cxxabiv121__vmi_class_type_infoE) size mismatch, relink your program
> shotwell:/usr/lib/libstdc++.so.57.0: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVN10__cxxabiv117__pbase_type_infoE) size mismatch, relink your program
> shotwell:/usr/lib/libstdc++.so.57.0: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVN10__cxxabiv117__array_type_infoE) size mismatch, relink your program
>
> (shotwell:79515): Gtk-1;33mWARNING0m **: 34m19:25:48.0880m: gtk_window_present_with_time() should not be called with 0, or GDK_CURRENT_TIME as a timestamp, the timestamp should instead be gathered at the time the user initiated the request for the window to be shown
> Segmentation fault (core dumped)
> x220$ egdb /usr/local/bin/shotwell shotwell.core
> ?1034hGNU gdb (GDB) 7.12.1
> Copyright (C) 2017 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-unknown-openbsd6.4".
> Type "show configuration" for configuration details.
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>.
> Find the GDB manual and other documentation resources online at:
> <http://www.gnu.org/software/gdb/documentation/>.
> For help, type "help".
> Type "apropos word" to search for commands related to "word"...
> Reading symbols from /usr/local/bin/shotwell...(no debugging symbols found)...done.
> [New process 593704]
> [New process 464506]
> [New process 360647]
> [New process 124467]
> [New process 546624]
> [New process 228011]
> [New process 387002]
> [New process 565161]
> [New process 198636]
> [New process 184287]
> [New process 579951]
> [New process 268459]
> [New process 615539]
> Core was generated by `shotwell'.
> Program terminated with signal SIGSEGV, Segmentation fault.
> #0  is_equal (x=0x137ccba91e80 <typeinfo for Exiv2::Internal::TiffDirectory>, use_strcmp=false, y=<optimized out>)
>     at /usr/src/lib/libcxxabi/src/private_typeinfo.cpp:64
> 64 return x == y;
> [Current thread is 1 (process 593704)]
> (gdb) bt
> #0  is_equal (x=0x137ccba91e80 <typeinfo for Exiv2::Internal::TiffDirectory>, use_strcmp=false, y=<optimized out>)
>     at /usr/src/lib/libcxxabi/src/private_typeinfo.cpp:64
> #1  __cxxabiv1::__si_class_type_info::has_unambiguous_public_base (this=0x137ccba91e80 <typeinfo for Exiv2::Internal::TiffDirectory>, info=0x0,
>     adjustedPtr=0x6, path_below=-878109056) at /usr/src/lib/libcxxabi/src/private_typeinfo.cpp:289
> #2  0x0000137d6a060c3f in __cxxabiv1::__dynamic_cast (src_ptr=0x137cee1e0cc0, src_type=0x137ccba91e10 <typeinfo for Exiv2::Internal::TiffComponent>,
>     dst_type=0x137ccba91e80 <typeinfo for Exiv2::Internal::TiffDirectory>, src2dst=0)
>     at /usr/src/gnu/lib/libstdc++-v3/../../gcc/libstdc++-v3/libsupc++/tinfo.cc:731
> #3  0x0000137ccb9dea59 in Exiv2::Internal::TiffSubIfd::doAddChild(std::__1::auto_ptr<Exiv2::Internal::TiffComponent>) ()
>    from /usr/local/lib/libexiv2.so.11.0
> #4  0x0000137ccb9dd930 in Exiv2::Internal::TiffComponent::addChild(std::__1::auto_ptr<Exiv2::Internal::TiffComponent>) ()
>    from /usr/local/lib/libexiv2.so.11.0
> #5  0x0000137ccb9f721d in Exiv2::Internal::TiffReader::visitSubIfd(Exiv2::Internal::TiffSubIfd*) () from /usr/local/lib/libexiv2.so.11.0
> #6  0x0000137ccb9df182 in Exiv2::Internal::TiffSubIfd::doAccept(Exiv2::Internal::TiffVisitor&) () from /usr/local/lib/libexiv2.so.11.0
> #7  0x0000137ccb9df0ad in Exiv2::Internal::TiffDirectory::doAccept(Exiv2::Internal::TiffVisitor&) () from /usr/local/lib/libexiv2.so.11.0
> #8  0x0000137ccb9e8814 in Exiv2::Internal::TiffParserWorker::parse(unsigned char const*, unsigned int, unsigned int, Exiv2::Internal::TiffHeaderBase*) () from /usr/local/lib/libexiv2.so.11.0
> #9  0x0000137ccb9e7430 in Exiv2::Internal::TiffParserWorker::decode(Exiv2::ExifData&, Exiv2::IptcData&, Exiv2::XmpData&, unsigned char const*, unsigned int, unsigned int, void (Exiv2::Internal::TiffDecoder::*(*)(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned int, Exiv2::Internal::IfdId))(Exiv2::Internal::TiffEntryBase const*), Exiv2::Internal::TiffHeaderBase*) ()
>    from /usr/local/lib/libexiv2.so.11.0
> #10 0x0000137ccb9e6c77 in Exiv2::TiffParser::decode(Exiv2::ExifData&, Exiv2::IptcData&, Exiv2::XmpData&, unsigned char const*, unsigned int) ()
>    from /usr/local/lib/libexiv2.so.11.0
> #11 0x0000137ccb9531c2 in Exiv2::ExifParser::decode(Exiv2::ExifData&, unsigned char const*, unsigned int) () from /usr/local/lib/libexiv2.so.11.0
> #12 0x0000137ccb97126a in Exiv2::JpegBase::readMetadata() () from /usr/local/lib/libexiv2.so.11.0
> #13 0x0000137cfab296d4 in gexiv2_metadata_open_path () from /usr/local/lib/libgexiv2.so.3.1
> #14 0x0000137ab36d9ff5 in ?? ()
> #15 0x0000137ab3b0508e in media_metadata_read_from_file ()
> #16 0x0000137ab36e1414 in ?? ()
> #17 0x0000137ab36b9b0e in photo_file_reader_read_metadata ()
> #18 0x0000137ab398b684 in ?? ()
> #19 0x0000137ab37a0659 in photo_source_get_metadata ()
> #20 0x0000137ab39e3b0a in ?? ()
> #21 0x0000137ab39e1bd9 in properties_get_single_properties ()
> #22 0x0000137ab39e2e6a in ?? ()
> #23 0x0000137ab39e5deb in ?? ()
> #24 0x0000137ab39e1dd9 in properties_get_properties ()
> #25 0x0000137ab39e315b in ?? ()
> #26 0x0000137ab39e6038 in ?? ()
> #27 0x0000137ab39e2189 in properties_internal_update_properties ()
> #28 0x0000137ab39e206a in properties_update_properties ()
> #29 0x0000137ab37206a2 in ?? ()
> #30 0x0000137ab371624f in ?? ()
> #31 0x0000137ab362b844 in ?? ()
> #32 0x0000137ab3629562 in ?? ()
> #33 0x0000137d7106d718 in g_main_dispatch (context=<optimized out>) at ../glib-2.58.3/glib/gmain.c:3182
> #34 g_main_context_dispatch (context=<optimized out>) at ../glib-2.58.3/glib/gmain.c:3847
> #35 0x0000137d7106db36 in g_main_context_iterate (context=<optimized out>, block=1, dispatch=1, self=<optimized out>)
>     at ../glib-2.58.3/glib/gmain.c:3920
> #36 0x0000137d7106dc23 in g_main_context_iteration (context=0x137cfe116800, may_block=1) at ../glib-2.58.3/glib/gmain.c:3981
> #37 0x0000137d690b8bdd in g_application_run (application=0x137da5da22d0, argc=<optimized out>, argv=<optimized out>)
>     at ../glib-2.58.3/gio/gapplication.c:2470
> #38 0x0000137ab3acf0e7 in application_start ()
> #39 0x0000137ab388a786 in library_exec ()
> #40 0x0000137ab388cdc3 in _vala_main ()
> #41 0x0000137ab388d52f in main ()
> (gdb) quit
>
>
> ----------
>
> OpenBSD 6.5-beta (GENERIC.MP) #832: Mon Mar 25 14:28:55 MDT 2019
>     [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> real mem = 8451125248 (8059MB)
> avail mem = 8185020416 (7805MB)
> mpath0 at root
> scsibus0 at mpath0: 256 targets
> mainbus0 at root
> bios0 at mainbus0: SMBIOS rev. 2.6 @ 0xdae9c000 (64 entries)
> bios0: vendor LENOVO version "8DET76WW (1.46 )" date 06/21/2018
> bios0: LENOVO 4291G26
> acpi0 at bios0: rev 2
> acpi0: sleep states S0 S3 S4 S5
> acpi0: tables DSDT FACP SLIC SSDT SSDT SSDT HPET APIC MCFG ECDT ASF! TCPA SSDT SSDT DMAR UEFI UEFI UEFI
> acpi0: wakeup devices LID_(S3) SLPB(S3) IGBE(S4) EXP4(S4) EXP7(S4) EHC1(S3) EHC2(S3) HDEF(S4)
> acpitimer0 at acpi0: 3579545 Hz, 24 bits
> acpihpet0 at acpi0: 14318179 Hz
> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> cpu0 at mainbus0: apid 0 (boot processor)
> cpu0: Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz, 2492.25 MHz, 06-2a-07
> cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,MELTDOWN
> cpu0: 256KB 64b/line 8-way L2 cache
> cpu0: smt 0, core 0, package 0
> mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges
> cpu0: apic clock running at 99MHz
> cpu0: mwait min=64, max=64, C-substates=0.2.1.1.2, IBE
> cpu1 at mainbus0: apid 2 (application processor)
> cpu1: Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz, 2491.91 MHz, 06-2a-07
> cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,MELTDOWN
> cpu1: 256KB 64b/line 8-way L2 cache
> cpu1: smt 0, core 1, package 0
> ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 24 pins
> acpimcfg0 at acpi0
> acpimcfg0: addr 0xf8000000, bus 0-63
> acpiec0 at acpi0
> acpiprt0 at acpi0: bus 0 (PCI0)
> acpiprt1 at acpi0: bus -1 (PEG_)
> acpiprt2 at acpi0: bus 2 (EXP1)
> acpiprt3 at acpi0: bus 3 (EXP2)
> acpiprt4 at acpi0: bus -1 (EXP4)
> acpiprt5 at acpi0: bus 13 (EXP5)
> acpiprt6 at acpi0: bus -1 (EXP7)
> acpicpu0 at acpi0: C3(350@104 io@0x415), C1(1000@1 halt), PSS
> acpicpu1 at acpi0: C3(350@104 io@0x415), C1(1000@1 halt), PSS
> acpipwrres0 at acpi0: PUBS, resource for EHC1, EHC2
> acpitz0 at acpi0: critical temperature is 99 degC
> acpibtn0 at acpi0: LID_
> acpibtn1 at acpi0: SLPB
> acpipci0 at acpi0 PCI0: 0x00000000 0x00000011 0x00000001
> acpicmos0 at acpi0
> tpm0 at acpi0: TPM_ addr 0xfed40000/0x5000: device 0x0000104a rev 0x4e
> acpibat0 at acpi0: BAT0 model "42T4875" serial    94 type LION oem "Panasonic"
> acpiac0 at acpi0: AC unit online
> acpithinkpad0 at acpi0
> "PNP0C14" at acpi0 not configured
> "PNP0C14" at acpi0 not configured
> acpidock0 at acpi0: GDCK not docked (0)
> acpivideo0 at acpi0: VID_
> acpivout at acpivideo0 not configured
> acpivideo1 at acpi0: VID_
> cpu0: Enhanced SpeedStep 2492 MHz: speeds: 2501, 2500, 2200, 2000, 1800, 1600, 1400, 1200, 1000, 800 MHz
> pci0 at mainbus0 bus 0
> pchb0 at pci0 dev 0 function 0 "Intel Core 2G Host" rev 0x09
> inteldrm0 at pci0 dev 2 function 0 "Intel HD Graphics 3000" rev 0x09
> drm0 at inteldrm0
> inteldrm0: msi
> inteldrm0: 1366x768, 32bpp
> wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation)
> wsdisplay0: screen 1-5 added (std, vt100 emulation)
> "Intel 6 Series MEI" rev 0x04 at pci0 dev 22 function 0 not configured
> em0 at pci0 dev 25 function 0 "Intel 82579LM" rev 0x04: msi, address f0:de:f1:78:7c:39
> ehci0 at pci0 dev 26 function 0 "Intel 6 Series USB" rev 0x04: apic 2 int 16
> usb0 at ehci0: USB revision 2.0
> uhub0 at usb0 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
> azalia0 at pci0 dev 27 function 0 "Intel 6 Series HD Audio" rev 0x04: msi
> azalia0: codecs: Conexant CX20590, Intel/0x2805, using Conexant CX20590
> audio0 at azalia0
> ppb0 at pci0 dev 28 function 0 "Intel 6 Series PCIE" rev 0xb4: msi
> pci1 at ppb0 bus 2
> ppb1 at pci0 dev 28 function 1 "Intel 6 Series PCIE" rev 0xb4: msi
> pci2 at ppb1 bus 3
> rtwn0 at pci2 dev 0 function 0 "Realtek 8188CE" rev 0x01: msi
> rtwn0: MAC/BB RTL8188CE, RF 6052 1T1R, address ec:55:f9:c6:f9:40
> ppb2 at pci0 dev 28 function 4 "Intel 6 Series PCIE" rev 0xb4: msi
> pci3 at ppb2 bus 13
> sdhc0 at pci3 dev 0 function 0 "Ricoh 5U822 SD/MMC" rev 0x07: apic 2 int 16
> sdhc0: SDHC 3.0, 50 MHz base clock
> sdmmc0 at sdhc0: 4-bit, sd high-speed, mmc high-speed, dma
> ehci1 at pci0 dev 29 function 0 "Intel 6 Series USB" rev 0x04: apic 2 int 23
> usb1 at ehci1: USB revision 2.0
> uhub1 at usb1 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
> pcib0 at pci0 dev 31 function 0 "Intel QM67 LPC" rev 0x04
> ahci0 at pci0 dev 31 function 2 "Intel 6 Series AHCI" rev 0x04: msi, AHCI 1.3
> ahci0: port 0: 6.0Gb/s
> ahci0: port 2: 3.0Gb/s
> scsibus1 at ahci0: 32 targets
> sd0 at scsibus1 targ 0 lun 0: <ATA, SSD2SC240G1CS175, CS11> SCSI3 0/direct fixed naa.5f8db4c115701558
> sd0: 228936MB, 512 bytes/sector, 468862128 sectors, thin
> sd1 at scsibus1 targ 2 lun 0: <ATA, TS32GMSA370, N112> SCSI3 0/direct fixed t10.ATA_TS32GMSA370_C528390021_
> sd1: 30533MB, 512 bytes/sector, 62533296 sectors, thin
> ichiic0 at pci0 dev 31 function 3 "Intel 6 Series SMBus" rev 0x04: apic 2 int 18
> iic0 at ichiic0
> spdmem0 at iic0 addr 0x50: 4GB DDR3 SDRAM PC3-10600 SO-DIMM
> spdmem1 at iic0 addr 0x51: 4GB DDR3 SDRAM PC3-10600 SO-DIMM
> isa0 at pcib0
> isadma0 at isa0
> pckbc0 at isa0 port 0x60/5 irq 1 irq 12
> pckbd0 at pckbc0 (kbd slot)
> wskbd0 at pckbd0: console keyboard, using wsdisplay0
> pms0 at pckbc0 (aux slot)
> wsmouse0 at pms0 mux 0
> wsmouse1 at pms0 mux 0
> pms0: Synaptics clickpad, firmware 8.1, 0x1e2b1 0x940300
> pcppi0 at isa0 port 0x61
> spkr0 at pcppi0
> aps0 at isa0 port 0x1600/31
> vmm0 at mainbus0: VMX/EPT
> efifb at mainbus0 not configured
> sdmmc0: can't enable card
> uhub2 at uhub0 port 1 configuration 1 interface 0 "Intel Rate Matching Hub" rev 2.00/0.00 addr 2
> uhidev0 at uhub2 port 2 configuration 1 interface 0 "Logitech USB RECEIVER" rev 1.10/25.10 addr 3
> uhidev0: iclass 3/1
> ums0 at uhidev0: 16 buttons, Z and W dir
> wsmouse2 at ums0 mux 0
> uhub3 at uhub1 port 1 configuration 1 interface 0 "Intel Rate Matching Hub" rev 2.00/0.00 addr 2
> vscsi0 at root
> scsibus2 at vscsi0: 256 targets
> softraid0 at root
> scsibus3 at softraid0: 256 targets
> sd2 at scsibus3 targ 1 lun 0: <OPENBSD, SR CRYPTO, 006> SCSI2 0/direct fixed
> sd2: 228935MB, 512 bytes/sector, 468860513 sectors
> root on sd2a (84cf7725b144158a.a) swap on sd2b dump on sd2b
>

--
Antoine

Reply | Threaded
Open this post in threaded view
|

Re: graphics/shotwell segfaults on amd64

Antoine Jacoutot-7
On Wed, Mar 27, 2019 at 11:25:56AM +0100, Antoine Jacoutot wrote:

> On Tue, Mar 26, 2019 at 08:25:40PM -0400, Josh Grosse wrote:
> > I'm trying to figure out a root cause, but am struggling
> > because my usual method of preventing stripped modules
> > fails when I build shotwell.  Setting $INSTALL_STRIP
> > doesn't have an effect during make fake.
> >
> > Size mismatch warnings between libstdc++ and libc++abi occur
> > when the application is started, and after displaying thumbnails
> > a segfault in libc++abi occurs when the user clicks on any
> > thumbnail.
> >
> > A console log, backtrace, and dmesg follow.  Any suggestions for capturing
> > better data would be appreciated.
> >
> > Thanks in advance.
>
> The problem comes from libraw which hardcodes -lstdc++.
> Libs: -L${libdir} -lraw -lstdc++

That should do it.
While here, bring a patch from FreeBSD.

OK?

Index: Makefile
===================================================================
RCS file: /cvs/ports/graphics/libraw/Makefile,v
retrieving revision 1.40
diff -u -p -r1.40 Makefile
--- Makefile 24 Oct 2018 14:28:05 -0000 1.40
+++ Makefile 27 Mar 2019 10:42:23 -0000
@@ -3,7 +3,7 @@
 COMMENT = library for reading RAW files
 
 DISTNAME = LibRaw-0.18.13
-REVISION = 0
+REVISION = 1
 PKGNAME = ${DISTNAME:L}
 CATEGORIES = graphics
 
Index: patches/patch-internal_dcraw_common_cpp
===================================================================
RCS file: patches/patch-internal_dcraw_common_cpp
diff -N patches/patch-internal_dcraw_common_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-internal_dcraw_common_cpp 27 Mar 2019 10:42:23 -0000
@@ -0,0 +1,32 @@
+$OpenBSD$
+
+OpenBSD has its own strnlen and strcasestr.
+
+Index: internal/dcraw_common.cpp
+--- internal/dcraw_common.cpp.orig
++++ internal/dcraw_common.cpp
+@@ -51,6 +51,7 @@ int CLASS fcol (int row, int col)
+   if (filters == 9) return xtrans[(row+6) % 6][(col+6) % 6];
+   return FC(row,col);
+ }
++#if !defined(__OpenBSD__)
+ static size_t local_strnlen(const char *s, size_t n)
+ {
+   const char *p = (const char *)memchr(s, 0, n);
+@@ -58,6 +59,7 @@ static size_t local_strnlen(const char *s, size_t n)
+ }
+ /* add OS X version check here ?? */
+ #define strnlen(a,b) local_strnlen(a,b)
++#endif
+
+ #ifdef LIBRAW_LIBRARY_BUILD
+ static int stread(char *buf, size_t len, LibRaw_abstract_datastream *fp)
+@@ -74,7 +76,7 @@ static int stread(char *buf, size_t len, LibRaw_abstra
+ #define stmread(buf,maxlen,fp) stread(buf,MIN(maxlen,sizeof(buf)),fp)
+ #endif
+
+-#ifndef __GLIBC__
++#if !defined(__GLIBC__) && !defined(__OpenBSD__)
+ char *my_memmem (char *haystack, size_t haystacklen,
+      char *needle, size_t needlelen)
+ {
Index: patches/patch-internal_libraw_x3f_cpp
===================================================================
RCS file: /cvs/ports/graphics/libraw/patches/patch-internal_libraw_x3f_cpp,v
retrieving revision 1.6
diff -u -p -r1.6 patch-internal_libraw_x3f_cpp
--- patches/patch-internal_libraw_x3f_cpp 18 May 2018 06:04:33 -0000 1.6
+++ patches/patch-internal_libraw_x3f_cpp 27 Mar 2019 10:42:23 -0000
@@ -2,6 +2,7 @@ $OpenBSD: patch-internal_libraw_x3f_cpp,
 
 fix non-constant-expression cannot be narrowed from type 'int' to 'int16_t'
 (aka 'short') with clang6
+
 Index: internal/libraw_x3f.cpp
 --- internal/libraw_x3f.cpp.orig
 +++ internal/libraw_x3f.cpp
Index: patches/patch-libraw_pc_in
===================================================================
RCS file: patches/patch-libraw_pc_in
diff -N patches/patch-libraw_pc_in
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-libraw_pc_in 27 Mar 2019 10:42:23 -0000
@@ -0,0 +1,12 @@
+$OpenBSD$
+
+Index: libraw.pc.in
+--- libraw.pc.in.orig
++++ libraw.pc.in
+@@ -7,5 +7,5 @@ Name: libraw
+ Description: Raw image decoder library (non-thread-safe)
+ Requires: @PACKAGE_REQUIRES@
+ Version: @PACKAGE_VERSION@
+-Libs: -L${libdir} -lraw -lstdc++@PC_OPENMP@
++Libs: -L${libdir} -lraw @PC_OPENMP@
+ Cflags: -I${includedir}/libraw


Reply | Threaded
Open this post in threaded view
|

Re: graphics/shotwell segfaults on amd64

Josh Grosse-3
On Wed, Mar 27, 2019 at 11:43:25AM +0100, Antoine Jacoutot wrote:

> On Wed, Mar 27, 2019 at 11:25:56AM +0100, Antoine Jacoutot wrote:
> > On Tue, Mar 26, 2019 at 08:25:40PM -0400, Josh Grosse wrote:
> > > I'm trying to figure out a root cause, but am struggling
> > > because my usual method of preventing stripped modules
> > > fails when I build shotwell.  Setting $INSTALL_STRIP
> > > doesn't have an effect during make fake.
> > >
> > > Size mismatch warnings between libstdc++ and libc++abi occur
> > > when the application is started, and after displaying thumbnails
> > > a segfault in libc++abi occurs when the user clicks on any
> > > thumbnail.
> > >
> > > A console log, backtrace, and dmesg follow.  Any suggestions for capturing
> > > better data would be appreciated.
> > >
> > > Thanks in advance.
> >
> > The problem comes from libraw which hardcodes -lstdc++.
> > Libs: -L${libdir} -lraw -lstdc++
>
> That should do it.
> While here, bring a patch from FreeBSD.
>
> OK?

Thanks for the commits to libraw and shotwell.  Problem resolved. :)