Feedback from a Spanish Dissertations Reference Extraction Run

Hey @lfoppiano, @kermitt2!
First of: thank you for the amazing-and-freely-available tool you've created.
It is the backbone of my dissertation: a history of recent research in Humanities PhD dissertations from seven different countries (Mexico, Chile, Argentina, Spain, Germany, UK, US).
I am fully aware your tool was not develop for this type of document (nor specifically trained on non-English datasets) but I'm writing to see if my results could be used to improve and contribute the community you have built around your tool.
With this goal in mind, my colleague @rodyoukai and I created a python script (90% Rodrigo's writing) to parse the TEI references (biblStruct) from a GROBID run on 1,139 dissertations from Mexico. We got 95,382 distinct references for 766 of them.
In order to understand what type of "errors" we got, I created an R script to identify mistakes in the field I believe has the most consistent format: year (YYYY). I used this a proxy for references with errors, the resulting table looks like this:

I have used that dataframe to train a simple logistic regression classifier in order to understand better which tokens are better at "predicting" that a parsed reference has a mistake, and this is what I got:

As you can see, words within the authors tag like ibid/ibíd/ibidem are very common in wrongly parsed references and I was wondering what the best way would be to train GROBIDs algorithm to get better at this type of issues.

Hi @kermitt2 I have been working with @silviaegt a bit for looking into the issues she and her colleagues encounter. She gets some abnormal values in the date field and also in other fields (title for instance. Correct me if I am wrong @silviaegt ). These specifically come from the reference segmentation results. I am wondering if it's an issue that needs more training (e.g., more training in Spanish or as well as other languages altogether?); though the dates should be more language-independent than other fields from my understanding?

Hi @silviaegt and @caifand !
Thanks a lot for the issue and the kind words on Grobid and this feedback.
This work is very challenging for Grobid in its current state, for 3 reasons:

Grobid does not support dissertation,

Grobid training data do not include "Humanities" style references,

there is almost no reference in Spanish in the training data (and maybe not all, I don't remember).

The first thing I have to stress is that unfortunately Grobid currently does not really support dissertations, thesis, etc. in general any monographs including books and full conference proceedings. It is trained only on "article" type documents, so covering also individual chapters, short papers, short reports, ... this kind of documents. It will "see" a dissertation as a standalone article, and has no modelling of chapters, table of content/figures/tables, etc. and does not really expect to see references where they are actually in a dissertation.

I tried in the last years to get an additional "monograph" model to cover all these document types, as additional starting model in the Grobid cascade, but it didn't take off unfortunately and it would require a structured effort I think - it's not something easy to do in a project maintained/improved on spare time. Training data in particular is hard to get without proper funding. But technically, there is no reason that it would not work very well.
So it explains why you get references only in 766 dissertations out of 1,139, it's luck that these 766 dissertations look enough as a "standalone article" to find references. The citation contexts for these references are also probably very bad.

The second limitation is the style of references in the Humanities, which are also not really covered by Grobid until now. So there is no training example with ibid, ibidem, etc.  However, it should be very easy to add them in the training data. A few examples should be enough to avoid confusion with author names. Your logistic regression classifier looks excellent to spot this kind of errors !

How to add examples in the training data: see https://grobid.readthedocs.io/en/latest/training/General-principles/
Basically: process the dissertation PDF with the createTraining batch, then edit the *.training.references.tei.xml files for the examples with ibid/ibíd/ibidem.
Annotation guidelines are there

Probably adding a bit of training data in Spanish in the reference-segmenter and citation model would help (given we have around 0 now), but I can't really say anything more precise without looking at the results. There will certainly be always issues with the overall segmentation and finding the reference areas in dissertations, because of 1).
When the date "chunk" is available, it certainly strongly language independent. I suppose the problem is the context used to identify the date chunk in a reference string, which could lead to errors because it is using English wording context mostly now.

Wow @kermitt2, thank you so much for your answer and all the tips to train the data!
I completely understand GROBID does not support this format (dissertations) nor the language (Spanish) nor the subject (Humanities) and I know it is a whole lot of work too! As you said we need funding and a structured effort/funding. However since it actually did work into some extent, I was just wondering if there would be any workarounds that could perhaps capitalize an approach that is considerate with the time/resources we have.
These are my two ideas for it:

Certain problems seem to be consistent, so I was hoping I could only tag references with those patterns and create some artificial examples that contain those problems?
Also, I have seen some mistakes that do not seem to be language/discipline dependant but rather that seem to come from an error in the original training data? For instance the most common "year" error was <date type="published" when="0200" /> - and looking at my sources I saw that for the most part, page numbers where interpreted as date, so perhaps (only perhaps) there are some papers in the training data that had this mistake as well?

Anyways, thank you so much for taking the time!

Hi @silviaegt !
For info, I've added the examples of your error page to the training data with commit 2e30c274c93575a481d26c8ee771a3cd3fa743a7 (file citations.xml).
If you have more error cases ("real" case only), this would be very welcome because it would allow to extend the coverage of the models.


Add vapid-web-push extension

Description

Screencast

Checklist

[ ] I read the extension guidelines
[ ] I read the documentation about publishing
[ ] I ran npm run build and tested this distribution build in Raycast
[ ] I checked that files in the assets folder are used by the extension itself
[ ] I checked that assets used by the README are placed outside of the metadata folder

Hi 👋
Thanks for your contribution 💪
I have now tested your extension, and I have some feedback ready for you:

Why do you have email in preferences for both Generate VAPID Keys and for the extension itself?
The command Send Puh Notification should use useForm from @raycast/api instead, preferences is not the place 🙂
Can you record a screencast of the flow and how the action works?

I'm looking forward to testing this extension again 🔥
Request a new review when you are ready. Feel free to contact me here or at Slack if you have any questions.

I will check those and get back to you. Thanks for the feedback

Replied on slack 🙂

Can we handle error gracefully? It seems to crash with wrong credentials provided

Can you record a screencast of the flows?


Added positive parameter tests fixes Issue #19

Codecov Report

Merging #22 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #22   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          94     95    +1
  Lines        2274   2288   +14
  Branches      286    288    +2
=====================================
+ Hits         2274   2288   +14

Impacted Files
Coverage Δ

ClassicBasic.Interpreter/Functions/Sqr.cs
100% <ø> (ø)
:arrow_up:

ClassicBasic.Interpreter/Functions/Log.cs
100% <ø> (ø)
:arrow_up:

...sicBasic.Interpreter/Functions/PositiveFunction.cs
100% <100%> (ø)

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 da29e96...8116c58. Read the comment docs.


Added Support for Linux on Power

Hi,
I had added ppc64le(Linux on Power) support on travis-ci in the branch and looks like its been successfully added. I believe it is ready for the final review and merge. The travis ci build logs can be verified from the link below.
https://travis-ci.com/github/ujjwalsh/grunt-cli/builds/209178098
Please have a look.
Regards,
ujjwal

Testing for Grunt repos has been moved from Travis to GitHub Actions, which does not yet provide runners on the ppc64le architecture. I'll close this as such, for now.
Related articles:

https://en.wikipedia.org/wiki/Ppc64
Feature request from IBM to support GitHub Actions: https://ibm-power-systems.ideas.ibm.com/ideas/L4PS-I-10
Article about how to self-host runners for your own project: https://scribe.rip/@mayurwaghmode/github-actions-self-hosted-runners-on-ppc64le-architectures-902b8f826557


Scheduler for Need Follow Up candidates

Describe the task

Create a scheduler, that will send an email to the address defined in config, having a list of all the applications which have need follow-up tags and for which follow up attempts is more than 2
This scheduler should run at 7:00 pm every day.

The email template can be:
Hello Pankaj Kandpal,

The following applications are present in the portal, which needs to follow up on the phone call. Please do the proceedings
1. |*applicant_name1*| - |*applicant_phone_number*| - |*hr_job*|
2. |*applicant_name2*| -  |*applicant_phone_number*| - |*hr_job*|
3. ...............
4. ...... list will continue based on the number of applications present.

Thanks,
HR team,
ColoredCow.

Breakdown of the task:

[ ] Create a console command that would trigger an email when we run it
[ ] Register the command in the HR service provider
[ ] Write scheduler for it, in Kernel.php, that would define the timing
[ ] Create an Email to handle email delivery, it should be queuable and sent using queues
[ ] The sender email can go using config variable HR_NEED_FOLLOW_UP_REMINDER_EMAIL
[ ] Create a blade file for the email template, we have to pass the list of applicants, the job role they have applied for, and their phone number. This data would have applicants corresponding to applications, having a need to follow up tag, and for which the number of follow-up attempts is more than 2

For the data, you can use the following steps

[ ] First we need to find the applications who are tagged with need follow up tag in the UI, this we check on a daily basis [here](https://github.com/ColoredCow/portal/blob/1a171c54e25cdab0aa8f50527cf7305444bf4bca/Modules/HR/Console/Recruitment/MarkApplicationForFollowUp.php#:~:text=if (%24,}). Just check the logic and find all the applications with this condition. This will give you applications that need to follow up on phone call
[ ] For the applications fetched in the previous step, we have to select only those for which the number of follow-up attempts is more than 2. This can be found in the hr_follow_ups table. If no such applications are found, don't trigger the email.
[ ] Now we need to find, applicant details corresponding to these applications, and check in the codebase if there exists a relationship to find the applicant information corresponding to applications. If not, then create one. Once we get applicant's details, find the applicant's name and phone number
[ ] For a job role, you can check in the existing codebase if a relationship is made to fetch the job for which the application is created. Else you can make an eloquent relationship to find the job role corresponding to the application. We are mapping an application and job using a foreign key hr_job_id in the applications table.
[ ] With all this data, consolidate information in blade template as per the format shared in the issue description and trigger the email


Failed binding popup

Show user why binding fails instead of silently rejecting new bind without any reason given.
Idea was to have a popup which would tell user exact reason, and possibly offer solutions.

well it popped up but i cant click on it
https://gyazo.com/dfdb5745d9e51f720b769df4b22705d8

i got same problem and i dont know what should i do :(

i agree having issue binding the gui to a key. i click on Bind it say binding and nothing happens...
Is there a manual way to do this?


[regression-test] add list partition case and multi partition keys case

Proposed changes
add partition table case:

add list partition p0 case
add multi partition keys p0 case

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall


feat: add a prop named error to the ErrorComponent when load async …

…component rejected(#10027)

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[x] Feature
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:

[x] It's submitted to the dev branch for v2.x (or to a previous version branch), not the master branch
[x] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)
[x] All tests are passing: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup
[x] New/updated tests are included

If adding a new feature, the PR's description includes:

[x] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:
issues number: 10027

Thank for your review. I did something for your suggestion.


Sponsor username invalid

The sponsor button of this GitHub repository shows that the user "jsappme" hasn't applied to sponsoring yet. I'd propose to do so or remove the FUNDING.yml.

My sponsor application is still pending.

I've temporarily disabled the funding button by renaming the funding configuration until the application is approved. This way we don't confuse users.


Could you provide more command line samples?

It would be nice to have practical examples of how to read a specific appSettings.json, or appSettings.Debug.json, appSettings.Release.json... Also would be nice to know if we can pass command line arguments that could be read by tests at runtime

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 61ca4064-7481-a263-60fc-c70127f2ad16
Version Independent ID: 2878af44-8208-7bd8-46d4-3acda3e82ce0
Content: dotnet test command - .NET Core CLI
Content Source: docs/core/tools/dotnet-test.md
Product: dotnet-core
GitHub Login: @mairaw
Microsoft Alias: mairaw

Is appSettings.json a ASP.NET Core concept or a .NET Core concept?

ASP.NET Core I think. See https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/index?view=aspnetcore-2.2#json-configuration-provider

@juniormayhe Please let me know if this helps?
Also, regarding the command line arguments, does the RunSettings arguments section of the article have what you need? In general you pass on arguments to your app by putting -- at the end of whole core CLI command.
I'm going to close this issue for now. Thanks!


[Vectorized][Function]fix to_bitmap to return always not nullable

Proposed changes
Issue Number: close #9715
Problem Summary:
Describe the overview of changes.
Checklist(Required)

Does it affect the original behavior: (Yes/No/I Don't know)
Has unit tests been added: (Yes/No/No Need)
Has document been added or modified: (Yes/No/No Need)
Does it need to update dependencies: (Yes/No)
Are there any changes that cannot be rolled back: (Yes/No)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

LGTM


BEA quarterly GDP per US state data import

Imports US state quarterly GDP data from the years 2005-2019. This PR transitions to direct downloads of Zip files as opposed to API calls.

Great.  Relying on Carolyn's review.

@googlebot I fixed it.


Remove menu from Obsolete Elements

The menu element was deprecated in HTML 4, but un-deprecated in HTML 5. It's no longer listed in the Non-conforming features section of the HTML Living Standard and is no longer marked as deprecated on the <menu>: The Menu element page on MDN.
The menu is a list element (similar to ol and ul), so it can only accept li children. The menuitem element that was intended to be used as a child element of a menu is still deprecated, which is why I didn't remove it from the list.

@mikerourke thank you for the contribution and supporting documentation!


Fix drop down menu for users with unlimited menu limit permission

When sidane_tm_menu_limit is set to unlimited the drop down menu is broken:

Now all threadmarks are shown in the drop down for unlimited users.
Also includes some refactoring of the ControllerHelper (and some whitespace removal! :scream:)

Looks good. Fetching $menulimit +1 was a silly hack considering we have the threadmark total on hand.


Send Button Color

Suggestion: The send button should not have a red hue as it conveys a sense of danger/caution, etc.
Observation: Looking at 4 wallets revealed that all of them are using same color for send and receive.
@summikhan11 to give this a thought.

https://xd.adobe.com/view/2f42c330-be9a-4b0a-963d-698d60da4894-7a11/

Verified this issue on dev app v2.0(349)


Slash in title results in server error on save

Overview:
Creating a new note with a title that contains a slash (/) character, gives an error "Unable to communicate with the server".
I have not debugged the problem or checked the code, but I assume the title is used as part of a filename, and the slash messes up the path?
Suggestions:

Escape the slash character so saving is possible
Provide a more meaningful error message, such as: Invalid characters in the title. Allowed characters are [a-z][A-Z] etc...
If the title is indeed used as a file path, maybe rethink this idea by having a unique randomly generated ID associated with the note and use that instead.

Hi @dominikheinz. Your assumption is correct, this is a limitation of using the titles as filenames. This is a duplicate of #52 and there's a bit more detail on there.
I really should be validating this in the front end as well (with a friendly message as you suggest). I'll add this in the next release.

A friendly message has been added in v2.2.0.


Suggested food

List food the user could eat based on the weather at the bottom of the page.

Team 1 is working on this


invalid log level: ""

kapacitor level info

produces the error invalid log level: ""
I'm using kapacitor 0.13.1

This has been fixed in the 1.0.0 release


Knapsack algorithm - Python

Updated knapsack algorithm in python

You should create the file inside its particular directory.
Please read all contribution guideline before sending a PR.
Please check the directory tree


ListBoxes in Firefox

For some reason the permanent scanning for mouseovers for Qlik objects which DO NOT provide own popups (like plain listboxes and tables) does not work for listboxes in Firefox. Therefor these values will not be fetched when ctrl-c is triggered.
The bind of mouseenter events do work in Firefox for tables, but binding the event to the class .qv-listbox-text for listbox values does not trigger in Firefox. Although in tables (classes like .value or .kpi-value) it works correctly.
Browsers like IE11, Edge and Chrome do not show this behaviour, there it works fine...

fixed: forgot $( document ).ready and due to different rendering timing Firefox was behaving differently


[ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(VideoError, Video player had error com.google.android.exoplayer2.ExoPlaybackException: com.google.android.exoplayer2.upstream.AssetDataSource$AssetDataSourceException: java.io.FileNotFoundException: flutter_assets/assets/videos/vid.mp4, null)

Hello guys, I have been battling with this all day and can't seem to get through. Please anyone with a solution

Please help me out
VideoPlayerController _videoPlayerController;
  Future<void> futureController;
  var videoFile = "assets/videos/vid.mp4";

  @override
  void initState() {
    _videoPlayerController = VideoPlayerController.asset(videoFile);
    futureController = _videoPlayerController.initialize();
    _videoPlayerController.setLooping(true);
    _videoPlayerController.setVolume(1.0);
    super.initState();
  }

VideoPlayerController _videoPlayerController;
Future futureController;
var videoFile = "assets/videos/vid.mp4";
@override
void initState() {
_videoPlayerController = VideoPlayerController.asset(videoFile);
futureController = _videoPlayerController.initialize();
_videoPlayerController.setLooping(true);
_videoPlayerController.setVolume(1.0);
super.initState();
}

Hi @samweldi
The error says that can't find needed asset.
Have you added assets to your pubspec.yaml, get packages anew and rerun your app?

yes I have added it

assets:
- assets/images/cover_2.jpg
- assets/images/fansalone_fav.png
- assets/images/fansalone_logo.png
- assets/images/default_user.png
- assets/images/default_cover.png
- assets/images/logo_main.png
- assets/images/logo_main_fav.png
- assets/images/logo.jpg
- assets/videos/vid.mp4
thats it, properly added

@samweldi
I don't have any problem with it.
Have you run flutter pub get after changing pubspec.yaml?
Have you run your app anew after getting the assets?
Does the file exist assets/videos/vid.mp4?

Did you solve the error?

Having the same issue, except i'm recording the video right now.

I solved the issue, All I had to do was restart the app

I solved the issue, All I had to do was restart the app
Didn't fix my problem. I restarted the app and uninstalled and reinstalled the app. The problem persists

Hi @samuelezedi,
given your last message I feel safe to close this issue,
if you disagree please write in the comments
and I will reopen it.
Thank you
@PabloG6, I'd suggest to file a new issue for the problem you are facing with all required information (flutter doctor -v, flutter run --verbose, pubspec.yaml) since the issue may not be the same (per your comment you were trying to record a video)

I solved the issue, All I had to do was restart the app

Didn't fix my problem. I restarted the app and uninstalled and reinstalled the app. The problem persists

This is not a valid fix. I still have this issue happening randomly while using the app. But I cannot tell exactly why is it happening.

E/flutter (25498): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(VideoError, Video player had error com.google.android.exoplayer2.ExoPlaybackException: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.Exynos.avc.dec, Format(1, null, null, video/avc, null, -1, null, [320, 568, -1.0], [-1, -1]), null)

Could everyone who still has this problem please file a new issue with the exact description of what happens, logs and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.

@darshankawar  I am facing this problem . I am using VideoPlayerController.network which gives me this error
[ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(VideoError, Video player had error com.google.android.exoplayer2.ExoPlaybackException: com.google.android.exoplayer2.source.UnrecognizedInputFormatException: None of the available extractors (MatroskaExtractor, FragmentedMp4Extractor, Mp4Extractor, Mp3Extractor, AdtsExtractor, Ac3Extractor, TsExtractor, FlvExtractor, OggExtractor, PsExtractor, WavExtractor, AmrExtractor) could read the stream., null)
In my case the video is coming from s3
As i noticed that if there is direct url for the video it will run but if there is something medium for url then it will show this error
Please any one help me in this issue

@khanna007 What do you mean by something medium for the url.

@Amerr it means that my video is stored in s3 and i want to show my video so s3 is my medium .
So i solved this error
Future load_path_video() async {
loading = true;
final Directory extDir = await getApplicationDocumentsDirectory();
setState(() {
  dirPath = '${widget.videoResponse}';

  loading = false;
});

}
call load_path_video(); initsate
NetworkPlayerLifeCycle(
'$dirPath',
(BuildContext context,
VideoPlayerController controller) =>
AspectRatioVideo(controller)),

I am facing the same issue since my video is served also from s3

@Amerr  use the above code it will run

@khanna007  can you explain more please?


Reserved characters are not unescaped

Hi there,
This is a followup of the bug Backslashes in claims are not escaped in the JSON string #25.
In l8w8jwt versions older than 2.1.5, JWT payload was set to an invalid JSON object when reserved characters were used in any claims. In this case, l8w8jwt created an invalid JWT, and the attempt to decode such token failed with error L8W8JWT_DECODE_FAILED_INVALID_TOKEN_FORMAT.
This problem has been fixed in l8w8jwt 2.1.5, which instead produces a valid token. Yet, l8w8jwt is not unescaping the reserved characters when decoding the token. Therefore the values decoded from the JWT are not equal to the input values prior the encoding.
Please refer to the following sample.
static const char* PS512_PRIVATE_KEY = ...;
static const char* PS512_PUBLIC_KEY = ...;

int main(int argc, char *argv[])
{
	char* _jwt(NULL);
	unsigned int _length;

	{ // encoding
		struct l8w8jwt_encoding_params params;
		l8w8jwt_encoding_params_init(&params);

		params.alg = L8W8JWT_ALG_PS512;
		params.secret_key_length = strlen(PS512_PRIVATE_KEY);
		params.secret_key = (unsigned char*)PS512_PRIVATE_KEY;

		std::string sub_str = std::string("DOMAIN") + '\\' + "john.smith";
		params.sub = const_cast<char*>(sub_str.c_str());
		params.sub_length = sub_str.length();

		params.out = &_jwt;
		params.out_length = &_length;

		int encodeResult = l8w8jwt_encode(&params);
		// encoding succeeds: L8W8JWT_SUCCESS == encodeResult;
	}

	{ // decoding
		struct l8w8jwt_decoding_params params;
		l8w8jwt_decoding_params_init(&params);

		params.alg = L8W8JWT_ALG_PS512;
		params.verification_key = (unsigned char*)PS512_PUBLIC_KEY;
		params.verification_key_length = strlen(PS512_PUBLIC_KEY);

		params.jwt = _jwt;
		params.jwt_length = _length;

		params.validate_typ = "jwt";
		params.validate_typ_length = 3;

		enum l8w8jwt_validation_result validationResult;
		struct l8w8jwt_claim* outClaims(NULL);
		size_t outClaimsNum(0);
		int parseResult = l8w8jwt_decode(&params, &validationResult, &outClaims, &outClaimsNum);
		// decoding succeeds: parseResult == 0
		// but the 'sub' claim is set to "DOMAIN\\\\john.smith" instead of "DOMAIN\\john.smith"
	}
}

Expected behavior
Since the library is escaping the reserved characters when encoding, un-escaping is expected when decoding.

Thanks again for reporting! :)
this one will take slightly longer, due to the decoding procedure making use of an external library (JSMN for JSON deserialization).
I'll see what can be done here

Hi @valentino-fiorin
Issue #26 is resolved now :)
Check out release 2.1.6, and thanks again for your contribution.
Cheers, and have a nice weekend!


bigint & numeric seperator support

changes if bigint is not available? should we respect this case?
https://github.com/jquery/esprima/issues/1988#issuecomment-521473736


BackupRestorer: after each" hook for "Restore backups"

1) BackupRestorer
       "after each" hook for "Restore backups":
     Error: ENOTEMPTY: directory not empty, rmdir 'C:\Users\VSSADM~1\AppData\Local\Temp\vsctests\backuprestorer\1b36d813-1f9d-4c2e-b8e6-e57326506f35\Backups\2746e85e3aa3db1143f8b6945d3619a5\untitled'

//cc @alexdima (interesting that we still seem to be hitting these after all your changes)

I think we might be seeing these for a while until we fix all these tests. We fixed together the BackupTracker suite, while this one appears to be another one, BackupRestorer. We could now use the vs/base/test/common/troubleshooting utilities to try to pinpoint the problem. In this case, it also looks like all tests share the same backup directory, so there might be more overlap than usual. LMK if you need any help from me.

I think we might be seeing these for a while until we fix all these tests. We fixed together the BackupTracker suite, while this one appears to be another one, BackupRestorer. We could now use the vs/base/test/common/troubleshooting utilities to try to pinpoint the problem. In this case, it also looks like all tests share the same backup directory, so there might be more overlap than usual. LMK if you need any help from me.


Add blanket impl From<&T> for &U

I currently have code that does conversion from the inner type to the wrapped type. This conversion is done using From, as not all the types are wrapped, and every type implements From<T> for T.
Would it be a good idea to add a blanket impl like this?
impl <T, U: RefCast<From=T>> From<&T> for &U
If not, would it make more sense to allow the derive macro to do the implementation on a per-type basis?

I would prefer not to build this into this crate, but the caller can write specific From impls themself if they want it.


MediaSquare: updated media_types + add glv_id

update the media types and add the global vendor list id

this made it into 4.15


Remove IndexMut::Output.

Fixes the build for me along with https://github.com/sebcrozet/nalgebra/pull/90.

Thanks!


Mixtral Model Download getting stuck

System Info
Using the latest docker image
Information

[X] Docker
[ ] The CLI directly

Tasks

[X] An officially supported command
[ ] My own modifications

Reproduction
Run this Runpod Template.
The model gets stuck at the 6th shard. This requires a pod re-start and multiple later re-starts to get all shards downloaded.
Expected behavior
I would expect all weights to download smoothly.
What's possible is that the download isn't stopping entirely but progressing at a very very slow pace. I have seen this to some degree when working in Jupyter notebooks, but these are 5 GB shards and the rate of progress does seem to stall with TGI.
Runpod Template Details:
ghcr.io/huggingface/text-generation-inference:latest

--model-id mistralai/Mixtral-8x7B-Instruct-v0.1 --trust-remote-code --port 8080 --max-input-length 2048 --max-total-tokens 4096 --max-batch-prefill-tokens 4096 --quantize eetq

As a related matter, why does TGI not appear to download the shards in parallel?

Duplicate of #1186


fix(toolkit): fix context passed in from command-line

Fix issue where context passed in via command-line was ignored.
Migration behavior has been changed: context that looks like it
has been generated by context providers (keys containing ":")
will upon loading be migrated to cdk.context.json; other
context in cdk.json will be left as-is and treated as readonly.
Fixes #1911.

Pull Request Checklist

[x] Testing

Unit test added (prefer not to modify an existing test, otherwise, it's probably a breaking change)
CLI change?: coordinate update of integration tests with team
cdk-init template change?: coordinated update of integration tests with team

[x] Docs

jsdocs: All public APIs documented
README: README and/or documentation topic updated

[x] Title and Description

Change type: title prefixed with fix, feat will appear in changelog
Title: use lower-case and doesn't end with a period
Breaking?: last paragraph: "BREAKING CHANGE: <describe what changed + link for details>"
Issues: Indicate issues fixed via: "Fixes #xxx" or "Closes #xxx"

[x] Sensitive Modules (requires 2 PR approvers)

IAM Policy Document (in @aws-cdk/aws-iam)
EC2 Security Groups and ACLs (in @aws-cdk/aws-ec2)
Grant APIs (only if not based on official documentation with a reference)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license.

I guess we need an integ test...


DFS fails with Dask Entityset if a numeric time index is used

Need to update calculate feature matrix to not cast time column to datetime if a numeric time index is used with Dask.

Closed by #992


INFO: Project roadmap

I wrote up a basic plan/rodemap with goals for a 2.0 release:
https://github.com/pywavefront/PyWavefront/blob/master/ROADMAP.md
Leaving this issue up in case people feel the need to comment.

There are a lot of great ideas in there!


Implement character triggers (@-mentions)

This is basically #624 but adapted to work on the lastest master.
Syntax
$('.at-mentions').typeahead({
  triggerRegex: /@\w*/g,
  triggerCharacter: '@'
 }, dataset);

Playground

Added an input and textarea for @-mentions
Added a textarea for name mentions, to show whitespace examples

Tests
There is also a new test file input_view_trigger_spec.js. It's largely based on input_view_spec.js but any tests that triggers don't affect were removed and any other tests were updated for the specific trigger use cases.
All tests pass, and I think the code coverage is pretty high, but I wasn't sure how to find that number specifically.
The only thing I'm not satisfied with as far as tests go is typeahead.js#_updateHint. I couldn't find that particular method tested anywhere else, so I wasn't sure exactly how to test it. I'm open to suggestions for that.
Per Dataset
I played around with using queryTokenizer to parse triggered items from the query, but ultimately decided that the code needed to be a part of input.js since there could be multiple queries in one input and which one is used is based on the cursor position.
This means that triggerRegex and triggerCharacter are top level properties. The other open issue about this was #339 and it asked for a different trigger character per dataset. This PR doesn't do that, but I believe queryTokenizer could get you pretty far if you wanted to parse the query differently for different datasets.
Other Notes

Blur events will no longer reset the input to the last query since a query might only be a part of the input value
Hints work if the query is at the very end of the input value. But if there is non-query text after the query, no hint will be displayed.
left/right keys run input.js#_checkInputValue since a change in cursor position could change the query

@jharding How do you feel about this as a feature now that v0.11 has shipped and it looks like the API is trying to stabilize towards v1. I'm up for porting it to the latest release if you think that would be valuable, but I completely understand if this would be out of scope now.
Also thank you for all the great work! This library has been invaluable to me on many projects and I'm excited to see it approach v1.

Wow thanks for sticking with this pull request, I've not been very kind to it.
What would be the downside to doing something like this:
var myBloodhound = new Bloodhound({ /* ... */ });

function myBloodhoundWithCharTriggers(q, sync) {
  // maybe you pull out a certain substring from `q` before passing
  // it to #search
  charRegex.test(q) ? myBloodhound.search(q, sync) : sync([]);
}

$('.typeahead').typeahead(null, {
  source: myBloodhoundWithCharTriggers
});

Basically all of this logic is moved to a intermediate function that lays between the typeahead jquery plugin and the bloodhound instance. Would this not provide a needed functionality?
And again, sorry about ignoring this pull request. Life gets busy.

And again, sorry about ignoring this pull request. Life gets busy.

No worries. I understand how life (and OSS) gets :)
The problem I've run in to previously was that in the case of wanting multiple @ style usernames in an input there needs to be some awareness of the cursor position in order to get the current username. See this screenshot for what I think would be a pretty common use case for this functionality.

// maybe you pull out a certain substring from q before passing
// it to #search

What I think you're saying here is that extracting the cursor position based substring could be done before calling .search(), is that right? I think that could work.
I had originally envisioned that this functionality would be part of src/typeahead/input.js, because as I found in the original PR the code can get a bit hairy to support the different edge cases (I tried to keep it as simple as I could at the time, but I still added 110 lines of code to input.js).
I see that as both a case for and against this PR. On one hand any user who wants this will have to write some part of that code to get this functionality. On the other hand, it is a significant amount of complexity to add to this module which will require support/maintenance/fixes in all future releases.
Any thoughts on if this feature is valuable enough to warrant the additional complexity? There hasn't been too many comments on this one (as opposed to other issues I've been watching), so I'm thinking the answer is probably no.
Either way, I'm going to see what an external code only solution would look like and how much code it would actually be on the latest version. Cheers!

Any thoughts on if this feature is valuable enough to warrant the additional complexity? There hasn't been too many comments on this one (as opposed to other issues I've been watching), so I'm thinking  the answer is probably no.

I have been watching this pull request for quite a while, awaiting the outcome. So +1 from me.

What I think you're saying here is that extracting the cursor position based substring could be done before calling .search(), is that right? I think that could work.

Yeah. To extend the example code I posted previously, in the myBloodhoundWithCharTriggers function, you'd grab the cursor position before calling .search. It's clunky, but I suppose it's doable.

Any thoughts on if this feature is valuable enough to warrant the additional complexity?

I didn't realize you were using functionality within the context of a textarea, that makes things interesting. I suppose it wouldn't make sense within the context of a standard text input.
I've been taking the stance that the current typeahead jquery plugin is built for the use case of a search input where arbitrary text can be entered (so think google.com or search on github). This has led to me not accepting select2-like features (see the select label). This hasn't been a popular decision with some, but typeahead.js can't be everything to everyone.
With that said though, where I always wanted to take the project was to the point where it offered a suite of typeahead solutions. So there'd be a solution for search inputs, select-like menus, textareas (your use case, I think), etc. All these solutions would be built on the same core code so ideally they'd be pretty easy to whip up. Now whether or not that ever happens, I'm not sure, but that's the dream.
So I guess what I'm trying to say is that this may not be a good fit for what the jquery plugin is today, but could very well be useful down the road if I (or whoever) ever builds out the suite.

typeahead.js can't be everything to everyone.

Right, I completely understand.

So I guess what I'm trying to say is that this may not be a good fit for what the jquery plugin is today, but could very well be useful down the road if I (or whoever) ever builds out the suite.

I think that's fair. I'm gonna close this since I won't be adapting this branch to work with v0.11.x. I'll probably add a comment here if/when I come up with a new solution to this with a link to a gist/blog post or something like that.
p.s. the oldest open PR is now closed! :tada: :smile:


Please wrap it in some setting that can mute it.

https://github.com/yuyinws/vscode-array-index/blob/220c07b42332133493eee49bfd90e717597f2512/src/decorators.ts#L159

Release on https://github.com/yuyinws/vscode-array-index/releases/tag/v0.2.2


Translate privacy to ENG

If we'll ever have a privacy policy asd

Do we actually have to translate this?

The access log clearly confirms that NO FUCKIN ONE read the terms and conditions asd

Pls reopen and assign to me

You know that literally nobody reads it, right?
Whatever... have fun asd


Worked on the responsiveness and scrollbar

Worked on responsiveness and scrollbar

Issue ticket number and link

Checklist before requesting a review

[x] I have performed a self-review of my code
[ ] If it is a core feature, I have added thorough tests.
[ ] Do we need to implement analytics?
[ ] Will this be part of a product update? If yes, please write one phrase about this update.

Screenshots (if appropriate):

Please resolve the merge issues @HARSHV10


Multiple exporters are still not supported by all parts of Scooby

Some parts of the application (e.g. Crawler) must allow multiple exporters to be set, instead of only one

Related to ticket: PPS-65 Support Multiple exporters

With #41 now results are broadcasted to all the defined exporter


"+" button in the Tab Group bar ignores the Start page option

Describe the bug
"+" button in the Tab Group bar ignores the Start page option
To Reproduce
Steps to reproduce the behavior:

Set tab layout to "Grid"
Group two tabs together
Open one of them
Click the "+" icon in the bar that appears at the bottom.

Expected behavior
Configured start page should open
Screenshots

Smartphone (please complete the following information):

Device: Mi Play
Android Version: 8.1
Kiwi Browser Version: 105.0.5195.33

Additional context
-

Duplicate of #547


Enhancement: Provide coroutine APIs

This is more of a suggestion, not much of an issue.
Could we consider to leverage lua coroutine, to avoid callback hell? It might be great to introduce that in this library.
An example wrapper may work like this
local notify = require 'notify'
function noty(...)
  local self = coroutine.running()
  local args = {...}
  local message = args[1]
  local type = args[2] or 'info'
  local opts = args[3] or {}
  opts.on_close = function()
    coroutine.resume(self)
  end
  notify(message, type, opts)
  return coroutine.yield()
end

-- and a sleep helper function
function sleep(ms)
  local self = coroutine.running()
  vim.defer_fn(function()
    coroutine.resume(self)
  end, ms)
  return coroutine.yield()
end

Then the example in README will be like this
notify("This is an error message.\nSomething went wrong!", "error", {
  title = plugin,
})
notify("Attempting recovery.", vim.lsp.log_levels.WARN, {
  title = plugin,
})
sleep(2000)

noty({ "Fixing problem.", "Please wait..." }, "info", {
  title = plugin,
  timeout = 3000,
})

notify("Problem solved", nil, { title = plugin })
notify("Error code 0x0395AF", 1, { title = plugin })

I created an async library in https://github.com/nvim-lua/plenary.nvim that uses coroutines. It handles many edge cases and would also be good for code reuse and standardization. It also has plans of being merged into neovim core.

I'd certainly be open to having a nicer API instead of callbacks, I do miss async/await... @oberblastmeister That looks interesting ,is there any documentation in the works for the module or examples I could look at?

Finally got around to implementing this :sweat_smile: Plenary's async module is now integrated and there is a new async function in the module


Add CLI parameter to specify which payload is being validated

Description
Currently the type of a user supplied payload is ascertained dynamically by the test tool, based on the contents of the payload. This can lead to confusing error messages when the user supplies an non-conformant payload.
The payload tool requires a new parameter that lets the user specify the type of the payload they are attempting to validate. (e.g --payloadType )
A second parameter should also be created to support the current "best guess" functionality. This will allow users to continue to test either whole or partial payloads. (e.g. --automatic-payload-typing)
These two parameters must be mutually exclusive.

Now user can add an extra param (e.g, -m ResponseBankingProductById) to specify the target model of the payload file. The tool will do automatic payload - model match without the extra param.
Also a new command list-payload-models is added to list all the top level payload models (responses of the end points)


ModuleNotFoundError: No module named 'louvain'

Hi @vgauthier, @vtraag,
I noticed this package seemed to have disappeared from conda:
 conda search louvain --channel conda-forge

Loading channels: done
No match found for: louvain. Search: *louvain*
# Name                       Version           Build  Channel
python-louvain                   0.1            py_0  conda-forge
python-louvain                  0.10            py_0  conda-forge
python-louvain                  0.11            py_0  conda-forge
python-louvain                  0.13            py_0  conda-forge
python-louvain                  0.13            py_0  pkgs/main
python-louvain                  0.14            py_0  pkgs/main
python-louvain                  0.15    pyhd3deb0d_0  conda-forge
python-louvain                  0.15    pyhd3eb1b0_0  pkgs/main
python-louvain                  0.15    pyhd8ed1ab_1  conda-forge

Any ideas? In case it's relevant, I'm on an M1 mac.

 active environment : py39
active env location : /Users/stephaniehowe/miniconda3/envs/py39
        shell level : 2
   user config file : /Users/stephaniehowe/.condarc

populated config files : /Users/stephaniehowe/.condarc
/Users/stephaniehowe/miniconda3/envs/py39/.condarc
conda version : 4.14.0
conda-build version : 3.22.0
python version : 3.9.12.final.0
virtual packages : __osx=12.0=0
__unix=0=0
__archspec=1=arm64
base environment : /Users/stephaniehowe/miniconda3  (writable)
conda av data dir : /Users/stephaniehowe/miniconda3/etc/conda
conda av metadata url : None
channel URLs : https://conda.anaconda.org/conda-forge/osx-arm64
https://conda.anaconda.org/conda-forge/noarch
https://repo.anaconda.com/pkgs/main/osx-arm64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/osx-arm64
https://repo.anaconda.com/pkgs/r/noarch
package cache : /Users/stephaniehowe/miniconda3/pkgs
/Users/stephaniehowe/.conda/pkgs
envs directories : /Users/stephaniehowe/miniconda3/envs
/Users/stephaniehowe/.conda/envs
platform : osx-arm64
user-agent : conda/4.14.0 requests/2.27.1 CPython/3.9.12 Darwin/21.0.1 OSX/12.0
UID:GID : 501:20
netrc file : /Users/stephaniehowe/.netrc
offline mode : False

Please note that this feedstock is for the louvain package (sometimes louvain-igraph), not python-louvain. In addition, note that the louvain-igraph package is superseded by the leidenalg package (also available from conda-forge).
It would probably be better to open an issue in the feedstock for python-louvain.

I'll close this for now. If you do come across issues with the louvain package, feel free to report back.

Ah, sorry, I just took another look, but I now understand that you probably intend to say that it only lists python-louvain and not louvain in your search results?
The package hasn't disappeared though: https://anaconda.org/conda-forge/louvain/files
The problem seems to be that you are on macOS arm64, for which no package has been build. Building for that platform is going to be difficult though. The louvain package is also not further maintained anymore, and so I would suggest to switch to the leidenalg package.


Using viewbox tricks to zoom in on very big SVGs causes a freeze.

I'm making a vector graphics application and while I can't reproduce this, Windows users have given me reports that they get freezes while they zoom into graphics.
In order to implement infinite zoom in my app, I re-render the visible part on each frame, using an adjusted width-height-viewbox. However, some users have reported issues with this. Of the four people who I tested this with (plus myself), the two Linux users weren't able to reproduce it, but the three Windows users were able.
Test SVG: <svg width="37.432" height="37.786" xmlns="http://www.w3.org/2000/svg" viewBox="431.158 533.026 37.432 37.786"><path d="M1000 0 0 1000"/></svg>
One of the users tried to paste this SVG into the ThorVG viewer.

Another user tried to load the SVG using Godot and got a permanent freeze:
func _ready() -> void:
    print("Starting")
    for _i in 3:
        await get_tree().process_frame
    var svg = """
    <svg width="37.432" height="37.786" xmlns="http://www.w3.org/2000/svg" viewBox="431.158 533.026 37.432 37.786"><path d="M1000 0 0 1000"/></svg>
    """
    var img = Image.new()
    var err = img.load_svg_from_string(svg, 22.627)  # 22.627 is a scaling factor that should result in a 700x700 image, nothing too intense.
    print("Finished")

At least, freeze shouldn't be occurred.

I would like to add some more info. I hope it helps:

It scales with size. The larger the line becomes the sooner it will freeze/crash when zooming in
There is a significant CPU usage when panning around (Both Linux and Windows)
it specifically only happens with a diagonal path vector. Anything else seems to work fine

There is a significant CPU usage when panning around (Both Linux and Windows)

In the case of my app, it's because the graphic is redrawn every frame when you pan around. But that seems to be a side effect of ThorVG being way slower than one would expect.

There is a significant CPU usage when panning around (Both Linux and Windows)

In the case of my app, it's because the graphic is redrawn every frame when you pan around. But that might be a side effect of ThorVG being way slower than one would expect.

@MewPurPur @Racer911dash1 May I ask what the resolution of the SVG image is in that case? Ideally, Godot should have a completed image from ThorVG and should not request a redraw during panning. Otherwise, at the very least, it should apply viewport(canvas::viewport()) drawing for the optimal visible area.

I think there's a misunderstanding. This is specific to how zooming works in my vector graphics application. In order to implement infinite zooming, I take the SVG text, modify its width, height, and viewbox, and only parse this modified SVG text. If I didn't do this, I would have to render ginormous images and suffer extreme lag spikes, and infinite scaling also wouldn't work because at some point I'd hit the limitation of 16384x16384.

the fix will be in v1.0-pre1. thanks.


Can't upload disk images with ending ".img" via web interface

Info

Which version of Pi are you using: Zero 2 W
Which github revision of software: v22.08.01
Which board version: FULLSPEC
Which computer is the RaSCSI connected to: Atari TT030

Describe the issue
When trying to upload a disk image that has the ending ".img" via the web-interface it always gives the message "You can't upload files of this type."., but according to https://github.com/akuker/RASCSI/pull/205 .img should be a valid suffix.
Changing the ending from .img to .hds works, but it is a bit annoying to have to do that for each disk image I want to use with RASCSI.
I'm using Safari 15.6.1 on macOS 10.15.7 as the web-browser.

So there is some nuance to this issue. TL;DR;
First off, the Web Interface simply inquires the RaSCSI backend which file endings that it recognizes, and img is not one that is recognized currently. One reason for this is that img can be any kind of image really. There's no telling a hard drive img from a floppy img from a CD-ROM img, etc. RaSCSI requires there to be a clear connection between the file ending and the type of device that is imaged.
Here's how to ask the rascsi backend which file types it supports:
$ rasctl -m
Supported image file extension to device type mappings:
  hda->SCHD
  hdf->SAHD
  hdi->SCHD
  hdn->SCHD
  hdr->SCRM
  hds->SCHD
  iso->SCCD
  mos->SCMO
  nhd->SCHD

Secondly, we have applied the file upload file ending validation because rascsi continuously scanning the images/ dir, and will log warnings when it encounter files that it doesn't consider valid image files (the authentication is not based on file endings, but on file size being a multiple of 512 B.) Having a ton of invalid files in the images/ dir may quickly make things messy for the user.
All that said, I can see an argument for dropping the upload file ending validation in the Web Interface. Instead of erecting obstacles for the user, entrust them to be careful with which files they upload. Let me request comments from the community and hear if someone has an argument for another approach.

I have found the restriction unhelpful in a couple of cases, such as uploading a .toast file.
The treatment of files, once uploaded, does not seem to be restricted, e.g. I can attach an file with a .jpg extension.
I would be happy to have the extension check removed, or alternatively the list of accepted files expanded.

@fdanapfel I just merged @rdmark 's changes. Can you please check and close this ticket if your issue is resolved?

@rdmark Thanks a lot for the quick response and explanation of the reasoning why this happens. And also for agreeing to change this based on the comments from @nucleogenic.
@uweseimet If you can provide some guidance on how to switch the installed RaSCSI version to the development branch I will gladly test the changes and report back my findings.

@fdanapfel In order to test you should clone the git repository and then run "git checkout develop". Now you can run easyinstall as usual to install/update RaSCSI.
If you are not prepared to use git, you can download a ZIP archive with the develop branch. Go to https://github.com/akuker/RASCSI/tree/develop, and after clicking on the "Code" button you will find a "Download ZIP" link.

@uweseimet Thanks for the guidance. After switching to the development branch using "git checkout develop" and then using easy install to update EaSCSI and the web interface it is now possible to upload files ending with .img.
@rdmark Big thanks to  you for changing this so quickly!
Issue is resolved, so as requested I'm closing this ticket.


ruby dependencies are named differently in ubuntu 10.04

Closing due to inactivity.
If this is still an issue please reopen or open another PR.
Alternatively drop by the #sous-chefs channel on the Chef Community Slack and we'll be happy to help!
Thanks,
Sous-Chefs


Error code 127 on Linux when LZMA compression is enabled

After publishing a NativeAOT app with UPX and PublishLzmaCompressed, it randomly crashes at startup with an error code 127. I've seen it happening about 1 times out of 1000 on Alpine, and less frequently on other distributions.
UPX is definitely the culprit. I don't know if it's an UPX issue affecting all applications (https://github.com/hadolint/hadolint/issues/475 looks related, there's also https://github.com/upx/upx/issues/385 but it's supposedly fixed) or a weird interaction with NativeAOT. I'm mostly opening this issue for awareness.
I haven't been able to reproduce the issue with a simple Hello World. I assume that the issue is dependent on the size of the app.

I wonder if capturing an strace like in https://github.com/upx/upx/issues/385 would tell us whether it's during decompression, or after the uncompressed code starts running. Or if you can capture a coredump, we could look at where is the instruction pointer pointing (is it still pointing to the memory mapped bytes from the executable, or to some dynamically allocated piece of code?).

I wonder if capturing an strace like in https://github.com/upx/upx/issues/385 would tell us whether it's during decompression

I captured one but I didn't feel like it told me much. I'll capture a new one and paste it here.

Or if you can capture a coredump, we could look at where is the instruction pointer pointing

I spent a lot of time on this, without success. It doesn't "crash" strictly speaking, but rather aborts with a call to exit(127). I tried to catch it with a debugger, but the syscall is done manually from assembly, so I can't even set a breakpoint on the libc syscall: https://github.com/upx/upx/blob/devel/src/stub/src/amd64-linux.elf-entry.S#L227-L230
die:
        push $127; pop %arg1
        push $ __NR_exit; pop %rax
        syscall

I tried to tweak UPX to modify those instructions and trigger a "real" crash, but the assembly gets compiled into a .h file: https://github.com/upx/upx/blob/devel/src/stub/amd64-linux.elf-entry.h. The way that file is generated is not documented. It looks like it's happening in https://github.com/upx/upx/blob/devel/src/stub/Makefile but I couldn't get it to work.

execve("./dd-dotnet", ["./dd-dotnet", "check", "agent", "http://localhost:5000/"], 0x7ffdffb2f2a8 /* 26 vars */) = 0
open("/proc/self/exe", O_RDONLY)        = 3
mmap(NULL, 3055, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3dfedbb000
mprotect(0x7f3dfedbb000, 3055, PROT_READ|PROT_EXEC) = 0
readlink("/proc/self/exe", "/root/git/dd-trace-dotnet/shared"..., 4095) = 77
mmap(0x7f3dfedbc000, 16331264, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f3dfedbc000
mmap(0x7f3dfedbc000, 3112328, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f3dfedbc000
mprotect(0x7f3dfedbc000, 3112328, PROT_READ) = 0
mmap(0x7f3dff0b4000, 5688841, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0x2f8000) = 0x7f3dff0b4000
mprotect(0x7f3dff0b4000, 5688841, PROT_READ|PROT_EXEC) = 0
mmap(0x7f3dff621000, 5023476, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0x865000) = 0x7f3dff621000
exit(127)                               = ?
+++ exited with 127 +++

I'm becoming crazy 😅  I spent hours trying to get more information about where that exit(127) comes from but:

When launching the app with gdb, it never crashes despite 10.000+ runs
I tried using bpftrace, but I see no exit syscall (despite strace showing exit(127))

I'm out of ideas for now.

Which version of UPX?  Run "upx --version", or "strings ./my_app-after-compression", or "vi ./my_app-after-compression" and search for "UPX".
Does the problem happen only with LZMA compression?  Compress again without using "--lma", and run the output.
What is the output from "readelf --segments ./my_app-before-compression"?  The sizes of the [PT_]LOAD segments should match the lengths of the calls to mmap(, length, ,,,).

Can the compressed app be de-compressed offline [offline: not as part of execution of the compressed app itself] by UPX?  upx -d -f -o ./my-app-decompressed ./my-app-compressed

Which version of UPX? Run "upx --version", or "strings ./my_app-after-compression", or "vi ./my_app-after-compression" and search for "UPX".

upx 4.0.2
NRV data compression library 0.84
UCL data compression library 1.03
zlib data compression library <IP_ADDRESS>-motley
LZMA SDK version 4.43

I also tried with a version manually built from the devel branch and the issue is still there.

What is the output from "readelf --segments ./my_app-before-compression"? The sizes of the [PT_]LOAD segments should match the lengths of the calls to mmap(, length, ,,,).

Elf file type is DYN (Shared object file)
Entry point 0x2f93a0
There are 12 program headers, starting at offset 64

Program Headers:
  Type           Offset             VirtAddr           PhysAddr
                 FileSiz            MemSiz              Flags  Align
  PHDR           0x0000000000000040 0x0000000000000040 0x0000000000000040
                 0x00000000000002a0 0x00000000000002a0  R      0x8
  INTERP         0x00000000000002e0 0x00000000000002e0 0x00000000000002e0
                 0x0000000000000019 0x0000000000000019  R      0x1
      [Requesting program interpreter: /lib/ld-musl-x86_64.so.1]
  LOAD           0x0000000000000000 0x0000000000000000 0x0000000000000000
                 0x00000000002f7d58 0x00000000002f7d58  R      0x1000
  LOAD           0x00000000002f8000 0x00000000002f8000 0x00000000002f8000
                 0x000000000056cc81 0x000000000056cc81  R E    0x1000
  LOAD           0x0000000000865000 0x0000000000865000 0x0000000000865000
                 0x00000000004ca534 0x00000000004ca534  R      0x1000
  LOAD           0x0000000000d2f960 0x0000000000d30960 0x0000000000d30960
                 0x0000000000241b78 0x00000000002627c0  RW     0x1000
  DYNAMIC        0x0000000000d30508 0x0000000000d31508 0x0000000000d31508
                 0x00000000000001d0 0x00000000000001d0  RW     0x8
  NOTE           0x00000000000002fc 0x00000000000002fc 0x00000000000002fc
                 0x0000000000000024 0x0000000000000024  R      0x4
  TLS            0x0000000000d2f960 0x0000000000d30960 0x0000000000d30960
                 0x00000000000000e8 0x0000000000000111  R      0x8
  GNU_EH_FRAME   0x0000000000bb8ef8 0x0000000000bb8ef8 0x0000000000bb8ef8
                 0x0000000000041a9c 0x0000000000041a9c  R      0x4
  GNU_STACK      0x0000000000000000 0x0000000000000000 0x0000000000000000
                 0x0000000000000000 0x0000000000000000  RW     0x10
  GNU_RELRO      0x0000000000d2f960 0x0000000000d30960 0x0000000000d30960
                 0x00000000000016a0 0x00000000000016a0  R      0x1

 Section to Segment mapping:
  Segment Sections...
   00
   01     .interp
   02     .interp .note.gnu.build-id .gnu.hash .dynsym .dynstr .rela.dyn .rela.plt
   03     .init .plt .plt.got .text __managedcode __unbox .fini
   04     .rodata .dotnet_eh_table .eh_frame_hdr .eh_frame
   05     .tdata .init_array .ctors .dtors .data.rel.ro .dynamic .got .data __modules .bss
   06     .dynamic
   07     .note.gnu.build-id
   08     .tdata .tbss
   09     .eh_frame_hdr
   10
   11     .tdata .init_array .ctors .dtors .data.rel.ro .dynamic .got

And the corresponding strace output (not the same as the previous one because I recompiled for the tests):
execve("/root/git/dd-trace-dotnet/tracer/src/Datadog.Trace.Tools.dd_dotnet/bin/Release/net7.0/linux-musl-x64/publish/dd-dotnet", ["/root/git/dd-trace-dotnet/tracer"...], 0x7ffef5f64d30 /* 26 vars */) = 0
open("/proc/self/exe", O_RDONLY)        = 3
mmap(NULL, 3055, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fcefedb9000
mprotect(0x7fcefedb9000, 3055, PROT_READ|PROT_EXEC) = 0
readlink("/proc/self/exe", "/root/git/dd-trace-dotnet/tracer"..., 4095) = 118
mmap(0x7fcefedba000, 16331040, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fcefedba000
mmap(0x7fcefedba000, 3112280, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fcefedba000
mprotect(0x7fcefedba000, 3112280, PROT_READ) = 0
mmap(0x7fceff0b2000, 5688449, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0x2f8000) = 0x7fceff0b2000
mprotect(0x7fceff0b2000, 5688449, PROT_READ|PROT_EXEC) = 0
mmap(0x7fceff61f000, 5023028, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0x865000) = 0x7fceff61f000
exit(127)                               = ?
+++ exited with 127 +++

Starting after readlink("/proc/self/exe", the last 3 mmap seems correct, however I don't know what the first one maps to (mmap(0x7fcefedba000, 16331040, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0), I see no section of that size)

Can the compressed app be de-compressed offline [offline: not as part of execution of the compressed app itself] by UPX? upx -d -f -o ./my-app-decompressed ./my-app-compressed

Yes, and I haven't been able to reproduce the crash with the decompressed app.

strace output in a successful run:
execve("/root/git/dd-trace-dotnet/tracer/src/Datadog.Trace.Tools.dd_dotnet/bin/Release/net7.0/linux-musl-x64/publish/dd-dotnet", ["/root/git/dd-trace-dotnet/tracer"...], 0x7ffd86da5cf0 /* 26 vars */) = 0
open("/proc/self/exe", O_RDONLY)        = 3
mmap(NULL, 3055, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdc03514000
mprotect(0x7fdc03514000, 3055, PROT_READ|PROT_EXEC) = 0
readlink("/proc/self/exe", "/root/git/dd-trace-dotnet/tracer"..., 4095) = 118
mmap(0x7fdc03515000, 16331040, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fdc03515000
mmap(0x7fdc03515000, 3112280, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fdc03515000
mprotect(0x7fdc03515000, 3112280, PROT_READ) = 0
mmap(0x7fdc0380d000, 5688449, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0x2f8000) = 0x7fdc0380d000
mprotect(0x7fdc0380d000, 5688449, PROT_READ|PROT_EXEC) = 0
mmap(0x7fdc03d7a000, 5023028, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0x865000) = 0x7fdc03d7a000
mprotect(0x7fdc03d7a000, 5023028, PROT_READ) = 0
mmap(0x7fdc04245000, 2368728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0xd2f000) = 0x7fdc04245000
mprotect(0x7fdc04245000, 2368728, PROT_READ|PROT_WRITE) = 0
mmap(0x7fdc04488000, 131360, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fdc04488000
open("/lib/ld-musl-x86_64.so.1", O_RDONLY) = 4
[skipping everything else]

Two more things:

I confirm that bpftrace sees no exit or exit_group syscall when the process exits with code 127. I really don't know how to find what causes the process to exit.
I can't reproduce the issue when ASLR is turned off (echo 0 | tee /proc/sys/kernel/randomize_va_space)

I had a breakthrough, I finally understand why I wasn't able to capture the error in gdb. I noticed earlier that the crash never occurs when ASLR is disabled, well it turns out gdb disables ASLR by default: https://visualgdb.com/gdbreference/commands/set_disable-randomization
Now I have a memory dump. Hopefully it can shed some light on what's happening.

For what it's worth, the disassembly right before the exit syscall (catch syscall exit in gdb) is:
   0x00007f8afef5c159:  pop    %rdi
   0x00007f8afef5c15a:  pop    %rsi
   0x00007f8afef5c15b:  push   $0xb
   0x00007f8afef5c15d:  pop    %rax
   0x00007f8afef5c15e:  jmp    *-0x8(%r14)
   0x00007f8afef5c162:  mov    $0x9,%al
   0x00007f8afef5c164:  mov    %rcx,%r10
   0x00007f8afef5c167:  movzbl %al,%eax
   0x00007f8afef5c16a:  syscall
=> 0x00007f8afef5c16c:  cmp    $0xfffffffffffff000,%rax

IMO it looks very similar to this:
        pop %arg1  # ADRU: unfolded upx_main etc.
        pop %arg2  # LENU
        push $__NR_munmap; pop %rax
        jmp *-NBPW(%r14)  # goto: syscall; pop %rdx; ret

mmap: .globl mmap
        movb $ __NR_mmap,%al
        movq %arg4,%sys4
sysgo:  # NOTE: kernel demands 4th arg in %sys4, NOT %arg4
        movzbl %al,%eax
        syscall

It's hard to tell if we come from mmap: or from the jmp sysgo in read::
read: .globl read
        movb $ __NR_read,%al; 5: jmp sysgo

In any case, I'm still struggling to understand how this translates into an exit(127) syscall.
rax is ffffffffffffffda, which could indicate that a syscall returned ENOSYS:
#define ENOSYS          38      /* Invalid system call number */

Some of the relevant source is in src/stub/src/amd64-linux.elf-fold.S. Label sysgo is a tail merge of many syscalls.  Most of them are part of a daisy-chained sequence of 'jmp', which makes 3-byte subsequences of the daisy chain identical, and hence more compressible without having to use a filter. For example,
write: .globl write
        mov $__NR_write,%al; 5: jmp 5f
read: .globl read
        movb $ __NR_read,%al; 5: jmp sysgo

There are also calls to exit(127) in src/stub/src/amd64-linux.elf-main.c, via err_exit(2); etc.  To save space, the non-DEBUG compilation turns them all into exit(127).

Comparing the output of strace from a failing run
    <<snip>>
mmap(0x7fceff0b2000, 5688449, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0x2f8000) = 0x7fceff0b2000
mprotect(0x7fceff0b2000, 5688449, PROT_READ|PROT_EXEC) = 0
mmap(0x7fceff61f000, 5023028, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0x865000) = 0x7fceff61f000
exit(127)                               = ?

with output from a successful run
      <<snip>>
mmap(0x7fdc0380d000, 5688449, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0x2f8000) = 0x7fdc0380d000
mprotect(0x7fdc0380d000, 5688449, PROT_READ|PROT_EXEC) = 0
mmap(0x7fdc03d7a000, 5023028, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0x865000) = 0x7fdc03d7a000
mprotect(0x7fdc03d7a000, 5023028, PROT_READ) = 0
     <<snip>>

shows that this particular failure is somewhere between the mmap(ADDR1, 5023028,,,,) and the mprotect(ADDR1, 5023028, ), where the ADDR1 varies due to stack locaktion.  The fixed end of the stack always is randomized (even with ASLR off), and mmap(0, ,,,) is allocated in descending order below the maximum variable end of the stack, again with random guard pages between consecutive mmap(0, ....  The order of the blocks is the same, but the stack location varies, and the space between blocks also varies.

I also tried with a version manually built from the devel branch and the issue is still there.
Because you report that a manual build succeeded, then I invite you to take the next step. In src/stub/src/amd64-linux.ef-main.c, change
#if 1  //{  save space

to
#if 0 //{  save space

which will save debugging time.  Then the rebuild goes:
$ (pushd src/stub; make)
$ (pushd src; make)

and you should then be able to distinguish all the
                err_exit(2);
                err_exit(3);
            err_exit(4);
            err_exit(5);
                err_exit(7);
                err_exit(9);
            err_exit(18);
            err_exit(19);

in amd64-linux.elf-main.c.

Another failure for comparison:
unpackExtent xi=(0xd4 0x7fc9ffff9100)  xo=(0x350 0x7ffc51573d78)  f_exp=0x7fca004031ff  f_unf=0x0
xread x.size=0xd4  x.buf=0x7fc9ffff9100  buf=0x7ffc51573cb0  count=0xc
xread done
h.sz_unc=0x350  h.sz_cpr=0xc8  h.b_method=0xe
upx_main1  .e_entry=0x2fa350  p_reloc=0x7ffc51573d70  *p_reloc=0x7fc9ffff9000  PAGE_MASK=0xfffffffffffff000
do_xmap reloc=0x7fc9ff064000

auxv_up 3  0x7fc9ff064040
  33  0x7ffc515f6000
  51  0x6f0
  16  0x1f8bfbff
  6  0x1000
  17  0x64
  3  0x7fc9ffff9040
LOAD p_offset=0x0  p_vaddr=0x0  p_filesz=0x2f81f8  p_memsz=0x2f81f8  p_flags=0x4  prot=0x1

auxv_up 3  0x7fc9ff064040
  33  0x7ffc515f6000
  51  0x6f0
  16  0x1f8bfbff
  6  0x1000
  17  0x64
  3  0x7fc9ff064040

auxv_up 5  0xe
  33  0x7ffc515f6000
  51  0x6f0
  16  0x1f8bfbff
  6  0x1000
  17  0x64
  3  0x7fc9ff064040
  4  0x38
  5  0x3

auxv_up 4  0x38
  33  0x7ffc515f6000
  51  0x6f0
  16  0x1f8bfbff
  6  0x1000
  17  0x64
  3  0x7fc9ff064040
  4  0x38
mmap addr=0x7fc9ff064000  mlen=0x2f81f8  offset=0x0  lo_frag=0x0  prot=0x1
unpackExtent xi=(0x40a0f4 0x7fc9ffff9100)  xo=(0x2f81f8 0x7fc9ff064000)  f_exp=0x7fca004031ff  f_unf=0x7fc9ff062005
xread x.size=0x40a0f4  x.buf=0x7fc9ffff9100  buf=0x7ffc51573be0  count=0xc
xread done
h.sz_unc=0x350  h.sz_cpr=0xc8  h.b_method=0xe
unpackExtent xi=(0x40a020 0x7fc9ffff91d4)  xo=(0x2f7ea8 0x7fc9ff064350)  f_exp=0x7fca004031ff  f_unf=0x7fc9ff062005
xread x.size=0x40a020  x.buf=0x7fc9ffff91d4  buf=0x7ffc51573be0  count=0xc
xread done
h.sz_unc=0x2f7ea8  h.sz_cpr=0x3c746  h.b_method=0xe
j=0xfffffffffffc38bc  out_len=0x0  &h=0x7ffc51573be0
err_exit 7

j is always negative, but the exact value changes from one run to another. I'm trying to understand where that value comes from. I'm guessing from this bit in amd64-expand.S:
eof:
        pop %rax  // MATCH_53 dst_orig
        sub %rax,%rdi  // dst -= original dst
        pop %rax  // MATCH_52 src_EOF
        pop %rcx  // MATCH_51 &dstlen
        movl %edi,(%rcx)  // actual length used at dst  XXX: 4GB
        sub %rsi,%rax  // src -= eof;  // return 0: good; else: bad
        ret

But tracing those values back is going to be though 😅

At eof: the de-compression for the current [PT_]LOAD has finished.  The code at eof: is checking, "Did the de-compressor  finish at the right place?"  Before starting the de-compression of the current PT_LOAD,  the expected EndOfFile (end of compressed input) was calculated as the sum of the starting address of compressed data plus the known length of compressed data.  This value src_EOF is saved on the stack, with code tracking tag MATCH_52 to help you find the place in the source which pushed it.  Register %rsi has the actual EOF value when the de-compressor finished.  If the subtraction does not produce 0, then that's an error.  [We also know the expected length of output from the de-compressor, and the actual length that was produced; but the code does not check those. See MATCH_51.]
So one thing to try is to be sure that the expected input EOF never changes while the de-compressor is running.  Find the PUSH of MATCH_52, place a hardware watch point on that stack location (4 or 8 bytes) after the PUSH, and hope for no changes until eof:.  Similarly, the expected length of de-compressed output at(%rcx) should not change, and also should match the actual length of de-compressed output (but is not checked here.)  If expectations are not met, then the lzma de-compressor has a bug, or the input to de-compression was clobbered.

h.sz_unc=0x2f7ea8  h.sz_cpr=0x3c746  h.b_method=0xe
j=0xfffffffffffc38bc  out_len=0x0  &h=0x7ffc51573be0

The value of j is -0x3c744 which is only 2 away from the size of the compressed input h.sz_cpr = 0x3c746.  The out_len is zero.  So the first 2 bytes consumed by the de-compressor were incorrect header values, and the de-compressor quit without producing any de-compressed bytes at all.

Find the PUSH of MATCH_52, place a hardware watch point on that stack location (4 or 8 bytes) after the PUSH, and hope for no changes until eof:

Unfortunately, since it takes ~1000 runs to reproduce the issue, it's a bit difficult to do 🤔

The value of j is -0x3c744 which is only 2 away from the size of the compressed input h.sz_cpr = 0x3c746. The out_len is zero. So the first 2 bytes consumed by the de-compressor were incorrect header values, and the de-compressor quit without producing any de-compressed bytes at all.

Interesting. Thanks to the debug output I should be able to locate the buffer in the coredump. Then I should be able to check what the header looks like I'll give it a try tomorrow.

I tried dumping xi->buf in a "working" run. It starts with:
0x1a 0x3 0x0 0x79 0x83 0xbf 0xb1 0x1f 0xd1 0x75 0x5f 0xa3 0xd1 0x53 0x53 0x90 0xc8 0x98

Then I compared with what I have in the memory dump:
00007fbd`fffa9926  91 fe 56 00 c7 bc 1c 00-0e 00 00 00 1a 03 00 79  ..V............y
00007fbd`fffa9936  83 bf b1 1f d1 75 5f a3-d1 53 53 90 c8 98 37 21  .....u_..SS...7!

Basically there are 12 bytes of unknown origin (91 fe 56 00 c7 bc 1c 00-0e 00 00 00) and then the LZMA block starts. So now we need to figure out why the start of the block is offset by 12 bytes.

I'm puzzled, the content of xi->buf looks identical in the working and crashing cases (I initially wrote that they were offset by 12 bytes, but that's because I didn't realize xread was was updating the xi->buf pointer).
0x1a 0x3 0x0 0x79 0x83 0xbf 0xb1 0x1f 0xd1 0x75 0x5f 0xa3 0xd1 0x53 0x53 0x90 0xc8 0x98 0x37 0x21 0x58 0x5 0xc1 0x91 0x16 0xa7 0x68 0x46 0x6f 0x40 0x8a 0xd4 0x42 0x2 0x2e 0x1b 0x10 0x46 0xe3 0x14 0xb6 0xb2 0xed 0xaf 0x7e 0x2a 0xa2 0x99 0x97 0x1e

So it looks like the LZMA extraction method fails despite the content being identical. Given that it fails only with ASLR, I assume there's some subtle alignment-dependent error in the assembly code, but it's going to be tricky to pinpoint...

It may be helpful to print the layout of the address space (the contents of /proc/self/maps) at the time of the failure. This might give some clue about adjacency or overlap.  A failure rate of 1 in 1000 also suggests a cache coherency issue, but x86* is supposed to have automatic cache coherence between data cache and instruction cache, except for actual filling of the instruction decode prefetch buffer, which is 8 bytes wide (or 16 bytes for AVX2 ?)  What is the actual hardware?   For instance:
$ </proc/cpuinfo sed 5q
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 94
model name	: Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz

The de-compressor is single-threaded.
Several years ago my apps ran on a fleet of 10,000 machines with 90% CPU utilization 22 hrs/day. (The other 2 hours were refreshes of the local copy of the database).  About 2 machines per year failed: the datapath between RAM and CPU randomly dropped bit 2 (positional value 4).  We could tell because the result of strcpy was not equal to the input in several places of the dumps.

I have looked on the Actions page https://github.com/MichalStrehovsky/PublishAotCompressed/actions/runs/6194793251 but cannot identify a file dd-dotnet-debug.  Please give a URL, or email it to me as an attachment.  It should be quick to find my address.

@jreiser The crashing app is not part of that repository. I sent you a mail to the address I found in the source code, with the file attached.

@kevingosse  Email and attachment received; thank you! Looking...

Do you have a simple way of regenerating the lzma_d_cs.S and lzma_d_cf.S files? I assume they come from upx-lzma-sdk. It looks like to me that the upx-lzma-sdk is stateless, and I consider the "same code with same data produces different results" hypothesis as a last resort. Therefore, my favorite theory right now is that the bit in lzma_d.S that initializes CLzmaDecoderState somehow ends up producing a different value (there are some bits that are apparently dependent on alignment, so maybe? andq $~0<<6,%rbx  // 64-byte align).
The simplest way to verify that theory would be to dump the content of the CLzmaDecoderState struct at the beginning of LzmaDecode, but it's hard to do without recompiling upx-lzma-sdk (I mean, in theory I could add some assembly code in lzma_d.S  to dump the value, but I hope there's a better way).

The source begins at src/stub/src/c/lzma_d_c.c and winds through vendor/lzma-src.  See also src/stub/src/c/Makevars.lzma.  See also src/stub/src/arch/*/.../lzma_d_c[fs].d.  I once explained this in a Comment to some Issue here on Github, but I cannot find it now. (No convenient way to download all Issues from GitHub.) The comment had text something like "not a shell script" and "thinking is required".

https://github.com/upx/upx/issues/582  Rebuilding LZMA decompression stub

I haven't seen any difference in the state. However, I've been able to pinpoint the failure to RC_TEST:
#define RC_TEST { if (Buffer == BufferLim) return LZMA_RESULT_INPUT_OVERRUN; }

I'm trying to narrow it down, but I was very surprised to see that inSize varies wildly from one execution to the other. Is that expected?

inSize is the compressed size of each [PT_LOAD]. For one of the cases recently, the sizes are
  unc     cpr
2f7ea8   3c746
56fe91  1cbcc7
4c6978  19f86d
241c98   6236f

where unc is the uncompressed size of the PT_LOAD (can be seen in readelf --segments dd-dotnet-debug.uncpr), and cpr is the compressed size. The first 0x350 bytes, which are part of the first PT_LOAD, are separate because they contain the Elf64_Ehdr and _Phdrs, which are used to manage the re-construction of the rest at run time.

inSize is the compressed size of each [PT_LOAD]

So yeah it shouldn't change from one execution to another.
I'm currently at ~10k executions without a crash, I'm fairly confident this was the issue. I'll let it run a few hours to be 100% sure.


Add additional info about React.memo & React.PureComponent semantic d…

I think this will just lead people to use PureComponent ("it compares state too, so it must be better!")
Not sure that's the message we want to send, even if it's technically accurate.

Hm, we can clarify it here that React.memo is preferred over PureComponent. We may maybe change the placement of this clarification, but IMHO it should be clarified somewhere - knowing PureComponent semantics I was slightly surprised that React.memo is working differently (before I've looked at comparator signature - then it was pretty obvious that this doesn't compare state).
Basically it's similar case to what we had in emotion recently https://github.com/emotion-js/emotion/pull/1027#discussion_r235660774 . Even though we dont recommend using something in certain way, we should document how things work - otherwise it's easier to miss it when looking through documentation and this might waste somebody's time pretty badly.

Maybe:

React.memo is a higher order component. It's similar to React.PureComponent but for function components instead of classes. Unlike React.PureComponent (which compares both props and state), React.memo only compares component's props when deciding whether to re-render.

@gaearon I've adjusted the text according to ur suggestion


Split the CI tests (matrix, smoke, etc.) into discrete cluster providers

Several of the CI tests are combining various cluster providers into one matrix. The issue with this is that this is not how it would be used in practice. Different parameters are going to be used with different providers, and the CI testing needs to ensure that extraneous parameters are not required in all cases.
i.e. we shouldn't require (or include) GKE parameters when creating Kubeception clusters
It would be better to just remove the provider matrix (confusingly and inconsistently called "distribution") altogether, and just have individual tests for different providers.

Also change all instances of "distribution" => "provider", which should be minimal after the tests are redone.


Errors in merged method header

Corresponding class test case 6
Base :
class a {
    private b(a:any):void{
        //do something
    }
}

Patch:
class a {
    public b(a:any):void{
        //to something
    }
}

merged with patchOverride=false yields the method header
private public b(a: any): void

Tests are green


Fix:  loading definitions if lack in the revision when calculate dispatch stage of trait.

Description of your changes
When we add a trait to a component with an inline policy, the trait's definition isn't stored in the application revision. As a result, to determine if the traitDefinition's stage is predispatch or postdispatch, we must retrieve it from the cluster.
This pr is a fix for https://github.com/kubevela/kubevela/pull/5416

Fixes #
I have:

[ ] Read and followed KubeVela's contribution process.
[ ] Related Docs updated properly. In a new feature or configuration option, an update to the documentation is necessary.
[ ] Run make reviewable to ensure this PR is ready for review.
[ ] Added backport release-x.y labels to auto-backport this PR if necessary.

How has this code been tested

Special notes for your reviewer

can you describe why do we need this PR?

When we add a trait to a component with an inline policy, the trait's definition isn't stored in the application revision. As a result, to determine if the traitDefinition's stage is predispatch or postdispatch, we must retrieve it from the cluster

/cc @FogDong I think this PR is a temporary fix as it possibly means when introducing new trait via inlinePolicy we would get the definition multiple times. It would be better if the design of our new TemplateLoader could use cache to optimize this. :)

/cc @FogDong I think this PR is a temporary fix as it possibly means when introducing new trait via inlinePolicy we would get the definition multiple times. It would be better if the design of our new TemplateLoader could use cache to optimize this. :)

Actually I think we shouldn't get trait from the cluster for inline policy. Instead, the trait that used in the policy should also be stored in the revision.

No, it is associated the mechanism of loading definitions so it is out of the scope of workflowstep itself.

Is there a way to achieve it in one step? Let's not use temporary solutions. @Somefive @FogDong @wangyikewxgm

It is a temporary solution but by far we do not have better solutions.


Update Realtime continuous random/sensor data

It would be nice to update the realtime graph plot example for this library.

done


Invoke-RestMethod -MaxRelLink should be -MaximumRelLink

This is a new cmdlet shipping with 6.0.0-beta.2. The current parameter name is -MaxRelLink, but it should be spelled out as -MaximumRelLink.
There is other precedent for using Maximum instead of Max:
gcm -ParameterName max* -syntax | sls 'max'

rel should stay "abbreviated" because the term is actually a "rel link" (per this IETF spec).
/cc @SteveL-MSFT

@joeyaiello it's currently -MaximumFollowRelLink https://github.com/PowerShell/PowerShell/blob/master/src/Microsoft.PowerShell.Commands.Utility/commands/utility/WebCmdlet/Common/InvokeRestMethodCommand.Common.cs#L57

Was just going off of the changelog line item. Thanks!


Support EAP Dist download based on EAP Maven Repo coordinates.

EAP Dist is not part of the Maven Repo, adding gav for dist same as JBoss AS but using the EAP Version.


file-name-matches-element: TypeError: Cannot read properties of null (reading 'name')

Linted Line:
window.customElements.define('foo-bar', class extends HTMLElement {

Error:
TypeError: Cannot read properties of null (reading 'name')
Rule: "custom-elements/file-name-matches-element"
    at :matches(ClassDeclaration, ClassExpression)[superClass.name=/HTML.*Element/] (node_modules/eslint-plugin-custom-elements/lib/rules/file-name-matches-element.js:51:30)
    at ruleErrorHandler (node_modules/eslint/lib/linter/linter.js:1093:28)
    at node_modules/eslint/lib/linter/safe-emitter.js:45:58
    at Array.forEach (<anonymous>)
    at Object.emit (node_modules/eslint/lib/linter/safe-emitter.js:45:38)
    at NodeEventGenerator.applySelector (node_modules/eslint/lib/linter/node-event-generator.js:297:26)
    at NodeEventGenerator.applySelectors (node_modules/eslint/lib/linter/node-event-generator.js:326:22)
    at NodeEventGenerator.enterNode (node_modules/eslint/lib/linter/node-event-generator.js:340:14)
    at CodePathAnalyzer.enterNode (node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js:795:23)
    at node_modules/eslint/lib/linter/linter.js:1128:32

Thanks for the issue! I can get this fixed up next week unless you would like to contribute a fix?
It looks like we check the identifier node but a class expression in argument position doesn’t have one so it would need to be guarded with a ?.

I guess I can. So in this case, no name can be derived, so we skip rule basically for this file?

Figured it out - https://github.com/github/eslint-plugin-custom-elements/pull/58


Can't download or install

_**Detected at: 21/09/2024 10:25:26
Web address: https://objects.githubusercontent.com/github-production-release-asset-2e65be/528385436/e61188f9-2414-4388-98d1-4cd8b188cc88?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20240921%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240921T092526Z&X-Amz-Expires=300&X-Amz-Signature=45867d8824ed457b407c257c1c22773f007d21dd834f9579f141005cbf4b3dbf&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B filename%3Dsetup_stable.exe&response-content-type=application%2Foctet-stream
Reason: object is infected VHO:Backdoor.Win32.Convagent.gen**_
i paused the protection and managed to download it but the the netframe work then had an issue, and im sure once the protection starts up again it will tell me there is a problem and i need to disinfect.

This seems like a Windows Defender false positive. Beyond that I am not sure what could possibly be triggering this. Try downloading the dll directly and installing instead of using the setup exe's. You will likely need to unblock the dll but this should avoid the windows defender error.


Create a roster of team roles and good first issues with links

Overview
We are creating a tile(s) to accommodate a list of all roles and shortcut links so that team members can easily see what issues are available for their roles and team leads can monitor the number of items in the prioritized backlog.
Action Items

[x] Add list of all roles (9)
[ ] Assign good first issue (per role)

I had to create two tiles since there are character limits per tile.

This needs review. There are a few remaining w/o "good first issue."


Question about loss

Hi, I realize that you use Chamfer loss here which always has a positive value. However, the loss curve shown in figure here has a negative value. That really confuses me.
I want to know whether the loss used in the figure is Chamfer loss or other loss?

Hi,
It's because we plot the log of the chamfer distance. It helps to see when the network has converged.
Let me know if you have more feedback / question.
Best regards,
Thibault

Thanks, Thibault. It is clear for me.


Add BQ specific configurations

Description
Add new configurations for the following properties, specific to Big Query adapter (listed here):

[x] labels & policy_tags
[x] hours_to_expiration
[x] kms_key_name
[x] grant_access_to

Related issues

Closes #18
Closes #11

Thank you @kodaho!

Thank you @kodaho!


[WFRP4e System] Display Armour Items in V2 Combat Tab

Currently equipped armour items do not display in the combat tab like in the old V1 sheet, where they appear under each body part's subgrouping. I think it is useful to see since you can qualities and flaws and would allow you to toggle visors on the Archives 3 helmets once they work correctly.From: rabidcatcakefoundry: 12.331wfrp4e: 8.2.0wfrp4e-altdorf: 6.0.1wfrp4e-archives1: 6.0.1wfrp4e-archives2: 6.0.1wfrp4e-archives3: 6.0.0wfrp4e-core: 6.0.1wfrp4e-dotr: 6.0.1wfrp4e-eis: 6.0.2wfrp4e-empire-ruins: 6.0.1wfrp4e-horned-rat: 6.0.1wfrp4e-middenheim: 6.0.2wfrp4e-owb1: 6.0.1wfrp4e-owb2: 6.0.1wfrp4e-pbtt: 6.0.0wfrp4e-rnhd: 6.0.2wfrp4e-salzenmund: 6.0.1wfrp4e-soc: 6.0.2wfrp4e-starter-set: 6.0.1wfrp4e-ua1: 6.0.1wfrp4e-up-in-arms: 6.0.2wfrp4e-wom: 6.0.2wfrp4e-zoo: 6.0.0Active Modules: lib-wrapper, module-credits, quick-insert, socketlib, warhammer-lib

Core Armour is displayed on the Sheet V2, it's the modified Armour from Archives III that is not displayed.
I would consider it a bug


Deploy script doesn't work anymore

@zelima as I know we've migrated datahub services so the deploy script in Travis doesn't work anymore. If this is correct, I will just remove deploy part from .travis.yaml since we're not doing CD/CI anymore.

FIXED and build is passing now


Add more fcntl and seal constants for Android/Linux

@alexcrichton I wanted to ask for your help here. The linux/fcntl.h and fcntl.h headers cannot be included simultaneously, so to test them I generated an additional binary just to test linux/fcntl.h includes. The file generation is working, but I'm not certain what the best way to hook things up in CI is. I think the best solution here is to generate this test executable for all platforms only including the appropriate constants on the correct systems and then have CI run both the main executable libc-test and also linux_fcntl on all platforms. This should just take some modifications to ci/run.sh if I'm understanding that correctly, is that what I should do? I want to make sure this is extensible because I plan on doing something similar to resolve #711.

:umbrella: The latest upstream changes (presumably #722) made this pull request unmergeable. Please resolve the merge conflicts.

Yeah this seems pretty reasonable to me! To suggest a way to simplify this, though, perhaps:

Instead of binaries, these could be tests/*.rs-style tests that are listed as harness = false
We could use Cargo's "test runner" support to specify how to execute binaries

I think if we do that it means that cargo test in the libc-test folder should "just work"?

@alexcrichton I implemented that and it's definitely a lot nicer. This also sets us up nicely for running additional specific tests (like for #711) for all platforms.
There are still build failures on OpenBSD, but that's a really complicated setup. Any way I could get some help debugging it? Comparing a good run and my recent failed run didn't reveal much. I think OPT_LEVEL being undefined may be part of the problem, but I don't see that anywhere in the project.

Ah drat I thought we removed some of these pieces awhile ago...
The OpenBSD testing is way crazier than everything else because it generates tests on the host and compiles them on the target (in the emulator). I think we should just jettison all that though, it's crazy complicated and not really worth it :(

the OPT_LEVEL problem isn't just that cargo in the image is out-of-date ? the used image is OpenBSD 6.0 so cargo should be 0.10.0.
I could try to update the image to 6.1 (latest stable). It will be cargo 0.16.0 and rustc 1.16.0.
@alexcrichton feel free to ping me for OpenBSD related issues.

@semarie my worry isn't necessarily exactly what's happening here but rather that the mechanism of testing OpenBSD is pretty crazy in this repo, and I think it's not pulling its weight any more. All other platforms cross-compile from linux and then we figure out how to emulate the binary, but we can't cross-compile to OpenBSD which makes it too hard to get a program running in there.

Been a few days on this, do we know what direction we want to go with this? I'm willing to help push this forwards, but it looks like we are at an impasse in terms of direction here.

I think let's just remove OpenBSD support for now, and we can continue to shim how the other platforms are tested.

:umbrella: The latest upstream changes (presumably #735) made this pull request unmergeable. Please resolve the merge conflicts.

I've actually gone ahead and removed OpenBSD from CI as we needed to do it anyway to get CI working again

Sounds good. Hopefully OpenBSD gets some official rustup/cargo support (whatever it is that's missing) so we can get better CI support for it.
Anyways, I updated this PR and it passed all tests.

To avoid duplication of all the various test invocations, can this use the runner support now present in Cargo to override how tests are executed?

Is that different from the harness = false I already set?

Oh it's actually different from that (we'll want that as well though). This is related to the runner configuration on this page

Any way we can leave that out of this PR? I'm already a little out of my understanding and I don't really understand what you're asking me to do.

I realized after thinking about this for a bit that this is the correct fix, as cargo knows the exact names of the executables and it solves our ios problem. I have a version here that uses a custom runner in CI for non-Android/NetBSD targets. This is because those targets use a simulator where executing the binary and receiving the input is not trivial.

I think the solution to the Android and NetBSD targets is something that looks very similar to the iOS program at ci/ios/deploy_and_run_on_ios_simulator.rs

Ah sorry I started working on this locally and didn't get a chance to push it up. This wasn't quite what I had in mind as I personally like to isolate all target-specific information as much as possible.
I believe I've handled everything except Android, which I'll try to get to soon but if you'd like to try to tackle it then it should look similar to the rumprun solution.

I'll try to hack at this tomorrow for Android and see what I can come up with.

@bors: r+
Let's see if that works...

:pushpin: Commit d424022 has been approved by alexcrichton

:hourglass: Testing commit d4240220057afe518921912c0832f70d67b19de3 with merge<PHONE_NUMBER>4cf9dc0cef255779a1602fe7f61f61...

:broken_heart: Test failed - status-travis

:pushpin: Commit b7902df has been approved by alexcrichton

@bors: r+

:hourglass: Testing commit b7902df689b11af70dd05e04430ad1d4c4afbb39 with merge f9077b8c9851b4e1b09cfc5a0991e2463edab9fb...

:boom: Test timed out

@bors: retry

It doesn't seem like bors is doing anything as Travis doesn't have any active builds. This applies to #737 as well.

:hourglass: Testing commit b7902df689b11af70dd05e04430ad1d4c4afbb39 with merge be1c58405aacfeaa1e255c819b60dafd206f8d00...

:boom: Test timed out

@bors: retry

:hourglass: Testing commit b7902df689b11af70dd05e04430ad1d4c4afbb39 with merge 0faac5ba6cc80cb90b32864d3249690a3f93a283...

:broken_heart: Test failed - status-travis

Failed due to timeout, but at least Travis has recently fixed the issues with the Mac builds, but there still is a massive backlog.

@bors: retry
On Wed, Aug 23, 2017 at 3:42 PM, Susurrus<EMAIL_ADDRESS>wrote:

Failed due to timeout, but at least Travis has recently fixed the issues
with the Mac builds, but there still is a massive backlog.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rust-lang/libc/pull/720#issuecomment-324456616, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAD95Ef7j0RmtZxdXHXQv2HOfdONTVH6ks5sbI7MgaJpZM4Ozv74
.

:hourglass: Testing commit b7902df689b11af70dd05e04430ad1d4c4afbb39 with merge 3e81e5e321c9c3d10a645a2b7d51be5556a8072b...

This failed again on Travis with spurious errors on the Mac builders. Travis's backlog is getting down to a reasonable number, so trying this again will likely be successful.

:boom: Test timed out

@bors: retry
On Aug 24, 2017 2:04 AM, "bors"<EMAIL_ADDRESS>wrote:

💥 Test timed out
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rust-lang/libc/pull/720#issuecomment-324551851, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAD95ADPnHrKxhqOgKrVjALhUQAkFn8dks5sbSCCgaJpZM4Ozv74
.

:hourglass: Testing commit b7902df689b11af70dd05e04430ad1d4c4afbb39 with merge e717ea6305ccc01b814d3916c3ddfdf00bdc6c50...

:boom: Test timed out

@bors: retry
On Aug 24, 2017 7:04 PM, "bors"<EMAIL_ADDRESS>wrote:

💥 Test timed out
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rust-lang/libc/pull/720#issuecomment-324789489, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAD95C3ZqId1RY0JMZmTilqJaEbJ1M2sks5sbg-UgaJpZM4Ozv74
.

:hourglass: Testing commit b7902df689b11af70dd05e04430ad1d4c4afbb39 with merge 2a322c716ce7686eee4117146207af53140d8b0c...

:sunny: Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing 2a322c716ce7686eee4117146207af53140d8b0c to master...

Omg it finally happened! Travis really needs to up their build slaves for Mac.
Anyways, thanks for staying on this @alexcrichton!