Multiple unexpected nullpointer behaviour

Hello Stephan,
Sadly, I require your assistance with my previous issue #1089 , because I still do not understand the real cause of the problem.
Therefore, I made my best effort to document my used code and software so I hope you can somehow replicate and compare the problem. As I have exhausted my ideas and debug options, your help would be really appreciated, so I can continue my academy project.
Ideally you could see the issue straight ahead, because the code itself doesn't utilize any NEORV32 components at all. But if not, even hints about how I could debug further by software would be helpful - Currently, I cannot use UART or a debugger, so my only way of debugging is by utilizing the 8 GPIOs as binary output. Because of this, the root of the problem could be anywhere: A misconfigured MARCH, a misconfigured NEORV32 processor, non-sufficient memory sizes, ...
Please see the details below.
Describe the bug
I am using NEORV32 Release 1.9.3 with your prebuilt compiler toolchain rv32i-131023. During the execution of my application, multiple variables, for example the global function pointer k2c_linear, contain nullpointer unexpectedly, although they are assigned a value in a global context. If you compare the same application execution on a Windows architecture, everything is working as expected.
To Reproduce
Please compile and execute the source code yourself from: My repo. Use MEM_INT_IMEM_SIZE=64*1024 and MEM_INT_DMEM_SIZE=32*1024 for your Quartus project.
Expected behavior
The application should not crash. At the end of main(), the while loop should execute a simple binary 1Hz counter on the GPIOs.
Observed behaviour
The application crashes mid-execution because of several de-referencings of nullpointers. The binary counter at the end of main() is not being executed. The binary counter cannot be observed on the GPIOs. As an effect of the crash, the controller either freezes or reboots.
Screenshots
Environment:

Windows 11 for Quartus Prime Lite & Linux Mint for compiling the application.
Hardware version 1.9.3
Precompiled compiler toolchain rv32i-131023
FPGA Target: DE0-Nano_SoC
NEORV32 ISA Extensions: CPU_EXTENSION_RISCV_C, CPU_EXTENSION_RISCV_M, CPU_EXTENSION_RISCV_Zicntr, CPU_EXTENSION_RISCV_Zfinx
Used compiler MARCH = rv32i_zicsr_zifencei_zfinx
Top level entity: neorv32_test_setup_approm.vhd
Application image transfer method: neorv32_application_image.vhd
64 kByte instruction memory!
32 kByte RAM!

I thank you a lot in advance!
kendegemaro

Hey @kendegemaro.

During the execution of my application, multiple variables, for example the global function pointer k2c_linear, contain nullpointer unexpectedly,

How did you find that out?
First of all, I recommend to enable the default :books: NEORV32 runtime environment:
neorv32_rte_setup();

This will output a message if there is any unhandled exception (if UART0 is enabled and configured).
Additionally, you could setup a :books: PMP rule so that null-pointer accesses raise an exception.
I did a quick test of your code on my testsetup. The code compiles without errors so any null-pointer issue must be caused by a runtime situation. I have used the makefile/configuration from your project. The code starts normally but after executing MNIST_NeuralNet(&test1_flatten_input_input,&c_dense_1_test1); something happens and the the code restarts.
After doing some investigations with the on-chip debugger I found out that there was a stack overflow. The stack grows (downwards) and at some point it collides with the data and bss sections overriding some critical variables/pointers (see :books: RAM Layout).
I've increased the RAM size to 64kB and (at least in simulation) the code seems to run fine now. Could you try that on your side as well?

I really did not expect a simple stack overflow [...]

These can be really hard to find sometimes as this is runtime-specific thing... 🙈

Because my only debug option were the LEDs, I printed the binary content of pointer variables (4 times 8 bit) onto the LEDs. Some variables seemed to have the value 0x0, which must be an effect of the stack overflow.

Oh, that's... basic... 😅 Can't you use the UART?

As the issue is solved

🚀 🎉

Can't you use the UART?

Until now, I have been hindered by not having a USB-UART adapter for my PC (and because I was afraid of the amount of work I'd have to put into the project to make it work, but let's not talk about that 🫠).
In the end though, implementing a working UART interface was surprisingly easy and your getting started tutorial, together with the example code and the C library, were very handy. I have even dared to try out the GPTMR module with success :)

Until now, I have been hindered by not having a USB-UART adapter for my PC (and because I was afraid of the amount of work I'd have to put into the project to make it work, but let's not talk about that 🫠).

It should be plug & play on both sides (PC and NEORV32) - at least the FTDI-based adapters work out of the box (on Windows and Linux).

In the end though, implementing a working UART interface was surprisingly easy and your getting started tutorial, together with the example code and the C library, were very handy. I have even dared to try out the GPTMR module with success :)

Thant's great to hear! Thank you very much for the feedback! 😄


Ensure EVP_get_digestbyname() and EVP_get_cipherbyname() know all aliases

Now that we have an EVP namemap containing all aliases that providers know about for any given algorithm, it is possible that an application attempts to look up a digest or a cipher via EVP_get_digestbyname() or EVP_get_cipherbyname() with an algorithm name that is unknown to the legacy method database. Therefore we extend those functions to additionally check the aliases in the namemap when searching for a method in the event that our initial lookup attempt fails.

Pushed. Thanks.


Merge remote-tracking branch 'upstream/stable' into merge_stable

Seems like this broke Buildkite ? https://buildkite.com/dlang/phobos/builds/337


add test that runs mcmc regression test on a stock synthesis model

currently, all the regression tests of stock synthesis use MLE, but sometimes stock synthesis models are run using mcmc. Set up a test that runs mcmc and checks outputs. This may not necessarily require the creation of a new test model; for example, the hake example already within ss-test-models may work well. A first step would be to use this test just to check that the i/o is still working (can the model be run and there aren't any weird nas or major outliers in the output), but we could refine to make this better in the future.

model runtime will be a major issue with mcmc.  I think it needs to be just long enough to test the I/O features.  run with input random seed so results are replicable.

Thanks @Rick-Methot-NOAA , I forgot that point. I think for github actions there is a runtime limit of 6 hours? This may have changed since I last looked, though.

A mcmc run that just tests I/O can be much shorter than 6 hours, especially for hake.  You will need to create a special routine to test comparability with past models.  Perhaps do something like:  Do 1000 mcmc draws, then in MCEVAL get output for every 10th draw.  Then run comparison using the 3rd (or any specific numbered) MCEVAL sample each time.

Test of mcmc (using adnuts) was added by @k-doering-NOAA back in November 2021:
https://github.com/nmfs-stock-synthesis/workflows/blob/main/.github/workflows/run-ss3-mcmc.yml
It doesn't really compare the output to a reference value, but I don't think that level of testing is needed at this stage.

That mcmc job is just checking that the sampling is repeatable and hence the NUTS algorithm in ADMB is compatible with ss3 ; I think this should be left open since the goal is different (a regression test to check model results).

The test set up now is different than the one this issue describes.

@k-doering-NOAA it looks like you marked this done in your "KD tasks" projects, it appears that this is indeed done, can you confirm?

No, this was not done - it's possible I marked it off on my project board realizing I was not going to have time for it before changing jobs!

I think it a good idea to have such a test and I volunteer hake as the subject.

I like the idea of an mcmc test too.
I suspect that even with settings random seed, small changes in SS3 will make it difficult to get a precise match in a short chains, so we would either want to have a low bar for similarity in a short chain or a more precise test for similarity in the summary statistics for a longer chain.
Perhaps @kellijohnson-NOAA could look at MCMC for a recent hake model (which could replace Hake_2018 in the set in https://github.com/nmfs-stock-synthesis/test-models/tree/main/models if that would be useful) and propose a length of chain (and even commands to start the adnuts run) that balances duration with enough convergence to be robust to small changes in the model. I'm guessing that we could just compare the median for one or two quantities of interest as well as some measure of the variability of their posterior distributions.

A test of convergence would be great, but I would be satisfied with (1) a test of I/O;  (2)  MCEVAL output from the Nth call.

There is already an mcmc test that checks that the NUTS algorithm in ADMB is compatible with SS3
Here's the script that it uses: https://github.com/nmfs-stock-synthesis/stock-synthesis/blob/main/.github/workflows/run-ss3-mcmc.yml#L68-L94. I think that could be expanded to add MCEVAL and a check of the output which aren't included yet. I suppose if the chain is short and a small change in SS3 leads to a failed test, we can figure that out when the time comes and extend the chain or otherwise modify the test.
I don't think it's fair to @e-gugliotti-NOAA to put this all on her given the complexity of running MCMC and the NWFSC folks are busy with assessments right now, so maybe we can transfer this issue to the stock-synthesis and put off further work on it until the fall. I just assigned myself and if @kellijohnson-NOAA is interested, she could assign herself too.

Agreed.  No rush on this one.
I am deep in trying to concoct tests with time-varying biology to figure out consequences of a,b formulation for spawner-recruitment

@iantaylor-NOAA, I would also like to assist on this one just to learn a bit more about running MCMC and MCEVAL.


Height?

How can i change the height of search bar?

There is no way to do so in the API. An AppBar with default height is used to contain the search bar. For now, the only way to do this is to fork the project.


Include content field of SimpleEmailService struct - Fixes #148

The SimpleEmailService struct contains only the fields mail and receipt (https://github.com/calavera/aws-lambda-events/blob/main/src/ses/mod.rs#L23-L26), however the AWS docs (https://docs.aws.amazon.com/ses/latest/dg/receiving-email-notifications-contents.html) say that there are two more fields that can be present, notificationType and content.
This pull request includes the content field - I decided not to include the notificationType field as from what I can tell this never provides any meaningful data, and may create problems with test cases as the current ones do not include the field and, while the spec says it should be present, it is also not present in some of the examples in the AWS documentation which would be confusing.

Linking to #148


A problem of input and output shape of the model architecture

Dear author:
I have been working on reproducing the results. While going through the code provided in the repository, I noticed that there is an inconsistency between the model architecture in the code and the description provided in the paper.
In particular, the input (number of samples) and output shape of the model in the code do not match with the ones mentioned in the paper. This is causing some confusion for me as I am trying to reproduce the results from the paper.

I appreciate the hard work put in by the author to make their code available and I am grateful for that.
Would it be possible for the author to clarify the inconsistency between the model structure in the code and the paper, and provide any guidance on how to resolve this issue?
Thank you for your attention to this matter.

Hi Yang-son,
Thanks for your interest.
The shape is changed because of input samples. I actually updated the repo and copied the config file from the RawNet2 baseline in ASVspoof 2021 challenge in which we used input samples=64600. I again changed it to 64000 as mentioned in the paper. If you want you can also check the RawNet2 baseline code from (https://github.com/asvspoof-challenge/2021/tree/main/LA/Baseline-RawNet2).
Please let me know if you need any help.
Thanks


Why the fps of Mask2Former in table.3 different from the one listed in Mask2Former?

Mask2Former tests its fps on R50 to be 9.7, while you get 26.6. What makes the difference?

Hi, Thanks for your interest in our work.
We use a lite neck instead of MSDeformAttnPixelDecoder to satisfy real-time settings, and we test all the fps using A100 gpu.


don't leak grades in program record before course completed

What are the relevant tickets?

https://github.com/mitodl/hq/issues/2303
Description (What does it do?)

Updates LearnerRecordSerializer to only return grades if one of these conditions are met:

A certificate is generated (this has already covered in existing code)
The course's certificate available date has passed
If there is no course certificate available date, then the course has ended

How can this be tested?

Setup a program and related courses
Setup a run

start date is in the pass and end date is in the future
certificate available date in the future

Enroll in program
Create passing grade for run created above
Go to your program record, make sure grade is not displayed for that run
Test any condition mentioned in the description, grade should be displayed for that run

This PR works well for the solution that is outlined in the description.
However, I am thinking we might need a little different solution here.
@pdpinch Do we want to show a grade that has not earned a certificate on Program Records page?
I am thinking we can tie the grade to a certificate, and only show those grade in the grade records page.


I don't get this - Pock goes out of the touch bar when I switch apps

Pock appears on my touch bar whenever Pock is selected, otherwise it goes away and the same old boring touch bar gets in its place. Am I doing something wrong? Is that a way of keeping it there?

You have to enable the option "Hide controls strip" to persist Pock

@josephsiu I need to use those control strips etc for screenshots etc.? Is there no way to use it without hiding control strips?

If ran normally, Pock acts like another other app so when another app have default touchbar actions, Pock will be replaced; hiding the control strip will make it stay. There should be a hotkey listed that will allow pock to hide/show even with that option.

no it dont work even if i do thay. some app like chrome changes it and it
never shows again.
On Mon, Aug 5, 2019, 8:46 PM Joseph Siu<EMAIL_ADDRESS>wrote:

If ran normally, Pock acts like another other app so when another app have
default touchbar actions, Pock will be replaced; hiding the control strip
will make it stay. There should be a hotkey listed that will allow pock to
hide/show even with that option.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/pigigaldi/Pock/issues/187?email_source=notifications&email_token=AB5Y4YNDY3VLOHJYSJHPGJ3QDA76RA5CNFSM4IH653V2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3SEQCQ#issuecomment-518277130,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB5Y4YIEUUPTBG2XCBYP5QDQDA76RANCNFSM4IH653VQ
.

What is even up with the complete lack of support / troubleshooting for this project? It looks nice and flashy, but what are we supposed to do when it doesn't work as advertised and you provide no guidelines?

You cannot say that to open source project man.The software is provided
without any warranty.
On Tue, Aug 6, 2019 at 2:55 PM Joakim Lindeng Engeset <
<EMAIL_ADDRESS>wrote:

What is even up with the complete lack of support / troubleshooting for
this project? It looks nice and flashy, but what are we supposed to do when
it doesn't work as advertised and you provide no guidelines?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/pigigaldi/Pock/issues/187?email_source=notifications&email_token=AB5Y4YK3YGHW4XSN6PT6PY3QDE7PJA5CNFSM4IH653V2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3UQQYI#issuecomment-518588513,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB5Y4YJZG2BE2B3WIFCH5YTQDE7PJANCNFSM4IH653VQ
.

It's not about expecting a service; any serious project (especially one subtly encouraging donations) should have documented code. This is not only for maintenance purposes, it would also make users (like myself) more self-reliant in debugging. Don't mind me though, I found a different project

if you have found other project let us know too :) By the way the
documentation is not for code but for use of software right? And I think
they have covered it just install it and use it :)
On Tue, Aug 6, 2019 at 6:31 PM Joakim Lindeng Engeset <
<EMAIL_ADDRESS>wrote:

It's not about expecting a service; any serious project (especially one
subtly encouraging donations) should have documented code. This is not only
for maintenance purposes, it would also make users (like myself) more
self-reliant in debugging. Don't mind me though, I found a different project
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/pigigaldi/Pock/issues/187?email_source=notifications&email_token=AB5Y4YLK47DJN2XZCWCBUN3QDFY2NA5CNFSM4IH653V2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3VBX3Y#issuecomment-518659055,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB5Y4YILX6WJOTBKR4N3HJ3QDFY2NANCNFSM4IH653VQ
.

Mine works perfectly. Just install it and put it in applications and boom

@ahmedu007 u will notice after few hour how it disappears and never comes back :(

@shirshak55  I've been using it for a few months now, and it works fine. I shutdown my Mac most of the nights, because I dont want the VM's and containers to keep running, so even after the reboot it comes back on as it should. Although I did have to add it to the startup option, but that's it

I'm still trying to figure out how to switch between widgets or if it's possible, haven't found full documentation yet. Double tapping the control buttons opens and closes the same widget.


Debug and fix massive APK size, new in v27.170.

It's been reported that our APK has gotten really big. The latest beta, v27.174, is 126 MB.
Looking at the GitHub releases, it went from 41.6 MB in v27.169 to 126 MB in v27.170. The most likely-looking thing in the v27.170 release notes is the RN v0.64 upgrade, #4426.

Here's a (belated) write-up of what we learned in that debugging thread, with some small further points. I'll then file specific issues for subtasks.
The figures below are from the latest release, v27.181.
The APK has a total size of 131988583 bytes, 132.0MB. Of that, the sizes reported by unzip -lv add up to 131.5MB. (The rest is presumably some combination of alignment-padding and metadata.)
The great bulk of the size of the APK comes from the native libraries, .so files:
$ unzip -lv archive/181.apk | head -n -2 | tail -n +4 \
    | grep '\.so$' | perl -lane '$t += $F[2]; END { print $t; }'
124218432

That's 124MB.

One major factor there is that our APK has four copies of each native library, for the four different ABIs.
We could instead build a separate APK for each ABI. This would be pretty straightforward to do. It'd mean a tiny bit more work in our release process, uploading four APKs to GitHub instead of one. It'd also potentially mean more complexity for downstream users of the APKs, but @IzzySoft has suggested doing exactly this: https://github.com/zulip/zulip-mobile/issues/1270#issuecomment-949969030 so I think that isn't a concern.
Of the 124.2MB of native libraries, 32.5MB are for arm64. So the arm64 APK (the most relevant one) would be about 91.7MB smaller than the current combined APK, or about 39.8MB. (More likely a few 100kB smaller still, as some of the padding and metadata would go away too.)
That's a bit smaller than the 41.6MB of v27.169.

A second factor is that the native libraries are stored uncompressed in the APKs; they used to be compressed. The default on that setting flipped in the AGP upgrade mentioned above.
This was actually a sensible change for upstream to make: when the APK gets installed, the libraries need to be uncompressed anyway so the code can run. If they're compressed in the APK, this means making a copy at install time, so the total storage cost is that of a compressed plus an uncompressed copy. If they're uncompressed in the APK, they can be memory-mapped and run directly from the APK, so there's no need to make a copy.
This change interacts badly with having libraries for 4 different architectures (because then it replaces 4 compressed copies plus 1 uncompressed, with 4 uncompressed copies.) But we'll fix that.
Once that's fixed, we could turn on compression of native libraries again, but it would come with a trade-off: it'd mean a smaller APK for distributors; potentially smaller downloads over the network (or not, because HTTP compression might do just as well or better); but a larger installed size for users.
Specifically, for arm64 we have 32.5MB of native libraries. In v27.169, there were 27.4MB of such libraries and they compressed to 8.9MB, a ratio of 32.5%. If the same ratio held, the 32.5MB would compress to about 10.5MB. So the APK would shrink by about 22.0MB, from about 39.8MB to about 17.8MB; but the installed size on the user's device would grow by about 10.5MB.

Smaller factors:

The largest of those native libraries -- 20.0MB for arm64, well over half the total size of all libraries -- is libjsc.so. We'll get to drop that when we switch to Hermes (#4131), which should be smaller than JSC.
Some other native libraries appear to be related to Hermes: libhermes-inspector.so, libhermes-executor-release.so, and three others, totalling (on arm64) 2.6MB. Until we do switch to Hermes, it might be possible to leave those out.
The .dex files (Java/Kotlin classes) total about 3.5MB after compression. It may be possible to reduce that with minification, or by identifying libraries we don't actually use and removing those. This could save perhaps a MB or two.
The icon fonts (our .ttf files) total 1.3MB after compression. We could save at least half of that by excluding the icon fonts we don't actually use.

We could save even more -- probably nearly all of it -- by building our own custom icon font to pick and choose just the specific icons we use.

Remaining contributors are (after compression): 1.1MB for our JS code (index.android.bundle); 0.4MB for resources.arsc; 0.3MB for KaTeX fonts; 0.2MB for translations; 0.5MB for everything else.

@IzzySoft I'd be particularly interested in your perspective on this tradeoff, for after we've split the APKs up by ABI:

[W]e could turn on compression of native libraries again, but it would come with a trade-off: it'd mean a smaller APK for distributors; potentially smaller downloads over the network (or not, because HTTP compression might do just as well or better); but a larger installed size for users.
Specifically, for arm64 we have 32.5MB of native libraries. [… At an estimate,] the 32.5MB would compress to about 10.5MB. So the APK would shrink by about 22.0MB, from about 39.8MB to about 17.8MB; but the installed size on the user's device would grow by about 10.5MB.

Which side of that tradeoff do you think would be best?

I was reading your full text with quite some interest. I've never checked the install part: the APK is kept on-device, but I thought resources were always unpacked. Forgive my ignorance on details here: I'm no Android dev and I never dug into which parts of the APK were unpacked and which not; but there must be a reason why the APK is kept.
We have such per-ABI builds at F-Droid as well. That split certainly has it advantages, as users only need to download the "stuff" needed for their device's architecture. Further, this brings your APKs closer to the 30M limit of my repo, where I then could pick e.g. the armeabi-v7a (which covers most devices, many arm64 ones included).
The compression part is what I cannot estimate – it might need some on-device checking. Should it really bring down the APK size to around 15MB (or even less), I could keep multiple copies in my repo¹. For some low-end devices, size might be a concern – but then compare that to the uncompressed "fat build" shipped now, it'd still be an improvement, right? I'd say it would be a very good compromise worth testing. If compression seems not worth it, it can be turned off again anytime with a new release.
Quick calc: instead of 130M mostly needing no unpacking, it then would be 10M (compressed) plus 30M (unpacked) = 40M on-device, so a clear win with a factor of 3 in savings and an "overhead" of 25% compared to uncompressed which otherwise would mean additional transfer and less copies kept on my server, but a potential factor 4 saving on the user's device. Sounds like a good deal to me, size-wise, if there are no other trade-offs.

¹ having more than one version in the repo helps when a user wants to install without having the index refreshed, while a newer version was already made available; it avoids the 404 caused otherwise, as the previous version would still be there

OK, an update: with #5296, the new armeabi-v7a APK will be down to 35.1MB. Much smaller than the 132.3MB for the all-in-one APK at main!

I've never checked the install part: the APK is kept on-device, but I thought resources were always unpacked. Forgive my ignorance on details here: I'm no Android dev and I never dug into which parts of the APK were unpacked and which not; but there must be a reason why the APK is kept.

Yeah, your instinct that there must be a reason the APK is kept around is right. I believe in general all the Android resources and also the "assets" files remain in the APK and are accessed directly from there, rather than making copies of them elsewhere on the device's storage. So with the change that happened in that AGP upgrade above, the system started doing the same for native libraries (.so files).
I just tried switching back to the old behavior (the switch is called android:extractNativeLibs.) Here are some numbers, with the armeabi-v7a APKs:

With #5296 alone: the APK is 35.1MB; when installed, the system reports the app's size is 45.5MB.
With #5296 plus setting android:extractNativeLibs="true" to return to the old behavior: the APK is smaller, 17.4MB, but the size after install is larger, 55.2MB.
OTOH at main before #5296 (at 9b7eeb587), the APK (which is all-in-one) is 132.3MB, and the app's size upon install is 143MB.

For each of those, I uninstalled the app completely, then installed it fresh with adb install; then long-press on app icon in launcher > App info > Storage & cache, to get a screen like this:

In short, by enabling that setting we could bring the APK size down by another 2x, from 35MB to about 17MB. The cost is that the size as actually installed on the user's device (including the APK) would go up, from about 45MB to 55MB. (Either way, both numbers will be much better than they are today before #5296.)

OK, so we go with that 35M APK for now (so Zulip is at least close to the 30M limit of my repo), and experiment with the 17M version later? If you'd go for the latter, I could increase "versions kept" to 2 (to cover the install issue described above). Or you stick to the 35M to save those 10M (i.e. the size of 2 photos taken) on-device. I'm fine with both – just let me know what you decide for so I can adjust configuration on my end (including matching the correct APK to pull once you release – this might be the currently most important part, as if my updater fetches the wrong one we might be stuck with that if switching meant decreasing versionCode).

OK, so we go with that 35M APK for now (so Zulip is at least close to the 30M limit of my repo), and experiment with the 17M version later?

Yeah, we'll have that 35MB APK in the upcoming v27.182 release, and see how that goes.
Then I think the next biggest opportunity for making things smaller will be:

The largest of those native libraries -- 20.0MB for arm64, well over half the total size of all libraries -- is libjsc.so. We'll get to drop that when we switch to Hermes (Use Hermes #4131), which should be smaller than JSC.

I'm hopeful we'll be able to do that in the next month or two; I'll want to give it a try once we next upgrade our React Native version, to v0.65.
There are some further space-saving opportunities in my comment at https://github.com/zulip/zulip-mobile/issues/5086#issuecomment-1067355270 . It'll be interesting to pursue some of those once we're on Hermes.
In the meantime, I'm going to close this issue as done -- the app is still larger than I'd like, but the APKs are a lot smaller than the massive size they became starting in v27.170, and in fact a little smaller than they've been for some time before that. (It looks like in v27.156 back in 2020 the APK was somewhat smaller, and then in v27.157 it grew.)

Thanks @gnprice – any yes, looking forward to that! Should you come close to 15 MB (i.e. the half of the 30M limit), be welcome to send me a ping so I reconfigure for keeping 2 versions in my repo, as discussed. I won't look at the byte, so I'd do that also with 16M per APK :wink:


NuGet Package Depends on Non-Existent Package

Describe the bug
Our NuGet package (https://www.nuget.org/packages/Microsoft.CST.ApplicationInspector.Commands) depends on "AppInspector.Common", which doesn't exist as a standalone NuGet. It's included in the package itself.
To Reproduce
Steps to reproduce the behavior:

dotnet new console
dotnet add package Microsoft.CST.ApplicationInspector.Commands

PS C:\dev\source\g> dotnet add package Microsoft.CST.ApplicationInspector.Commands
  Determining projects to restore...
  Writing C:\Users\miscovet\AppData\Local\Temp\tmpA89A.tmp
info : Adding PackageReference for package 'Microsoft.CST.ApplicationInspector.Commands' into project 'C:\dev\source\g\g.csproj'.
info :   GET https://api.nuget.org/v3/registration5-gz-semver2/microsoft.cst.applicationinspector.commands/index.json
info :   OK https://api.nuget.org/v3/registration5-gz-semver2/microsoft.cst.applicationinspector.commands/index.json 5145ms
info : Restoring packages for C:\dev\source\g\g.csproj...
info :   GET https://api.nuget.org/v3-flatcontainer/appinspector.common/index.json
info :   NotFound https://api.nuget.org/v3-flatcontainer/appinspector.common/index.json 226ms
error: NU1101: Unable to find package AppInspector.Common. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages, nuget.org
error: Package 'Microsoft.CST.ApplicationInspector.Commands' is incompatible with 'all' frameworks in project 'C:\dev\source\g\g.csproj'.

Expected behavior
We probably don't want .Common to be a dependency, since the DLL is included in the distribution.
Screenshots
N/A
Desktop (please complete the following information):

Version: 1.4.3

Smartphone (please complete the following information):
N/A
Additional context
N/A

Looks like the project reference doesn't have the correct tags to bundle the .Common DLL into the package.


Remove 'preview' label, hide history service sample, show anonymous j…

…oin sample

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Skype/WebSDK/samples/Audio/preview
:white_check_mark:Succeeded

Skype/WebSDK/samples/Devices Manager/preview
:white_check_mark:Succeeded

Skype/WebSDK/samples/History/order
:white_check_mark:Succeeded

Skype/WebSDK/samples/Meetings/Anonymous Online/order
:white_check_mark:Succeeded

Skype/WebSDK/samples/Meetings/preview
:white_check_mark:Succeeded

Skype/WebSDK/samples/Video/preview
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Replace Typeahead with Select2

This commit replaces the Twitter Typeahead library, which operates on a
"input text" tag. In this case, a multiple selection "select" tag is
more appropriate.
The Select2 library dynamically loads the repositories and adds the
relevant options to the form. This option works well with pre-selected
values written by the templating engine (e.g. after a validation error).
The list of repositories is stored in the sessionStorage, which is kept
by the browser as long as the page session is opened (reloading the page
keeps the data).
Fixes #16 #6

@bclozel Looks like the tests are failing? I don't think this test failed before these changes, but haven't been able to look into it. Any chance you can look into it?

I'm not sure this is strictly related to my latest commit, as the previous build failed the same way.
I think ClaOAuthConfig can't get injected with "${security.oauth2.pivotal-cla.token}", which is locally defined in our application-local.properties files:
Caused by: org.springframework.beans.factory.BeanCreationException:
Could not autowire field:
    private java.lang.String io.pivotal.cla.ClaOAuthConfig.pivotalClaAccessToken;
nested exception is java.lang.IllegalArgumentException:
    Could not resolve placeholder 'security.oauth2.pivotal-cla.token' in string value "${security.oauth2.pivotal-cla.token}"

@bclozel Thanks for looking into this. I didn't notice that Travis was failing this way previously.
I had thought that Boot picked up application-test.properties automatically when testing, but I had to explicitly add @TestPropertiesSource. Of course this worked locally due to the application-local.properties which is ignored by git so travis didn't see it.
This is now merged in via bf83cf008c3d005cc865712b2098554bcbda9ed6 Thanks again for the PR!


Educators import: Mark missing_from_last_export and show project leads in permissions tools

Who is this PR for?
Project leads across districts
What problem does this PR fix?
Typically project leads or district IT staff remove educators from the authentication system (eg, LDAP), which means they are not allowed to use Student Insights at all, regardless of past permissions.
By design, the district LDAP system controls who has access regardless of any data within Student Insights.  But Student Insights stores records for staff and students after they have been removed from the daily export, so that it can maintain past information (eg, who wrote a note about a student).
For educator records, this distinction isn't tracked or shown.  One of the project leads asked about it for an older staff.  They understandably were concerned that seeing their name meant that person still had access.
What does this PR do?
Updates the importer and educator model to track this with missing_from_last_export, similar to the StudentsImporter.   It also backports a fix for an edge case that hasn't come up to the StudentsImporter.
Uses this info in permissions tools for project leads so this process is visible for them.  Removes some old cruft from the administrate config.
This PR doesn't update the authentication process, but a separate one will add a defensive layer beyond the district's own authentication check that ensures the educator record was still present in the latest SIS export.
Screenshot (if adding a client-side feature)
with the full blinding beauty of adminstrate forms :)
overview

adjust permissions list

view

edit

Checklists
Which features or pages does this PR touch?

[x] Educators import
[x] Project lead permissions tools

Does this PR use tests to help verify we can deploy these changes quickly and confidently?

[x] Included specs for changes
[x] Improved specs for existing code in need of better test coverage
[x] Manual testing made more sense here

selfie

Done this migration, verified across districts.


Is there a problem with the gt generated by the code?

Hi~
I found that there is a difference between the gt generated by the code and the official one provided by VOC.

The gt is converted from binary mask polygon.
It may have slightly differences, but will not have large impact on performance.

The gt is converted from binary mask polygon. It may have slightly differences, but will not have large impact on performance.

But I found it has a large impact on performance, for LIID, mAP50: 48.4 -> 52.1, for IRnet mAP50: 46.7 -> 50.5.

But I found it has a large impact on performance, for LIID, mAP50: 48.4 -> 52.1, for IRnet mAP50: 46.7 -> 50.5.

Can you explan how to get those results in details?
Maybe you can visualize the gts before and after conversion.
For fully supervised learning, binary mask and polygon segmentation formats in detectron2 have simmilar performances, so I think they should have simmilar results in weakly supervsed learning.

But I found it has a large impact on performance, for LIID, mAP50: 48.4 -> 52.1, for IRnet mAP50: 46.7 -> 50.5.

Can you explan how to get those results in details?
Maybe you can visualize the gts before and after conversion.
For fully supervised learning, binary mask and polygon segmentation formats in detectron2 have simmilar performances, so I think they should have simmilar results in weakly supervsed learning.

I just tested the same detection result with two different GT's based on COCO API.
I will visualize the gts before and after conversion. Maybe I had done something wrong.


Fix some documentation errors

CLA:trivial
There are 3 changes within the pr:

Fix documentation: doc/man3/OSSL_HTTP_REQ_CTX.pod
Function OSSL_HTTP_REQ_CTX_free will free wbio if rctx->free_wbio is set while documentation says The wbio and rbio are not free'd. This may lead to misuse of freed object.

Fix documentation: doc/man3/OSSL_CMP_MSG_get0_header.pod
Old function defination of OSSL_CMP_MSG_read. Note that some other new functions origins from commit c631378 may also need to be added to documentation.

Fix documentation: doc/man3/ASN1_item_d2i_bio.pod
Some parameters' names are not consistent with source code.

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

This pull request is ready to merge

Merged to master and 3.0 branches. Thank you for your contribution.


feat: use section component && use zustand

feat: use section component && use zustand

Complete node lazy loading optimization
Here is the difference in rendering time when dragging a node when the page has 100 nodes:

Complete the type classification and group the types in the types folder

Issue
After calling the graph-editor package packaged with vite, the canvas cannot be dragged and the newly added nodes are not visible. However, when exporting the image, the added nodes are on the image. There is no problem using the component index.tsx directly without vite packaging
vite config
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import path from 'path';

export default defineConfig(({ mode }) => {
  if (mode === 'production') {
    return {
      build: {
        lib: {
          entry: path.resolve(__dirname, 'src/index.tsx'),
          name: '@graphscope/studio-graph-editor',
          fileName: format => `studio-graph-editor.${format}.js`,
        },
        outDir: './dist',
        rollupOptions: {
          external: ['react', 'react-dom'],
        },
      },
      resolve: {
        dedupe: ['react', 'react-dom'],
      },
      plugins: [react()],
    };
  } else {
    return {
      root: './',
      server: {
        port: 8000,
        open: '/',
      },
      build: {
        outDir: './dist',
      },
      plugins: [react()],
    };
  }
});

package.json
{
  "name": "@graphscope/studio-graph-editor",
  "version": "0.1.0",
  "description": "",
  "main": "./dist/studio-graph-editor.umd.js",
  "module": "./dist/studio-graph-editor.es.js",
  "types": "./dist/index.d.ts",
  "repository": {
    "type": "git",
    "url": "https://github.com/GraphScope/portal.git"
  },
  "files": [
    "es",
    "lib",
    "dist"
  ],
  "scripts": {
    "start": "vite dev",
    "build": "vite build && tsc"
  },
  "peerDependencies": {
    "react": "18.2.0",
    "react-dom": "18.2.0"
  },
  "dependencies": {
    "@graphscope/studio-components": "workspace:*",
    "antd": "^5.17.0",
    "d3-force": "latest",
    "dagre": "latest",
    "html-to-image": "^1.11.11",
    "lodash": "^4.17.21",
    "react-intl": "^6.6.1",
    "reactflow": "latest",
    "rxjs": "^7.8.1",
    "uuid": "^9.0.1",
    "valtio": "2.0.0-rc.1",
    "zustand": "^4.5.5"
  },
  "devDependencies": {
    "@types/d3-force": "latest",
    "@types/lodash": "^4.14.202",
    "@vitejs/plugin-react": "^4.2.1",
    "vite": "^5.0.12"
  },
  "author": "",
  "license": "ISC"
}

after changing module and main to ./src/index.tsx, no problem and normal operation.

Complete the basic UI and layout of the page

Complete popover content

Complete cypher sentence generate

Complete Modal

Add page script

@BQXBQX Thanks for your contribution! It's great work. We really appreciate it, looking forward to more from you!


Lettable do missing?

src/operators/do.ts seems to be missing?

use tap
f85c60e

https://github.com/ReactiveX/rxjs/blob/master/doc/lettable-operators.md#lettable-operators


Ingress controllers should handle edge cases uniformly x-platform

Ideas:

[ ] root URL (mapping to a different url in the upstream)

[ ] global per controlller —root-url
[ ] per Ingress rule using an annotation root-url. This means the ingress only contains one rule

[ ] upstreams to external resources (like /google proxy to http://www.google.cl)

kind: Ingress
metadata:
  name: external-ingress
spec:
  rules:
  - host: foo.bar.com
    http:
      paths:
      - backend:
          serviceName: external:www.google.cl
          servicePort: 80
        path: /google

[X] rules that overlap (firt rule wins, event with warning) 766

$ kubectl get ing
NAME      RULE          BACKEND   ADDRESS
demo      -                       <IP_ADDRESS>
          foo.bar.com
          /             echoheaders-x:80
foo-tls   -                       <IP_ADDRESS>
          foo.bar.com
          /             echoheaders-x:80
          bar.baz.com
          /             echoheaders-y:80

NGINX controller e2e tests:

[ ] no default backend
[ ] invalid default backend
[ ] no ingress
[ ] single ingress:

rule

[ ] invalid service
[ ] invalid port
[ ] no endpoints
[ ] no host (it should use the _ nginx server)
[ ] without path

[ ] multiple ingress:

rule

[ ] invalid service
[ ] invalid port
[ ] no endpoints
[ ] with same path (error or just a warning?)
[ ] without path

[ ] TLS rules:

[ ] invalid certs
[ ] invalid hosts (fails verification)
[ ] invalid service
[ ] invalid port
[ ] no endpoints
[ ] no host (it should use the _ nginx server)

[ ] tcp configmap

[ ] invalid service
[ ] invalid port
[ ] no endpoints

[ ] custom nginx configmap

[ ] change timeouts
[ ] invalid fields

This issue was moved to kubernetes/ingress#7


Switching between tabs could cause windows resize shaking on the second monitor

I was able to reproduce this issue many times on my second monitor.
However, I was not able to reproduce on my main monitor(the docker monitor)
If I switch my docker to the second monitor to make it become the main monitor, then the problem can be reproduced on the old main monitor(now it become new secondary monitor)
Check is gif animation:

My iMac main monitor is 5k (retina). My secondary monitor is Apple cinema display which is 2560x1440 (non-retina)
macOS 10.14

@keefo can you try with the current code from master? Its more resilient animations should cover this, too

@DivineDominion
I just did a new test on master d9ad07c5382064d379d2941fe3a86a6815d50b81, the same problem.

I'm also seeing this issue, on my iMac's primary monitor. Sometimes during the transition the window shrinks slightly creating an unpleasant jumping effect. Running fe835d3 with the example target with no modifications.

@issuehunt has funded $80.00 to this issue.

Submit pull request via IssueHunt to receive this reward.
Want to contribute? Chip in to this issue via IssueHunt.
Checkout the IssueHunt Issue Explorer to see more funded issues.
Need help from developers? Add your repository on IssueHunt to raise funds.


tag releases

hi,
I am trying to package s3p for my distribution and not having git tags matching releases makes it harder. I chose the commit whose message contained a "version" number but I am not sure it's the same commit used on npmjs.com

Are you somehow trying to pull directly from this repo for your packaging rather than use the NPMjs.com package?
I could make git-tags, but I'd like to understand your use-case better. Usually people would just use NPM to do it. If this is the only NPM you need, you could do:
# inside your distribution
echo {} > package.json
npm install<EMAIL_ADDRESS>npx s3p ...

Even more performant would be to do that locally, and then copy the package.json and package-lock.json files into your distribution and then use:
npm ci # faster than npm install
npx s3p ...

Are you somehow trying to pull directly from this repo for your packaging rather than use the NPMjs.com package?

Yes, I use nix, a source-based packager. I am not that familiar with npm is it possible to get a source archive from https://www.npmjs.com/ ? I prefer to build referencing this github repo anyway because it lets me build from an arbitrary revision

npm install<EMAIL_ADDRESS>
this wont work since nix builds in a sandbox without internet access, or more accurately it can download from the internet only if it can check the integrity of the files, via a checksum. Also once nix builds a package, it lives in a simple folder in a cache and installing a package consists in just copying a folder from a cache which i guess is even faster than npm ci.
Anyway I dont want to drown you into irrelevant nix technical details, it works fine with a commit revision the main point is irrelevant to nix: as a developer, if I want to look at the code of a specific s3p version, I am not sure which commit matches the release, git tags make "which revision to look at" clearer.

Your ask for tagged releases is perfectly reasonable of course. I'll try to get that into my workflow.
I'm curious, though, why you can't run npm install<EMAIL_ADDRESS>If you are cloning from the github repo, you still need to npm install and then npm run build before anything will work... How does that work if you have no network connection?

I made a test tag and release called 3.5.2. Does that work for you?

I'm curious, though, why you can't run npm install<EMAIL_ADDRESS>If you are cloning from the github repo, you still need to npm install and then npm run build before anything will work... How does that work if you have no network connection?

You can access internet only if you can validate the file content with a checksum, like the package-lock.json contains. Ty for the tags.


🌱 Add basic logging after e2e tests

What this PR does / why we need it:
It is currently hard to tell what state the cluster was in when it failed. This should hopefully make it a bit clearer.
Similar to https://github.com/metal3-io/cluster-api-provider-metal3/pull/714 (but this was hard to backport it seems).
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #

/test-centos-e2e-release-1-2

/test-centos-e2e-release-1-2
/test-ubuntu-integration-release-1-2

/test-centos-e2e-release-1-2

/test-centos-e2e-release-1-2

/test-centos-e2e-release-1-2

/lgtm


Intellisense activating inside of strings

(Migrated from https://github.com/Microsoft/vscode/issues/5051)

VSCode Version: 0.10.11
OS Version: Windows 10 (also repros on OSX)

(Code examples will be in C#, but also repro's with other languages)
Scenario 1 Repro:

var x = "%%
With the cursor at %%, Type C
Code Completion suggestions are shown.

Scenario 2 Repro:

Console.WriteLine("%%)
Intellisense will be showing. Click elsewhere in the file to dismiss it.
Type (
Intellisense is shown again.

(This would be normal if it hadn't been previously dismissed.)

Note that the completion that appears inside strings is text token based and includes snippets. These are included by default in VS Code. However, symbol completion is not appearing inside strings.
The signature help issue should already be fixed.


Impossible to bind ctrl-bspace or ctrl-del

[x] I have read through the manual page (man fzf)
[x] I have the latest version of fzf
[x] I have searched through the existing issues

Info

OS

[x] Linux
[ ] Mac OS X
[ ] Windows
[ ] Etc.

Shell

[x] bash
[x] zsh
[ ] fish

Problem / Steps to reproduce
tricky ~                                                                                2 15:13:01
❯ fzf --bind=ctrl-del:kill-word
unsupported key: ctrl-del

tricky ~                                                                                2 15:13:16
❯ fzf --bind=ctrl-bspace:backward-kill-word
unsupported key: ctrl-bspace

It's not possible to support those keys as they are not recognized by the standard terminals.
Related #1933


Fix windows history file location

Required for all non-trivial PRs

[x] Rebased/mergable
[x] Tests pass
[ ] CHANGELOG.md updated

An issue reported by a windows user in InfluxDB China User Group.

The windows OS  have no $HOME env, so he got an empty c.historyFilePath, but there is an error every time.
Now use USERPROFILE  env on windows.

@jsternberg  You're right.

@jsternberg Done


allow running launch configs from the debug console

When no debug session is active, the debug console cannot be used for anything (and it prints a warning).
I suggest to allow some minimal commands in this mode. E.g. debug and runcould be used to launch a launch config in debug or run mode.
If additional arguments are added, they would be passed to the launch config.
So for running a specific set of mocha tests, you could say:
run tests --grep api

"tests" is the name of a launch config.

This makes sense and we could add it, however it would not be so discoverable.
On top of that we would have to support some "terminal" like fetaures in the debug console.
That the user gets completion for run and debug, we would have to parse the arguments and so on...
What I prefer and find more useful is that vscode could be run with a -- debug tests flag which would start debugging configuration tests. That would be more easily discoverable since we have other vscode command line arguments.


Multi line diff fixes

A few more tests and a small fix to the merge function.

@renatoathaydes Does your change to the merge function fix a bug? All your tests seem to pass without it for me, and I would expect that l.peek().is_some() && l.peek() == c.peek() && r.peek() == c.peek() implies r.peek().is_some(), by transitivity of equality.

I modified the test that was failing after I realised that the elements of the diff are merged intentionally (I had expected the separator to not be included in any difference element), then didn't check if my change was needed... but I agree, it doesn't seem to be necessary, I will revert that.
BTW do you want to maintain a fork of this lib... seems like the original author is no longer interested?

tbh I consider merging elements to be a bit of a bug in the original -- at least, confusing and surprising -- but it's behavior I preserved.
I pinged the author on the original ticket; If he doesn't respond to the offer to join as a maintainer, yeah, I'll likely time out and publish a fork, potentially taking the opportunity to fix a few things in a breaking way (e.g. not merging diff elements)

Thanks!

Even though I already changed my code to account for that (which made it much more complicated, I can't see a good reason why this was done) I would welcome the change, TBH :)

@colin-kiegel you may want to check this discussion are you also seem interested in this lib.

Hi. Yes, I was already subscribed to this ticket :-)
I'm curious, what behaviour do you mean by merging elements?
I don't see a separator included in any difference element.
Can you give something like an end-user example of what behaviour is surprising?

@colin-kiegel see the tests I added.

@renatoathaydes I see, thx. Now I remember that I actually split all difference elements by "\n" again, when formatting lines in pretty_assertions. But I also have a use case for the merging behaviour, e.g. when I want to format chunks of Adds and Rems as a whole, like in The [-fast red-]{+quick brown+} fox jumps over the lazy dog. I actually have both use cases in pretty_assertions - so I have no real preference.
But I agree, that the merging behaviour was a bit counter-intuitive to me at first, too. This is because the edit distance is defined as the count of non-merged Adds+Rems. I would have expected to find non-merged difference elements by default, reflecting the edit distance.
I stumbled over some other ambiguities too. The following are equivalent (with split on " ").
Add before Rem:
[
    Add("quick"),
    Add("brown"),
    Rem("fast"),
    Rem("red"),
]

Rem before Add:
[
    Rem("fast"),
    Rem("red"),
    Add("quick"),
    Add("brown"),
]

Add+Rem mixed:
[
    Add("quick"),
    Rem("fast"),
    Add("brown"),
    Rem("red"),
]

...
It would be nice, if the difference crate would state in it's docs whether there is any "normalization" of these ambiguities, e.g. whether Adds will always appear bundled and before (bundled) Rems. This way you would know, if you can rely on any ordering or not. :-)


Receive Transport Crash on second call

PS - Tried almost everything. Checked discourse group as well.
Case - First time everything works fine, able to leave the call as well BUT when trying to join again then its crashes in the beginning with below error

On leave -

Attempt 1 - Tried setting to nil to all the property (consumer, producer, track, media, device close and nil) and socket disconnect
Attempt 2 - Only socket disconnect
Attempt 3 - consumer close, sent pause consumer socket and socket disconnect

What is the correct way to do this?
Transport callback handling
`
func onConnectionStateChange(transport: Transport, connectionState: TransportConnectionState) {
LOG.debug("Transport- Reconnect- (transport.id == sendTransport?.id ? "send" : "receive") onConnectionStateChange == (connectionState)")
    qJMMediaBGQueue.async {
        if connectionState == .disconnected && self.isCallEnded{
            LOG.error("Transport- End- transport closed")
            transport.close()
            return
        }

        if connectionState == .closed && transport.id == self.sendTransport?.id{
            LOG.error("Transport- End- transport sent closed - stop capture")
            self.videoCapture?.stopCapture()
        }
    }

`

woah!! With this changes https://github.com/VLprojects/mediasoup-client-swift/pull/16 , this crash got resolved too.
Thanks man!!
One last time please add support for iOS 12. Just need to update the minimum deployment, nothing else. Thank you.
https://github.com/VLprojects/mediasoup-client-swift/issues/18

Nope, Today it started crash again on transport close.
Is m112 version of WEBRTC integrated with mediasoup is stable or should we use m94?

I had to remove the calling of close to remove the crash.
Please let us know what is the proper way to handle this?


Support for self.address and bool operations

What was wrong?
We didn't support the two small features mentioned above. They are both needed for the Uniswap demo.
How was it fixed?

analyzing the expressions
mapping the expressions
testing

To-Do

[ ] OPTIONAL: Update Spec if applicable

[x] Add entry to the release notes (may forgo for trivial changes)

[x] Clean up commit history

Codecov Report

Merging #270 (aa5ef07) into master (f978266) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #270      +/-   ##
==========================================
+ Coverage   93.82%   93.84%   +0.01%
==========================================
  Files          56       56
  Lines        3922     3931       +9
==========================================
+ Hits         3680     3689       +9
  Misses        242      242

Impacted Files
Coverage Δ

analyzer/src/traversal/expressions.rs
93.03% <100.00%> (+0.12%)
:arrow_up:

compiler/src/yul/mappers/expressions.rs
97.24% <100.00%> (+0.07%)
:arrow_up:

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 f978266...aa5ef07. Read the comment docs.


404 - via_upstream error when calling ingress gateway

Is this the right place to submit this?

[X] This is not a security vulnerability or a crashing bug
[X] This is not a question about how to use Istio

Bug Description
I have configured Istio on an EKS cluster where the ingress gateway is talking to an NLB. I am able to see the request received in the logs for the specific pod that it needs to call.
The service is called using virtual service configuration however the response from the service back to the caller is not returned.
I get a 404 - via_upstream error.
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: {{ .Values.mediaAsset.name }}
  namespace: {{ .Values.mediaAsset.namespace }}
spec:
  gateways:
    - {{ .Values.mediaAsset.gateway.name }}
  hosts:
    - "*"
  http:
  - name: mas-grpc
    match:
    - uri:
        prefix: /mas_grpc
    route:
    - destination:
        host: {{ .Values.mediaAsset.host }}
        port:
          number: {{ .Values.mediaAsset.service.grpcPort }}
  - name: mas-http
    match:
    - uri:
        prefix: /mas
    route:
    - destination:
        host: {{ .Values.mediaAsset.host }}
        port:
          number: {{ .Values.mediaAsset.service.httpPort }}

resource "kubernetes_manifest" "shared_gateway" {
  manifest = {
    "apiVersion" = "networking.istio.io/v1alpha3"
    "kind"       = "Gateway"
    "metadata" = {
      "name"      = "shared-gateway-${var.env}"
      "namespace" = "istio-ingress"
    }
    "spec" = {
      "selector" = {
        "istio" = "ingressgateway"
      }
      "servers" = [
        {
          "port": {
            "number" = 80,
            "name" = "http"
            "protocol" = "HTTP"
          }
          "hosts" = ["*"]
        }
      ]

    }
  }

  depends_on = [helm_release.istio_ingress]
}

Version
client version: 1.17.3
control plane version: 1.18.0
data plane version: 1.18.0 (2 proxies)

Client Version: v1.27.1
Kustomize Version: v5.0.1
Server Version: v1.27.2-eks-c12679a

Additional Information
No response
Affected product area

[ ] Ambient
[ ] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Control Plane Revisions

This is a 404 from your own application. you need to debug it yourself as we don't have insight into your own application

I think I have found the error @howardjohn.
my virtual service was setup for /mas to go to port 8000 and then was sending to the pod for /mas/v1/health however it should be going to /v1/health
I thought that the prefix would be used as a selector and remove that part to the forwarded request.
Is there a way to strip the prefix before sending it to the pod or do I just need to add that to api?

you can use rewrite
On Mon, Jul 10, 2023, 6:09 PM zirain @.***> wrote:

Closed #45931 https://github.com/istio/istio/issues/45931 as not
planned.
—
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/45931#event-9781377144, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEYGXLWL5YVAJWOB6AWQETXPSRUPANCNFSM6AAAAAA2E6TQG4
.
You are receiving this because you were mentioned.Message ID:
@.***>


outlineText doesn't show up in desinger

Describe the bug
OutlineText doesn't show-up in Designer at the time of view, but is visible at run-time.
To Reproduce

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):

.net: [ 4.7.1]
IDE [vs2019]
Version [2.2.0]
vsix

Additional context
Add any other context about the problem here.
I think this Outline is a run-time thing, hence it doesn't show up at design time, but can any changes be done for this?
thanks

it should be the designer's problem, it's normal on my computer:

alright. How to use? custom
Messagebox? could you explain pls?

Why do you mention the Messagebox?

I am struggling to use the Handy Tools, docs are not so clear. Well I think I should ask these questions in chat forums than on github.


Crash with nwjs > 0.34.4

I am using Linux 64 and the module with v4.0.2 was build from source as instructed here https://www.npmjs.com/package/sqlite3#building-for-node-webkit
The app crash when calling any sqlite function, works fine with nwjs 0.33.0
node[4584]: ../../third_party/node-nw/src/node.cc:780:MaybeLocal<v8::Value> node::MakeCallback(v8::Isolate *, Local<v8::Object>, Local<v8::Function>, int, Local<v8::Value> *, node::async_context): Assertion `(env) != nullptr' failed.
 1: 0x7ffa18acff35 node::Abort() [~/project/resources/node_modules/nw/nwjs/lib/libnode.so]
 2: 0x7ffa18acef49  [~/project/resources/node_modules/nw/nwjs/lib/libnode.so]
 3: 0x7ffa18acf414  [~/project/resources/node_modules/nw/nwjs/lib/libnode.so]
 4: 0x7ff9f9cb5029 node_sqlite3::Database::Serialize(Nan::FunctionCallbackInfo<v8::Value> const&) [~/project/resources/node_modules/sqlite3/lib/binding/node-webkit-v0.34.0-linux-x64/node_sqlite3.node]
 5: 0x7ff9f9cb088f  [~/project/resources/node_modules/sqlite3/lib/binding/node-webkit-v0.34.0-linux-x64/node_sqlite3.node]
 6: 0x7ffa25c41c20  [~/project/resources/node_modules/nw/nwjs/lib/libnw.so]

fixed with nwjs 0.35.0


SheetMobile: support for tablet

Pull Request Instructions
This adds support for the tablet type in Sheet Mobile.
Pull Request Template
Summary
What changed?
At a high level, what changes does this PR introduce?
Why?
What is the purpose of this PR? Please include the context around these changes for Future Us. In addition to what is changing, we need to know why these changes are needed. Imagine someone is looking at these changes a year from now and needs to know why they were made.
Links

Jira
[TDD](link to Paper doc)
[Figma](link to Figma file)

Checklist

[ ] Added unit tests
[ ] Added documentation + accessibility tests
[ ] Verified accessibility: keyboard & screen reader interaction
[ ] Checked dark mode, responsiveness, and right-to-left support
[ ] Checked stakeholder feedback (e.g. Gestalt designers, relevant feature teams)

Closing, I'm going to remove the error. I think we need further discuss on tablet guidance... the error makes it confusing when there's no guidance.


UPDATE:  HuBMAP logo from digital object metadata pages points to the deprecated CCF portal rather than HRA portal

I noticed today when clicking on the HuBMAP icon in upper left of pages that display digital object metadata, it points back to the deprecated CCF portal rather than to the HRA portal.

This seems to ONLY be a problem on digital object metadata pages which are being pulled from ccf-releases github markdown files. Affects ASCT+B, 2D FTU, 3D model, VCCF, OMAP digital object metadata pages, NOT the landing pages for those.
Likewise, the whole navigation bar is not the same as the rest of the HRA website, I think if it were replaced consistently for all pages, this would be resolved.
Correct navigation bar found on all content pages:

I'll take this one.

fixed by bruce. closing


DB is running too high on CPU during prover operation

Describe the bug
DB CPU is getting maxed out.
To Reproduce
Steps to reproduce the behavior:

Additional context
https://use-the-index-luke.com/sql/where-clause/searching-for-ranges/greater-less-between-tuning-sql-access-filter-predicates
Can filter by domain first to get some performance increases.

retry mechanism is not always robust enough and we self-dos sometimes. still working, but slower
fixing this to meet throughput goals


Process the Input that is send to the emulator (and send them to Yeelight)

Not really an issue but a question/idea
Is there already any implementation to actually process the hue commands that the emulator recieves?
For example, I am interested in the Xiaomi Yeelight Wifi Bulbs,
and would like to use the esp8266 to send commands to it.
This would make a really cheap Hue alternative, that doesn't lack the features of the real thing.
Yeelight Developer Docs: http://www.yeelight.com/download/Yeelight_Inter-Operation_Spec.pdf

Nevermind


Some code actions are not offered in VS Code on Linux

Describe the bug
VS Code extension on Linux doesn't offer at least some of the code actions that are offered in Visual Studio on Windows. (I haven't had a chance to check VS Code on Windows, sorry.)
To Reproduce
Steps to reproduce the behavior:
I tried the code action which opens namespace for a library operation. Typing in the operation name gives an error, with "No quick fixes available".
Screenshots

Expected behavior
I expected a code action ("quick fix"?) to appear offering to open namespace.
System information

Version of QDK extension: 0.15.2103133969
Linux, .NET Core 3.1.407
VS Code 1.54.3

@ricardo-espinoza Could you make sure this issue gets triaged and processed as appropriate? Thanks!

Investigating. @tcNickolas , did you notice this as a regression or have you never used that quick action in VS Code for Linux that you can recall?

I haven't used QDK on Linux for a couple of years, so I cannot really say - it's quite possible my first use was pre-code actions :-)

This isn't a Linux specific problem. The issue here is that code actions are not specified with Kind = QuickFix, so they are available but are not shown as quick fix options in the UI referenced in the UI above.
This is tracked by bug #1268


kfctl should fail if an overlay is not found

If an overlay is not found, this indicates a user error and kfctl should not continue, but fail loudly.
https://github.com/kubeflow/kfctl/blob/9957ea14f901f3de107c059561e1de0a8529b497/pkg/kfapp/kustomize/kustomize.go#L867
We should change this to log.Fatal or return an error.

I don't think we should just crash because kfctl could be used programmatically; e.g in the server.
But throwing an error seems like a sensible thing todo.
/cc @gabrielwen


Add Arithmetic Progression upto n terms

I would like to add arithmetic progression under general maths. This will take in the initial term (a), difference (d) and number of terms (n) and print the whole list.
Please assign this to me as a part of GSSOC'21.

You can implement this under Linear Algebra section

Go ahead
Feel free to ask your doubts,if any
Deadline 27 March,2021 (11:59 PM IST)

So I should just print the series before the sum of arithmetic progression is being printed right?

Yes, Right 👍


change hardcoded admin credentials for testing

Description
https://github.com/opensearch-project/dashboards-visualizations/issues/308
Issues Resolved
closes https://github.com/opensearch-project/dashboards-visualizations/issues/308
Check List

[ ] New functionality includes testing.

[ ] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

closing since CI doesn't use these. users can run cypress with security manually, but they'll have to provide the credentials by changing the settings


Install-DbaMaintenanceSolution - Test if database exists and report failure if script fails

Type of Change

[x] Bug fix (non-breaking change, fixes #7314 )
[ ] New feature (non-breaking change, adds functionality, fixes # )
[ ] Breaking change (effects multiple commands or functionality, fixes # )
[ ] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[ ] Pester test is included
[ ] If new file reference added for test, has is been added to github.com/sqlcollaborative/appveyor-lab ?
[ ] Nunit test is included
[ ] Documentation
[ ] Build system

Before I added the check for database:

Now:

Code makes sense, thank you for fixing this issue! 🙇🏼


Implement Patreon as an external provider

Feature request
Is your feature request related to a problem? Please describe.
Support Patreon oauth.
Describe the solution you'd like
See feature request https://github.com/netlify/gotrue/issues/312

Hey all,
We're going to track all provider requests on #451 so we'll be closing this issue for now -- feel free to follow along there instead.


Error after update to 12.3

FYI I got this error on my project (was fine with 12.2). Anyone have any idea if it's an easy fix?
 File "/usr/local/lib/python2.7/dist-packages/sorl/thumbnail/default.py", line 14, in _setup
    self._wrapped = get_module_class(settings.THUMBNAIL_KVSTORE)()
  File "/usr/local/lib/python2.7/dist-packages/sorl/thumbnail/helpers.py", line 69, in get_module_class

ImproperlyConfigured: Error importing module sorl.thumbnail.kvstores.cached_db_kvstore: "cannot import name get_cache"

Can you try entering a shell with python manage.py shell and do the following
>>> from sorl.thumbnail.compat import get_cache

Also, before you do that try also to uninstall the previous sorl-thumbnail version

I think everything is fine, was another problem in my production server. Thanks @mariocesar


Plugins don't work with TypeScript out of the box

Do you want to request a feature or report a bug?
feature
What is the current behavior?
Plugins do not work with TypeScript out of the box
What is the expected behavior?
Would be nice if they did :)

So there are nice typings for the main module but no typings for the plugins themselves.
So if you do like
import * as Raven from 'raven-js';
import * as RavenAngularPlugin from 'raven-js/plugins/angular';

Raven
    .config(SENTRY_DSN, { release: release, serverName: serverName })
    .addPlugin(RavenAngularPlugin, angular)

when having noImplicitAny you get
ERROR in ./src/setup/load-sentry.ts (3,37): error TS7016: Could not find a declaration file for module 'raven-js/plugins/angular'. '.../node_modules/raven-js/plugins/angular.js' implicitly has an 'any' type.
The fix for that is to provide the trivial typings for each of the plugins that would just declare that each of them exports an implementation of RavenPlugin.
Right now to fix it I need to create a dummy declaration file
declare module 'raven-js/plugins/angular' {
	let RavenAngularPlugin: Object

	export = RavenAngularPlugin;
}

and also cast the export to any: .addPlugin(RavenAngularPlugin as any, angular).
I would declare the thing as RavenPlugin and save this step but this interface is not exported.
So exporting all the raven-related interfaces from the existing typedef file would also be nice.

Really, we'd only consider putting one together for the Angular 1 plugin. PRs welcome.

Closing due to inactivity. Please feel free to reopen and provide a PR if it's something you'd still like to use.


Ts privacy

@reppners, I was not able to use the lib because of various problems on iOS 8.4.1. There were cases of the dragged image sticking around after the drag operation, and the drop itself failing.
If there is a stable version, I'll be able to try it out and report a more detail explanation of the problems.


Will it work if more than two beneficiaries added

If a mobile number have more than one beneficiary added and they are of different category like one of 45+, one of 18+, one having vaccinated 1st dose which one this application will select?

Yes, it will work. Just make sure that the benefciaries are checked once you login.
Many people got their bookings that way.


Debugging the github workflow

:tada: This PR is included in version 3.2.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add example axum-share-tcp-port

Add example of combining tonic grpc routes with regular axum http routes served on a single tcp port.
I also added notes around the downsides of not using the tonic server impl & how another server could be similarly configured.
Motivation
Resolves #1878

Thanks for putting this together. I'm inclined to avoid merging this, because in my experience adding a lot of examples can cause substantial overhead.

An alternative would be to add something similar to into_axum_router docs.
But coming to the examples can be more natural to a tonic user wondering how to do this and not necessarily knowing about that fn.
tbh I'd be surprised if this example caused much extra ci overhead. But ofc up to you to include this or not.

I agree with djc. As the number of examples increases, maintenance costs also increase, so we should consider the development overhead which added by examples and the benefit. In this case, I feel like it is not worth the cost for now.
Regarding adding API documentation to into_axum_router, after converting to the axum router, it will be about how to use axum, so there does not seems to be need to explain it in tonic's documentation.

This example is really helpful


About the pre-training

Dear Author,
I hope you are having a good day.  I would like to ask a question related to pre-training.  The for loop should be replaced by the lite mono encoder and the depth map with 192 by 640 should be given to the head, right?  Thanks in advance

Hi, you don't need to change the for loop. Please see this line, it should read your model, i.e., the encoder of Lite-Mono (args.model).
The encoder should output 1000 classes, which are the categories defined in ImageNet. For the pretraining you don't need any depth map. The pretraining is a 1000-classes classification task.

Dear Author,
Thanks for your reply.  I replaced the linked line with
model = LiteMono(model="lite-mono", width=256, height=256, layer_scale_init_value=args.layer_scale_init_value)
model.to(device)
Also I replaced the for loop with     def forward_features(self, x):
features = []
#x = (x - 0.45) / 0.225
    x_down = []
    for i in range(4):
        x_down.append(self.input_downsample[i](x))

    tmp_x = []
    x = self.downsample_layers[0](x)
    x = self.stem2(torch.cat((x, x_down[0]), dim=1))
    tmp_x.append(x)

    for s in range(len(self.stages[0])-1):
        x = self.stages[0][s](x)
    x = self.stages[0][-1](x)
    tmp_x.append(x)
    features.append(x)

    for i in range(1, 3):
        tmp_x.append(x_down[i])
        x = torch.cat(tmp_x, dim=1)
        x = self.downsample_layers[i](x)

        tmp_x = [x]
        for s in range(len(self.stages[i]) - 1):
            x = self.stages[i][s](x)
        x = self.stages[i][-1](x)
        tmp_x.append(x)

    return self.norm(x.mean([-2, -1]))

I used single GPU and I can train the model with this pre-trained checkpoint.  My problem is currently training the model with multi GPU s on imagenet.  I having an error as below
Finished TaskPrologue
Using distributed mode: 1
Using distributed mode: 1
| distributed init (rank 0): env://
| distributed init (rank 1): env://
Namespace(aa='rand-m9-mstd0.5-inc1', auto_resume=False, batch_size=128, classifier_dropout=0.0, clip_grad=None, color_jitter=0.0, crop_pct=None, cutmix=0.0, cutmix_minmax=None, data_path='/home/woody/iwnt/iwnt106h/Imagenet/', data_set='IMNET', device='cuda', disable_eval=False, dist_backend='nccl', dist_eval=True, dist_on_itp=False, dist_url='env://', distributed=True, drop_path=0.0, enable_wandb=False, epochs=100, eval=False, eval_data_path=None, find_unused_params=False, gpu=0, imagenet_default_mean_and_std=True, input_size=256, layer_decay=1.0, layer_scale_init_value=1e-05, local_rank=0, log_dir='./log', lr=0.001, max_crop_size_h=320, max_crop_size_w=320, min_crop_size_h=160, min_crop_size_w=160, min_lr=1e-06, mixup=0.0, mixup_mode='batch', mixup_prob=0.0, mixup_switch_prob=0.5, model='depth_encoder', model_ema=False, model_ema_decay=0.9995, model_ema_eval=False, model_ema_force_cpu=False, momentum=0.9, multi_scale_sampler=False, nb_classes=1000, num_workers=4, opt='adamw', opt_betas=None, opt_eps=1e-08, output_dir='./save', pin_mem=True, project='litemono', rank=0, recount=1, remode='pixel', reprob=0.0, resplit=False, resume='', save_ckpt=True, save_ckpt_freq=1, save_ckpt_num=3, seed=0, smoothing=0.0, start_epoch=0, three_aug=False, train_interpolation='bicubic', update_freq=10, use_amp=True, usi_eval=False, wandb_ckpt=False, warmup_epochs=5, warmup_start_lr=0, warmup_steps=-1, weight_decay=0.05, weight_decay_end=None, world_size=2)
Transform =
RandomResizedCropAndInterpolation(size=(256, 256), scale=(0.08, 1.0), ratio=(0.75, 1.3333), interpolation=PIL.Image.BICUBIC)
RandomHorizontalFlip(p=0.5)
<timm.data.auto_augment.RandAugment object at 0x7f6112173748>
ToTensor()
Normalize(mean=tensor([0.4850, 0.4560, 0.4060]), std=tensor([0.2290, 0.2240, 0.2250]))
reading from datapath /home/woody/iwnt/iwnt106h/Imagenet/
Number of the class = 1000
/home/hpc/iwnt/iwnt106h/miniconda3/envs/lite_mono_new/lib/python3.6/site-packages/torchvision/transforms/transforms.py:258: UserWarning: Argument interpolation should be of type InterpolationMode instead of int. Please, use InterpolationMode enum.
"Argument interpolation should be of type InterpolationMode instead of int. "
/home/hpc/iwnt/iwnt106h/miniconda3/envs/lite_mono_new/lib/python3.6/site-packages/torchvision/transforms/transforms.py:258: UserWarning: Argument interpolation should be of type InterpolationMode instead of int. Please, use InterpolationMode enum.
"Argument interpolation should be of type InterpolationMode instead of int. "
Transform =
Resize(size=292, interpolation=bicubic)
CenterCrop(size=(256, 256))
ToTensor()
Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225))
reading from datapath /home/woody/iwnt/iwnt106h/Imagenet/
Number of the class = 1000
Sampler_train = <torch.utils.data.distributed.DistributedSampler object at 0x7f61121ecc18>
/home/hpc/iwnt/iwnt106h/miniconda3/envs/lite_mono_new/lib/python3.6/site-packages/torch/nn/parallel/distributed.py:488: UserWarning: Single-Process Multi-GPU is not the recommended mode for DDP. In this mode, each DDP instance operates on multiple devices and creates multiple module replicas within one process. The overhead of scatter/gather and GIL contention in every forward pass can slow down training. Please consider using one DDP instance per device or per module replica by explicitly setting device_ids or CUDA_VISIBLE_DEVICES.
"Single-Process Multi-GPU is not the recommended mode for "
/home/hpc/iwnt/iwnt106h/miniconda3/envs/lite_mono_new/lib/python3.6/site-packages/torch/nn/parallel/distributed.py:488: UserWarning: Single-Process Multi-GPU is not the recommended mode for DDP. In this mode, each DDP instance operates on multiple devices and creates multiple module replicas within one process. The overhead of scatter/gather and GIL contention in every forward pass can slow down training. Please consider using one DDP instance per device or per module replica by explicitly setting device_ids or CUDA_VISIBLE_DEVICES.
"Single-Process Multi-GPU is not the recommended mode for "
Traceback (most recent call last):
File "main.py", line 508, in
main(args)
File "main.py", line 319, in main
model = DistributedDataParallel(model, find_unused_parameters=True)
File "/home/hpc/iwnt/iwnt106h/miniconda3/envs/lite_mono_new/lib/python3.6/site-packages/torch/nn/parallel/distributed.py", line 448, in init
self._ddp_init_helper()
File "/home/hpc/iwnt/iwnt106h/miniconda3/envs/lite_mono_new/lib/python3.6/site-packages/torch/nn/parallel/distributed.py", line 503, in _ddp_init_helper
self._module_copies = replicate(self.module, self.device_ids, detach=True)
File "/home/hpc/iwnt/iwnt106h/miniconda3/envs/lite_mono_new/lib/python3.6/site-packages/torch/nn/parallel/replicate.py", line 91, in replicate
param_copies = _broadcast_coalesced_reshape(params, devices, detach)
File "/home/hpc/iwnt/iwnt106h/miniconda3/envs/lite_mono_new/lib/python3.6/site-packages/torch/nn/parallel/replicate.py", line 67, in _broadcast_coalesced_reshape
return comm.broadcast_coalesced(tensors, devices)
File "/home/hpc/iwnt/iwnt106h/miniconda3/envs/lite_mono_new/lib/python3.6/site-packages/torch/nn/parallel/comm.py", line 58, in broadcast_coalesced
return torch._C._broadcast_coalesced(tensors, devices, buffer_size)
RuntimeError: All tensors must be on devices[0]: 0
Traceback (most recent call last):
File "/home/hpc/iwnt/iwnt106h/miniconda3/envs/lite_mono_new/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/home/hpc/iwnt/iwnt106h/miniconda3/envs/lite_mono_new/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/hpc/iwnt/iwnt106h/miniconda3/envs/lite_mono_new/lib/python3.6/site-packages/torch/distributed/launch.py", line 340, in
main()
File "/home/hpc/iwnt/iwnt106h/miniconda3/envs/lite_mono_new/lib/python3.6/site-packages/torch/distributed/launch.py", line 326, in main
sigkill_handler(signal.SIGTERM, None)  # not coming back
File "/home/hpc/iwnt/iwnt106h/miniconda3/envs/lite_mono_new/lib/python3.6/site-packages/torch/distributed/launch.py", line 301, in sigkill_handler
raise subprocess.CalledProcessError(returncode=last_return_code, cmd=cmd)
subprocess.CalledProcessError: Command '['/home/hpc/iwnt/iwnt106h/miniconda3/envs/lite_mono_new/bin/python', '-u', 'main.py', '--local_rank=1', '--data_path', '/home/woody/iwnt/iwnt106h/Imagenet/', '--log_dir', './log']' returned non-zero exit status 1.

Setting OMP_NUM_THREADS environment variable for each process to be 1 in default, to avoid your system being overloaded, please further tune the variable for optimal performance in your application as needed.

Killing subprocess 1761626
Killing subprocess 1761627
my current slurm file is below
#!/bin/bash -l

#SBATCH --job-name=tf_job
#SBATCH --partition=v100
#SBATCH --gres=gpu:v100:2  # Adjust the number of GPUs as needed
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=2  # Number of tasks (GPUs) per node
#SBATCH --cpus-per-task=4  # Adjust the number of CPU cores per task as needed
#SBATCH --time=24:00:00
activate conda env
source /home/hpc/iwnt/iwnt106h/miniconda3/bin/activate /home/hpc/iwnt/iwnt106h/miniconda3/envs/lite_mono_new/
load required modules
module load cuda
Set up distributed environment variables
export MASTER_PORT=29500
export MASTER_ADDR=$(scontrol show hostnames $SLURM_NODELIST | head -n1)
export WORLD_SIZE=$SLURM_NTASKS
export RANK=$SLURM_PROCID
export LOCAL_RANK=$((RANK % $(nvidia-smi --list-gpus | wc -l)))
export LOCAL_SIZE=$(nvidia-smi --list-gpus | wc -l)
Use torch.distributed.launch to launch distributed training
cd /home/hpc/iwnt/iwnt106h/Pre_train_Imagenet_multi_gpu/Lite-Mono/lite-mono-pretrain-code/
python -m torch.distributed.launch --nproc_per_node=2 main.py --data_path /home/woody/iwnt/iwnt106h/Imagenet/ --log_dir ./log
I would be happy if you help me about this
Thanks in advance and for your great repo.
main.txt

Hi, if there are some variants defined in the network class but never used, please delete them. For example, you may have defined self.head=xxx but never used it. Then just delete this line.

Thanks for your reply. I have solved my issue by replacing the loss term in the engine.py with loss = loss + 0 * sum(p.sum() for p in model.parameters()) which uses all the parameters. It causes some latency but I think, it is not that significant.  Thanks for your time and advice.

Good that you solved this!


Fix search by type

Sets PES event search event types to values used in practice. (closes #66)
Adds in Django debug toolbar, largely for ongoing efforts to fix slow queries. (refs. #68)
Bumps codalib version to latest patch.

good to go from my end :thumbsup:

@ldko @somexpert This PR is kaput for now. Django's ORM is making it really, really difficult to do almost all of the database things required to make event search function properly at scale. So, until I crack that nut, I can either table this or close it.

ok, table it or close the PR as you see fit.

Abandoning this.


releasing minor 1.4.2 [rebase & merge]

What does this PR do?
Resolves #2734

Before submitting

[x] Was this discussed/agreed via a Github issue? (no need for typos and docs improvements)
[ ] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure to update the docs?
[ ] Did you write any new necessary tests?

PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.

Did you have fun?
Make sure you had fun coding 🙃

📚 Documentation preview 📚: https://torchmetrics--2735.org.readthedocs.build/en/2735/

waiting for #2739


Rule proposal: disallow arrow functions for defining stateless functional components

Since arrow functions don't have names, and it is useful for React components to have names, it would be nice if there was a rule that enforced using named functions for stateless functional components and prevented using arrow functions for this case.
Good:
function Thing({ prop, anotherProp }) {
  return
{prop}{anotherProp}
;
}

Bad:
const Thing = ({ prop, anotherProp }) => {
  return
{prop}{anotherProp}
;
}

:+1:

:+1:

LGTM

// good
const Thing = ({ prop, anotherProp }) => {
  return
{prop}{anotherProp}
;
}
Thing.name = ':trollface:';
Thing.displayName = ':trollface:';

export default Thing;

Is it really useful since AFAIK Babel will keep compiling both as named components ?
The display-name rule should already prevent you from making "anonymous" components.

@yannickcr this assumes one is always using Babel to compile arrow functions, which is not necessarily the case.

Is it really useful since AFAIK Babel will keep compiling both as named components ?

Ah, interesting. I tried it out in the REPL and you are correct about Babel compiling both as named functions.
However, in addition to what @ljharb mentioned, in the project I am working in (which uses Babel), when I look in the React inspector I see components that are arrow functions called <StatelessComponent> and components that are named functions called by the name of the function. I checked out the transpiled code and, at least with the version and configuration we are using, the arrow function is transpiled to an anonymous function.
Even if this were not the case, I can imagine that some people would simply want to enforce consistency of always using either named functions or arrow functions across their codebase as a stylistic choice.

@ljharb you're right, you may even not need a transpiler at all if you're not using JSX.
@lencioni maybe a difference between Babel 5 and 6 ? The REPL is still using Babel 5. The <StatelessComponent> case is exactly the sort of things display-name should prevent. But maybe there is some case where the acceptTranspilerName option is assuming that Babel will assign a name when in reality this is not the case. I will do some tests.
But yes, it makes sense to have a rule to enforce consistency for stateless components.

Currently, arrow functions have names if they are assigned to a variable. They automatically take the name of the variable. It's currently the case in Canary for example, so I searched if it's something that will change in the future but couldn't find anything. I found this article showing each case though http://www.2ality.com/2015/09/function-names-es6.html.
So even without using Babel, it seems the only bad case is to export the arrow function without assignment.

This is handled by https://github.com/jsx-eslint/eslint-plugin-react/pull/2414

Indeed, this is now handled by the function-component-definition rule.


Specify Root Folder

Hi, great work!
Is there a way to specify the root folder for Typst?
Thanks in advance

I tried
              --root
              ./

, but the options seemed to pass to something else, not typst compiler…

Hi @Mc-Zen, @donRumata03,
The action is out of date with the current typst CLI.
I need to take some time to update, but this will not happen in the coming weeks.
In the meantime, I suggest you try setup-typst as a replacement :)

Thank you @lvignoli for letting us know :)


Tabular: Added efficient OOF functionality to RF/XT models

Issue #, if available:
Description of changes:

Added efficient OOF functionality to RF/XT models
This should give a 10x train/infer speed-up and 10x disk space reduction in bagged modes, with roughly equivalent model quality.
DAAL and RAPIDS don't support the necessary methods to do this, so only raw sklearn is accelerated at present.
Fixed efficient OOF KNN crashing on regression problems.

TODO:

[ ] Benchmark

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Job PR-1066-1 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-1066/1/index.html

Benchmark Results:
                                           framework  > AutoGluon_bestquality_1h_2021_04_15_rf_oof_opt_v2  < AutoGluon_bestquality_1h_2021_04_15_rf_oof_opt_v2  = AutoGluon_bestquality_1h_2021_04_15_rf_oof_opt_v2  % Less Avg. Errors Than AutoGluon_bestquality_1h_2021_04_15_rf_oof_opt_v2  time_train_s  metric_error  time_infer_s  loss_rescaled  time_train_s_rescaled  time_infer_s_rescaled      rank  rank=1_count  rank=2_count  rank=3_count  rank>3_count  error_count
0    AutoGluon_bestquality_1h_2021_04_14_upgrade_cat                                                499                                                  465                                                   55                                            -0.046997                           3403.159470  69921.773190     73.566928       0.463199               1.046596               2.757984  1.483317           500           520             0             0            2
1  AutoGluon_bestquality_1h_2021_04_15_rf_oof_opt_v2                                                  0                                                    0                                                 1021                                             0.000000                           3346.319431  69072.775867     34.807949       0.499509               1.019751               1.185171  1.516683           467           554             0             0            1

While we had a slight model quality drop, we reduced average latency by 2.3x and disk usage by likely ~5-10x.
The reasons for the drop are likely due to 2 causes:

Only 300 trees are used instead of 3000+ trees for RF and XT models in bagging. This means if RF/XT are the dominant model on a problem, it's likely the old method produces a stronger result.

While each tree does get more data with the new method, it is unlikely that it will be enough to overcome having 3000+ trees from the old method. This is evident when looking deeper into the results: The new method is stronger on larger datasets because those datasets didn't have time to train the 3000+ trees (or it did but then neglected other models), whereas it is weaker on smaller datasets where repeated bagging often caused RF and XT to have 10000+ trees compared to only 300.
A possible solution is to train more trees, such as 600, by default.
Another option is to enable repeated-bagging for this model, adding more trees to the model each time (but not actually bagging).

XT is now using bootstrapping, where it previously was not. Bootstrapping is required for the efficient OOF calculation, and this means XT may be weaker in general than before, as it uses less data to train its trees.

A possible solution would be to re-train XT without bootstrapping and use the bootstrapped version for training, and the non-bootstrapped version for inference.
Alternatively, adjust the bootstrapping fraction to 10% instead of 38% to get similar strength trees as before. Downside: OOF score will be weaker due to fewer OOB samples. This drawback could be mitigated if we increased num trees to 600.

Overall, despite the slight accuracy drop, I recommend we merge this. The follow-ups can be investigated and even as is, the inference speed and disk usage improvements are enough to make this change worthwhile.

I've disabled the OOB OOF opt for now until we pin down the impact related to stack-overfitting.


Correction for raw affiliation Department of Biochemistry, The University of Hong Kong, Hong Kong; Division of Stem Cell Biology and Developmental Genetics, Medical Research Council, National Institute for Medical Research (NIMR), Mill Hill, UK

Correction needed for raw affiliation Department of Biochemistry, The University of Hong Kong, Hong Kong; Division of Stem Cell Biology and Developmental Genetics, Medical Research Council, National Institute for Medical Research (NIMR), Mill Hill, UK
raw_affiliation_name: Department of Biochemistry, The University of Hong Kong, Hong Kong; Division of Stem Cell Biology and Developmental Genetics, Medical Research Council, National Institute for Medical Research (NIMR), Mill Hill, UK
new_rors: 00t33hh48;02zhqgq86
previous_rors: 00t33hh48;02zhqgq86;04tnbqb63
works_examples: W2027764467
contact: ccbcdc8b52cc9c15ad2a9908b09271c3:20969d1a0bf812671a6167af53c35069e3e5a790 @ crick.ac.uk

This issue was accepted and ingested by the OpenAlex team on 2024-10-10. The new affiliations should be visible within the next 7 days.


Reflect changes from another commit to lib/date_picker/CalendarDay.js

Reflect the changes made on components/date_picker/CalendarDay.js (commit 5cea4e3) to lib/date_picker/CalendarDay.js

This issue is covered in #888 by @rrott


sync-with-gentoo: Add a script for syncing with gentoo

I used this script locally for PRs like https://github.com/flatcar-linux/portage-stable/pull/241 or https://github.com/flatcar-linux/portage-stable/pull/227.

Feel free to merge, thanks!


[Feature request/Question] CRA as middleware

Ok, I'm just venting an idea here. Using the proxy options feels very clunky to me, and kind of backwards. Often I just want to get a CRA up and running quickly, without having a setup of multiple servers and proxying one to the other. What if a CRA can be mounted as a connect middleware?
const app = express();
// the path to my cra application
const craPath = '/path/to/my/cra-app';

if (process.env.NODE_ENV === 'production') {
  app.use('/', express.static(craPath + '/build'));
} else {
  app.use('/', require(craPath));
}

app.use('/api', require('./api'));

app.listen(3000);

in this code, the entrypoint of CRA would return a middleware that watches/builds/hot reloads/serves the app. Just like the standalone npm start would do. I think this would also work very nicely in a lerna/workspaces setup where the ui would be just another package. Is this an idea worth exploring? Does this make any sense at all?
(alternatively there could be something like a cra-middleware package that pieces together code from react-scripts into a middleware
const craMiddleware = require('cra-middleware');
app.use(craMiddleware(craPath));

)

Small prototype that illustrates the idea
// ./craMiddleware.js
const portfinder = require('portfinder');
const execa = require('execa');
const proxy = require('http-proxy-middleware');

function craMiddleware (craPath) {
  const router = new Router();

  portfinder.getPort(function (err, port) {
    if (err) {
      router.use('/', (req, res, next) => next(err));
      return;
    }
    execa('npm', [ 'run', '--silent', 'start' ], {
      cwd: craPath,
      env: {
        BROWSER: 'none',
        PORT: port
      },
      stdio: 'ignore'
    });
    router.use('/', proxy({
      target: `http://localhost:${port}`,
      logLevel: 'silent',
      ws: true
    }));
  });

  return router;
}

module.exports = craMiddleware;

With:
// ./index.js
const express = require('express');
const path = require('path');
const craMiddleware = require('./craMiddleware');

const app = express();
// define API routes here
// ...
app.use('/', craMiddleware(path.resolve(__dirname, '../my-app')));
app.listen(3000);

Went ahead and created a module out of this.
Things that need to happen to make this more useful:

Better interface with the running dev server. Some events back about compilation/readiness/errors would be useful. To make this reliable (and not some stdout string parsing) we'd probably want some interface over IPC or something.
It would be nice if you could just require the app itself and have it return a middleware. Would work will with lerna style monorepo structures.


IE8 Dots animation

I have an autoplay setup that also includes dots. I need this to work in IE8, but while the image animation does in fact work, the dots don't consistently animate with the images. At this point I have not been able to determine why they do animate sometimes and other times don't, but they also have the issue described in https://github.com/kenwheeler/slick/issues/1140 ~~https://github.com/kenwheeler/slick/issues/1157~~. After adding the fix listed, I'm no longer seeing the issue in Chrome, but it still persists in IE8. I'm seeing the following error in the console: Object doesn't support this property or method  slick-1.5.0.js, line 1154 character 13
For reference my setup is currently as follows:
$('.slider').slick({
	dots: true,
	infinite: true,
	speed: 500,
	centerMode: true,
	variableWidth: true,
	arrows: false,
	autoplay: true,
	autoplaySpeed: 5000,
	accessibility: false,
	draggable: false,
	pauseOnHover: false,
	swipe: false,
	touchMove: false,
	useCSS: false
})
.on('focus', '.slick-dots button', function() {
	$('.slider').find('.slick-dots button').trigger('blur');
});

Okay, I found the issue. Apparently IE8 does not like repainting :before elements unless the content itself changes. To fix this you will need to update the css such that the style for .slick-dots li.slick-active button:before alters the content to be the actual character entity value instead of the character symbol. Something like this.
.slick-dots li button:before {
	content: '•';
}

.slick-dots li.slick-active button:before {
    content: '\2022';
}

Thanks for posting your solution. This was exactly what I needed.