Opened 9 months ago

Closed 2 days ago

Last modified 9 hours ago

#68015 closed defect (fixed)

rust @1.71.1: buildbot failures for 10.9/10.10: thread 'main' has overflowed its stack

Reported by: mascguy (Christopher Nielsen) Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: Cc: cave-canem, tehcog (tehcog), aiyagari (Sanjay Aiyagari), macdeport, mqudsi (Mahmoud Al-Qudsi)
Port: rust

Description

The only obvious failure in the buildbot logs, occurs at very end.

Unfortunately, there doesn't appear (?) to be any other detail, apart from the following nebulous error:

Finished dev [unoptimized] target(s) in 1m 20s

thread 'main' has overflowed its stack
fatal runtime error: stack overflow

https://ports.macports.org/port/rust/builds/

Change History (19)

comment:1 Changed 9 months ago by mascguy (Christopher Nielsen)

Just curious... is this fixable simply by setting RUST_MIN_STACK to a reasonably large value, when invoking cargo?

RUST_MIN_STACK=104857600 cargo ...

comment:2 Changed 9 months ago by badger200

On macOS 10.9 lldb reveals for /opt/local/var/macports/build/_opt_local_var_macports_sources_ema.uk.rsync.macports.org_macports_release_tarballs_ports_lang_rust/rust/work/rustc-1.71.1-src/build/bootstrap/debug/bootstrap :

Process 82233 stopped
* thread #1: tid = 0x122e197, 0x000000010035bcae bootstrap`_$LT$bootstrap..flags..Subcommand$u20$as$u20$clap_builder..derive..Subcommand$GT$::augment_subcommands::h1c27fa5c9b24b0e4 + 30 at flags.rs:203, name = 'main', queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x7fff5fb804a8)
    frame #0: 0x000000010035bcae bootstrap`_$LT$bootstrap..flags..Subcommand$u20$as$u20$clap_builder..derive..Subcommand$GT$::augment_subcommands::h1c27fa5c9b24b0e4 + 30 at flags.rs:203
   200      }
   201  }
   202  
-> 203  #[derive(Debug, Clone, Default, clap::Subcommand)]
   204  pub enum Subcommand {
   205      #[clap(aliases = ["b"], long_about = "\n
   206      Arguments:
(lldb)

comment:3 Changed 8 months ago by mascguy (Christopher Nielsen)

Cc: cave-canem added

Has duplicate issue:68151

comment:4 Changed 8 months ago by tehcog (tehcog)

Cc: tehcog added

comment:5 Changed 8 months ago by aiyagari (Sanjay Aiyagari)

Cc: aiyagari added

comment:6 Changed 8 months ago by mascguy (Christopher Nielsen)

Cc: macdeport added

Has duplicate issue:68177

comment:7 in reply to:  1 Changed 6 weeks ago by mascguy (Christopher Nielsen)

Marcus, it looks like this is still occurring, even with today's update to a newer Rust release:

Is the following feasible, or do we need to look somewhere else...? (And no worries if you're already looking at all of this.)

Just curious... is this fixable simply by setting RUST_MIN_STACK to a reasonably large value, when invoking cargo?

RUST_MIN_STACK=104857600 cargo ...

comment:8 Changed 5 weeks ago by mqudsi (Mahmoud Al-Qudsi)

Assuming that port doesn't unset environment variables, running sudo port install rust with a universally set RUST_MIN_STACK environment variable set to 104857600 does not work around this issue.

:info:build Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_rust/rust/work/rustc-1.77.1-src" && /usr/bin/make -j8 -w all BOOTSTRAP_ARGS="-j8"
:debug:build system:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_rust/rust/work/rustc-1.77.1-src" && /usr/bin/make -j8 -w all BOOTSTRAP_ARGS="-j8"
:info:build make: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_rust/rust/work/rustc-1.77.1-src'
:info:build Building bootstrap
:info:build     Finished dev [unoptimized] target(s) in 0.66s
:info:build thread 'main' has overflowed its stack

comment:9 Changed 5 weeks ago by mqudsi (Mahmoud Al-Qudsi)

Cc: mqudsi added

comment:10 in reply to:  8 ; Changed 5 weeks ago by ryandesign (Ryan Carsten Schmidt)

Replying to mqudsi:

Assuming that port doesn't unset environment variables,

MacPorts intentionally does not pass through your shell environment variables.

comment:11 in reply to:  10 ; Changed 4 weeks ago by mqudsi (Mahmoud Al-Qudsi)

Replying to ryandesign:

MacPorts intentionally does not pass through your shell environment variables.

Ok, what's the easiest way to test out setting the RUST_MIN_STACK environment variable here?

comment:12 Changed 3 weeks ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Using git bisect, it seems this error starts at commit 32e27cc60765ae21426b31073ba9ac2bda499c8d.
I do not know why this only affect 10.10, 10.9, and 10.5.

comment:13 Changed 13 days ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

There is a pull request to fix this problem.

comment:14 Changed 2 days ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: fixed
Status: assignedclosed

comment:15 Changed 2 days ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

comment:16 in reply to:  11 Changed 2 days ago by jmroot (Joshua Root)

Replying to mqudsi:

Replying to ryandesign:

MacPorts intentionally does not pass through your shell environment variables.

Ok, what's the easiest way to test out setting the RUST_MIN_STACK environment variable here?

I know the issue has been fixed already, but for reference, you would do this by editing the Portfile and appending to build.env.

comment:17 Changed 10 hours ago by mqudsi (Mahmoud Al-Qudsi)

Thanks, @jmroot. I'll file that away for the future.


I'm sorry if I'm asking a stupid question, but I tried to test this just now on macOS 10.10 and immediately ran into a problem: it seems none of the mirrors have a rust rust-1.77.1_0.darwin_14.x86_64.tbz2 (specifically, darwin_14 in there) available for download.

Checking manually, it seems darwin_10 through darwin_23 are all present with the exception of darwin_13 and darwin_14. Is this a separate issue, is it just a matter of time until the build bots do their thing, or is there something else I need to look into?

comment:18 in reply to:  17 ; Changed 10 hours ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Replying to mqudsi:

I'm sorry if I'm asking a stupid question, but I tried to test this just now on macOS 10.10 and immediately ran into a problem: it seems none of the mirrors have a rust rust-1.77.1_0.darwin_14.x86_64.tbz2 (specifically, darwin_14 in there) available for download.

Checking manually, it seems darwin_10 through darwin_23 are all present with the exception of darwin_13 and darwin_14. Is this a separate issue, is it just a matter of time until the build bots do their thing, or is there something else I need to look into?

The issue is "fixed" but is only available in the development ecosystem.
The policy of legacy-support is to "allow a bit of time" before releasing development versions as versioned releases.
Once that happens, Rust can be updated.
After that, the buildbots should build the new version of Rust.
Sorry for the confusion.

Last edited 10 hours ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) (previous) (diff)

comment:19 in reply to:  18 Changed 9 hours ago by mqudsi (Mahmoud Al-Qudsi)

Replying to MarcusCalhoun-Lopez:

The issue is "fixed" but is only available in the development ecosystem.
The policy of legacy-support is to "allow a bit of time" before releasing development versions as versioned releases.
Once that happens, Rust can be updated.
After that, the buildbots should build the new version of Rust.
Sorry for the confusion.

No worries; thanks for taking the time to explain that!

Note: See TracTickets for help on using tickets.