Opened 9 months ago

Closed 37 hours ago

Last modified 37 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 (16)

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 4 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 4 weeks ago by mqudsi (Mahmoud Al-Qudsi)

Cc: mqudsi added

comment:10 in reply to:  8 ; Changed 4 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 12 days ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

There is a pull request to fix this problem.

comment:14 Changed 37 hours ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: fixed
Status: assignedclosed

comment:15 Changed 37 hours ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

comment:16 in reply to:  11 Changed 37 hours 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.

Note: See TracTickets for help on using tickets.