Skip to content

Build fail with any sanitizer #39

@Yuri6037

Description

@Yuri6037

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.zerozr99.workers.dev-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.zerozr99.workers.dev-1ecc6299db9ec823/simba-0.7.0/src/scalar/complex.rs:23:9
   |
23 |         paste::item! {
   |         ^^^^^^^^^^^
   |
  ::: /home/yuri/.cargo/registry/src/github.zerozr99.workers.dev-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.zerozr99.workers.dev-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.zerozr99.workers.dev-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.zerozr99.workers.dev-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.zerozr99.workers.dev-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.zerozr99.workers.dev-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.zerozr99.workers.dev-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.zerozr99.workers.dev-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.zerozr99.workers.dev-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.zerozr99.workers.dev-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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions