Build fail with any sanitizer

Offen
#39 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
25/100
Issue-Typ
Bug
Klarheit
Muss geklärt werden
Aktivitätsstatus
Veraltet
Tech-Stack
rust
Bereich
build-system

Rechercherichtung

Reproduziere den Fehler mit den gemeldeten RUSTFLAGS, RUSTDOCFLAGS, der Nightly-Toolchain und dem Build-Befehl cargo +nightly build. Beginne mit dem ersten Fehler bezüglich eines undefinierten Symbols, der simba betrifft, und füge das bereitgestellte Protokoll ein. Überprüfe anschließend, dass Projekte, die simba importieren, mit Address- und Thread-Sanitizern erfolgreich gebaut werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

When building any project which imports nalgebra with nightly and a sanitizer you get a HUGE amount of build errors.

Command I used to build

  • export RUSTFLAGS=-Zsanitizer=address RUSTDOCFLAGS=-Zsanitizer=address
  • cargo +nightly build

The same thing happens with Zsanitizer=thread

Toolchain version

  • rustc 1.66.0-nightly (4a1467723 2022-09-23)

OS/Hardware

  • Kubuntu 22.04
  • 16 x Intel Core i7-10870 CPU @ 2.20Ghz
  • 32 Gb RAM
  • Dual GPU Intel UHD Graphics + NVIDIA RTX 3060 Laptop GPU

Log

Due to how large the log is I could not add all of it so I only added the first 168 lines, all other lines are very similar.

Compiling simba v0.7.0
error: /home/yuri/Projects/threaded-bilateral-filter/target/debug/deps/libpaste-4d6a3c29c1b84e5f.so: undefined symbol: __asan_option_detect_stack_use_after_return
  --> /home/yuri/.cargo/registry/src/github.com-1ecc6299db9ec823/simba-0.7.0/src/scalar/complex.rs:23:9
   |
23 |         paste::item! {
   |         ^^^^^

error: cannot determine resolution for the macro `paste::item`
  --> /home/yuri/.cargo/registry/src/github.com-1ecc6299db9ec823/simba-0.7.0/src/scalar/complex.rs:23:9
   |
23 |         paste::item! {
   |         ^^^^^^^^^^^
   |
  ::: /home/yuri/.cargo/registry/src/github.com-1ecc6299db9ec823/simba-0.7.0/src/simd/simd_complex.rs:33:5
   |
33 |     complex_trait_methods!(SimdRealField, simd_);
   |     -------------------------------------------- in this macro invocation
   |
   = note: import resolution is stuck, try simplifying macro imports
   = note: this error originates in the macro `complex_trait_methods` (in Nightly builds, run with -Z macro-backtrace for more info)

error: cannot determine resolution for the macro `paste::item`
   --> /home/yuri/.cargo/registry/src/github.com-1ecc6299db9ec823/simba-0.7.0/src/scalar/complex.rs:23:9
    |
23  |         paste::item! {
    |         ^^^^^^^^^^^
...
186 |     complex_trait_methods!(RealField);
    |     --------------------------------- in this macro invocation
    |
    = note: import resolution is stuck, try simplifying macro imports
    = note: this error originates in the macro `complex_trait_methods` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `from_real` is not a member of trait `ComplexField`
   --> /home/yuri/.cargo/registry/src/github.com-1ecc6299db9ec823/simba-0.7.0/src/scalar/complex.rs:199:13
    |
199 | /             fn from_real(re: Self::RealField) -> Self {
200 | |                 re
201 | |             }
    | |_____________^ not a member of trait `ComplexField`
...
491 | / impl_complex!(
492 | |     f32,f32,f32;
493 | |     f64,f64,f64
494 | | );
    | |_- in this macro invocation
    |
    = note: this error originates in the macro `impl_complex` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `real` is not a member of trait `ComplexField`
   --> /home/yuri/.cargo/registry/src/github.com-1ecc6299db9ec823/simba-0.7.0/src/scalar/complex.rs:204:13
    |
204 | /             fn real(self) -> Self::RealField {
205 | |                 self
206 | |             }
    | |_____________^ not a member of trait `ComplexField`
...
491 | / impl_complex!(
492 | |     f32,f32,f32;
493 | |     f64,f64,f64
494 | | );
    | |_- in this macro invocation
    |
    = note: this error originates in the macro `impl_complex` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `imaginary` is not a member of trait `ComplexField`
   --> /home/yuri/.cargo/registry/src/github.com-1ecc6299db9ec823/simba-0.7.0/src/scalar/complex.rs:209:13
    |
209 | /             fn imaginary(self) -> Self::RealField {
210 | |                 Self::zero()
211 | |             }
    | |_____________^ not a member of trait `ComplexField`
...
491 | / impl_complex!(
492 | |     f32,f32,f32;
493 | |     f64,f64,f64
494 | | );
    | |_- in this macro invocation
    |
    = note: this error originates in the macro `impl_complex` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `norm1` is not a member of trait `ComplexField`
   --> /home/yuri/.cargo/registry/src/github.com-1ecc6299db9ec823/simba-0.7.0/src/scalar/complex.rs:214:13
    |
214 | /             fn norm1(self) -> Self::RealField {
215 | |                 $libm::abs(self)
216 | |             }
    | |_____________^ not a member of trait `ComplexField`
...
491 | / impl_complex!(
492 | |     f32,f32,f32;
493 | |     f64,f64,f64
494 | | );
    | |_- in this macro invocation
    |
    = note: this error originates in the macro `impl_complex` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `modulus` is not a member of trait `ComplexField`
   --> /home/yuri/.cargo/registry/src/github.com-1ecc6299db9ec823/simba-0.7.0/src/scalar/complex.rs:219:13
    |
219 | /             fn modulus(self) -> Self::RealField {
220 | |                 $libm::abs(self)
221 | |             }
    | |_____________^ not a member of trait `ComplexField`
...
491 | / impl_complex!(
492 | |     f32,f32,f32;
493 | |     f64,f64,f64
494 | | );
    | |_- in this macro invocation
    |
    = note: this error originates in the macro `impl_complex` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `modulus_squared` is not a member of trait `ComplexField`
   --> /home/yuri/.cargo/registry/src/github.com-1ecc6299db9ec823/simba-0.7.0/src/scalar/complex.rs:224:13
    |
224 | /             fn modulus_squared(self) -> Self::RealField {
225 | |                 self * self
226 | |             }
    | |_____________^ not a member of trait `ComplexField`
...
491 | / impl_complex!(
492 | |     f32,f32,f32;
493 | |     f64,f64,f64
494 | | );
    | |_- in this macro invocation
    |
    = note: this error originates in the macro `impl_complex` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `argument` is not a member of trait `ComplexField`
   --> /home/yuri/.cargo/registry/src/github.com-1ecc6299db9ec823/simba-0.7.0/src/scalar/complex.rs:229:13
    |
229 | /             fn argument(self) -> Self::RealField {
230 | |                 if self >= Self::zero() {
231 | |                     Self::zero()
232 | |                 } else {
233 | |                     Self::pi()
234 | |                 }
235 | |             }
    | |_____________^ not a member of trait `ComplexField`
...
491 | / impl_complex!(
492 | |     f32,f32,f32;
493 | |     f64,f64,f64
494 | | );
    | |_- in this macro invocation
    |
    = note: this error originates in the macro `impl_complex` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `to_exp` is not a member of trait `ComplexField`
   --> /home/yuri/.cargo/registry/src/github.com-1ecc6299db9ec823/simba-0.7.0/src/scalar/complex.rs:238:13
    |
238 | /             fn to_exp(self) -> (Self, Self) {
239 | |                 if self >= Self::zero() {
240 | |                     (self, Self::one())
241 | |                 } else {
242 | |                     (-self, -Self::one())
243 | |                 }
244 | |             }
    | |_____________^ not a member of trait `ComplexField`
...
491 | / impl_complex!(
492 | |     f32,f32,f32;
493 | |     f64,f64,f64
494 | | );
    | |_- in this macro invocation
    |
    = note: this error originates in the macro `impl_complex` (in Nightly builds, run with -Z macro-backtrace for more info)
Vorherrschende Sprache
Rust
Sterne
347
Forks
38
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus dimforge/simba

Alle Issues in dimforge/simba

Ähnliche Issues

Weitere Issues zu Rust

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.