Skip to content

timely-0.1.15 beta regression #43681

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

Closed
est31 opened this issue Aug 5, 2017 · 6 comments
Closed

timely-0.1.15 beta regression #43681

est31 opened this issue Aug 5, 2017 · 6 comments
Labels
C-bug Category: This is a bug. regression-from-stable-to-beta Performance or correctness regression from stable to beta. T-libs-api Relevant to the library API team, which will review and decide on the PR/issue.

Comments

@est31
Copy link
Member

est31 commented Aug 5, 2017

timely version 0.1.15 regressed from stable to beta (full log):

Aug 04 00:58:05.190 INFO kablam! error: no rules expected the token `EventStreamLogger<OperatesEvent, File>`
Aug 04 00:58:05.190 INFO kablam!    --> src/logging.rs:160:35
Aug 04 00:58:05.190 INFO kablam!     |
Aug 04 00:58:05.190 INFO kablam! 160 |               __thread_local_inner!($t, $init);
Aug 04 00:58:05.190 INFO kablam!     |                                     ^^
Aug 04 00:58:05.190 INFO kablam! ...
Aug 04 00:58:05.190 INFO kablam! 164 | / thread_local!{
Aug 04 00:58:05.190 INFO kablam! 165 | |     /// Logs operator creation.
Aug 04 00:58:05.190 INFO kablam! 166 | |     pub static OPERATES: EventStreamLogger<OperatesEvent, File> = EventStreamLogger::new();
Aug 04 00:58:05.190 INFO kablam! 167 | |     /// Logs channel creation.
Aug 04 00:58:05.190 INFO kablam! ...   |
Aug 04 00:58:05.190 INFO kablam! 178 | |     pub static GUARDED_PROGRESS: EventStreamLogger<bool, File> = EventStreamLogger::new();
Aug 04 00:58:05.190 INFO kablam! 179 | | }
Aug 04 00:58:05.191 INFO kablam!     | |_- in this macro invocation

cc @frankmcsherry

@arielb1
Copy link
Contributor

arielb1 commented Aug 5, 2017

cc @jseyfried

@arielb1
Copy link
Contributor

arielb1 commented Aug 5, 2017

Actually, maybe this is using the "pirate" __thread_local_inner from std?

@arielb1
Copy link
Contributor

arielb1 commented Aug 5, 2017

Yup. This compiles on stable and not on beta:

fn xyz() {
   __thread_local_inner!(Vec<u32>, Vec::new());
}

fn main() {}

Please don't use obviously private libstd macros.

@arielb1
Copy link
Contributor

arielb1 commented Aug 5, 2017

timely 0.2.0 uses thread_local!, stabilized in 1.11.0. Maybe we want to do this in timely 0.1.16?

@arielb1 arielb1 added regression-from-stable-to-beta Performance or correctness regression from stable to beta. T-libs-api Relevant to the library API team, which will review and decide on the PR/issue. labels Aug 5, 2017
@durka
Copy link
Contributor

durka commented Aug 6, 2017

It looks like old versions of timely copied the new thread_local macro from my PR before it was merged. Unfortunately(?) stability attributes on macros don't do anything.

@Mark-Simulacrum Mark-Simulacrum added the C-bug Category: This is a bug. label Aug 10, 2017
@alexcrichton
Copy link
Member

The libs team discussed this today and we decided that we're not going to actively try to fix this regression, so closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: This is a bug. regression-from-stable-to-beta Performance or correctness regression from stable to beta. T-libs-api Relevant to the library API team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

5 participants