(PDB-3566) Fix the catch-all for command processing errors

The top-level exception handler used in command processing threads missed most
ExceptionInfo exceptions; this includes schema validation errors.

Test PASSed

@zak-kent care to give this a look?

Test PASSed

Test PASSed

Looks good, so far as I can tell :)
I do have a few questions around some of the syntax used in the test.

I looked up the docs for the slingshot/throw+ and it looks like a better way to catch errors with more informative messages. Is this correct?

Not sure on what the ~@body part of the test on line 237 is doing. Tried to look up definitions but couldn't find any.

Last thing is the # mark after the e. Is this a naming convention we use for exceptions when we catch them?

Thanks for the help!

I looked up the docs for the slingshot/throw+ and it looks like a better way to catch errors with more informative messages. Is this correct?
yes, fsvo 'better'

Not sure on what the ~@body part of the test on line 237 is doing. Tried to look up definitions but couldn't find any.
Last thing is the # mark after the e. Is this a naming convention we use for exceptions when we catch them?

Both of these are special macro syntax. See http://www.braveclojure.com/writing-macros/

Sweet! Thanks


cpu_uptime_version_drives.sh lock machine

when I run cpu_uptime_version_drives.sh manually all seems well until I access the /var/log drive.  This drive is mapped to:
/var/db/system/syslog-5ece5c906a8f4df886779fae5cade8a5
after I cd to the directory and do an 'ls', I am not longer able to use the terminal.  I cannot log in.  If I have another session open I am fine, until I access the /var/log directory.

If I 'exit' before "#Get Drive info" I am fine.

Hi, what happens if you run sysctl -n kern.disks directly? what version of FreeNAS are you running? why are the events related? as in why are you running the script then going to that directory? the scripts are meant to be on a cron schedule, with syslog being forwarded to Splunk. Cheers

here are your answers:
[root@freenas] ~/TA-SH_files_for_freenas# sysctl -n kern.disks
ada0 da7 da6 da5 da4 da3 da2 da1 da0
[root@freenas] ~/TA-SH_files_for_freenas# cat /etc/version
FreeNAS-9.3-STABLE-201602031011
[root@freenas] ~/TA-SH_files_for_freenas#
When I first ran the scripts it locked up my machine.  I was looking at
/var/log for details and that is when I noticed the issue.
I seem to be able to run:
smartctl -a /dev/$i
on each of the devices with out issue.
Frank
On 02/18/2016 1:56 am, John wrote:

Hi, what happens if you run sysctl -n kern.disks directly? what version of FreeNAS are you running? why are the events related? as in why are you running the script then going to that directory? the scripts are meant to be on a cron schedule, with syslog being forwarded to Splunk. Cheers
--
Reply to this email directly or view it on GitHub [1].

Links:
[1]
https://github.com/J-C-B/freenas_splunk/issues/22#issuecomment-185569446

Unable to replicate on several machines (Physical and virtual)

Thank you for looking in to it.


while scanning a double-quoted scalar; found unknown escape character

Hey,
I'm using the master example configuration .yaml from doc/cyanite.yaml. Guess following line is producing an error:
engine:
  rules:
    "web.*\.cpu": [ "5s:1h", "30s:1d" ]
    default: [ "5s:1h" ]

10:38:00.815 [main] WARN  io.cyanite - uncaught exception
org.yaml.snakeyaml.scanner.ScannerException: while scanning a double-quoted scalar; found unknown escape character .(46)

Cheers,
Szop

Hi @szop85, thanks for reporting this, there was a typo in the example config, in this case the backslash should be escaped. I updated the example config.


[bug][question] - wrapping native promise by DexiePromise leads to errors

Hi, I haven't investigated deeply, but if I try to use another library with own Promise wrapper together it leads to errors;
Have you faced with this issue ?
TypeError: Method Promise.prototype.then called on incompatible receiver #<KeycloakPromise>
Unhandled rejection: Error: [object Object]
From previous:
    at DexiePromise.then ....

It could be if the alternate promise polyfill is loaded after dexie is included and then replaces window.Promise with it. Try if the error goes away by including the promise polyfill before including dexie.

If this error occur, check that there aren't multiple versions of dexie running in your app:
npm ls dexie

Verify that the same version of dexie is used across the dependency tree. 3rd part libraries that depend on dexie shall list it in peerDependencies and not in dependencies to avoid this.


Data type mismatched for domiciliation field

https://github.com/webeweb/pappers-library/blob/ca1b19bef8fd5f654be0d32da2c3f4d7dba94a93/src/Model/Etablissement.php#L297
Firstly, thank you for the open source.
I'm having the issue where the field domiciliation in Etablissement is of type object array, not of type string, as indicated in the api documentation:

This results in the error
Argument 1 passed to WBW\Library\Pappers\Model\Etablissement::setDomiciliation() must be of the type string or null, array given
Would be great if you can update the model or give instruction on how I can contribute.
Thank you.

Hi,
I have introduce a new model "Domiciliation" in the response parsing.
Can you update your project and test again to check this improvements ?
Best regards

Thank you, it works for the domiciliation field now
But now I've got another error for the field rnm
Argument 1 passed to WBW\Library\Pappers\Model\Entreprise::setRnm() must be of the type string or null, array given

Please, update with the last changes and test again.
Thanks you for your feedback

I've tried again with the latest code and it works fine for our project now.
Thank you for your support

You're welcome.
Best regards


Added 70. Climbing Stairs (C++)

Description
Please include a summary of the problem and about the approach to solve the solution. Please also include relevant motivation and context.
List any dependencies that are required for this change.
Put check marks:
Have you made changes in README file ?

[x] Added problem & solution under correct topic.
[x] Specified Space & Time complexity.
[x] Specified difficulty level, tag & Note(if` any).

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Please also note any relevant details for your test configuration.

[x] Input: 2
[x] Input: 3

Make sure all below guidelines are followed else PR will get Reject:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code so that it is easy to understand
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] Any dependent changes have been merged and published in downstream modules

@tanmay-j Can you please update your branch and push again ?

On it!


ndt7/JavaScript: performance issues with Firefox on Windows

I have just noticed that running ndt7 on Firefox on Windows yields unreasonably low results for the upload. On the contrary, Chrome is much faster. Edge is reasonable but still lower than Chrome.
Issue originally reported by @robertodauria and subsequently investigated by me.

Something is weird with the Firefox JS client.
Hopefully the application-level latency measurements will show us something going on here.


adding plugin dir init option

Not sure what's going on here.  No description and open/closed several times.  Closing for now.  Feel free to flesh it out and re-open if needed.


Piglin brute don't drop ancient debris

I'm playing the mod, i tested a little farm, but any piglin brute drop ancient debris. Even with a looting III sword, i tested for hours, but i just got golden axes. I tried to found the datapack, but nothing appears on that list. I don't know if was removed from the mod, but its impossible to activate on game.

With the datapack enabled, they drop ancient debris. You must have the datapack disabled. It is embedded in the mod so it should show up in the datapacks list.

The datapack carpetskyadditions:skyblock should show up with the /datapack list command.
/datapack enable "carpetskyadditions:skyblock" should enable it.
If it's not there, you're using a very old version of this mod or something weird is wrong.

Thanks very much for your response, but is not an older version. I checked a few times after you reply. All datapacks are enabled and working, except the ancient debris. Anyway, I've already lost my mind trying to resolve that, I dont wanna play anymore because os this. Thanks again for your time and patience


Missing required architecture x86_64

Hey,
I'm getting this error when trying to use the SDK, any idea what's wrong?
ld: warning: ignoring file ./KISSmetricsSDK.framework/KISSmetricsSDK, missing required architecture x86_64 in file ./KISSmetricsSDK.framework/KISSmetricsSDK (2 slices)
Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_KISSmetricsAPI", referenced from:
      objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I think I figured it out.
In this repo you provide a prebuilt framework KISSmetricsSDK.framework which was built for device (arm) and not for simulator (i386).
I'm assuming that if I want to use it on the simulator I need to build the framework with the right flags?
If so, can you share how to do it please


need help with ubuntu permission and winscp

getting this when i try to edit any file
Permission denied. Error code: 3 Error message from server: Permission deniedi have tried as default user and created user still can't edit files via winscp

Is the user you're logging into the server as the same user as that under which the game server is running?

yes have tried multiple times haven't even got server installed yet because i'm unable to edit the main or arkmanager.cfg

Please check the owner and permissions on those files.  They should be owned by the user you specified when installing arkmanager.

not sure how but i managed to get it working correctly haven't ran ark tools since 2016 little rusty at it lol


Parse theme options from github and add to docs via a code cell

There's a hand-coded table of theme options, but the options have changed since it was written. This adds a little code-cell that pulls the latest YAML for each theme's configuration, and inserts it as a pandas table.
It is current pretty simplistic, in a future iteration we could parse the output as markdown but that's blocked on:

https://github.com/executablebooks/mystmd/issues/1026

Super cool!

Can you think of a way to attach a label to each? Then we could embed each in their own table w a header

Oh maybe the easiest would be to split that into a function and call it twice. I can't find a way to attach multiple labels to outputs of a cell.
Makes me wonder if it could be useful to support something like multiple labels comments in a cell, and if found we attach them to cell outputs sequentially

Now reusing a function with 3 cells in total, so that we can separate out the themes into sections.

If we do it through a plugin, then this could be full, parsed mdast as well. With labels etc.

Could you explain more what you mean by a plugin? Parsing these as mdast is exactly what I want. I am just a lot more comfortable with python than JavaScript

One more update: I've documented site.actions and site.options.
I had a non-blocking question come up as I was doing this:
What is the difference between site.options.foo, and site.nav + site.actions? Are nav and actions special keys that are treated differently from site.options? Why aren't they nested under site.options?

Could you explain more what you mean by a plugin? Parsing these as mdast is exactly what I want. I am just a lot more comfortable with python than JavaScript

An example of a custom plugin used on https://mystmd.org is the myst:directive directive, which is used to provide documentation for directives.
We can use the same approach to implement a theme information role. Using @choldgraf's idea, I'll implement it as a plugin :)

I think that the rendered table looks nice @agoose77 ! What are the benefits of doing this via a mystmd plugin vs. doing this via Python? Is the main improvement that we get a proper structured table? Or is this something we can re-use this plugin for in general?
Either way, I'd suggest that we just merge this in and iterate from there. @agoose77 or @fwkoch want to approve and then we can move forward?

I think that the rendered table looks nice @agoose77 ! What are the benefits of doing this via a mystmd plugin vs. doing this via Python? Is the main improvement that we get a proper structured table? Or is this something we can re-use this plugin for in general? And would this be any different than if we had markdown parsing via https://github.com/executablebooks/mystmd/issues/1026 ?

The main benefit is that we can use this plugin across multiple files using a directive -- no need to require an execution context and non-JS dependencies. It also feels more readable because it's a declarative inclusion rather than an imperative "use Pandas to parse options". As we get an AST, that is also nice (even though we can build ASTs from Jupyter outputs)!

I added a quick commit to document to each of these plugins as examples of plugin syntax, btw. Maybe they'll be a helpful path to follow for people that want to learn how the plugin infrastructure works.

Fantastic, what a great idea @choldgraf!

@agoose77 any chance you could add some comments to the plugin so that others could use it as a learning guide?

:+1: I'll do that.

Sounds good! My feeling is that we can merge this one and iterate from there. @agoose77 do you wanna merge? Otherwise I'll do so later today since @fwkoch already approved

Yep, merging now!


request-cache is not working properly

Tests keep hitting rate limiting issues, which suggests that our request-cache implementation is not working as expected during CI runs. It is working fine locally, which makes it hard to debug...
We should resolve this problem to help with our CI, making it faster and less frustrating

Idea, store the cache file somewhere else? In S3, or at least somewhere that gives us a bit more control?

Actually, I think I misunderstood what is happening. The cache key is api-cache-v4 which is python version agnostic.
But the cached file is 3 weeks old in the screenshot above, so our code ignores it (it expires the cache after 24h) so it hits the API again.
My guess at this point is that the cache works the first day we use it, but it then becomes stale and ignored by requests-cache. 2 options:

change code to expire the cache after much longer than 24h. The problem being that tests use a start_date of more or less "today". So beyond the first day, it's likely that requests might change
use a cache key based on the current date, which should make the cache file renew every 24h, in line with the cache expiry and api requests.

To expand on the above, this is all because cached files are read-only, so the cache file is not updated beyond its first creation time.
See https://github.com/actions/cache/blob/main/tips-and-workarounds.md#update-a-cache for details.


Seed Word Icon

Refer to design for Seed Word icon

@mide66  Please share icon or XD file i can export icon from XD

@mide66 would please share xd link with this(seed) icon.


Update for electron 17 injection method, and adjust repair

@Joryat85 please refrain from arbitrary spam reviews.

nova atualizaçao betterdiscord v1. 2.0


Sunhelm Widget Conflict

Sunhelm's widgets are covered by moreHUD's info text

I remedied this by setting Sunhelm's widgets in the MCM to X: 20 and Y: -20

Just for anyone that plays with Sunhelm activated (:

Thank you for reporting! Oversight on my part. Will get that fixed by default for the next version :)

This has been fixed in dev through an MCM Recorder step for Sunhelm added by a new "mod" in the SURVIVAL MODS (OPTIONAL) category. It will run on new games, and when running the preset again via the MCM menu.


Failed to Create Event

whenever i try to create an event, it says failed to create an event , any ideas what is happening ?

Does the user have EXO license? We have seen this issue when the user doesn't have EXO

Same issue here

We have seen this issue when the user doesn't have EXO license.
Can you please confirm if the user has EXO license.

By user do you mean the person creating the event?

Yes


Correct string given for method name search

In the InitAsyncReceives method, the hard-coded string used to search for saga-initialization methods should be "HandleAsync".

Hi @malclear  can you please PR this into dev :) Ill gladly accept

I'm going to try again, apply my change against the dev branch.


[PLE0101] error when init returns a value

It's my first PR on any rust project 🥳
#970

(@r3m0t Run 'cargo dev generate-all' to update the schema)

Fixed, I had to change README.md to check out with LF.

Couple of minor things.
Also note that the PR title is used for the changelog. The format for rules is [code] description (we should have PR templates to support this and automatically add the label)

All addressed I think

All addressed I think

Don't see the changes, did you push?

All addressed I think

Don't see the changes, did you push?

Did you mean the PR title or the commit message itself? Yes, I just force pushed to update the commit message, and added the docs

Ah sorry let me clarify. There are two more comments:
https://github.com/charliermarsh/ruff/pull/3007#discussion_r1111047372

Welcome! Thanks for the contribution, and thanks to @sbrugman for the review.


🐛  Reset Canvas on each pass of drawing

I have an issue. I would have final transparent PNG rendered. And now, all layer is printed into the same canvas.
Such a simple solution to have a final transparent PNG. And this will help to accelerate the rendering for each picture.

thank you thank you thank you!!!


Allow user to switch between Apple/Google/OSM?

Can we allow the user to switch between map sources, e.g. Apple/Google/OpenStreetMap?
I'm assuming this can be done using the TilesUrlOptions setting. Am I correct?

If they have a tiles API you can use it, yes.


runserver.py

Installed commandment yesterday (3 Jan 2018), using Python 3.7.2 on Windows. Documentation says to start the MDM by running runserver.py. Where is this file, or really the question is how to start the MDM?

Not sure about windows but I usually used the anaconda distribution of python since it was easier to get dependencies. Runserver is gone so I will update that documentation.
I think you’d want something like uwsgi running behind an iis app pool or alternatively an open source Apache stack on windows.
Failing all of this you can run Linux docker containers on windows.


enhance log

make it possible to find the log for a game which ended in a disconnect/timeout/illegal move and all these kind of things

i think it would also be beneficial to have a dedicated file for stderr output, since the normal log file can reach 1gb+ so it can get hard to seperate normal output from err ones https://github.com/cutechess/cutechess/blob/master/docs/cutechess-cli.6.txt#272

what cutechess does is different? it redirects the engines stderr to that?

we dont have to make it the same as cutechess but it would be convenient to have an option for a file that contains only stderr messages, cuz right now even log level=err still outputs normal engine outputs


Fix type for AnalyticFunction

Fix AnalyticFunction type affecting rowNumber, rank and DenseRank.
The problem
I discovered during development, where TypeScript complains:
Argument of type '{ column: string; order: "desc"; }' is not assignable to parameter of type '"oid" | "oid"[] | { columnName: "oid"; order?: "asc" | "desc" | undefined; nulls?: "first" | "last" | undefined; }'.
  Object literal may only specify known properties, and 'column' does not exist in type '"oid"[] | { columnName: "oid"; order?: "asc" | "desc" | undefined; nulls?: "first" | "last" | undefined; }'.

However, they are clearly using column in the code:
https://github.com/knex/knex/blob/4c79ac1fe64618ed0d1bd63dcae3f9b812827f69/lib/query/analytic.js#L21-L49
Also, this can verify that using columnName is apparently incorrect:

Coverage remained the same at 92.27% when pulling 7cc863b788c786248cadcff6bc231d4f1216ab23 on patrick330602:master into 2dadde4214d9ee333adccfa517089647e94d23be on knex:master.


ReDoc sometimes crashes while lazy-loading if hit CTRL+F

Blocked by https://github.com/angular/angular/issues/13293

Workarounded by removing side-menu animation


this.inputControl.valueChanges.distinctUntilChanged(...).debounceTime is not a function

How to solve this problem?

Some links from https://akveo.github.io/ng2-smart-table/#/examples/using-filters not work.
Would you somewhere upload functional application? Then I run npm install / update, ng s - and go. These parts of code often doesn't work. Thanks.

@bmicka thanks for bug report. Could you try to update ng2-smart-table via npm i -S ng2-smart-table@latest.

Yes, this help! Thank you. Your smart table looks good.


[move-stdlib] Add keccak 256 native function

keccak256 function support may be required in move development
But the method is not provided in stdlib, so I added this native function
Motivation
I hope move stdlib can provide a keccak256 native function
Test Plan

hash.move

native public fun keccak_256(data: vector<u8>): vector<u8>;

hash.rs

 fn native_keccak_256(
     gas_params: &Keccak256gasParameters,
     _context: &mut NativeContext,
     _ty_args: Vec<Type>,
     mut arguments: VecDeque<Value>,
 ) -> PartialVMResult<NativeResult> {
     debug_assert!(_ty_args.is_empty());
     debug_assert!(arguments.len() == 1);

     let hash_arg = pop_arg!(arguments, Vec<u8>);

     let cost = gas_params.base_cost
         + gas_params.unit_cost * usize::max(hash_arg.len(), gas_params.legacy_min_input_len) as u64;

     let hash_vec = Keccak256::digest(hash_arg.as_slice()).to_vec();
     Ok(NativeResult::ok(
         cost,
         smallvec![Value::vector_u8(hash_vec)],
     ))
 }

Thanks for this PR!
The Move contributors need to make a (highly philosophical) decision about how much cryptographic functionality belongs in core Move vs leaving this decision up to platforms that implement Move. Will add this to the agenda for the contributors meeting and get back to you.

Thanks for your answer, I will continue to follow this question

We discussed this question in the community meeting today, and what we decided is:

Cryptographic functionality should be added inside each blockchain that integrates Move rather than inside the Move stdlib. The core competence of the Move core team is programming languages and program verification; vetting/maintaining crypto libraries is outside of our scope of expertise/responsibility.
The one exception is if the cryptographic functionality is needed to implement data structures in the Move stdlib (e.g., a hash function for tables).

At the same time, crypto libraries are likely to be useful across multiple blockchain platforms. We would love to see this code published in an independent repo as a Move package that can be used anywhere that wants keccak256!

At the same time, crypto libraries are likely to be useful across multiple blockchain platforms. We would love to see this code published in an independent repo as a Move package that can be used anywhere that wants keccak256!

I hope everyone can use keccak256 very conveniently, but keccak256 needs native method support. If it needs to be supported as a separate repo, do you have any relevant examples?

At the same time, crypto libraries are likely to be useful across multiple blockchain platforms. We would love to see this code published in an independent repo as a Move package that can be used anywhere that wants keccak256!

I hope everyone can use keccak256 very conveniently, but keccak256 needs native method support. If it needs to be supported as a separate repo, do you have any relevant examples?

Here are some examples of useful standalone Move repos:

https://github.com/starcoinorg/starcoin-framework-commons
https://github.com/pentagonxyz/movemate

Closing. Please feel free to re-open if needed.


Fix words not being selected by endpoints

Previously, words were unable to be selected by placing the cursor at the left-most character or the character directly after the word. This issue is addressed by adjusting the conditions to check if the caret is positioned in these places.
While fixing this issue, I found that my edits to the conditions affected the behaviour of drag-selecting multiple words. Specifically, it made it impossible to select the whitespace between words in word selection mode, which was a feature before. This is fixed by modifying the conditions based on if multiple words are being selected.
Another problem related to how selecting the word by the leftmost character moved the caret to the left side of the word, while selecting it by any other character moved it to the right side. This is fixed by preventing the caret from moving to the left side of the word until the word selection has moved.
Fixes #89551

While fixing the problem with words not being selected from the left side, I fixed two other issues with my solution.
My edits to the conditions affected the behaviour of drag-selecting multiple words. Specifically, it made it impossible to select the whitespace between words, which was a feature before. This is fixed by commit f986196 (and style fix: 8f2c2f4), which changes the conditions based on if multiple words are being selected.
Another problem related to how selecting the word by the leftmost character moved the caret to the left side, while selecting it by any other character moved it to the right. This is fixed by 7dbdf77, which prevents the caret from moving to the left side of the word until the word selection has moved.

This works as expected, but I'm not sure if it would work after https://github.com/godotengine/godot/pull/86978 fixes the ability to word select empty lines or shift double click to word select from caret, since that may change the logic.

#86978 does change the logic a little bit.
I would say the p_initial parameter should be used instead of the has_selection function for clarity purposes. Additionally, the condition that I added to fix the caret moving to the left after selecting can be moved into the else block.

The only thing I would change from the logic added in #86978 is to change the condition for is_new_selection_dir_right to not be true when the caret is at the leftmost character. Using column > instead of column >= resolves the issue where the editor selects the range from the beginning to the beginning instead of the word.
void TextEdit::_update_selection_mode_word(bool p_initial) {
	...
	for (int i = 0; i < words.size(); i = i + 2) {
		// (1) use p_initial instead of has_selection()
		if ((p_initial && words[i] <= caret_pos && words[i + 1] >= caret_pos) || (!p_initial && words[i] < caret_pos && words[i + 1] > caret_pos) || (i == words.size() - 2 && caret_pos == words[i + 1])) {
			beg = words[i];
			end = words[i + 1];
			break;
		}
	}

	if (p_initial && !has_selection(caret_index)) {
		// Set the selection origin if there is no existing selection.
		...

		moved_word_selection = false;
	} else {
		// Expand the word selection to the mouse.
		...
		// (3) 'column >' instead of 'column >='
		bool is_new_selection_dir_right = line > origin_line || (line == origin_line && column > carets[caret_index].selection.word_begin_column);
		...

		// (2) move the "moved word selection" condition here instead
		if (column != carets[caret_index].selection.word_begin_column || line != origin_line || moved_word_selection) {
			select(origin_line, origin_col, line, caret_col, caret_index);
			moved_word_selection = true;
		}
	}
	...
}

These changes seem to work well when I add them to your fork.

Rebased to resolve conflicts with #86978.
Also altered one test that used the previous behavior when double-clicking the endpoint of a word, and added two tests to capture the behavior of selecting a word by its endpoints.
I tried to avoid altering the tests as much as possible, but please let me know if there's a better way.


build with pekko 1.1.0-M1

repurpose the nightly tests that test with Pekko 1.1 to use Pekko 1.0

link validator failure is because of http://asm.ow2.io/ - is that a new dependency?

link validator failure is because of http://asm.ow2.io/ - is that a new dependency?

I ran sbt dependencyTree locally and can't find any mentions of asm.


fine tuning mpt7b using local dataset

I tried fine tuning mpt7b using dolly dataset. Using below command:
composer train.py yamls/finetune/mpt-7b_dolly_sft.yaml
yaml file: https://github.com/mosaicml/llm-foundry/blob/main/scripts/train/yamls/finetune/mpt-7b_dolly_sft.yaml
Before strating training i am getting below error:
[Eval batch=321/321] Eval on eval data:
Eval metrics/eval/LanguageCrossEntropy: 9.1594
Eval metrics/eval/LanguagePerplexity: 9503.6523
/home/stsingha/LLM/llm-foundry/llmfoundry-venv/lib/python3.9/site-packages/torch/utils/data/dataloader.py:554: UserWarning: This DataLoader will create 4 worker processes in total. Our suggested max number of worker in current system is 2, which is smaller than what this DataLoader is going to create. Please be aware that excessive worker creation might get DataLoader running slow or even freeze, lower the worker number to avoid potential slowness/freeze if necessary.
warnings.warn(_create_warning_msg(
Traceback (most recent call last):
File "", line 21, in _bwd_kernel
KeyError: ('2-.-0-.-0-842f0fbd42a6607893f7134cdd9d16f2-2b0c5161c53c71b37ae20a9996ee4bb8-c1f92808b4e4644c1732e8338187ac87-f24b6aa9b101a518b6a4a6bddded372e-12f7ac1ca211e037f62a7c0c323d9990-5c5e32ff210f3b7f56c98ca29917c25e-06f0df2d61979d629033f4a22eff5198-0dd03b0bd512a184b3512b278d9dfa59-d35ab04ae841e2714a253c523530b071', (torch.bfloat16, torch.bfloat16, torch.bfloat16, torch.bfloat16, torch.bfloat16, torch.float32, torch.bfloat16, torch.bfloat16, torch.float32, torch.float32, 'fp32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32'), ('vector', True, 128, False, True, True, True, 128, 128), (True, True, True, True, True, True, True, True, True, True, (False,), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False)))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/stsingha/LLM/llm-foundry/scripts/train/train.py", line 254, in
main(cfg)
File "/home/stsingha/LLM/llm-foundry/scripts/train/train.py", line 243, in main
trainer.fit()
File "/home/stsingha/LLM/llm-foundry/llmfoundry-venv/lib/python3.9/site-packages/composer/trainer/trainer.py", line 1766, in fit
self._train_loop()
File "/home/stsingha/LLM/llm-foundry/llmfoundry-venv/lib/python3.9/site-packages/composer/trainer/trainer.py", line 1940, in _train_loop
total_loss_dict = self._train_batch(use_grad_scaling)
File "/home/stsingha/LLM/llm-foundry/llmfoundry-venv/lib/python3.9/site-packages/composer/trainer/trainer.py", line 2115, in _train_batch
optimizer.step(closure=lambda **kwargs: self._train_microbatches(
File "/home/stsingha/LLM/llm-foundry/llmfoundry-venv/lib/python3.9/site-packages/torch/optim/lr_scheduler.py", line 68, in wrapper
return wrapped(*args, **kwargs)
File "/home/stsingha/LLM/llm-foundry/llmfoundry-venv/lib/python3.9/site-packages/torch/optim/optimizer.py", line 140, in wrapper
out = func(*args, **kwargs)
File "/home/stsingha/LLM/llm-foundry/llmfoundry-venv/lib/python3.9/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
return func(*args, **kwargs)
File "/home/stsingha/LLM/llm-foundry/llmfoundry-venv/lib/python3.9/site-packages/composer/optim/decoupled_weight_decay.py", line 288, in step
loss = closure()
File "/home/stsingha/LLM/llm-foundry/llmfoundry-venv/lib/python3.9/site-packages/composer/trainer/trainer.py", line 2115, in
optimizer.step(closure=lambda **kwargs: self._train_microbatches(
File "/home/stsingha/LLM/llm-foundry/llmfoundry-venv/lib/python3.9/site-packages/composer/trainer/trainer.py", line 2213, in _train_microbatches
microbatch_loss_dict = self._train_microbatch(use_grad_scaling, current_batch_size, is_final_microbatch)
File "/home/stsingha/LLM/llm-foundry/llmfoundry-venv/lib/python3.9/site-packages/composer/trainer/trainer.py", line 2340, in _train_microbatch
microbatch_loss.backward(create_graph=self._backwards_create_graph)
File "/home/stsingha/LLM/llm-foundry/llmfoundry-venv/lib/python3.9/site-packages/torch/_tensor.py", line 487, in backward
torch.autograd.backward(
File "/home/stsingha/LLM/llm-foundry/llmfoundry-venv/lib/python3.9/site-packages/torch/autograd/init.py", line 197, in backward
Variable._execution_engine.run_backward( # Calls into the C++ engine to run the backward pass
File "/home/stsingha/LLM/llm-foundry/llmfoundry-venv/lib/python3.9/site-packages/torch/autograd/function.py", line 267, in apply
return user_fn(self, *args)
File "/home/stsingha/LLM/llm-foundry/llmfoundry-venv/lib/python3.9/site-packages/flash_attn/flash_attn_triton.py", line 827, in backward
_flash_attn_backward(do, q, k, v, o, lse, dq, dk, dv,
File "/home/stsingha/LLM/llm-foundry/llmfoundry-venv/lib/python3.9/site-packages/flash_attn/flash_attn_triton.py", line 694, in _flash_attn_backward
_bwd_kernel[grid](
File "/home/stsingha/LLM/llm-foundry/llmfoundry-venv/lib/python3.9/site-packages/triton/runtime/jit.py", line 106, in launcher
return self.run(*args, grid=grid, **kwargs)
File "/home/stsingha/LLM/llm-foundry/llmfoundry-venv/lib/python3.9/site-packages/triton/runtime/autotuner.py", line 73, in run
timings = {config: self._bench(*args, config=config, **kwargs)
File "/home/stsingha/LLM/llm-foundry/llmfoundry-venv/lib/python3.9/site-packages/triton/runtime/autotuner.py", line 73, in
timings = {config: self._bench(*args, config=config, **kwargs)
File "/home/stsingha/LLM/llm-foundry/llmfoundry-venv/lib/python3.9/site-packages/triton/runtime/autotuner.py", line 63, in _bench
return do_bench(kernel_call)
File "/home/stsingha/LLM/llm-foundry/llmfoundry-venv/lib/python3.9/site-packages/triton/testing.py", line 140, in do_bench
fn()
File "/home/stsingha/LLM/llm-foundry/llmfoundry-venv/lib/python3.9/site-packages/triton/runtime/autotuner.py", line 62, in kernel_call
self.fn.run(*args, num_warps=config.num_warps, num_stages=config.num_stages, **current)
File "/home/stsingha/LLM/llm-foundry/llmfoundry-venv/lib/python3.9/site-packages/triton/runtime/autotuner.py", line 200, in run
return self.fn.run(*args, **kwargs)
File "", line 43, in _bwd_kernel
RuntimeError: Triton Error [CUDA]: invalid argument

I'm also getting the same problem too.

I am also seeing this problem.

I am using slurm cluster with 4 A10 GPUs.
Cuda Version : 11.6
nvcc version : Cuda compilation tools, release 11.6, V11.6.55
Build cuda_11.6.r11.6/compiler.30794723_0
GCC version : gcc (GCC) 7.3.1 20180303
torch : 1.13.1+cu116
Along with the above error when i am trying multinode i am getting nccl error

Also i am getting below error with 'attn_impl: torch' :
File "/home/stsingha/LLM/llm-foundry/llmfoundry-venv/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1194, in _call_impl
return forward_call(*input, **kwargs)
File "/home/stsingha/.cache/huggingface/modules/transformers_modules/mosaicml/mpt-7b/d8304854d4877849c3c0a78f3469512a84419e84/modeling_mpt.py", line 142, in forward
raise NotImplementedError('MPT does not support training with left padding.')

This error tells you the issue.
Your dataset is outputting data with left padding. MPT does not support training with left padding.
This is a dataset issue.

This question may sound a bit silly, but why is right padding used during training while left padding is chosen during inference?

I'm getting the same kernel crash / key error:
[Eval batch=1/13] Eval on eval data
[Eval batch=2/13] Eval on eval data
[Eval batch=3/13] Eval on eval data
[Eval batch=5/13] Eval on eval data
[Eval batch=6/13] Eval on eval data
[Eval batch=7/13] Eval on eval data
[Eval batch=8/13] Eval on eval data
[Eval batch=9/13] Eval on eval data
[Eval batch=11/13] Eval on eval data
[Eval batch=12/13] Eval on eval data
[Eval batch=13/13] Eval on eval data:
         Eval metrics/eval/LanguageCrossEntropy: 10.0889
         Eval metrics/eval/LanguagePerplexity: 24073.9668
Traceback (most recent call last):
  File "<string>", line 21, in _bwd_kernel
KeyError: ('2-.-0-.-0--2b0c5161c53c71b37ae20a9996ee4bb8-c1f92808b4e4644c1732e8338187ac87-d962222789c30252d492a16cca3bf467-12f7ac1ca211e037f62a7c0c323d9990-5c5e32ff210f3b7f56c98ca29917c25e-06f0df2d61979d629033f4a22eff5198-0dd03b0bd512a184b3512b278d9dfa59-d35ab04ae841e2714a253c523530b071', (torch.bfloat16, torch.bfloat16, torch.bfloat16, torch.bfloat16, torch.bfloat16, torch.float32, torch.bfloat16, torch.bfloat16, torch.float32, torch.float32, 'fp32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32'), ('vector', True, 128, False, True, True, True, 128, 128), (True, True, True, True, True, True, True, True, True, True, (False,), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False), (True, False)))

....

  File "/home/ubuntu/.local/lib/python3.10/site-packages/triton/runtime/autotuner.py", line 200, in run
    return self.fn.run(*args, **kwargs)
  File "<string>", line 43, in _bwd_kernel
RuntimeError: Triton Error [CUDA]: invalid argument

Using a g5.24xlarge instance with 4xA10G GPUs on EC2.
It's using Torch 1.13.1 already:
ubuntu@ip-172-31-12-71:/opt/mpt-7b/llm-foundry/scripts/train$ pip uninstall torch
Found existing installation: torch 1.13.1

And triton 2.0.0.dev20221202:
ubuntu@ip-172-31-12-71:/opt/mpt-7b/llm-foundry/scripts/train$ pip uninstall triton
Found existing installation: triton 2.0.0.dev20221202

Hi @jwatte , could you try installing this fork of triton we have setup? It uses a pre-MLIR tag that should work with torch 1.13.1: https://github.com/mosaicml/llm-foundry/blob/3c66b1c5df668e0684548fef30d00669df64636c/setup.py#L63
In general we have not tried training with A10s so it's a bit of uncharted territory. I hope we can get more internally so we can start adding it to our support matrix, but it's unlikely to happen in the next few weeks.

This question may sound a bit silly, but why is right padding used during training while left padding is chosen during inference?

I think the choice at training time is a bit arbitrary, but at inference time, left padding is used so that the ends of sequences line up, since you generate 1 token at a time, you want to make sure the new tokens are "lined up".

Closing this issue as it's gone a bit stale, but I just want to note that we are actively testing A10 support now and will update the support matrix on the top README once we have confirmed that it works.


Remove inverses. Fixes #506.

Fixes #506.
This PR includes changes related to the removal of inverse properties from gist:

All inverses removed. (Inverse working group has proposed which directions to keep in gist.)
Relevant axioms have been tweaked to include only the properties that will remain in gist. A common change was to switch out a property restriction with its inverse property. For example:

a owl:Restriction ;
owl:onProperty gist:isBasisFor ;
owl:someValuesFrom gist:Event ;

becomes
a owl:Restriction ;
owl:onProperty [ owl:inverseOf gist:isBasedOn ] ;
owl:someValuesFrom gist:Event ;

If the direction we are removing contained more information than its inverse, the additional information was maintained in some cases where useful. (See, e.g., isGovernedBy.)

Breakdown (updated after 4/6 working group meeting):

Property Kept
Inverse Property Removed

containsGeographically
isGeographicallyContainedIn

hasDirectPart
isDirectPartOf

hasDirectSubTask
isDirectSubTaskOf

hasMember
isMemberOf

hasNavigationalParent
hasNavigationalChild

hasPart
isPartOf

hasSubTask
isSubTaskOf

hasSuperCategory
hasSubCategory

isAbout
isDescribedIn

isAffectedBy
affects

isBasedOn
isBasisFor

isGovernedBy
governs

isIdentifiedBy
identifies

isRecognizedBy
recognizes

occupiesGeographically
isGeographicallyOccupiedBy

occupiesGeographicallyPermanently
isGeographicallyPermanentlyOccupiedBy

precedes
follows

precedesDirectly
followsDirectly

Shared spreadsheet with final summary and proposal history. (SA folks can access.)

@marksem  @uscholdm @dylan-sa  On further thought, describes is the proper inverse of isDescribedBy; isAbout means something a bit different. Consider: the anatomy of my foot is described by Gray's Anatomy. We can say that the book describes the bone structure of my foot, but not that it is about my foot. One solution is to replace isDescribedBy with describes (for brevity) and keep isAbout as well.

@marksem @uscholdm @dylan-sa On further thought, describes is the proper inverse of isDescribedBy; isAbout means something a bit different. Consider: the anatomy of my foot is described by Gray's Anatomy. We can say that the book describes the bone structure of my foot, but not that it is about my foot. One solution is to replace isDescribedBy with describes (for brevity) and keep isAbout as well.

This is a vaid distinction, but let's treat that as a separate issue "Do we add a gist:descibes property". If there was a demonstrated need for both, maybe.  But I'd need some convincing. Is about seems fine for most purposes.

@uscholdm

This is a valid distinction, but let's treat that as a separate issue "Do we add a gist:descibes property".

Normally I like to keep these issues atomic, but this one is different. If they are not true inverses, and we remove one of them, we are removing a concept that is no longer expressible in gist. The short-term solution is to keep both and remove the inverse axiom.

we are removing a concept that is no longer expressible in gist

I do not that is what is happening. We are removing a property whose only meaning ever was to be the inverse of isAbout. It was poorly named.

I do not that is what is happening. We are removing a property whose only meaning ever was to be the inverse of isAbout. It was poorly named.

OK, valid point. I withdraw my proposal.

It looks like the serializer has not run on these commits. @dylan-sa You should check your setup. Did you run tools/setup.cmd after you pulled the latest from develop?

You're right--this wasn't set up correctly. Fixed with latest commit.

It would be super nice for this table to be alpha sorted so one can look things up.

Good idea--I have tweaked the ordering. 👍

I looked at the spreadsheet posted by Dylan on 3/28/2023 and I'm unclear on what the column names really mean (the Group Consensus column contradicts the Recommend Keeping column).

Sorry for confusion on the spreadsheet--Group Consensus indicates what the working group settled on keeping, whereas Recommend Keeping is from an earlier version of the spreadsheet. The table at the top of the PR is a better source for the working group proposal.

@Jamie-SA We brought other considerations to bear on the decision. In this case, due to the verbosity of isGovernedBy, we opted for governs. It's more a matter of balancing criteria than having hard-and-fast rules. In this particular case I could personally go either way.

@rjyounes @Jamie-SA @hmoore-sa - After some more adjustments, this one is ready for review. Would appreciate everyone's thoughts when you get a chance to look.

I can get on board with @Jamie-SA's proposal. Looking at our numbers analysis, containsGeographically is used on one restriction in gistCore.ttl, isGeographicallyContainedIn in none, so it's a wash. I think in this case we opted for the simpler name, but I agree with Jamie that the cardinality consideration in this particular case should trump that.

While looking at this I see that the choice was made to keep containsGeographically and remove isGeographicallyContainedIn. I would like to suggest a couple of reasons why the opposite choice might makes sense.

containsGeographically means the same thing as hasPart between georegions and may be short lived. For now, we don't want have isGeographicallyContainedIn which means isPartOf. So Im in favor of having it as it is for now.
THere was a special reason for occupiesGeographically going the other way, I do not recall.

While looking at this I see that the choice was made to keep containsGeographically and remove isGeographicallyContainedIn. I would like to suggest a couple of reasons why the opposite choice might makes sense.

containsGeographically means the same thing as hasPart between georegions and may be short lived because it is not adding anything much. In any event, we don't want to have isGeographicallyContainedIn which means isPartOf. So Im in favor of having it as it is for now. THere was a special reason for occupiesGeographically going the other way, I do not recall.

I can get behind Jamie's suggestion to go with isGeographicallyContainedIn.
Michael does make a fair point that it's similar in meaning to isPartOf, which we are dropping; but relating regions using the smaller-to-larger direction has proved useful for regions hierarchies.

I can get behind Jamie's suggestion to go with isGeographicallyContainedIn.
Michael does make a fair point that it's similar in meaning to isPartOf, which we are dropping; but relating regions using the smaller-to-larger direction has proved useful for regions hierarchies.

I think we should get consensus before making yet another flip/flop.
M.

I agree. I’d like to reconvene our small group. It’s important to get these right so we don’t regret it later. Is that OK with everyone?
From: Michael Uschold @.>
Date: Thursday, April 27, 2023 at 9:40 PM
To: semanticarts/gist @.>
Cc: Rebecca Younes @.>, Mention @.>
Subject: Re: [semanticarts/gist] Remove inverses. Fixes #506. (PR #813)
I can get behind Jamie's suggestion to go with isGeographicallyContainedIn.
Michael does make a fair point that it's similar in meaning to isPartOf, which we are dropping; but relating regions using the smaller-to-larger direction has proved useful for regions hierarchies.
I think we should get consensus before making yet another flip/flop.
M.
—
Reply to this email directly, view it on GitHubhttps://github.com/semanticarts/gist/pull/813#issuecomment-1526859401, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAM5PZGRSHKWGGJVAQL5SQDXDMNXVANCNFSM6AAAAAAWNVYA5Q.
You are receiving this because you were mentioned.Message ID: @.***>

Decision after 5/1 working group meeting is to go w/ isGeographicallyContainedIn over containsGeographically, for reasons Jamie has described. I've pushed a commit to make the switch. If I could get one last look at the latest commit from @hmoore-sa , @Jamie-SA, or @rjyounes, I believe this one is ready to go.

Hi Dylan, Took a look, mostly focusing on the isGeographicallyContainedIn changes, and looks like you got everything as far as I can see. Continuing to be signed off!


[spaceship] Add support for deleting app_screenshot_sets and app_preview_sets

Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context
Currently it's only possible to delete single screenshots. If you want to delete all screenshots or all screenshots of one locale, this takes a lot of time and also unnecessary server requests. The ASC API supports the deletion of screenshot_sets and app_preview_sets. This PR adds support for deleting them.
Testing Steps
...
edit_version = app.get_edit_app_store_version
localizations = edit_version.get_app_store_version_localizations
localizations.each do |localization|
      screenshot_sets = localization.get_app_screenshot_sets
      app_preview_sets = localization.get_app_preview_sets

      # Delete all screenshot sets
      screenshot_sets.each do |screenshot_set|
        screenshot_set.delete!
      end

      # Delete all app preview sets
      app_preview_sets.each do |app_preview_set|
        app_preview_set.delete!
      end
end

This is awesome!😍 This can reduce the number of API calls in deliver when using overwrite_screenshots enabled. My project at work is suffering API rate limit due to UploadScreenshots but I'd love to update that to use this 👍

I tried applying this to deliver 🚀 Thanks again.  https://github.com/fastlane/fastlane/pull/18320


[SPARK-13021][CORE] Fail fast when custom RDDs violate RDD.partition's API contract

Spark's Partition and RDD.partitions APIs have a contract which requires custom implementations of RDD.partitions to ensure that for all x, rdd.partitions(x).index == x; in other words, the index reported by a repartition needs to match its position in the partitions array.
If a custom RDD implementation violates this contract, then Spark has the potential to become stuck in an infinite recomputation loop when recomputing a subset of an RDD's partitions, since the tasks that are actually run will not correspond to the missing output partitions that triggered the recomputation. Here's a link to a notebook which demonstrates this problem: https://rawgit.com/JoshRosen/e520fb9a64c1c97ec985/raw/5e8a5aa8d2a18910a1607f0aa4190104adda3424/Violating%2520RDD.partitions%2520contract.html
In order to guard against this infinite loop behavior, this patch modifies Spark so that it fails fast and refuses to compute RDDs' whose partitions violate the API contract.

I'm +1 on this in 2.0 :)

Test build #50137 has started for PR 10932 at commit 10efe2e.

An open question is whether we want to put this in 1.6.1; this risks breaking user code which happened to work accidentally but also helps to guard against infinite loop behavior.

I don't think we should put it in 1.6.x.

Test build #50137 has finished for PR 10932 at commit 10efe2e.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/50137/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/50149/
Test FAILed.

Jenkins, retest this please.

Test build #50157 has started for PR 10932 at commit a0dd1e7.

Test build #50157 has finished for PR 10932 at commit a0dd1e7.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
   class BadRDD[T: ClassTag](prev: RDD[T]) extends RDD[T](prev)

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/50157/
Test PASSed.

LGTM

Merging to master.


Using markdown code blocks results in white text on white background

Minor styling issue; if you use Markdown code blocks, the background and text are both white, rendering it impossible to read.
(This is on the project page)
Markdown code block

More info:
This should be properly styled by react-markdown and the css we're using for markdown, but it isn't.

Codeblocks work fine here?

Resolved in #95


ctypesgen gives a warning because it cannot parse some macros

i am trying to build python bindings from .h files
But it cant parse macros and the files are mainly made up of macros
the macros are like:

#define VINITALL(_v) { ( _v ) , ( _v ) , ( _v ) }
#define HSWAP(_a,_b) do { fastf_t _t ; _t = ( _a ) [ X ] ; ( _a ) [ X ] = ( _b ) [ X ] ; ( _b ) [ X ] = _t ; _t = ( _a ) [ Y ] ; ( _a ) [ Y ] = ( _b ) [ Y ] ; ( _b ) [ Y ] = _t ; _t = ( _a ) [ Z ] ; ( _a ) [ Z ] = ( _b ) [ Z ] ; ( _b ) [ Z ] = _t ; _t = ( _a ) [ W ] ; ( _a ) [ W ] = ( _b ) [ W ] ; ( _b ) [ W ] = _t ; } while ( 0 )

Many of header files contain macros like these and if it cannot parse those macros, then i cant access them.
I tried to write those myself in python but there are many of them and writing them up is not going to be easy so i need some help with this
System Information
Python version: 3.8
OS: Linux Ubuntu 20.04
Any help is appreciated.

@olsonse @davidjamesca i need some help ASAP so i tagged you guys. sorry for that.

Please give a specific short example (like the one you gave) along with the output you got when you gave it to ctypesgen.

Ctypesgen cannot parse "normal" C code - anything more than an expression. This code is a good example of something ctypes (and hence ctypesgen) cannot do. It cannot interpret C code beyond simple expressions.
If you want to use this in ctypesgen, then you need to write a C function to use it, and then refer to the C function in your python program via ctypesgen/ctypes.


What's the most difficult thing about being a web developer today?

Staying up to date these days. With more tools, frameworks, libraries, buzzwords, design patterns coming out each day it gets very hard for a web developer to stay up to date and sane. Many people can’t figure out what’s the right way to do things nowadays and prioritize wrong things (tools over concepts). That is because the community creates a hype about every new framework etc.—and I think this harms regular developers (I mean devs who do normal projects like a normal website with CMS integration for some small to mid business).
We need to consolidate and merge tools, tooling workflows, technologies, design approaches and focus on the really important things in web development again: Proper concepts (technical, visual, content), accessibility, progressive enhancement. Tools should help us achieve that but stay absolutely in background so that no developer wastes hours of work by configuring some gulp task.

Many people can’t figure out what’s the right way to do things nowadays and prioritize wrong things (tools over concepts).

I am sure you spend considerable time reading because of the newsletter you curate, but how do you decide what to prioritize on?
Agreed, concepts are more important than tools, but you still have to at least know about them on the surface.
Can you give some tips for maintaining a healthy "personal filter"?
I go through phases with this which range from ignoring twitter, newsletters (yours too, sorry), etc. for days or even weeks to feeling paralyzed by the insane number of links that sound interesting and that clog up my to-do lists.
Thanks

I am sure you spend considerable time reading because of the newsletter you curate, but how do you decide what to prioritize on?

Yes, I do. I spend approximately (and in average) about 4-5hrs per week on curating the content. That is a rough estimate and doesn’t take reading twitter etc into account, just the time for reading and sorting out. Here’s how I curate content for the newsletter:

Open all links that might be interesting
Instantly read the summary / quick scan the article and if not interesting for WDRL, close tab
If interesting it’ll stay open
On Wednesday/Thursday I usually take 2-3 hours to read all remaining articles, then put them into WDRL if I still think they fit in there and have some importance.
If I recognize there’s too much content for one week in the letter, I shift articles from one to another upcoming WDRL issue. If they’re shifted to next week, I re-consider them the next week.

This works out quite well so far but is of course taking a lot of time. Usually I do at least every 1-2 days a quick scan and quick sort-out session (1/2hr or so). Hope I understood your question correctly.

Agreed, concepts are more important than tools, but you still have to at least know about them on the surface.

I fully agree on that. It’s not that you shouldn’t learn your tools. But it’s more important to prioritize the technical concept over tooling because it has more effect on the outcome.

Can you give some tips for maintaining a healthy "personal filter"?

Yes.  In that case, don’t follow any immediate hype but just wait a little bit. I recognized that waiting a few weeks or months is a healthy filter to only dig deeper into things that might really be relevant. Frameworks, tools, libraries change so quickly today that you should be sure to choose them if you are sure they will live for at least 1-2 years.
If you have a tool that is solid, stable and works great for you – stick around with that one unless you think you should really exchange it for real reasons (not just because there’s a cooler way to do now).
It doesn’t help anyone if you’re stuck trying out a new framework that is claimed the next big thing if you first need to learn it, can’t match deadlines, have no colleagues who can maintain it as well and if your company or you need to exchange it again for another one next year because it’s not maintained or deprecated anymore.

I go through phases with this which range from ignoring twitter, newsletters (yours too, sorry), etc. for days or even weeks to feeling paralyzed by the insane number of links that sound interesting and that clog up my to-do lists.

No worries. I don’t expect my readers to read it every week and of course not to read every link. Just pick the links and articles that you find really interesting and take yourself the time to read them. In that case it is important to only have a few articles so that you really can match your goal to read it over the next days. Even I sometimes have articles open for more than a week which I really wanted to read and try out the examples but don’t have the time for it. Finally I often close the tabs as I realize I won’t have the time for it and it’s not mission critical to know the content of it. It’s human to not know everything.

Thank you for taking the time to respond in such detail. Its funny, I use the "tab method" too and I have found that I rarely go back to the links I start to accumulate in tools built for that. I put them there in the first place because I am worried that I might be missing something.


RFC: Add support for lambda resource policies and attributes for custom category

Is this feature request related to a new or existing Amplify category?
custom
Add support for lambda resource policies and attributes for custom category
Hi, would like to seek community's feedback on below proposal for Custom Category enhancement.
Summary
Amplify Custom Category does not support lambda resources. Below proposes a new file that developers can define CRUD policy actions and attributes that can be used in functions when added as a dependency resource.
Current

Describe the solution you'd like

EDIT:

16 Mar - Updated resources.json to support multiple policies in create, update, read, delete.

Introduce a new file 'resources.json' in the category folder

e.g. AWS::SecretsManager::Secret
amplify -> backend -> custom -> Secrets -> resources.json

Resources will be loaded by Functions when trying to set custom resources

Example resources.json:
{
    "policies": {
        "create": [],
        "update": [],
        "read": [
            {
                "Action": [
                    "secretsmanager:GetSecretValue"
                ],
                "Resource": [
                    {
                        "Ref": "${categoryName}${resourceName}Arn"
                    }
                ]
            }
        ],
        "delete": []
    },
    "attributes": [
        "Arn",
        "Name"
    ]
}

Example Secrets Manager CF Template:
AWSTemplateFormatVersion: "2010-09-09"

Parameters:
  env:
    Type: String
Conditions:
  ShouldNotCreateEnvResources: !Equals [!Ref env, NONE]
Resources:
  Secrets:
    Type: AWS::SecretsManager::Secret
    Properties:
      Name: !Join ["", [!Ref "AWS::StackName", "-secrets-", !Ref env]]
Outputs:
  Arn:
    Description: Secrets ARN
    Value: !Ref Secrets
  Name:
    Description: Secrets Name
    Value: !Join ["", [!Ref "AWS::StackName", "-secrets-", !Ref env]]

Example Output CLI:

Example Output function-parameters.json:

Example Output Function CF Template:

Describe alternatives you've considered
To be discussed.
Additional context
Please refer to Pull Request #9090
Is this something that you'd be interested in working on?

[X] 👋 I may be able to implement this feature request
[ ] ⚠ This feature might incur a breaking change

Hi @juniarz - did you explore this feature using the custom-policies.json I think it's trying to achieve a similar workflow. I.e. granting Lambda function access to custom resources? I've used the workflow to grant my function access to SNS (which was created by custom) https://docs.amplify.aws/cli/function/#access-existing-aws-resource-from-lambda-function
Docs: https://docs.amplify.aws/cli/function/#access-existing-aws-resource-from-lambda-function

Hi @juniarz - did you explore this feature using the custom-policies.json I think it's trying to achieve a similar workflow. I.e. granting Lambda function access to custom resources? I've used the workflow to grant my function access to SNS (which was created by custom) https://docs.amplify.aws/cli/function/#access-existing-aws-resource-from-lambda-function
Docs: https://docs.amplify.aws/cli/function/#access-existing-aws-resource-from-lambda-function

Hi @renebrandel I did, however the resource is created within the Amplify Framework's custom category.
In this case, I do not wish to hardcode the resource ARN in the policy, but fetch it from the CF in customs/Secrets instead.
While I am able to add the custom policies, I am unable to add the dependency to the Function (e.g. CUSTOM_SECRETS_ARN and CUSTOM_SECRETS_NAME)

Has there been progress on this? I am looking to use a custom resource output in a lambda function.

Have you tried attending Amplify's office hours on discord? Unfortunately we don't have the greatest process in place to prioritize incoming feature requests from GitHub, but if you share this with the community there you're likely to get quicker feedback
Community page: https://amplify.aws/community/events?{}
Discord invite: https://discord.com/invite/jWVbPfC

Has there been progress on this? I am looking to use a custom resource output in a lambda function.

Hi, I have created a PR for this RFC.
We both have the same requirement, would like to understand if the proposed way of using custom resource output in lambda will fit into yours?

Came across the situation where different permissions required a different set resources, made changes to the codes to allow multiple policies.

We're able to access a custom SNS topic's ARN for use in a lambda by adding to backend-config.json's lambda entry dependsOn array, it works but it gets wiped out when you update the function with amplify update function.
"dependsOn": [
        {
          "attributes": [
            "Arn"
          ],
          "category": "custom",
          "resourceName": "snsTopic"
        }
],


fix(risedev): provide client-address for compactor

I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.
What's changed and what's your intention?
Fix https://github.com/singularity-data/risingwave/issues/4869.
Checklist

[x] All checks passed in ./risedev check (or alias, ./risedev c)

Documentation
If your pull request contains user-facing changes, please specify the types of the changes, and create a release note. Otherwise, please feel free to remove this section.
Types of user-facing changes
Please keep the types that apply to your changes, and remove those that do not apply.

Installation and deployment
Connector (sources & sinks)
SQL commands, functions, and operators
RisingWave cluster configuration changes
Other (please specify in the release note below)

Release note
Please create a release note for your changes. In the release note, focus on the impact on users, and mention the environment or conditions where the impact may occur.
Refer to a related PR or issue link (optional)
Fix https://github.com/singularity-data/risingwave/issues/4869.

I also suggest @Gun9niR to print a warning when client-addr is configured as default value. He'll come up with another fix.

 I have no idea why we find this till now. Is it our first time to try connecting to compactors from meta nodes / compute nodes?

We never connect to compactor from other workers.
We spot this bug when we specify two compactors from different instances but with same port, resulting same port:ip in meta.


Audio Support

Placeholder for adding audio support, for feature parity with first party controllers.

[ ] Support for I²S for most common DAC chips
[ ] Support for an audio DAC chipset, such as the TI PCM51xx series.

We are going to close this until the expansion board is completed.


Add XHTML validation to bakery pipelines

Note / Feedback request: The PR currently only enables 2/3 checks available from our xhtml-validator (see comment in parent issue). I'm not sure if the observed failures on duplicate-id checks are something we'd expect today, or if they should be addressed in any book(s) that have them and this PR needs to enforce that validation check as well.

@tomjw64 - Just to clarify your comment, are you saying perhaps we should just call validate once per pipeline -- say after jsonify-book in distribution pipeline and mathify in pdf pipeline?

That's correct

So the current version of this went for the "put it everywhere" end of the spectrum based upon the solution approach outlined in the task description. I don't have a strong reason for not only checking once (near the end) of each pipeline other than the benefit of failing as early as possible. I guess in general it is theoretically possible that things could pass after disassemble but be broken earlier -- but I don't know 1) If it's realistically ever possible; 2) Even if it were whether we'd care since the issue wouldn't be observable in any generated artifacts.
Is the main concern / tradeoff of minimizing invocations just reducing the build time overheads?

My main concern is indeed the overhead multiplied by however many books we build. And ideally, since this should be a rare error case, to me it makes sense to avoid starting up 3 extra processes during a book build and simply error and investigate when we do not expect it to happen.
I am thinking along the same lines as the points you outlined. If the content we are shipping off downstream validates (but maybe not necessarily some intermediate state), I would consider that a success.


coqPackages.mathcomp: 1.13.0 -> 1.14.0

Motivation for this change
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
Tested basic functionality of all binary files (usually in ./result/bin/)~
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Apparently, the packages coq8.13-extructures (†0.3.0) coq8.13-fourcolor (†1.2.3) coq8.13-odd-order (†1.12.0) were removed (they were not updated apparently)


dependency updates

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 36.53%. Comparing base (0fad4a7) to head (1535ab6).

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #320   +/-   ##
=======================================
  Coverage   36.53%   36.53%
=======================================
  Files         104      104
  Lines        4289     4289
  Branches      547      547
=======================================
  Hits         1567     1567
  Misses       2722     2722

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Error on radar_data

Traceback (most recent call last):
File "tools/train.py", line 199, in
loss_confmap.backward()
File "C:\anaconda3\envs\rodnet\lib\site-packages\torch\tensor.py", line 221, in backward
torch.autograd.backward(self, gradient, retain_graph, create_graph)
File "C:\anaconda3\envs\rodnet\lib\site-packages\torch\autograd_init_.py", line 130, in backward
Variable._execution_engine.run_backward(
RuntimeError: Unable to find a valid cuDNN algorithm to run convolution

Please give a more detailed explanation, so that I can understand what issue you are facing. Thanks!

Sorry, that is my cuda cudnn issue. Already solved. Thanks.


Feat: Signing up user with email in database

Describe the feature
When attempting to sign up a new user with a valid email address, the system fails to create a new user account in the database. The following steps were taken to reproduce the issue:
Steps to Reproduce

Navigate to the sign-up page
Enter a valid email address and password
do Signin
Observe the system's response

Expected
The system should create a new user account in the database with the provided email address and password. The user should receive a confirmation email to verify their email address.
Actual Result
The system does not create a new user account in the database. The user is not redirected to a success page or sent a confirmation email. Instead, the system displays an error message (if any) or remains on the sign-up page
Demo Screenrecord
https://github.com/mdazfar2/HelpOps-Hub/assets/118350936/e3a76228-1a9e-4cea-9eaf-c627e12a3eac
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[ ] I'm a VSoC'24 contributor
[X] I want to work on this issue

@Ayushmaanagarwal1211 assigned


can not resolve reference

i can't implement openpay-Xamarin, i use the new versión of Xamarin.forms  <IP_ADDRESS>8 and
an error appears
Can not resolve reference: Openpay.Xamarin, referenced by residencialp. Please add a NuGet package or assembly reference for Openpay.Xamarin, or remove the reference to residencialp.	residencialp.Android

Reviewing the issue

Please update to latest version: <IP_ADDRESS> has been rebuilt to prevent this issue. Also, the samples project has been updated to reflect this update.

it works thanks!!!!!


Move fix for no spaces in uiautomation parameters into baseclass

There is a known limitation with uiautomation that doesnt allow you to have spaces in your parameters.
Currently every workload that wants to use spaces, in the python side has to replace it with "0space0", and in the java side reverts it back.
More and more workloads are doing this, so it makes sense to move this logic to the appropriate base classes for both the python and java sides.
Known affected workloads:

googleslides
videostreaming
skype
youtube
googleplaybooks
adobereader

Additional behaviour could be added to this.
For example in adobereader, if we want to pass a list of strings, in python we join lists with "0newline0" into one string, and in java we split on it

This functionality has been added in commit 9ba30c27dfc168db51c663b72a8a39e74ce616c3. All parameters are now encoded automatically when added and decoded as their correct data type into the parameter bundle passed to workloads. All existing uiautomator workloads have been updated to use the new functionality in commit 8f1206678abd737fa49ab8643446b69c47b2b4ac.


Don't launch coroutine in removeExpiredEntities

This removes the pattern:
fun doSomething = coroutineScope {
  launch {
    ...
  }
}
...
...
doSomething.join()

coroutineScope is blocking, so joining on the Job launched in it is
redundant, since it will definitely have been completed by the time we
have a reference to it.
The logic in DriverFactory is updated so that if the action on any one
provider fails, it doesn't result in a failure of the calling scope.
This safety is implemented from the DriverFactory method, rather than
requiring the providers to properly launch a safe coroutine.

Given that we are launching (or runBlocking-ing) before calling the method already anyway, this looks fine to me, but consider adding some detail to the pr description.

+1 especially there are also other changes: removing join() for cleardata methods.

Thanks for explaining your intent. I've made some updates to the PR to (I think) reflect your intended behavior.
I would like to add some tests to verify the behavior here, but want to wait until I verify that this now seems to be doing what you want.

Argh, I requested re-review without actually pushing my changes :(

Good point, I will split these into two, starting this the database code, where the change is less controversial. I'll leave this open and rebase when that one is completed.

Going to close this and re-open a fresh PR with the smaller change scope.


Easier cross-compiling for level 4?

Comment:
The conda-forge docs for the microarch-optimized builds have an example that uses microarch_level: 4.  But the README for this feedstock contains the following caveat:

When building packages on CI, level=4 will not be guaranteed, so you can only use level<=3 to build.

Indeed, when I tried to use level 4, I saw failures (in my case, it was on osx).
Nonetheless, I'd like to produce optimized builds for machines that support AVX-512 (level 4).  This was possible by explicitly adding the necessary build flag in build.sh and then explicitly listing the appropriate run dependency:
# conda_build_config.yaml
microarch_level:
  - 1
  - 3  # [unix and x86_64]
  - 4  # [unix and x86_64]

# build.sh
if [[ "${microarch_level}" == "4" ]]; then
    CXXFLAGS="${CXXFLAGS} -march=x86-64-v4"
fi

# meta.yaml
requirements:
  run:
    - _x86_64-microarch-level 4  # [unix and x86_64 and microarch_level == 4]

Using that workaround, we were able to produce optimized binaries (including march=x86-64-v4 in the graph-tool feedstock (https://github.com/conda-forge/graph-tool-feedstock/pull/140).

Would it be possible to make that easier for feedstock maintainers, perhaps by having the microarch-level-feedstock produce yet another output?
Right now this feedstock produces two packages for each arch, such as:

x86_64-microarch-level
a. Introduces the -march=x86-64-v${level} flag in CFLAGS etc.
b. Introduces a run_export to _x86_64-microarch-level
_x86_64-microarch-level
a. Introduces a run dependency to the appropriate __archspec virtual package.

...but it seems like cross-compilation would be easier if we were to split up the functionality from 1.a and 1.b. into two separate packages, so we could easily obtain the correct CFLAGS without pulling in the __archspec dependency.  Perhaps we could offer two variants of the package: one that provides both 1.a and 1.b, and another variant that only provides 1.a.  (I'm just splitballing here...)
Alternatively, we could just drop the run_exports from the {{ family }}-microarch-level recipe.  In that case, feedstock maintainers could build level-4 packages without needing to add the compiler flag explicitly, but they would be forced to explicitly list the appropriate runtime dependency in their recipe, which could be annoying:
requirements:
  build:
    - x86_64-microarch-level {{ microarch_level }}  # [unix and x86_64]
    - ppc64le-microarch-level {{ microarch_level }}  # [unix and ppc64le]
  run:
    - _x86_64-microarch-level >={{ microarch_level }} # [unix and x86_64]
    - _ppc64le-microarch-level >={{ microarch_level }} # [unix and ppc64le]

This is probably related to the discussion in https://github.com/conda-forge/conda-forge.github.io/issues/1261 .

This is a deficiency of run_exports where strong run_exports in build -> host & run and we have no way of specifying build -> run only. I suggest doing ignore_run_exports_from and manually adding them in run.

Is this now solved by #6 ?

To answer my own question: no.
Adding x86_64-microarch-level 4 to the build section still adds a _x86_64-microarch-level >=4 package to the host section.
So continuing with the idea from @stuarteberg, how about we do the following:

We introduce a new package in this feedstock whose only purpose is to have a strong run-export on _x86_64-microarch-level. Lets call this package _x86_64-microarch-level-run-export. (I'd love to hear a better name).
The run-export of x86_64-microarch-level is replaced with a weak run_export on this new package _x86_64-microarch-level-run-export. This ensures that the package is added to only the host section of the build.

@isuruf @traversaro @stuarteberg Thoughts?
On another note, currently the x86_64-microarch-level is also created for every microarchitecture, but it seems to me that it is completely unrelated. Should we maybe just remove that?

I just went ahead and implemented my note from above: https://github.com/conda-forge/microarch-level-feedstock/pull/9
Let me know what you think!

We introduce a new package in this feedstock whose only purpose is to have a strong run-export on _x86_64-microarch-level. Lets call this package _x86_64-microarch-level-run-export. (I'd love to hear a better name).

And what's the difference between that and x86_64-microarch-level?

Im trying to create a method where a package in the build section adds a package to just the run section (so not the host section). We can do that through 3 different packages:

x86_64-microarch-level: (should be placed in the build section)

Adds the activation scripts to set the proper compiler flags.
Adds a weak runexport on _x86_64-microarch-level-run-export

_x86_64-microarch-level-run-export: (automatically placed in the host section if x86_64-microarch-level is placed in build).

Adds a weak runexport on _x86_64-microarch-level

_x86_64-microarch-level: automatically added by _x86_64-microarch-level-run-export to the run section

Adds a requirement on a specific __archspec.

As you can see, all three packages have a different responsibility.
The result is that one can just add x86_64-microarch-level to the build section, which will allow building for an architecture that the build machine does not support, while also automatically adding a run requirement that enforces the proper archspec.

host environment getting the virtual packages from build machine is the root issue and all the solutions thus far are hacks IMO.  Also your suggestion doesn't work in the case where a v4 package needs a dependency v4 package in host. Then we have the same issue.
I think the best solution here is a way to specify virtual packages to be added to host environments.

I think the best solution here is a way to specify virtual packages to be added to host environments.

I have previously been discussing that with @wolfv . That does indeed seem like the best solution.
For the time being however, maybe we can brainstorm a solution that works in the mean time?

Also your suggestion doesn't work in the case where a v4 package needs a dependency v4 package in host. Then we have the same issue.

Would adding a constraint from _x86_64-microarch-level-run-export on _x86_64-microarch-level fix that?

@isuruf Any thoughts? I can create a PR if that helps?

For now can you use ignore_run_exports? That seems better than the hacky solution you suggested.

For now can you use ignore_run_exports?

But that will require the user to have a deep understanding of what is going on and why this is a problem. The whole idea is to remove friction for the user. My workaround is not that hacky is it?

But that will require the user to have a deep understanding of what is going on and why this is a problem.

What you are suggesting needs a deep understanding of what is going on when compiling downstream packages. The user needs to know that the ABI doesn't change when compiling a lvl4 package with a lvl3 downstream package, but running with a downstream lvl4 package.


requiring json file doesn't work

Node and Browserify allow json files to be required, but flow doesn't handle it.
gulpfile.babel.js:6
  6: checkDependencies(require('./package.json'));
                       ^^^^^^^^^^^^^^^^^^^^^^^^^ ./package.json. Required module not found

Oh, duplicate of https://github.com/facebook/flow/issues/620.


Added Authorization Layer, CanCan, and option for automatic nesting of belongs_to resources in menus

If settings.nested_associations is true, resources that belong_to the current
resource will be nested underneath it automatically. In other words, if
Comments belongs_to Posts, you'll see a menu item for Comments only when
viewing a specific Post, and that menu item will take you to the Comments
related to that post.
/posts/ <- No Comments link
/posts/1 <- /posts/1/comments as the link
All of these items accept the normal menu configuration options like label,
parent and display.
There may be depth related limitations, but I believe these line up with
the same depth limitations currently found in ActiveAdmin and
InheritedResource.
In addition to this, there is also now a function on the Resource class that will allow you to determine all belongs_to relationships when given a specific resource's name. This is capable of giving parents, children and a combination of these. It may be useful in the future for automatically creating a table_for belongs_to resources on show pages, in a somewhat similar fashion to RailsAdmin.

Added AuthorizationAdapter layer. auto_link, default actions, menus,
et cetera use new methods to determine if the current user is authorized
to view them.
The default AuthorizationAdapter returns true for all.
Also included is a CanCan adapter. Simply change
config.authorization_adapter_class to ActiveAdmin::CanCanAdapter, and these
actions will be checked via your defined Abilities.

Unfortunately, there are no additional tests included. While it may be difficult (read: pointless) to test the default authorization adapter, it should be possible to test the cancan layer.

Temporarily closing to handle potential issue with nesting and authorization


Identify and fix issues related to Gradle 7 support

A customer reported the following error when trying to run libertyDev task with Gradle 7:
Type 'DevTask' property 'container' is missing an input or output annotation.
The fix for that particular issue can be found in this PR: #590
However, we would need to identify and fix all issues related to Gradle 7 support, not just this one. @ericglau found the following when attempting to run with Gradle 7:
A problem was found with the configuration of task ':installLiberty' (type 'InstallLibertyTask').
  - Type 'InstallLibertyTask' property 'libertyRuntimeConfiguration' has @Input annotation used on property of type 'Configuration'.
    Reason: A property of type 'Configuration' annotated with @Input cannot determine how to interpret the file.
    Possible solutions:
      1. Annotate with @InputFile for regular files.
      2. Annotate with @InputDirectory for directories.
      3. If you want to track the path, return File.absolutePath as a String and keep @Input.
    Please refer to https://docs.gradle.org/7.0-rc-2/userguide/validation_problems.html#incorrect_use_of_input_annotation for more details about this problem.

We currently support Gradle 6 and should look into these Gradle 7 issues. Currently milestone 1 is available for Gradle 7.

gradle 7.0 is now GA.

https://docs.gradle.org/7.0/release-notes.html

Gradle 7.0.2 has been released.

Hi, I would like to ask  how you progressed with this issue to support Gradle 7.0.2, and when you plan release new version of io.openliberty.tools.gradle.Liberty. Thank you.

@sweetsz We have pushed a snapshot to Sonatype with the changes if you would like to test it out - 3.1.3-SNAPSHOT. As for when the next release will happen, I will need to check with the team and determine what other issues/PRs need to go in first. I will post an update here within the next few days.

@sweetsz @corporate-gadfly We plan to put out a 3.2 release with the Gradle 7 support by the end of this month.


[CS] Some more NFC changes

Split a couple more changes off #63963

@swift-ci please test

@swift-ci please test

@swift-ci please test

@hamishknight Why is SyntacticElementTarget a better name than SolutionApplicationTarget?

Mostly consistency, we have SyntacticElement{ConstraintGenerator, SolutionApplication} and it makes sense to move away from "solution application" because it's a solver target as well.

Also, isn’t SyntacticElementConstraintGenerator used for stuff inside closures only, unlike SyntacticElementTarget?

No, it's not only for closures, it could be used in any supported context which includes function/accessor declarations and if/switch expressions and soon string interpolations.
I personally don't like TypeCheck in the name because I think it's important to maintain distinction that this type is part of the constraint solver.

Maybe ConstraintSystemTarget then?

I suggested ConstraintSolverTarget before but it seems kind of tautological...

I suggested ConstraintSolverTarget before but it seems kind of tautological...

Totally works for me as well. There is no ConstraintSolver type but I don’t think that hurts clarity of purpose. I’m not sure I catch on to the tautology though: I see a clear separation between stuff that does the solving (action) and the thing + context data acted upon.


add support for (named) quotas, being referenced from spaceConfigs and orgConfigs

If you currently want to work with quotas, you have to define that in the spaceConfig.yml and orgConfig.yml. And you have to specify this as many time as you have orgs and spaces. You will also end up as many quotas as you have orgs and spaces.
If you (plan to) have many spaces (as we do), then I would think it would be better to have the option of specifying/defining quotas in separate files, and then in spaceConfig.yml and orgConfig.yml refer to those quotas by name.
So, for example, you define :
orgquotas/org-quota-small.yml
orgquotas/org-quota-medium.yml
orgquotas/org-quota-large.yml
spacequotas/space-quota-small.yml
spacequotas/space-quota-medium.yml
spacequotas/space-quota-large.yml
And these files hold the quota values similar to what is currently in the spaceConfig.yml and orgConfig.yml.
Then you should be able to specify (in spaceConfig.yml and orgConfig.yml) that you have an "external quota config" and specify the name of one of the files (i.e. space-quota-large.yml).
To not make it all too complex, this should be mutually exclusive with the current way of quota-config.

Interesting idea.  Will look into how we can incorporate this.

Released 1.0.12 (https://github.com/pivotalservices/cf-mgmt/releases/tag/v1.0.12)


How to migrate from capistrano 2.x or 3.x to deployphp?

Hi, is there any how-to docs? Thanks.

Hi @uran1980, this is a recipes repository for deployer, It would be best to open an issue on deployphp/deployer

I like the idea @uran1980, so please do reopen this issue in the deployer repository. :)

Have you opened a new issue @uran1980 ? Can you please link it? Thanks!

Ah, there we have it: https://github.com/deployphp/deployer/issues/359


URL weights for backend does not longer exits

The URL  for pre-trained weights for backend
https://1drv.ms/u/s!ApLdDEW3ut5fgQXa7GzSlG-mdza6
seems to be broken.
Would be nice if somebody could provide a different source for these weights

Did anyone already found the pre-trained weights?

The pre-trained weights can be found here: https://bit.ly/39rLNoE
It is given in the README.md file.