Implement the new user story attribute 'priority'

For now just specification for the new L3 attribute priority. Please, review and provide feedback.

@pkis, @kkaarreell, please have a look. Thanks.

LGTM

LGTM

I like the syntax!

Or we could go just with the three one-word options must, should and could. Shorter, simpler, better ;-)

I am not sure whether using only 3 priority levels won't bee too limiting. Also, MosCoW system seems reasonable for prioritizing new functionality (in development), it is not that natural to use must/should/could for prioritizing already implemented functionality.
What about having priority between 1 and 100 (let's say) where must/should/could/high/medium/low would be 'aliases' for (let's say) 25, 50, 75?

@kkaarreell we are revisiting this after some time, I documented the proposal with integer values, higher value means higher priority. Can you please take a look?

LGTM.
Question: What's plan for the tolerance of the syntax?
A two-word with exactly space, or any whitespace in between, or with _ ? Without have? A number (as an alternative)? Word-completion support(s, c, m)? All of them?
Or without a tolerance?
Examples, in order:
priority: "must              have"

priority: must've

priority: must_have

priority: must

priority: 3

priority: m

Will all fail, correct?

Yes, it will fail

From the wiki- Criticism of the MoSCoW method includes:

Doesn't help decide between multiple requirements with same rank.
Lack of rationale around how to rank competing requirements: why something is must rather than should.[7][8]
Ambiguity over timing, especially on the Won't have category: whether it is not in this release or not ever.[7]
Potential for political focus on building new features over technical improvements (such as refactoring).[8]

Yeah well, everything has it's pros or cons :)

Hello,
based on my experience the proposed implementation would work just for very simple use case (not many stories). I don't think that users would set numeric priority ever, that is not really user friendly. OTOH, 3 priority words are not enough when story hierarchy comes into play. Let's say there is a story having priority could and a user would like to decompose it into 3 other stories with different priorities. Would that work? What would be the (numeric) priority for a should story having parent with could priority?
In my past work I've been assigning priority dynamically based on the priority of a parent and an assigned priority.
I think such priority inheritance can be configurable but IMHO it is necessary when we start thinking about having stories with multiple levels of detail.
What I was thinking about was:

a node with priority must inherit the priority of its parent
a node with priority should or could would get fractional (e.g. 0.7 and 0.5) priority of the priority of its parent
a node with no priority specified would inherit priority of its parent (i.e. must priority would be sort of a default). This is due to not decreasing a priority for a story that is decomposed into many levels.
from this perspective initial priority 100 / must would probably work better, i.e. a must node gets 100% priority of its parent.

I didn't really thought through deeply, in the past I was using slightly different approach (a bit more complicated) associated with couple of use cases but today I am not sure whether such complexity was really necessary. Hence proposing something in between.

Removed integer values as agreed on today's meeting. @kkaarreell, @pkis, is the current specification acceptable from your point of view? Any suggestions what should be added or removed?


Password protected sources (Git)

Hi,
I'm wondering if there is any option to include git/svn sources that are password/login protected? As far as I know there is no option to generate input fields in cmake to enter passwords and such. Adding the login details in plain text is an option, but obviously not preferred.
Thanks!
Roy

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/34730992-password-protected-sources?utm_campaign=plugin&utm_content=tracker%2F1032790&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F1032790&utm_medium=issues&utm_source=github).

is any option to include git/svn sources

Using SHA1 of commit + git repository instead of URL + SHA1 of archive is not implemented but planned in future.

that are password/login protected?

Hunter use for downloading commands file(DOWNLOAD ...) and ExternalProject_Add so password/login features should be implemented in CMake first.

If you can assign git repositories, you can use ssh keys. Is that possible @ruslo ?

If you can assign git repositories, you can use ssh keys. Is that possible @ruslo ?

never have tried it. you can experiment with ExternalProject_Add - if it will work then it's possible to implement this feature

I'll try to ssh option soon, the SCM Mangerer git repo ssh plugin does not seem to be supported any longer, but perhaps there is a workaround.
The is another option to use _netrc of .netrc files with the login details, but that only seems to work if I change the cmake source to allow optional netrc files (or am I missing something?)

cmake source to allow optional netrc files (or am I missing something?)

why cmake? I think cmake do call regular git executable so it reads standard configuration files

Ah, that could be the thing I was missing... I need to look into that

Documentation for ExternalProject shows git options. Using a ssh git repository would automatically use your existing ssh keys to access a git:// link.

Hunter use for downloading commands file(DOWNLOAD ...) and ExternalProject_Add so password/login features should be implemented in CMake first

Available since CMake 3.7
Sources protected by HTTP password available in Hunter since v0.16.22. Documentation:

https://docs.hunter.sh/en/latest/user-guides/cmake-user/protected-sources.html

Note that git repository can't be specified as a source for now so obviously no access to protected git repositories too. Feature request: https://github.com/ruslo/hunter/issues/230

Closing inactive discussion.


A question related to A3C

Hi,
If I want to use A3C, do I need to open multiple instances and each instance is connected by a client? Or I can connect multiple clients to one instance?

Hi @JunhongXu ,
I ran multiple servers (a total of 12, 4 GPUs, 3 instances each), and connected a client to each. Connecting multiple clients to one server is interesting, and we plan to investigate this multiplayer setting at one point, but currently it's not supported.
Btw, we will soon release the code of all three methods we tested, after we clean it up a bit.

Thanks for your comment!
I have played around with the simulator a bit and got some questions.

What is the maximum value for speed, collision, and acceleration? It is good to know about this because we need to normalize input/output when training a neural net.

Is it possible to capture a specific picture by passing location(x, y, z) and orientation(x, y, z) to the server? Or we need to drive the vehicle to that location and save the image? This is useful when we want to train our agent with different goal images at different episodes.

What is the maximum value for speed, collision, and acceleration?

They are not bounded, they are the result of the simulated physics and it depends on the vehicle you drive. You can play around with the keyboard passing -carla-no-networking to the server and see what are the usual values in your case. For instance, with the default Mustang it is very difficult to reach more 140km/h in our cities, as you will run out of city soon. But there is no hard-coded upper limit, it depends on the simulated capabilities of the vehicle. Same with collision, it's just a counter on how many collisions you have (weighted with collision intensity).

Is it possible to capture a specific picture by passing location(x, y, z) and orientation(x, y, z) to the server? Or we need to drive the vehicle to that location and save the image?

We don't have a functionality to do that. At this point cameras are added to the vehicle only, you can add an arbitrary number of cameras at arbitrary poses but always relative to the player vehicle. You can also choose the start position of the player at the beginning of the episode, but from a list of predefined start positions. We want to extend CARLA to support arbitrary start positions in the future.

Hi, @dosovits
Just want to know when the code will be released?
Look forward to that!

@nina124 , unfortunately things take longer than expected... There are already beta versions of trained imitation model (a separate repo in the carla-simulator organization) and benchmarking code (in a separate branch in the carla repo). Trained RL model will probably come some time in January. Training code may take quite a bit longer unfortunately.
You may be interested to know that our colleagues from Nervana recently integrated CARLA with their RL framework https://github.com/NervanaSystems/coach , and even have some RL examples, I believe.

@dosovits Thanks for your reply.
Definitely I am interested. I will look into this repo.

Hi, @dosovits
Another question, how to set which graphics card is used by OpenGL ?
Thanks!


Enable MySQL Advanced Threat Protection

Rule request
Suggested rule change
Use Advanced Threat Protection for Azure Database for MySQL server.
Applies to the following
The rule applies to the following:

Resource type: Microsoft.DBforMySQL/servers

Additional context

Azure resource template
Azure Database for MySQL Advanced Threat Protection

Similar to Azure.SQL.ThreatDetection

I'll take it.


ConsentDescriptionText appears twice

I am using the "Latest prerelease 1.0.17-preview.1673483543" version:
In my .NET 7 Blazor WASM app, the ConsentDescriptionText appears twice:

I also tried adding o.ConsentDescriptionText = new Dictionary<string, string> { { "ConsentDescription", "Blah blah." } }; but then it shows "Blah blah. Blah blah."
My Program.cs file:
builder.Services.AddCookieConsent(o =>
{
    o.Revision = 1;
    o.PolicyUrl = "/cookie-policy";
    o.ConsentModalPosition = ConsentModalPosition.BottomRight;
    o.ConsentModalLayout = ConsentModalLayout.Cloud;
    o.ConsentSecondaryActionOpensSettings = true;
    o.Categories.Add(new CookieCategory
    {
        TitleText = new()
        {
            ["en"] = "Google Services",
            ["de"] = "Google Dienste"
        },
        DescriptionText = new()
        {
            ["en"] = "Allows the integration and usage of Google services.",
            ["de"] = "Erlaubt die Verwendung von Google Diensten."
        },
        Identifier = "google",
        IsPreselected = true,

        Services = new()
        {
            new CookieCategoryService
            {
                Identifier = "google-maps",
                PolicyUrl = "https://policies.google.com/privacy",
                TitleText = new()
                {
                    ["en"] = "Google Maps",
                    ["de"] = "Google Maps"
                },
                ShowPolicyText = new()
                {
                    ["en"] = "Display policies",
                    ["de"] = "Richtlinien anzeigen"
                }
            },
            new CookieCategoryService
            {
                Identifier = "google-places",
                PolicyUrl = "https://policies.google.com/privacy",
                TitleText = new()
                {
                    ["en"] = "Google Places",
                    ["de"] = "Google Places"
                },
                ShowPolicyText = new()
                {
                    ["en"] = "Display policies",
                    ["de"] = "Richtlinien anzeigen"
                }
            },
            new CookieCategoryService
            {
                Identifier = "google-analytics",
                PolicyUrl = "https://policies.google.com/privacy",
                TitleText = new()
                {
                    ["en"] = "Google Analytics",
                    ["de"] = "Google Analytics"
                },
                ShowPolicyText = new()
                {
                    ["en"] = "Display policies",
                    ["de"] = "Richtlinien anzeigen"
                }
            }
        }
    });
});

Thank you for filing the issue. Seems like a development quirk came through accidentally, it's fixed in the new preview build, please let me know if it works as expected
https://www.nuget.org/packages/BytexDigital.Blazor.Components.CookieConsent/1.0.17-preview.1673626511

Wow, that was quick. Thanks for fixing!


Go CLI Should Not Send Request if Auth Key is Not Set

Currently the Go CLI sends request if an auth key is not set. This request is rejected by the Whisk backend, and an error is displayed to the user. This logic should be reworked so that the Go CLI does not send the request if the auth key is not set, and display an error to the user.
Tests must be updated to handle this change.
See comments: https://github.com/openwhisk/openwhisk/pull/614#discussion-diff-68622642

I'm picking this one up.
@dubeejw - Are there particular tests you know of that will require updating?


diga.apimisc.de expects other headers and transfer type

Problem
diga.apimisc.de is not responding to requests right now (although our endpoints status document suggests it used to?)
A lot of troubleshooting by the team at Rehappy (@SandraHicks) suggests that this endpoint works differently from other endpoints: it requires the request body to be sent as a single chunk (not streamed), and that it requires the Content-Length header
Right now I'm not sure this is why our library is failing to reach this endpoint but this should be looked into
Solution
Find out how to configure these parameters with OkHttp and see if we get a request working against this endpoint. If it does, add logic to send the correctly configured request when the apimisc endpoint is used

diga.apimisc.de is working for us at the moment,  is it still failing?

diga.apimisc.de is working for us at the moment, is it still failing?

thats interesting and good news! I havent had the chance to work on this yet. are both test and real requests working for you using the library?

We did only make test requests so far, but those are working with our certificate

Might be a certificate issue, that they locked out the certificates issued by the older root CA from ITSG. But just a wild guess.

We didn't get a new certificate, the Endpoint needs to accept certificates issued from both the old and the new CA (old one is still valid until 2025).
So if the old certificates don't work, you'll need to contact them (address can be found in Krankenkassenverzeichnis.xml)

I also tested sending the test bill to and insurance using diga.apimisc.de (Kostentraegerkuerzel C4) and it worked, so i dont think this is an issue with this library

Thanks for your help @jakob-p !


LIHADOOP-20318: Make Dr. Elephant analyze running jobs.

This patch will support analysis of Mapreduce jobs in realtime soon after a task completes.
Logic flow for better understanding this patch:

All the Completed jobs (succeeded and failed) fetched from the RM will go to a completed queue and will be analyzed by a set of threads(say, completedThreads) dedicated to them.
All the Running jobs(jobs in undefined state) fetched from RM will go to a running queue and will be analyzed by another set of dedicated threads(say, runningThreads) which will compute the live metrics and potentially any new realtime heuristics.
When a running job completes, it will be added to the completed queue and this will then be processed by a completedThread which will compute the final metrics and run all the heuristics.

Code Changes:

You can find the main logic implemented in ElephanRunner.java, AnalyticJobGeneratorHadoop2.java and MapReduceFetcherHadoop2.java
Added a GeneralConf.xml to configure the number of executor threads, realtime threads, fetch interval, fetch lag and real time update interval.
Added separate evolutions for h2(test) and mysql as they follow different syntax.

Schema changes

Added a new level of severity called Undefined set to 0. We need to shift all the severities one level up as they currently start from 0.
Added a new field called status to yarn_app_result which tracks the status of the application.

Testing

Added new tests.
Tested on local deployment.
Tested on a dev cluster.
Need to test on a live cluster. (TODO)

@akshayrai this will be super useful. haven't looked through the PR carefully yet. but we'll follow up with comments.
cc @paulbramsen @@plypaul @hongbozeng @liyintang @brandtg @timyitong

Thanks @krishnap , glad you noticed the PR. I was about to send a request in the mailing group.

@shankar37 @nntnag17

Greate feature!
Some comments:

We should check the load that this feature will put on the Application master. I know it's very difficult to verify the load on Application master since it keeps changing but we need to check it before deployment.
Similarly we should also check if there are any network issues on Application master which may disturb the job execution.
Will there be any performance issues on the database side since we are now doing multiple updates in the database.
For running jobs, we need to find out the optimal number of executors and the fetch interval. There might be 100s of jobs running at a time, if the queue size for running jobs grow large and the rate of processing these jobs is not as fast, the jobs which are added at the back of the queue might be completed so dr. elephant might miss out on showing some of the running jobs at any given time. It might already be handled but just a concern.

It would be great if you can share a screenshot of how the job summary looks for a running job.

Thanks @nntnag17 for your feedback. I do have a plan on addressing all the points you mentioned as part of testing Dr. Elephant on the live cluster.
Here is a snapshot.

General comments.

I didn't see a way to turn off this feature ? you should add a config for that if it's not already there.
we should have some performance tests done and it's report included. Ideally, we should have the instrumentation for job processed/sec, processing time etc and compare it with the feature on and off. Since that is still a work in progress, let's crunch some numbers manually. I am particularly concerned about how much time it takes to process a running job and whether we can process all of them before the configured interval. If we can't, then we need to figure out a way to not build up a huge backlog.
Can you also get the code coverage numbers with and without this change ? Since we add so much code, I want to make sure we are not degrading code coverage.

thanks
shankar

Been testing this out. Pretty cool! One thing to note: the jobtracker URL is broken for running jobs (tested with Hadoop 2.5.0).

@shankar37  @paulbramsen thanks for your feedback. I'll update the PR and let your guys know.

@akshayrai any updates on this?

@paulbramsen , I have been trying to setup a test instance on our cluster to do the testing. I'll update the PR once I am done with the complete testing.

Great. Thanks @akshayrai

@akshayrai any idea on the timeline for this?

@paulbramsen , lately I have been busy with some other work. This work got delayed because of the test setup. Now that our setup is ready, I'll work on it and update it by end of next week.
Just a heads up. I'll be visiting Mountain View in the 2nd week of August. We can plan for some meetup.

@akshayrai hey have you made any progress on this?
I'm thinking about trying to rebase/merge myself but don't want to duplicate work if you already did it.

@akshayrai ok. Could you push your rebased/merged version of the project? That way we could take a look as well.

@paulbramsen , I haven't rebased it with the master yet, if that is what you meant.

The catch-all exception in ElephantRunner is probably not a good idea. Since we both add it to the successful queue and and consider retrying it, my completed job queue ends up being huge with many duplicates.


VS Code fails to start if current directory no longer exists

VSCode Version: Version 1.4.0 (commit 6276dcb)
OS Version: Ubuntu Linux 14.04

Steps to Reproduce:

On Linux (or possibly on OS X), open two separate terminal windows.
In both windows, run cd with no arguments so you're in your home directory.
In the first terminal, run:

mkdir foo
cd foo
echo "Hello" > file.txt

In the second terminal, run:

mkdir bar
cd bar
code ~/foo/file.txt

VS Code starts up fine, and loads ~/foo/file.txt without problems.
Exit VS Code.
In the first terminal, run rmdir ~/bar. This will succeed on Linux, because processes don't lock their current working directory while running. So having a terminal window open, cd'ed into ~/bar, does not lock ~/bar and it can therefore be removed by other terminals.
Now in the second terminal, run code ~/foo/file.txt again. VS Code will fail with the following error:

shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
sh: 0: getcwd() failed: No such file or directory
path.js:1184
          cwd = process.cwd();
                        ^

Error: ENOENT: no such file or directory, uv_cwd
    at Error (native)
    at Object.resolve (path.js:1184:25)
    at Function.Module._resolveLookupPaths (module.js:263:17)
    at Function.Module._resolveFilename (module.js:330:31)
    at Function.Module._load (module.js:290:25)
    at Module.require (module.js:367:17)
    at require (internal/module.js:16:19)
    at Object.<anonymous> (/usr/share/code/resources/app/out/cli.js:5:1)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)

Notes
I believe this could also be reproduced on OS X, because I think the OS X file system works similarly to Linux, but I don't have access to a Mac to test it. I was able to verify that this does NOT occur on Windows, because on Windows you can't remove a directory while any Command Prompt windows are open in that directory, and so this bug reproduction fails on step 7 on a Windows machine.

https://github.com/Microsoft/vscode/issues/2259

I looked for duplicates before reporting, but missed that one. Sorry.


Lag/microstutter on my OnePlus 5T

I'm getting a lot of lag/microstutter on my OnePlus 5T in all flutter apps.
Even in the official flutter gallery app.
Other apps this doesn't happen, and I've tried to restart my phone and nothing really helps.
Video from flutter gallery app:
https://my.mixtape.moe/yisdcw.mp4
Video from Reddit sync app:
https://my.mixtape.moe/ljcmsc.mp4

I forgot to state in the OP, that I'm running the latest stock ROM and is not rooted. Everything is 100% stock.

Try to run it with flutter run --profile

That seemed to make my own apps run a whole lot more smooth!
But, how come the gallery app still has microstutters?

After some more testing, listviews still stutter with --profile on

We don't have a OnePlus 5T in our lab to reproduce your issue so can you please provide us a trace of microstutter?
Specifically, you can capture a trace with

flutter run --profile --trace-skia,
follow the link to open observatory,
click timeline,
select "All",
scroll your app until a lag appears,
click "refresh" and "save" in the observatory timeline web page, and attach the saved json file here.

Sure.
Just rename the file to .json, as Github wouldn't allow .json files.
dart-timeline-2019-1-6.txt

Let me know if you need more.

There seems to be a jank/missed frame around 350ms. @dasmikko Can you please confirm that it's the case?
From the trace, all GPU raster times and UI build times are less than 16ms. The only suspicious behavior is a Dart Idle GC right before 350ms in the middle of two animated frames. That shouldn't happen since we're still animating. After the GC, there's a long "Frame Request Pending" (18ms) which seems to have blocked both the GPU thread and the UI thread.
CC @rmacnak-google who may have more knowledge about the Dart Idle GC.

@liyuqian That is correct with the frame at 350ms.
What you are saying sounds like something that could make the app microstutter.

@liyuqian same problem with a Oneplus 3T (stock  9.0.4), it's more noticeable when slowing down
Same scroll with a Nexus 5 is buttery smooth.
dart-timeline-2019-6-18.json.zip

@UnoDeTantos : your trace seems to be a little different from the one that dasmikko posted. Yours doesn't have a GC in the middle of an animation, and it seems that the GPU thread is running out of 16ms budget in some frames.
Is your scroll issue also happening inside flutter_gallery app?
Can you please also provide us:

Your flutter version (from flutter doctor -v). If possible, please switch flutter to master channel and redo your test again since Flutter is constantly fixing bugs and improving performance.
Record a video of the performance issue using another phone (iPhone slo-mo is preferred) so we can have an intuitive understanding of what happened. Don’t use "adb screenrecord", as that affects the performance of the profile run.
Enable performance overlay (by pressing 'P' during flutter run --profile) during the video recording so we know which frames may be causing the problem.

@liyuqian, my other phone to test is the Nexus 5, and well... I think you are not going to see anything if I record the video with that phone. If you want the video anyway, just say it :)
The issue happens (or is more noticeable) when the scroll is slowing down, in that moment some micro sutters appears until stops. Same problem occurs with flutter_galley (not as noticeable) but it's more complicated to test because scrolls are to short. With the nexus 5 no problem at all, just perfect.
About, flutter doctor, switch to master an redo:
[✓] Flutter (Channel master, v1.8.2-pre.135, on Mac OS X 10.14.5 18F132, locale es-ES)
    • Flutter version 1.8.2-pre.135 at /Users/Tito/development/flutter
    • Framework revision 11d3d45b6b (41 minutes ago), 2019-07-22 10:23:12 -0700
    • Engine revision 849fe73170
    • Dart version 2.5.0 (build 2.5.0-dev.1.0 a089199b93)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/Tito/library/Android/Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • ANDROID_HOME = /Users/Tito/library/Android/Sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 10.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.2.1, Build version 10E1001
    • CocoaPods version 1.7.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 3.4)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 36.0.1
    • Dart plugin version 183.6270
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

[✓] VS Code (version 1.36.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.2.0

[✓] Connected device (3 available)
    • ONEPLUS A3003 • dc136996 • android-arm64  • Android 9 (API 28)
    • macOS         • macOS    • darwin-x64     • Mac OS X 10.14.5 18F132
    • Chrome        • chrome   • web-javascript • Google Chrome 75.0.3770.142

• No issues found!

Test again:
dart-timeline-2019-6-22.json.zip

@UnoDeTantos : I meant to use your Nexus 5 as a camera to record the micro stutters on your OnePlus 3T with performance overlay turned on :-)

@liyuqian, yes, I understood you, but I didn't think the video had the necessary quality 😅
Video:
https://streamable.com/9f0o1

I leave here the row structure in case it helps:
Card > InkWell > Padding > Column [

  // CHANNEL ROW
  SizedBox(height) > Row [
    Container(width, center) > CircularAvatar > CachedNetworkImageProvider,
    Expanded > Text
    IconButton
  ],

  // PROGRESS
  Container(height, padding) > LinearProgressIndicator,

  // EPG ROW
  "StreamValueBuilder" > Container(height) > Row [
    Expanded > Column [
      Row [
        SizedBox(width) > Text(center),
        Expanded > Text
      ],
      Row [
        SizedBox(width) > Text(center),
        Expanded > Text
      ]
    ],
    IconButton
  ]

]

StreamValueBuilder is something I am testing to fix the "double tic" behavior with RxDart BehaviorSubject. The problem persist with and without "EPG ROW". Nexus 5 is buttery smooth in any way.
I leave here the code for StreamValueBuilder:
typedef StreamValueBuilderListener<T> = void Function(AsyncSnapshot<T> oldValue, AsyncSnapshot<T>newValue);
class StreamValueBuilder<T> extends StreamBuilder<T> {
  final StreamValueBuilderListener<T> onChange;
  StreamValueBuilder({
    Key key,
    @required Stream<T> stream,
    T initialData,
    @required AsyncWidgetBuilder<T> builder,
    this.onChange,
    Equality compare = const DeepCollectionEquality()
  }) :
    assert( stream!=null ),
    assert( builder!=null ),
    super(
      key: key,
      stream: stream is ValueObservable && (stream as ValueObservable).hasValue
        ? stream.distinct(compare.equals).skip(1)
        : stream.distinct(compare.equals),
      initialData: initialData ?? (stream is ValueObservable ? (stream as ValueObservable).value : null),
      builder: builder,
    );

  @override
  AsyncSnapshot<T> initial() {
    final value = super.initial();
    onChange?.call(null,value);
    return value;
  }

  @override
  AsyncSnapshot<T> afterData(AsyncSnapshot<T> current, T data) {
    final newValue = super.afterData(current, data);
    onChange?.call(current,newValue);
    return newValue;
  }
}

I don't have a OnePlus myself to test this but I've had quite a few reports of my app stuttering on OnePlus devices (and LG, possibly related?). Most of everyone else says it runs buttery smooth, which is also how it appears on my Pixel 2 and Galaxy S10e.

Did some testing this weekend, to see if it was the stock ROM from OnePlus only having the stutters.
So I flashed Lineage OS, on my OnePlus 5T and boom, all the lag/stutter are gone. I can scroll smoothly without issues.
So this seems to be an issue with the OnePlus ROMs.

Interesting, but there's still clearly an issue with the Flutter framework since OnePlus devices don't have this issue with native apps.

That is true, though I should mention, that I would get some random slowdowns when running the Stock ROM, even in native apps. Only very briefly though.

Kinda sad to see this not being addressed by the team anymore :(
It's the #1 complaint on my Flutter app. All of the animations (including the 'fling' animations on scrollviews) have insane amounts of jank from videos I've seen.

We hear you! We're purchasing a OnePlus 5T to further investigate this issue today :-)

Just wanted to drop by and say that this also happens on my 6T. ListViews are stuttering a lot, especially when flinging. As someone mentioned, it seems especially bad when the scroll animation is easing out, just before it stops. I'm happy to provide any debug data you'd need, just ask!

I wasn't able to reproduce any lag/microstutter using Flutter gallery's list view on a OnePlus 5T. Please see the recording below.

Recording
Flutter version: 2f3515de31c0479cd09ad11cdc079281270405f4
OnePlus 5T Model A5010

OxygenOS version 4.7.4
Android version 7.1.1
Kernel version 4.4.21-perf+
Build number ONEPLUS A5010_43_171206

@dasmikko : your video recording in https://github.com/flutter/flutter/issues/24782#issue-384824814 is no longer available. Can you please re-upload a recording with the tip-of-tree Flutter?

@liyuqian : I sadly don't have the recording anymore. :(
I can also see you are running an old version on the Oneplus 5T
The issue appeared after updating to android 9. Could you try updating the phone?

Here is a recording of the Flutter Gallery stuttering on the 6T. It might be hard to see in the compressed web version, but if you download it it's visible.
Oxygen 9.0.16 (Android 9)
Build ONEPLUS A6013_41_190801
https://drive.google.com/file/d/10JIqFFEcIQC_Tzs5lll5JiU333yAWAMW/view?usp=sharing

@Feenposhleen That looks better than my brief testing with my friend's OnePlus 3T. Flutter animations ran at like 5 FPS on his phone, it looks awful

@jckpn Yeah, I've also have much bigger frame drops than that on apps I've worked on (that runs like butter on my much older HTC 10). Unfortunately I can't share recordings from those.
I guess it also gets less noticeable on newer hardware. Still very noticeable and definitely not native-feeling though.

@dasmikko : I've upgraded the OnePlus 5T to Android 9 (OxygenOS version 9.0.8), and the recording still doesn't show any stutter...
@Feenposhleen , @jckpn : I don't see any obvious problem in your recording on 6T. Can you please enable the performance overlay, and probably provide us a trace and a sample app for reproducing the issue?
Here's more info about how to help us better investigate performance issues:

Please tell us exactly how to reproduce the problem you are running into.

Please attach a small application (ideally just one main.dart file) that
reproduces the problem. You could use https://gist.github.com/ for this.

Switch flutter to master channel and run this app on a physical device
using profile mode with Skia tracing enabled, as follows:
flutter channel master
flutter run --profile --trace-skia
Then press ‘P’ to enable the performance overlay.
The bleeding edge master channel is encouraged here because Flutter is
constantly fixing bugs and improving its performance. Your problem in an
older Flutter version may have already been solved in the master channel.

Record a video of the performance issue using another phone so we
can have an intuitive understanding of what happened. Don’t use
"adb screenrecord", as that affects the performance of the profile run.

Open Observatory and save a timeline trace of the performance issue
so we know which functions might be causing it.  Hopefully you can see that something is up, atleast from the graphs. Frame processing time suddenly spikes when the scroll is about to end. A wild guess would be that something is causing GC or other cleanup to take place prematurely.
I ran the same test on the HTC10 for reference, and while it's weaker, it still shows a much more stable graph.
HTC10: https://drive.google.com/open?id=111gfG5T5R7jUmu2uBeqtyDmYVu30bTIJ
OnePlus 6T:  https://drive.google.com/open?id=1-hJKBkDpgv0i117YswZ57R9k_PCj5ABh
I couldn't get the Observatory trace to download, saying I had an empty timeline when it clearly was not. Maybe some issue with stuff in master perhaps. Could try on stable channel if that would be useful.

@liyuqian the performance is way better now but still some hiccups here a there... (Oneplus 3T)
Videos:

Before: https://streamable.com/9f0o1
Now: https://streamable.com/x9qjy

Flutter doctor:
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, v1.10.6-pre.39, on Mac OS X 10.14.6 18G95, locale es-ES)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 11.0)
[✓] Android Studio (version 3.5)
[✓] VS Code (version 1.38.1)
[✓] Connected device (1 available)

Gist:
https://gist.github.com/UnoDeTantos/64837d58357ab539a7580b10bd4ce89c
Video testing the gist:
https://streamable.com/3i8e9
How test
Scroll down a lot and then up slowly.

@liyuqian Any updates on this?

Oops, this slipped from my radar. Reopen this issue and get back to work on it.

I had this issue for a while on my OnePlus 5T with Flutter Gallery and other. I didn't made any factory reset since I bought it on december 2017.
This morning, I made a factory reset and the problem disappeared !

I had this issue for a while on my OnePlus 5T with Flutter Gallery and other. I didn't made any factory reset since I bought it on december 2017.
This morning, I made a factory reset and the problem disappeared !

After 3 days, is it still smooth?
I had also tried reflashing a custom rom, and then back to stock, where the issue came back after using the phone for some time.

I just tested, it is still smooth.

Oneplus 3T here, the problem persists even with the factory reset
@liyuqian did you try my gist?

@UnoDeTantos I just tried your gist and reproduced the issue on OnePlus 5T. Thank you very much for the gist! Attached are the traces I got on a OnePlus 5T i24782-5t.json.zip and a Moto G4. Here are summaries of my findings:
The root cause of the lag/microstutter seems to be the occasionally slow AndroidContextGL::SwapBuffers on 5T compared to an older device G4 with presumably weaker hardware:

5T average=1.543ms, max=5.421ms, p90=2.128ms
G4 average=1.064ms, max=2.594ms, p90=1.374ms

The slowness seems to be mainly caused by GPU driver blocking the CPU so this might be a GPU driver issue, or maybe Flutter/Skia doesn't have an optimal setting for that GPU. Below are their GPU info. CC @brianosman to see if there's any known issue with Adreno (TM) 540

5T GLES: Qualcomm, Adreno (TM) 540, OpenGL ES 3.2<EMAIL_ADDRESS>(GIT@4c638fb, I557c585805) (Date:10/06/18)
G4 GLES: Qualcomm, Adreno (TM) 405, OpenGL ES 3.2<EMAIL_ADDRESS>(GIT@I8ee426a9a2)

On the other hand, I also see GC CollectNewGeneration happening during the middle of the animation on the UI thread. But that's expected and shouldn't contribute to the stutter because:

The UI thread task never run out of the 16ms budget
Flutter intentionally calls the GC if the frame build time on the UI thread is tiny. If the build time is only 2ms and we have a 16ms budget, Flutter is going to allow GC to use the remaining time to free some memory.

I don't know of any issues with the 540 (that GPU is in quite a few phones, including the Pixel 2, where we test heavily).

Some recap...
Oneplus devices directly reported here:
3T => Adreno 530
5T => Adreno 540
6T => Adreno 630
@dasmikko: 5T with Lineage works perfect
@jckpn: Reports from Oneplus devices (and LG, possibly related?)
With this in hand, we can think that there is a problem in Oneplus ROM but, as @jckpn has said, I don't have this issue with apps other than flutter

@UnoDeTantos I can also confirm that stock Rom with custom kernel also solves the issue.

According to https://github.com/flutter/flutter/issues/24782#issuecomment-567024351, this issue seems to be caused by OS kernels in which Flutter doesn't have much control. Tentatively close this issue for now. Please feel free to reopen if there's something to be done in Flutter.


Support peerDependencies in the no-extraneous-dependencies rule

Analogous to #266. Ideally should be implemented along the same rails.

I'm not too familiar with peerDependencies and their use. Is having a peerDependency a good excuse of not setting some package in your dependencies as you assume that it will be installed in the project using your package ?
I can add this. Should we have the option for this be true or false by default?

false by default, let people enable. Might be good to explicitly state in the warning for false mode that the referenced package is in peerDependencies.
Good example is React/ component relationships. React component packages will need to import React from 'react' but need to get the project react, not some local one. So they (should) declare the react dependency as a peer.


Sharing training data on public storage?

It seems that the training data is stored on mega.nz, which has a quota of a few GB for downloading, while the training data is a 12GB zip file, so it's impossible to download it at once. Is there any chance that the data is put on public storage that can be freely downloaded?

hi ! -  i'm away until the 13th of May. I think you face this issue because you try to save the files on your own mega.nz account which is not neccessary. you should just log out of any account you have and download the files directly. it use to work. i'll investigate more next week if neccessary.

Thanks @ThibaultGROUEIX,  it seems that mega.nz has a transfer limit of ~5GB per a few hours for each IP address, regardless of whether I've logged in to an account. I've successfully downloaded the data after using multiple IPs.

@zck119 Thanks for your feedback. I've moved the data to the public cloud of ENPC school, there shouldn't be any more issues in downloads. Can you close the issue if everything's fine on your end ?


feat: op_mod for Float and Double

#1022

Pull Request Test Coverage Report for Build 3932
Details

13 of 22 (59.09%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.08%) to 79.803%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

double/mod_nonjs.mbt
12
21
57.14%

Totals

Change from base Build 3927:
-0.08%

Covered Lines:
4370

Relevant Lines:
5476

💛  - Coveralls


COMPACT_ENTRY context

New context added to the reference API in ermrestJS denoted as compact/entry. This context has a special case for removing columns that generate additional requests for more information.
Opening this PR to show the solution works but a discussion should be had about how best to do it.
Tests pending...

And as for testing, you don't need to change any schema definition. You can add a new it after this one:
https://github.com/informatics-isi-edu/ermrestjs/blob/master/test/specs/column/tests/03.pseudo_column.js#L249
And test the columns list based on the existing definition.


Wrap or port FontQA checks

I had a discussion with @felipesanches and @graphicore on a tool I used in the past.
FontQA by Andreas Eigendorf (http://fontqa.com). It was using a script in FontLab and exported the results as a XML file that could be opened in a browser. It had a simple, but clear graphical output. For designers with less technical know-how, it was quite nice to work with.
I added a XML file for you to look at if you want, and a screenshot. Problem is only that Mac browsers don't work well with XML anymore.

XML.zip

It is important to clarify here that @Fonthausen 's request originally expressed in words during a face to face conversation on the atypi workshop seemed to be about having XML output to be viewed as tables on a web browser. He was suggesting we could use some technologies to have graphical output of our test reports other than the text terminal. The workflow of outputting markdown and then previewing that on a github issue seemed to be a bit too complicated perhaps and @Fonthausen was mentioning something he considered nice in another tool (XML output from FontQA).

Right; I guess we could have a HTML reporter which simply takes the output from --ghmarkdown and runs it through https://github.com/Python-Markdown/markdown or whatever to create the output.html file that you can immediately open and read.

I played with some Markdown converters and found them painfully slow for huge reports, so I wrote a direct-to-HTML reporter.

This one’s good
https://github.com/theacodes/cmarkgfm

Worth a try I guess, before I submit my custom one.

It’s the same used on PyPI to render the Readme written in Github Flavored Markdown, the original library is written in C (from github itself), this is the python bindings

My golden rule: never reinvent the wheel

Unless it's fun.

That’s my platinum rule

We now have HTML output (and have had for some time)!


remove temp files in stdio.c #299

See #299

This change is

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Python3.5 and local installs

While trying to use rk, I run into the following problems:

python3.5 does not have raw_input(), instead it only has input() so I changed the corresponding 3 lines in the rk.py file.

In my local install of jupyter, the kernel folder is located in ~/.local/share/jupyter/kernels/ which is in a different place than the documentation gives.

For rk installed in user space, the rkscript should look for the configuration file with getusersitepackages() so I modified for my own purpose the rkscript to have

module_location = join(getusersitepackages(), module_name)

Then I got the ImportError: No module named IPython.kernel.zmq.kernelapp which is already reported. The solution was not immediate to me but eventually I found that I had to change argv in kernel.json to python3 to use my local python3 and not the global python2.7 install on the remote machine.

Did it work eventually ? Nope. Now I'm facing an strange issue. I can ssh into the remote machine without being asked for passphrase or password since the authentication is based on kerberos. Strangely enough, rk asks me first my passphrase, then my password and both eventually fail. Not sure what's causing this. Here is part of the log:
[I 12:04:27.899 NotebookApp] KernelRestarter: restarting kernel (4/5)
WARNING:root:kernel a251e120-4f06-485e-938f-5e60c1e11505 restarted
/usr/lib/python3.5/getpass.py:92: GetPassWarning: Can not control echo on the terminal.
  passwd = fallback_getpass(prompt, stream)
Warning: Password input may be echoed.
remote's password: Traceback (most recent call last):
  File "/usr/lib/python3.5/getpass.py", line 70, in unix_getpass
    old = termios.tcgetattr(fd)     # a copy to save
termios.error: (25, 'Inappropriate ioctl for device')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "~/.local/bin/rkscript", line 230, in <module>
    paramiko_tunnel(v, remote_ports[k], remote_username_at_remote_host)
  File "~/.local/lib/python3.5/site-packages/rk/ssh/tunnel.py", line 321, in paramiko_tunnel
    password = getpass("%s's password: "%(server))
  File "/usr/lib/python3.5/getpass.py", line 92, in unix_getpass
    passwd = fallback_getpass(prompt, stream)
  File "/usr/lib/python3.5/getpass.py", line 127, in fallback_getpass
    return _raw_input(prompt, stream)
  File "/usr/lib/python3.5/getpass.py", line 149, in _raw_input
    raise EOFError
EOFError
[5897] Warning: unhandled RemoteError: Traceback (most recent call last):
  File "<string>", line 1072, in executetask
  File "<string>", line 1, in do_exec
  File "<remote exec>", line 55, in <module>
PermissionError: [Errno 13] Permission denied: '~/.ipython/profile_default/security/kernel-a251e120-4f06-485e-938f-5e60c1e11505.json'

Cheers.

Here some more infos.
First of all, I'm not sure why paramiko is used on my linux local machine. Reading the code in ssh/tunnel.py seems to suggest using it only on win32. Anyway, to get paramiko working with kerberos atuhentication, I modified in ssh/tunnel.py two lines in _try_passwordless_paramiko and in _paramiko_tunnel functions the call to client.connect by adding the argument gss_auth=True
This made things work. However, the remote machine I'm using are part of a pool of machines. If I configure the kernel.json with the pool name which then randomly redirect to a machine with low load, things don't quite work. If I modify the kernel.json to use the name of a specific machine in the pool, things work perfectly. I suspect that with the general pool name, several connections are made and each end up on a different machine, messing things up.
Cheers.


Update jackson version

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop-v2@ae1860a). Click here to learn what that means.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             develop-v2    #2374   +/-   ##
=============================================
  Coverage              ?   75.81%
  Complexity            ?      185
=============================================
  Files                 ?       11
  Lines                 ?      583
  Branches              ?       50
=============================================
  Hits                  ?      442
  Misses                ?      100
  Partials              ?       41

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ae1860a...80295be. Read the comment docs.

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop-v2@ae1860a). Click here to learn what that means.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             develop-v2    #2374   +/-   ##
=============================================
  Coverage              ?   75.81%
  Complexity            ?      185
=============================================
  Files                 ?       11
  Lines                 ?      583
  Branches              ?       50
=============================================
  Hits                  ?      442
  Misses                ?      100
  Partials              ?       41

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ae1860a...80295be. Read the comment docs.


What is meaning of 'evalutation-flags' ?

Thank you for your work.
When I run 'test_net.py', GeneralizedRCNN in generalized_rcnn.py return list with len=4.
and each 'list' (4 number of) in returned list has different num_boxes.
When I revise augument '--evalutation-flags' from [1, 1, 1, 1] (default) to [1], returned result has 4 lists.
What is meaning of 'evalutation-flags' ? I just want to use 'double-head-ext' only.

I have the same needs, and I want to know what are the four differences.

@SoYeol-Lee  Sorry that I thought I have replied until I received the next comment.
Where to use the evaluation flag can be found at the code:
https://github.com/wuyuebupt/doubleheadsrcnn/blob/master/maskrcnn_benchmark/modeling/roi_heads/box_head/inference.py#L190
The mapping from the four flags to the configuration are:
#### return multiple post processor with different mode
# 0 : conv cls + conv reg
# 1 : fc cls + fc cls
# 2 : fc cls + conv reg
# 3 : fc cls + conv reg (double-head-ext)
#------
# evaluation_flags: 1 1 1 1
So if you only need to run the 'double-head-ext'. You should use the flag "0 0 0 1".
The detailed process can be found from
https://github.com/wuyuebupt/doubleheadsrcnn/blob/a744b4121d52935741f49d845bae7878270ea291/maskrcnn_benchmark/modeling/roi_heads/box_head/inference.py#L71 to https://github.com/wuyuebupt/doubleheadsrcnn/blob/a744b4121d52935741f49d845bae7878270ea291/maskrcnn_benchmark/modeling/roi_heads/box_head/inference.py#L85

@AliceAsky check my comment above.


Fixes

vehicle arg requires to check not just "is player driving something"
not sure about :GetSimfphys & :GetVehicle - so i do both

https://github.com/chiraqoRP/CLib/blob/b55d9a072c431b264467ff631d3e6be40eee4c68/lua/clib/meta/sh_vehicles.lua#L132-L135
Instead of only calling CLib.GetVehicle when the vehicle arg is nil, we should always call it like below
    if !vehicle then
        vehicle = self:GetVehicle()
    end

    vehicle = CLib.GetVehicle(vehicle)

https://github.com/chiraqoRP/CLib/blob/b55d9a072c431b264467ff631d3e6be40eee4c68/lua/clib/meta/sh_vehicles.lua#L146
that way we can just do this
return self:GetSimfphys() == vehicle

thanks


new hardware support : nucleof412 can internal controller

Reponed after #46476 and #49409 closed without commits

@FRASTM If you want the second CAN, can you tell me where to find it in the documentation for nucleo f412zg?
https://www.st.com/resource/en/user_manual/dm00244518-stm32-nucleo144-boards-mb1137-stmicroelectronics.pdf

@pbonazzi Please fix the failing CI checks.

@pbonazzi You still need to pay attention to the failing CI if you want to get this merged. Also, please take a look at the existing commits in the tree for inspiration on how to format your commit logs.

From the compliance CI output:
Error: See https://docs.zephyrproject.org/latest/contribute/guidelines.html#coding-style for more details.

Please remove blank lines at end of 'boards/arm/nucleo_f412zg/nucleo_f412zg.dts'
Error: See https://docs.zephyrproject.org/latest/contribute/guidelines.html#commit-guidelines for more details

0ff7e5e893b44db273f25ee1010f9dedc5b2d7d8: author email (Pietro Bonazzi<EMAIL_ADDRESS>needs to match one of the signed-off-by entries.
Error: See https://docs.zephyrproject.org/latest/contribute/guidelines.html#commit-guidelines for more details

1: UC2 Body does not contain a 'Signed-off-by:' line
Error: Process completed with exit code 1.


Command injection vulnerbility

The current code calls cjxl as a stitched-together shell command, and that's not safe: a filename with a semicolon in it would just create a second command.
You might ask about quoting, but the issue is the different default shells (cmd and sh) have different quoting methods.
I am on a phone right now, but the gist is to replace
convert_cmd = f'cjxl --quiet -s {speed} --num_threads={jobs} {fp} {newpath}'
conversion_return_code = run(convert_cmd, shell=True).returncode

with
convert_cmd = ['cjxl', '--quiet', '-s', speed, f'--num_threads={jobs}', fp, newpath]
conversion_return_code = run(convert_cmd).returncode

(It would be nice to add a '--', before fp so the program does not recognize a name starting with - as some invalid option, but i can't check if cjxl takes that yet.)

Fixed.
But it was a low risk, basically you're running it from CLI already, with same permissions. Injection can be made, but pretty pointless.

shlex.split fixes the injection but not the misbehavior on whitespace-containing filenames, since you are still doing a shell-like pass on the input fp string. You can shlex.quote the two filenames if you are so inclined, but why that when you can just use a list…

Ok, I agree, it's better. I will need to do some testing first.

Ok should be good now.
Thank you!


ISPN-16840 [RESP] LPUSH + DEL + SET fails with unable to aquire a lock

https://issues.redhat.com/browse/ISPN-16840
The withFlags was creating a new instance of the DecoratedCache instead of the instance holding the TX context for RESP. That would create a new transaction for the set operation.
I took the chance to increase coverage in the TX tests in RESP by operating over local and remote keys.

I restarted the build on jenkins

The failures for TransactionClusteredTest.testBlpopNotBlocking are fixed by #13166

Integrated into main, thanks @jabolina !


GH-43416: [CI] Upgrade vcpkg version on our CI

Rationale for this change
We are using a pretty old version and we are seeing some CI jobs.
What changes are included in this PR?
Upgrade vcpkg version
Are these changes tested?
on CI
Are there any user-facing changes?
No

GitHub Issue: #43416

@github-actions crossbow submit wheel-manylinux-2-28-cp39-amd64

@github-actions crossbow submit wheel-manylinux-2-28-cp39-cp39-amd64

This already looks better than the previous PR where it failed to build Arrow C++.
I have to investigate why the missing symbol though:
 + python -c '
import pyarrow
import pyarrow._hdfs
import pyarrow.csv
import pyarrow.dataset
import pyarrow.fs
import pyarrow.json
import pyarrow.orc
import pyarrow.parquet
'
Traceback (most recent call last):
  File "<string>", line 2, in <module>
  File "/usr/local/lib/python3.9/site-packages/pyarrow/__init__.py", line 65, in <module>
    import pyarrow.lib as _lib
ImportError: /usr/local/lib/python3.9/site-packages/pyarrow/libarrow.so.1900: undefined symbol: _ZN4absl12lts_2024072212log_internal9kCharNullE

@kou @assignUser @amoeba have you seen this absl missing symbol before? conda seems to be using this abseil version without problems:
https://github.com/conda-forge/arrow-cpp-feedstock/blob/2390a2d156e8fae17982abd159c471e0cc7d3320/.ci_support/linux_64_c_compiler_version11cuda_compiler_version11.8cxx_compiler_version11.yaml#L46

@github-actions crossbow submit wheel-manylinux-2-28-cp312-cp312-amd64

Hmm. Could you show build flags?
diff --git a/ci/scripts/python_wheel_manylinux_build.sh b/ci/scripts/python_wheel_manylinux_build.sh
index 6365fcfacf..e28443e36d 100755
--- a/ci/scripts/python_wheel_manylinux_build.sh
+++ b/ci/scripts/python_wheel_manylinux_build.sh
@@ -132,7 +132,7 @@ cmake \
     ${ARROW_EXTRA_CMAKE_FLAGS} \
     -G ${CMAKE_GENERATOR} \
     /arrow/cpp
-cmake --build . --target install
+cmake --build . --verbose --target install
 popd

 # Check that we don't expose any unwanted symbols

@github-actions crossbow submit wheel-manylinux-2-28-cp39-cp39-amd64

I did investigated a little more. We can see this on the build log:
2024-12-04T09:22:25.5331687Z [151/175] : && /opt/rh/gcc-toolset-12/root/usr/bin/c++ -fPIC -Wno-noexcept-type -Wno-subobject-linkage  -fdiagnostics-color=always  -Wall -fno-semantic-interposition -msse4.2  -O3 -DNDEBUG -O2 -ftree-vectorize  -Wl,--version-script=/arrow/cpp/src/arrow/symbols.map -shared -Wl,-soname,libarrow.so.1900 -o release/libarrow.so.1900.0.0 src/arrow/CMakeFiles/arrow_objlib.dir/Unity/unity_3_cxx.cxx.o src/arrow/CMakeFiles/arrow_objlib.dir/Unity/unity_2_cxx.cxx.o src/arrow/CMakeFiles/arrow_objlib.dir/Unity/unity_1_cxx.cxx.o src/arrow/CMakeFiles/arrow_objlib.dir/Unity/unity_0_cxx.cxx.o src/arrow/CMakeFiles/arrow_array.dir/Unity/unity_2_cxx.cxx.o src/arrow/CMakeFiles/arrow_array.dir/Unity/unity_1_cxx.cxx.o src/arrow/CMakeFiles/arrow_array.dir/Unity/unity_0_cxx.cxx.o src/arrow/CMakeFiles/arrow_compute.dir/Unity/unity_8_cxx.cxx.o src/arrow/CMakeFiles/arrow_compute.dir/Unity/unity_7_cxx.cxx.o src/arrow/CMakeFiles/arrow_compute.dir/Unity/unity_6_cxx.cxx.o src/arrow/CMakeFiles/arrow_compute.dir/Unity/unity_5_cxx.cxx.o src/arrow/CMakeFiles/arrow_compute.dir/Unity/unity_4_cxx.cxx.o src/arrow/CMakeFiles/arrow_compute.dir/Unity/unity_3_cxx.cxx.o src/arrow/CMakeFiles/arrow_compute.dir/Unity/unity_2_cxx.cxx.o src/arrow/CMakeFiles/arrow_compute.dir/Unity/unity_1_cxx.cxx.o src/arrow/CMakeFiles/arrow_compute.dir/Unity/unity_0_cxx.cxx.o src/arrow/CMakeFiles/arrow_compute.dir/compute/key_hash_internal_avx2.cc.o src/arrow/CMakeFiles/arrow_compute.dir/compute/key_map_internal_avx2.cc.o src/arrow/CMakeFiles/arrow_compute.dir/compute/row/compare_internal_avx2.cc.o src/arrow/CMakeFiles/arrow_compute.dir/compute/row/encode_internal_avx2.cc.o src/arrow/CMakeFiles/arrow_compute.dir/compute/util_avx2.cc.o src/arrow/CMakeFiles/arrow_compute.dir/compute/kernels/aggregate_basic_avx2.cc.o src/arrow/CMakeFiles/arrow_compute.dir/compute/kernels/aggregate_basic_avx512.cc.o src/arrow/CMakeFiles/arrow_csv.dir/Unity/unity_0_cxx.cxx.o src/arrow/CMakeFiles/arrow_filesystem.dir/Unity/unity_0_cxx.cxx.o src/arrow/CMakeFiles/arrow_filesystem.dir/filesystem/azurefs.cc.o src/arrow/CMakeFiles/arrow_filesystem.dir/filesystem/gcsfs.cc.o src/arrow/CMakeFiles/arrow_filesystem.dir/filesystem/gcsfs_internal.cc.o src/arrow/CMakeFiles/arrow_filesystem.dir/filesystem/s3fs.cc.o src/arrow/CMakeFiles/arrow_io.dir/Unity/unity_1_cxx.cxx.o src/arrow/CMakeFiles/arrow_io.dir/Unity/unity_0_cxx.cxx.o src/arrow/CMakeFiles/arrow_ipc.dir/Unity/unity_0_cxx.cxx.o src/arrow/CMakeFiles/arrow_json.dir/Unity/unity_1_cxx.cxx.o src/arrow/CMakeFiles/arrow_json.dir/Unity/unity_0_cxx.cxx.o src/arrow/CMakeFiles/arrow_memory_pool.dir/Unity/unity_0_cxx.cxx.o src/arrow/CMakeFiles/arrow_memory_pool.dir/memory_pool_jemalloc.cc.o src/arrow/CMakeFiles/arrow_orc.dir/Unity/unity_0_cxx.cxx.o src/arrow/CMakeFiles/arrow_util.dir/Unity/unity_6_cxx.cxx.o src/arrow/CMakeFiles/arrow_util.dir/Unity/unity_5_cxx.cxx.o src/arrow/CMakeFiles/arrow_util.dir/Unity/unity_4_cxx.cxx.o src/arrow/CMakeFiles/arrow_util.dir/Unity/unity_3_cxx.cxx.o src/arrow/CMakeFiles/arrow_util.dir/Unity/unity_2_cxx.cxx.o src/arrow/CMakeFiles/arrow_util.dir/Unity/unity_1_cxx.cxx.o src/arrow/CMakeFiles/arrow_util.dir/Unity/unity_0_cxx.cxx.o src/arrow/CMakeFiles/arrow_util.dir/util/bpacking_avx2.cc.o src/arrow/CMakeFiles/arrow_util.dir/util/bpacking_avx512.cc.o src/arrow/CMakeFiles/arrow_vendored.dir/Unity/unity_1_cxx.cxx.o src/arrow/CMakeFiles/arrow_vendored.dir/Unity/unity_0_cxx.cxx.o src/arrow/CMakeFiles/arrow_vendored.dir/Unity/unity_1_c.c.o src/arrow/CMakeFiles/arrow_vendored.dir/Unity/unity_0_c.c.o src/arrow/CMakeFiles/arrow_vendored.dir/vendored/datetime.cpp.o  -Wl,-rpath,:::::::  -lrt  /opt/vcpkg/installed/amd64-linux-static-release/lib/libre2.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_check_op.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_conditions.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_message.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_nullguard.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_examine_stack.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_format.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_proto.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_log_sink_set.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_globals.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_globals.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_sink.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_entry.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_strerror.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_vlog_config_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_fnmatch.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_marshalling.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_reflection.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_config.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_program_name.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_private_handle_accessor.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_commandlineflag.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_commandlineflag_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_raw_hash_set.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_hashtablez_sampler.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_hash.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_city.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_low_level_hash.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libutf8proc.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libazure-storage-files-datalake.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libazure-storage-blobs.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libazure-storage-common.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libxml2.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/liblzma.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libz.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libazure-identity.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libazure-core.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libgoogle_cloud_cpp_storage.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_cord.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_cordz_info.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_cord_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_cordz_functions.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_exponential_biased.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_cordz_handle.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_synchronization.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_graphcycles_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_kernel_timeout_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_stacktrace.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_symbolize.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_malloc_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_debugging_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_demangle_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_demangle_rust.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_decode_rust_punycode.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_utf8_for_code_point.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_crc_cord_state.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_crc32c.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_crc_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_crc_cpu_detect.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libgoogle_cloud_cpp_rest_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libgoogle_cloud_cpp_common.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_bad_optional_access.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_str_format_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_time.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_strings.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_strings_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_string_view.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_base.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_spinlock_wait.a  -lrt  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_throw_delegate.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_int128.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_civil_time.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_time_zone.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_bad_variant_access.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_raw_logging_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_severity.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libcrc32c.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-cpp-sdk-config.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-cpp-sdk-transfer.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-cpp-sdk-identity-management.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-cpp-sdk-cognito-identity.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-cpp-sdk-sts.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-cpp-sdk-s3.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-cpp-sdk-core.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libcurl.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libssl.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libcrypto.a  -lpthread  -lpthread  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-crt-cpp.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-c-mqtt.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-c-event-stream.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-c-s3.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-c-auth.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-c-http.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-c-io.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libs2n.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-c-cal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libcrypto.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-checksums.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-c-compression.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-c-sdkutils.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-c-common.a  -lrt  -lm  -ldl  jemalloc_ep-prefix/src/jemalloc_ep/dist//lib/libjemalloc_pic.a  mimalloc_ep/src/mimalloc_ep/lib/mimalloc-2.0/libmimalloc.a  release/liborc.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libprotobuf.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libbrotlienc.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libbrotlidec.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libbrotlicommon.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libbz2.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/liblz4.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libsnappy.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libz.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libzstd.a  -pthread && :

If I do some minimal processing this seem to be all the libabsl related libraries present on the log:
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_check_op.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_conditions.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_message.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_nullguard.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_examine_stack.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_format.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_proto.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_log_sink_set.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_globals.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_globals.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_sink.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_entry.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_strerror.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_vlog_config_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_fnmatch.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_marshalling.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_reflection.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_config.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_program_name.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_private_handle_accessor.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_commandlineflag.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_commandlineflag_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_raw_hash_set.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_hashtablez_sampler.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_hash.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_city.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_low_level_hash.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_cord.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_cordz_info.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_cord_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_cordz_functions.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_exponential_biased.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_cordz_handle.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_synchronization.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_graphcycles_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_kernel_timeout_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_stacktrace.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_symbolize.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_malloc_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_debugging_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_demangle_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_demangle_rust.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_decode_rust_punycode.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_utf8_for_code_point.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_crc_cord_state.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_crc32c.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_crc_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_crc_cpu_detect.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_bad_optional_access.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_str_format_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_time.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_strings.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_strings_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_string_view.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_base.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_spinlock_wait.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_throw_delegate.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_int128.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_civil_time.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_time_zone.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_bad_variant_access.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_raw_logging_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_severity.a

If I check on a local docker container the symbol seems missing on libabsl_log_internal_check_op.a too and defined at libabsl_log_internal_nullguard.a:
$ docker compose run --rm -it python-wheel-manylinux-2-28 /bin/bash
# nm -A /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_*.a | grep kCharNull
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_check_op.a:check_op.cc.o:                 U _ZN4absl12lts_2024072212log_internal9kCharNullE
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_nullguard.a:nullguard.cc.o:000000000000000e R _ZN4absl12lts_2024072212log_internal9kCharNullE
```
I'll try something that probably does not work :)

@github-actions crossbow submit wheel-manylinux-2-28-cp39-cp39-amd64

Thanks.
I think that this is a link order problem.
If you can reproduce this in local, could you try changing link order in the command line you identified.
For example, moving the following Abseil related static libraries (that will be added as RE2 dependencies) to the last of the command line:
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_check_op.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_conditions.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_message.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_nullguard.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_examine_stack.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_format.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_proto.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_log_sink_set.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_globals.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_globals.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_sink.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_entry.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_strerror.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_vlog_config_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_fnmatch.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_marshalling.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_reflection.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_config.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_program_name.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_private_handle_accessor.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_commandlineflag.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_commandlineflag_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_raw_hash_set.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_hashtablez_sampler.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_hash.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_city.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_low_level_hash.a

It does seem that link order gets rid of the undefined symbol (manually modified ninja.build to change the link order) but I am currently facing a different issue when importing the built wheel:

Maybe it didn't as it seems I am unable to reproduce the original issue locally now so it might be an environment issue.


Add examples

needs rebasing onto https://github.com/data-apis/dataframe-api/pull/266

It's going to be virtually impossible to keep the example in the docs up-to-date, so I suggest we make a separate examples folder, which we can type check in CI and make sure it keeps working

+1 in the call today about having examples, in a separate folder so they're easy to keep up to date in CI and don't get mixed with the language of the actual standard.
This PR needs a rebase.

thanks - approved during call
there may be some minor issues but I guess they'll become apparent as we add more examples


Override healthcheck HTTP status

Some monitoring tools only parse responses with status 200. With this change status 500 can be disabled.

This approach is a bit different than what I'd expect. It seems a little strange to have the client be able to dynamically influence the response status code of the HealthCheckServlet via a query string parameter. One of the main points of the HealthCheckServlet is to indicate the overall health of the running instance by having that servlet return a 200 status code if everything is healthy but return a server error (5xx) if it's not healthy.
If the behavior was to be configurable, I would expect it to be configured through the ServletConfig via the init method instead of via a query string parameter. Supporting config from the calling client might be setting a bad precedent.
@maffe Can you elaborate a bit on your use case and which monitoring tools you are having trouble with?
Alternatively, a workaround could be to use a servlet filter to swallow the 500 status code from the HealthCheckServlet response and turn it into a 200 status code instead.

Currently a PRTG HTTP Sensor is used to retrieve the overall status. The goal is to monitor each healthcheck individually, but the REST Custom Sensor just shows gaps for everything when the status is 500.
Disabling the status 500 via query parameter would make it possible to use both types of sensors with minimal code change in Dropwizard. Using static configuration would also work when the basic HTTP Sensor is not needed.

@maffe @pstackle I've included this change in https://github.com/dropwizard/metrics/pull/1871 and made it possible to set the general behavior with a Servlet attribute.

Resolved in #1871.


TypeScript definition for InteractionDetails model doesn’t include all properties

Describe the bug
The TypeScript definition for the model InteractionDetails doesn’t include all properties. I’m happy to add them to the model if the missing properties are expected to be part of the model and shouldn’t only be used internally. For my current project I’m especially interested in the calls property.
To Reproduce
Steps to reproduce the behavior:
Run the following test code:
const id = await mock.addInteraction({ /* interaction details */ })
const interactionDetails = await mock.getInteraction(id)

interactionDetails.calls // throws a TS error

Expected behavior
The TypeScript definition should include all (relevant) properties (see redacted example from my test):
    {
      "callCount": 1,
      "exercised": true,
      "calls": [
        {
          "request": {
            "method": "POST",
            "path": "",
            "query": {},
            "headers": {
// headers
            },
            "body": {
// body
            }
          },
          "exercisedAt": ""
        }
      ],
      "id": "hauxn",
      "strict": true,
      "request": {
        "matchingRules": {
// matching ruls
        },
        "method": "POST",
        "path": "",
        "queryParams": {},
        "body": {
// body
        }
      },
      "response": {
        "matchingRules": {
// matching rules
        },
        "status": 200,
        "body": {
// shape of body
        }
      },
      "expects": {
        "disable": false,
        "exercised": true
      }
    }

Currently, only the following are present:
export interface InteractionDetails {
  id: string;
  exercised: boolean;
  callCount: number;
}

Screenshots
N/A
Software (please complete the following information):

OS: [e.g. Windows]
NodeJS Version: v18
Test Runner: Jest
<EMAIL_ADDRESS>
Additional context
N/A

Thanks for addressing this issue so fast! 🤩
I’m wondering if we could change the TS definition slightly, as the current definitions make it more difficult to use, as I want to search in my test if a specific call was made by checking if a body property matches the right value:
// throws a TS error, as `prop` doesn’t exist on type object
expect(interaction.calls?.find((call) => call?.request?.body?.prop === expectedPropValue)).toBeTruthy();

If we change the TS definition to the following, it works as expected (properties are known, but I have to ensure the type then myself):
export interface InteractionCallRequest {
  method?: string;
  path?: string;
  query?: { [key: string]: unknown };
  headers?: { [key: string]: unknown };
  body?: { [key: string]: unknown };
}

Happy to do those changes :)

Please raise a PR with the intended changes. Please remember body can be a string.


Heat Map FDR Cutoff and image size

It might be better to have a confirm button.
Otherwise, if I want to input FDR cutoff 0.15, when 0.1 was typed in, the plot will be updated immediately.

Yes I am working on this. I didn't design the button because the plotting is pretty fast. I need a way to delay my action, say, within 1.5 second, if the value didn't change, I'll plot the graph. If I can't make a better UX experience I will use the button.

Because we want the user to quickly see how many genes are left after cutoff before they decided to plot the heat map, lets add the plot button

issue moved to MetaOmics


Console Log Link

Is it possible to add link in Eclipse console logs ? In order to navigate from console to ksp declaration

@gideruette  Thank you for your feedback.
As Java type full qualified names are natively linkable, it's probably possible to add this behavior in the console.
The whole plugin dev task force team will study your request and get back to you asap.

@gideruette Done. Release coming soon.


Add Real Endpoints to the Lazy Visualisation Service

Summary
With the lazy visualisation service stubbed out as part of #316, it needs to be integrated with the introspection APIs provided by the interpreter as part of this epic. This task deals with taking the stubbed-out endpoints and actually connecting them to the interpreter's API.
Value
We have a working prototype of the lazy visualisation service.
Specification

For each of the stubbed out endpoints created as part of #316, connect these to the real API calls provided by the interpreter.
Integrate these endpoints with the service to ensure that it can properly provide the functionality necessitated by lazy visualisations.

Acceptance Criteria & Test Cases

We have a working MVP of the lazy visualisation service that can evolve into the language server proper.
This prototype talks using the communication protocol designed for use by the language server (#29).

Superseded by a new plan.


Go version 1.14

Go version update to 1.14.
Solves: https://github.com/prometheus-operator/kube-prometheus/issues/493

Closing since it's not able to pass CI yet.


Diffs not closed on operation

Testing https://github.com/microsoft/vscode-remote-repositories-github/issues/270
This worked find for just one file, but when I staged/unstaged multiple files, no diffs were closed:

https://insiders.vscode.dev/github/microsoft/vscode/tree/alexr00/sudden-mockingbird
Make a change in 3 different files
Open a diff from the SCM view
Stage all files
🐛 diff isn't closed

This did not work for me (the diff remained open)

Kicked off a new pre-release of Remote Repositories, please try again in ~10 minutes


⚠ ClamAV has degraded performance

In 833ba5f, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 61 ms

Resolved: ClamAV performance has improved in d2040c0 after 6 minutes.


Add global setting for org creation

We got a user that requested an option to configure globally to allow or disallow the creation of organizations. Currently every user can create an organization, but he needs an option to disable that globally. Maybe we should also add an option per user which can be set by an admin similar to Maximum Repository Creation Limit to allow specific users some amount of organizations.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/41425934-add-global-setting-for-org-creation?utm_campaign=plugin&utm_content=tracker%2F47456670&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F47456670&utm_medium=issues&utm_source=github).

It seems no-one to send PR for this. Maybe we need to move this to v1.2

@tboerger


FR: Callback when memory is paged in

I don't know how hard would it be (or if ever possible), but would it be possible to add some function with callback which is called only when the memory is in fact paged in? Otherwise this stops the whole node process.
It is complicated by the fact the part of it can be paged in and part of it not and the whole part could not be there at once, ever.
Maybe something like:
mmapEnsure(file, offset, size, buffer /* from previous mmap call */, wanted, function (err, before, after) {
// now there is interval before...after paged in, before <= wanted <= after
});
(maybe not all args needed since buffer should know the file, offset and size)

I don't know how hard would it be (or if ever possible), but would it be possible to add some function with callback which is called only when the memory is in fact paged in? Otherwise this stops the whole node process.

It's not really possible. There's a mincore() syscall that returns a snapshot of the page state at the time of the syscall. The problem is that the snapshot might very well be stale by the time the syscall returns unless you mlock() the memory - but then you know the memory is pinned so you wouldn't call mincore() in the first place.
On a side note, node-mmap was something of a mistake. It doesn't belong in an asynchronous environment and you probably shouldn't use it. I might scrap it entirely someday.

Not really. It is true that from the first and maybe the second sight as well  it is contrary to the single thread, non-blocking world, but then node is deprived of things like "best cache is the filesystem cache" and other nice tricks. It is good to have this, though one should be careful to use it.
In the meanwhile I found a workaround - inspired by 0mq which have dedicated thread to read and write - to spawn dedicated thread (process would be overkill) that would just read every n-th byte of the interval I want to have paged in (I must not choose too big one or it will backfire), and let me know through a socket or pipe - I can wait for it in node process non-blockingly.


Add a new foam material, as assayed at SD Mines

Opening this to keep track of needed changes. There's been a request from LowE group/Juergen Reichenbacher(?) to add new foam material in the DUNE geometry. The material is detailed on slide 16 in  Juergen's presentation. More details should be added here.

The geometries in use should be modified to make use of this new material definition. Should we keep this open until the respective generator scripts are modified or is it preferable to have a new issue open for that implementation? @calcuttj

Reopening this until the foam material is added in HD and VD geometries of FD (#73 - done and #75).


Property tests for simplification and the Simplified attribute

Part of #1070

I'm waiting for @ehildenb to get back to me about the pattern generator he prototyped, but basically we want to use Hedgehog.Gen.recursive to build a TermLike from two lists of (respectively) non-recursive and recursive generators. The function will look something like,
genTermLike :: Fragment -> Gen (TermLike Variable)

-- | Describes a fragment of a definition.
data Fragment =
    Fragment
        { genSort :: Gen Sort
        , genValue :: Sort -> [Gen Sort]
            -- ^ Lists of generators for sorts with builtin values.
        , genSymbol :: Sort -> Gen Internal.Symbol
            -- ^ Generate a symbol returning the Sort.
            -- Should use 'Hedgehog.Gen.sized' to control number of arguments.
        , ...
        -- eventually need more fields here, probably
        }

Depends on #1133 #1134 #1135 #1136


javax.jms.IllegalStateException: This ConnectionFactory is closed after closing JNDI Context

Closing com.datastax.oss.pulsar.jms.jndi.PulsarContext also closes the underlying PulsarConnectionFactory. If you attempt to use the connection factory after that point, you'll get javax.jms.IllegalStateException: This ConnectionFactory is closed.
Much of the JMS code I work with uses the following pattern, though I'm not sure if this is common, uncommon, desirable or undesirable:

Create JNDI context
Look up ConnectionFactory
Close JNDI context
Use  ConnectionFactory to create a Connection, etc.

The case for not closing the connection factory when the context is closed is that you don't know who has a reference to it and might still try to use it. It seems to me that JNDI / JMS implementations generally speaking do not require any explicit closing of the ConnectionFactory. Even if this remains required, it doesn't seem to me that closing the JNDI context is the appropriate timing for this, though I am not sure of an alternate approach so maybe that's the best that can be offered.

We can add a configuration flag to not close the Factory

in 1.5.0 we are going to deliver these changes:

add a new configuration flag "autoCloseConnectionFactory" to control this behaviour
by default "not closing" the ConnectionFactory (so set autoCloseConnectionFactory to false)

as it is a breaking change the release will be 1.5.0 and not 1.4.1

@hansenc @yabinmeng
Starlight for JMS 1.5.0 has been released.
It will be available on Maven central soon (sometimes it takes a couple of hours to pop up on the repository)
The new behaviour is enabled by default (do not close the ConnectionFactory while closing the JNDI context)


Custom Toolbar Button

Hi friend,
Is it possible to add custom toolbar buttons like it is described here: https://www.tiny.cloud/docs-4x/demo/custom-toolbar-button/
Thanks.

@sineld sorry for the late reply! We will look into this tomorrow. Would be an awesome feature. We will keep you posted!

@stefvanesch Thank you so much. Looking forward to hearing for this feature.

Thank you for quick update. I have added buttons but they are not visible. I've published the assets:
php artisan vendor:publish --provider="Marshmallow\Nova\TinyMCE\FieldServiceProvider" --tag="resources"
TinyMCE::make(__('Content'), 'content')
    ->rules('required', 'min:10')
    ->alwaysShow()
    ->hideFromDetail()
    ->buttons([
        'Name' => '[NAME]',
        'Surname' => '[SURNAME]',
        'Email' => '[EMAIL]',
        'Code' => '[CODE]',
    ]),

Hi, have you published the config as well? If so you need to add ‘my_buttons’ to the plugins and the toolbar

@sineld Sure, it's done & tagged


Roll Flutter Engine from 3c4af1da0c3e to 9e42e3a6ad18 (5 revisions)

https://github.com/flutter/engine/compare/3c4af1da0c3e...9e42e3a6ad18
2022-09-30<EMAIL_ADDRESS>Remove bringup from new clang-tidy builds (flutter/engine#36518)
2022-09-30<EMAIL_ADDRESS>Roll Skia from 34bb500bea6c to 5a0973614af4 (1 revision) (flutter/engine#36530)
2022-09-30<EMAIL_ADDRESS>Roll Skia from 29b5ce3c9cee to 34bb500bea6c (2 revisions) (flutter/engine#36528)
2022-09-30<EMAIL_ADDRESS>Roll Skia from 0ce7c5fd5538 to 29b5ce3c9cee (1 revision) (flutter/engine#36525)
2022-09-30<EMAIL_ADDRESS>Roll Skia from 8ff5be169db5 to 0ce7c5fd5538 (1 revision) (flutter/engine#36523)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

AutoRoller is stopped; closing the active roll.


Crash report: Unhandled top-level exception: $exn

View logs

Closing this issue as it is stale for a long time.


[optimization] avoid vector copy and reduce allocation.

avoid vector copy in MLValueAllocationParameters. vector reserve for temp vector.
@pranavsharma
@tracysh

/AzurePipelines run all

/AzurePipelines run all

/AzurePipelines run all


Add "Edit with Vim using Tabpages" to Windows Gvim

Is your feature request about something that is currently impossible or hard to do? Please describe the problem.
Gvim for Windows currently provides several "Edit with Vim" shell extensions by menu.  Since Vim now supports tab pages, I think it would be nice if that choice was available as an alternative to using multiple Gvim instances.
Describe the solution you'd like
A new shell extension menu option that is displayed when several files have been selected in Windows Explorer.
Describe alternatives you've considered
There are alternatives but, I could be wrong, none are as convenient.
Additional context
None.

I never really liked the "edit with multiple Vims", it is usually not what you want.
Adding a lot of entries to the menu also isn't nice, good menus are short.
So how about replacing the "edit with multiple Vims" into "Edit with Vim in multiple tab pages"?

In the absence of any other comments, I will volunteer to implement this change as Bram has suggested. Specifically, I will replace "Edit with multiple Vims" with "Edit with Vim using tabpages".

Done in  83cd0156e01b. This todo item can be removed:
https://github.com/vim/vim/blob/60dc8274e9f8c6a20d54efebc7a8752fe062eead/runtime/doc/todo.txt#L308-L309


Crit broken

Power charges, Assassins Mark, Crit nodes, etc on Hegemony's Staff doesn't got past 64% nor below as seen in .gif? E.g. the Serpent Stance noble when hovered it doesn't give any % crit in green text, only multiplier, etc.

Edit: I think everything is broken, I don't know what I did, but half nodes don't calculate DPS or ticking/unticking dex/int nodes on Ranger's adjust % crit. Something is real broken.

Your crit chance is capped; and because the program simulates the crit confirmation roll, your effective crit chance ends up being lower than 95% (much lower in your case). You really need to get some more accuracy!

OK I stacked flat accuracy on gear e.g. +900 total from gloves and rings and e.g. ticking/unticking Coungerweight does no affect to total % crit roll. Now it's just stuck at 81%. I don't understand, cap was always 95% no matter what. E.g. toggling Assassin's Mark affects DPS, but not % crit roll.

With attacks, there is a second accuracy check that occurs after the crit roll succeeds that "confirms" the crit. If your actual crit chance is capped at 95%, but your hit chance is only 80%, then only 80% of crit rolls that succeed will actually be crits, making your effective crit chance 95% x 80% = 76%, and that is what is displayed by the program. This calculation is fully worked out in the breakdown for crit chance in the Calcs tab (which also shows how far over the cap you are).

Which one shows over the cap crit?

It's all under Crit Chance:

I made it to chance to hit 95% so 95% (capped crit) x 0.95% (chance to hit) = 90.25% total crit.
So since it's not possible to go past 95% chance to hit no matter how much accuracy stacked then how do you get 95% crit capped?
I swear God I've played Hege's EQ a year ago and in-game stats (with power charges up) showed my crit capped at 95% and I cannot manage to recreate this on your program.

The in-game crit chance does not factor in accuracy. I don't know why; perhaps because the chance to hit itself is only an estimate.