Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Debian aarch64 Segmentation fault && 构建失败 #17

Open
Cat-L opened this issue Jun 21, 2021 · 6 comments
Open

Debian aarch64 Segmentation fault && 构建失败 #17

Cat-L opened this issue Jun 21, 2021 · 6 comments

Comments

@Cat-L
Copy link

Cat-L commented Jun 21, 2021

(base) root@raspbian:/home/Mirai# ./mcl-installer-2827601-linux-aarch64
Segmentation fault
(base) root@raspbian:/home/Mirai# uname -a
Linux raspbian 5.10.42-Release-OPENFANS+20210609-v8 #1 SMP PREEMPT Wed Jun 9 14:11:02 CST 2021 aarch64 GNU/Linux

@Cat-L
Copy link
Author

Cat-L commented Jun 21, 2021

(base) root@raspbian:/home/Mirai/mcl-installer# cargo build --features native-tls --release
Compiling proc-macro2 v1.0.24
Compiling unicode-xid v0.2.1
Compiling syn v1.0.60
Compiling autocfg v1.0.1
Compiling cfg-if v1.0.0
Compiling libc v0.2.93
Compiling log v0.4.14
Compiling pin-project-lite v0.2.4
Compiling cc v1.0.66
Compiling pkg-config v0.3.19
Compiling lazy_static v1.4.0
Compiling bytes v1.0.1
Compiling memchr v2.3.4
Compiling itoa v0.4.7
Compiling pin-project-internal v0.4.27
Compiling bitflags v1.2.1
Compiling futures-core v0.3.12
Compiling matches v0.1.8
Compiling foreign-types-shared v0.1.1
Compiling serde_derive v1.0.123
Compiling fnv v1.0.7
Compiling openssl v0.10.32
Compiling hashbrown v0.9.1
Compiling serde v1.0.123
Compiling futures-task v0.3.12
Compiling pin-utils v0.1.0
Compiling native-tls v0.2.7
Compiling futures-sink v0.3.12
Compiling ryu v1.0.5
Compiling tinyvec_macros v0.1.0
Compiling httparse v1.3.5
Compiling try-lock v0.2.3
Compiling crc32fast v1.2.1
Compiling percent-encoding v2.1.0
Compiling openssl-probe v0.1.2
Compiling slab v0.4.2
Compiling adler32 v1.2.0
Compiling serde_json v1.0.62
Compiling httpdate v0.3.2
Compiling tower-service v0.3.1
Compiling encoding_rs v0.8.28
Compiling cfg-if v0.1.10
Compiling mime v0.3.16
Compiling mcl-installer v1.0.0 (/home/Mirai/mcl-installer)
Compiling ipnet v2.3.0
Compiling byteorder v1.4.2
Compiling base64 v0.13.0
Compiling tracing-core v0.1.17
Compiling tokio v1.2.0
Compiling indexmap v1.6.1
Compiling futures-channel v0.3.12
Compiling unicode-bidi v0.3.4
Compiling foreign-types v0.3.2
Compiling http v0.2.3
Compiling futures-util v0.3.12
Compiling tinyvec v1.1.1
Compiling form_urlencoded v1.0.0
Compiling miniz_oxide v0.3.7
Compiling openssl-sys v0.9.60
Compiling tracing v0.1.23
Compiling unicode-normalization v0.1.17
Compiling http-body v0.4.0
Compiling quote v1.0.9
Compiling want v0.3.0
Compiling mio v0.7.7
Compiling num_cpus v1.13.0
Compiling socket2 v0.3.19
Compiling flate2 v1.0.14
Compiling idna v0.2.1
Compiling url v2.2.0
Compiling tokio-macros v1.1.0
Compiling pin-project-internal v1.0.5
Compiling thiserror-impl v1.0.23
error: unexpected self parameter in function
--> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.2.0/src/net/tcp/stream.rs:627:40
|
627 | pub fn try_read_buf<B: BufMut>(&self, buf: &mut B) -> io::Result {
| ^^^^^ not valid as function parameter
|
= note: self is only valid as the first parameter of an associated function

error: expected one of async, const, crate, default, extern, fn, pub, type, or unsafe, found #[doc = r" Try to read data from the stream into the provided buffer, advancing the"] #[doc = r" buffer's internal cursor, returning how many bytes were read."] #[doc = r""] #[doc = r" Receives any pending data from the socket but does not wait for new data"] #[doc = r" to arrive. On success, returns the number of bytes read. Because"] #[doc = r" try_read_buf() is non-blocking, the buffer does not have to be stored by"] #[doc = r" the async task and can exist entirely on the stack."] #[doc = r""] #[doc = r" Usually, [readable()] or [ready()] is used with this function."] #[doc = r""] #[doc = r" [readable()]: TcpStream::readable()"] #[doc = r" [ready()]: TcpStream::ready()"] #[doc = r""] #[doc = r" # Return"] #[doc = r""] #[doc = r" If data is successfully read, Ok(n)is returned, wherenis the"] #[doc = r" number of bytes read.Ok(0)indicates the stream's read half is closed"] #[doc = r" and will no longer yield data. If the stream is not ready to read data"] #[doc = r"Err(io::ErrorKind::WouldBlock)is returned."] #[doc = r""] #[doc = r" # Examples"] #[doc = r""] #[doc = r" ```no_run"] #[doc = r" use tokio::net::TcpStream;"] #[doc = r" use std::error::Error;"] #[doc = r" use std::io;"] #[doc = r""] #[doc = r" #[tokio::main]"] #[doc = r" async fn main() -> Result<(), Box<dyn Error>> {"] #[doc = r" // Connect to a peer"] #[doc = r#" let stream = TcpStream::connect("127.0.0.1:8080").await?;"#] #[doc = r""] #[doc = r" loop {"] #[doc = r" // Wait for the socket to be readable"] #[doc = r" stream.readable().await?;"] #[doc = r""] #[doc = r" let mut buf = Vec::with_capacity(4096);"] #[doc = r""] #[doc = r" // Try to read data, this may still fail withWouldBlock"] #[doc = r" // if the readiness event is a false positive."] #[doc = r" match stream.try_read_buf(&mut buf) {"] #[doc = r" Ok(0) => break,"] #[doc = r" Ok(n) => {"] #[doc = r#" println!("read {} bytes", n);"#] #[doc = r" }"] #[doc = r" Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {"] #[doc = r" continue;"] #[doc = r" }"] #[doc = r" Err(e) => {"] #[doc = r" return Err(e.into());"] #[doc = r" }"] #[doc = r" }"] #[doc = r" }"] #[doc = r""] #[doc = r" Ok(())"] #[doc = r" }"] #[doc = r" ```"] pub fn try_read_buf<B: BufMut>(self: (/*ERROR*/), buf: &mut B) -> io::Result<usize> { self.io.registration().try_io(Interest::READABLE, || { use std::io::Read; let dst = buf.chunk_mut(); let dst = unsafe { &mut *(dst as *mut _ as *mut [std::mem::MaybeUninit<u8>] as *mut [u8]) }; let n = (&*self.io).read(dst)?; unsafe { buf.advance_mut(n); } Ok(n) }) }
--> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.2.0/src/macros/cfg.rs:132:13
|
131 | #[cfg_attr(docsrs, doc(cfg(feature = "io-util")))]
| - expected one of 9 possible tokens
132 | $item
| ^^^^^ unexpected token
|
::: /root/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.2.0/src/net/tcp/stream.rs:569:5
|
569 | / cfg_io_util! {
570 | | /// Try to read data from the stream into the provided buffer, advancing the
571 | | /// buffer's internal cursor, returning how many bytes were read.
572 | | ///
... |
645 | | }
646 | | }
| |_____- in this macro invocation

error: aborting due to 2 previous errors

error: could not compile tokio.
warning: build failed, waiting for other jobs to finish...
error: build failed
(base) root@raspbian:/home/Mirai/mcl-installer# uname -a
Linux raspbian 5.10.42-Release-OPENFANS+20210609-v8 #1 SMP PREEMPT Wed Jun 9 14:11:02 CST 2021 aarch64 GNU/Linux
(base) root@raspbian:/home/Mirai/mcl-installer#

@Cat-L
Copy link
Author

Cat-L commented Jun 21, 2021

(base) root@raspbian:/home/Mirai/mcl-installer# cargo build --features rustls --release
Compiling once_cell v1.5.2
Compiling untrusted v0.7.1
Compiling spin v0.5.2
Compiling proc-macro-hack v0.5.19
Compiling proc-macro-nested v0.1.7
Compiling mcl-installer v1.0.0 (/home/Mirai/mcl-installer)
Compiling ring v0.16.20
Compiling futures-task v0.3.12
Compiling tokio v1.2.0
Compiling pin-project v0.4.27
Compiling pin-project v1.0.5
Compiling serde v1.0.123
Compiling thiserror v1.0.23
error: unexpected self parameter in function
--> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.2.0/src/net/tcp/stream.rs:627:40
|
627 | pub fn try_read_buf<B: BufMut>(&self, buf: &mut B) -> io::Result {
| ^^^^^ not valid as function parameter
|
= note: self is only valid as the first parameter of an associated function

error: expected one of async, const, crate, default, extern, fn, pub, type, or unsafe, found #[doc = r" Try to read data from the stream into the provided buffer, advancing the"] #[doc = r" buffer's internal cursor, returning how many bytes were read."] #[doc = r""] #[doc = r" Receives any pending data from the socket but does not wait for new data"] #[doc = r" to arrive. On success, returns the number of bytes read. Because"] #[doc = r" try_read_buf() is non-blocking, the buffer does not have to be stored by"] #[doc = r" the async task and can exist entirely on the stack."] #[doc = r""] #[doc = r" Usually, [readable()] or [ready()] is used with this function."] #[doc = r""] #[doc = r" [readable()]: TcpStream::readable()"] #[doc = r" [ready()]: TcpStream::ready()"] #[doc = r""] #[doc = r" # Return"] #[doc = r""] #[doc = r" If data is successfully read, Ok(n)is returned, wherenis the"] #[doc = r" number of bytes read.Ok(0)indicates the stream's read half is closed"] #[doc = r" and will no longer yield data. If the stream is not ready to read data"] #[doc = r"Err(io::ErrorKind::WouldBlock)is returned."] #[doc = r""] #[doc = r" # Examples"] #[doc = r""] #[doc = r" ```no_run"] #[doc = r" use tokio::net::TcpStream;"] #[doc = r" use std::error::Error;"] #[doc = r" use std::io;"] #[doc = r""] #[doc = r" #[tokio::main]"] #[doc = r" async fn main() -> Result<(), Box<dyn Error>> {"] #[doc = r" // Connect to a peer"] #[doc = r#" let stream = TcpStream::connect("127.0.0.1:8080").await?;"#] #[doc = r""] #[doc = r" loop {"] #[doc = r" // Wait for the socket to be readable"] #[doc = r" stream.readable().await?;"] #[doc = r""] #[doc = r" let mut buf = Vec::with_capacity(4096);"] #[doc = r""] #[doc = r" // Try to read data, this may still fail withWouldBlock"] #[doc = r" // if the readiness event is a false positive."] #[doc = r" match stream.try_read_buf(&mut buf) {"] #[doc = r" Ok(0) => break,"] #[doc = r" Ok(n) => {"] #[doc = r#" println!("read {} bytes", n);"#] #[doc = r" }"] #[doc = r" Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {"] #[doc = r" continue;"] #[doc = r" }"] #[doc = r" Err(e) => {"] #[doc = r" return Err(e.into());"] #[doc = r" }"] #[doc = r" }"] #[doc = r" }"] #[doc = r""] #[doc = r" Ok(())"] #[doc = r" }"] #[doc = r" ```"] pub fn try_read_buf<B: BufMut>(self: (/*ERROR*/), buf: &mut B) -> io::Result<usize> { self.io.registration().try_io(Interest::READABLE, || { use std::io::Read; let dst = buf.chunk_mut(); let dst = unsafe { &mut *(dst as *mut _ as *mut [std::mem::MaybeUninit<u8>] as *mut [u8]) }; let n = (&*self.io).read(dst)?; unsafe { buf.advance_mut(n); } Ok(n) }) }
--> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.2.0/src/macros/cfg.rs:132:13
|
131 | #[cfg_attr(docsrs, doc(cfg(feature = "io-util")))]
| - expected one of 9 possible tokens
132 | $item
| ^^^^^ unexpected token
|
::: /root/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.2.0/src/net/tcp/stream.rs:569:5
|
569 | / cfg_io_util! {
570 | | /// Try to read data from the stream into the provided buffer, advancing the
571 | | /// buffer's internal cursor, returning how many bytes were read.
572 | | ///
... |
645 | | }
646 | | }
| |_____- in this macro invocation

error: aborting due to 2 previous errors

error: could not compile tokio.
warning: build failed, waiting for other jobs to finish...
error: build failed
(base) root@raspbian:/home/Mirai/mcl-installer# uname -a
Linux raspbian 5.10.42-Release-OPENFANS+20210609-v8 #1 SMP PREEMPT Wed Jun 9 14:11:02 CST 2021 aarch64 GNU/Linux

@Cat-L
Copy link
Author

Cat-L commented Jun 21, 2021

terminal record.txt

@DuckXiu
Copy link

DuckXiu commented Apr 12, 2022

相同的问题

@PeratX
Copy link
Member

PeratX commented Apr 21, 2022

rust 编译器版本?

@PeratX
Copy link
Member

PeratX commented Apr 29, 2022

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants