cuyo - Portierung für OpenBSD

Buserror Openbsd:
https://stackoverflow.com/questions/212466/what-is-a-bus-error

Segmentation faults occur when accessing memory which does not belong to your process, they are very common and are typically the result of:

  • using a pointer to something that was deallocated.
  • using an uninitialized hence bogus pointer.
  • using a null pointer.
  • overflowing a buffer.


hmm ... eventuell getriggert durch eine OpenBSD Sicherheitsmassnahme.

Könntest du mal cuyo starten unter gdb?

Code:
gdb .../cuyo
start
c
 
Buserror Openbsd:
https://stackoverflow.com/questions/212466/what-is-a-bus-error

Segmentation faults occur when accessing memory which does not belong to your process, they are very common and are typically the result of:

  • using a pointer to something that was deallocated.
  • using an uninitialized hence bogus pointer.
  • using a null pointer.
  • overflowing a buffer.


hmm ... eventuell getriggert durch eine OpenBSD Sicherheitsmassnahme.

Könntest du mal cuyo starten unter gdb?

Code:
gdb .../cuyo
start
c

Hier die Ausgabe:

GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "amd64-unknown-openbsd6.4"...(no debugging symbols found)

(gdb) start
Breakpoint 1 at 0x1a176
Starting program: /usr/local/bin/cuyo
cuyo:/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
cuyo:/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
cuyo:/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
cuyo:/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
cuyo:/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
cuyo:/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
cuyo:/usr/lib/libstdc++.so.57.0: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVSt9type_info) size mismatch, relink your program
cuyo:/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
cuyo:/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
cuyo:/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
cuyo:/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
cuyo:/usr/local/bin/cuyo: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVN10__cxxabiv117__class_type_infoE) size mismatch, relink your program
cuyo:/usr/local/bin/cuyo: /usr/lib/libc++abi.so.0.1 : WARNING: symbol(_ZTVN10__cxxabiv120__si_class_type_infoE) size mismatch, relink your program
Breakpoint 1 at 0x1a19561a176
0x000001a19561a176 in main () from /usr/local/bin/cuyo
Current language: auto; currently minimal
(gdb) c
Continuing.

Program received signal SIGBUS, Bus error.
0x000001a195609a2a in Fehler::Fehler () from /usr/local/bin/cuyo
(gdb) c
Continuing.
 
Ich hab von OpenBSD wirklich 0 Ahnung. Aber wenn es ein FreeBSD wäre, würde ich fragen, ab vielleicht das Programm vom Compiler gegen eine andere libstdc++.so.57.0 gelinkt wurde, als im Basissystem ausgeliefert wird. Denn zumindest unter FreeBSD bringt der GNU C++ Stack seine eigene libstdc++.so mit eigener ABI-Lib mit und wenn man die mit Clangs libc++ und ABI-Lib im Basissystem kombiniert, gibt es durchaus Mal seltsamste Effekte.
 
Für mich schaut das auch so aus als ob da was mit der libc++ schief gegangen ist beim linken. Ich hatte bei einem Projekt letztens auch das Thema mit der libc++ auch nur unter FreeBSD. Hier musste ich explicit angeben wo er die libc++ her holen muss. Wenn unter FreeBSD gcc installiert wird, gibt er die Compiler Flags aus um g++ mitzuteilen, wo dieses Binary dann seine libc++ herholen muss. "-Wl ... rpath ..." ganz genau erinnere ich mich nicht an die Syntax.
 
Man kann sich bei OpenBSD auch GCC aus den Ports holen, der heißt dann `egcc` bzw. `eg++` (kA warum). Normalerweise linkt sich der dann seine mitgebrachte standard lib rein. Das würde ich mal versuchen.
 
Danke für eure fantastische Hilfe, damit bin ich für meine Verhältnisse sehr weit gekommen. Jetzt allerdings wirds mir zu kniffelig, denn ich bin nicht mehr sicher, was ich tue, und auf keinen Fall will ich mein schön laufendes System zerschiessen.
Werde mich also mal ordentlich einlesen und dann entscheiden, ob ich mir weitere Massnahmen zutraue.
Bis dahin spiele ich cuyo über die Devuan-Maschine. :cool:
 
Zurück
Oben