Skip to content

Build fail with any sanitizer #39

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.

Details
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)

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