[SPARK-22410][SQL] Remove unnecessary output from BatchEvalPython's children plans

What changes were proposed in this pull request?
When we insert BatchEvalPython for Python UDFs into a query plan, if its child has some outputs that are not used by the original parent node, BatchEvalPython will still take those outputs and save into the queue. When the data for those outputs are big, it is easily to generate big spill on disk.
For example, the following reproducible code is from the JIRA ticket.
from pyspark.sql.functions import *
from pyspark.sql.types import *

lines_of_file = [ "this is a line" for x in xrange(10000) ]
file_obj = [ "this_is_a_foldername/this_is_a_filename", lines_of_file ]
data = [ file_obj for x in xrange(5) ]

small_df = spark.sparkContext.parallelize(data).map(lambda x : (x[0], x[1])).toDF(["file", "lines"])
exploded = small_df.select("file", explode("lines"))

def split_key(s):
    return s.split("/")[1]

split_key_udf = udf(split_key, StringType())

with_filename = exploded.withColumn("filename", split_key_udf("file"))
with_filename.explain(True)

The physical plan before/after this change:
Before:
*Project [file#0, col#5, pythonUDF0#14 AS filename#9]
+- BatchEvalPython [split_key(file#0)], [file#0, lines#1, col#5, pythonUDF0#14]
   +- Generate explode(lines#1), true, false, [col#5]
      +- Scan ExistingRDD[file#0,lines#1]

After:
*Project [file#0, col#5, pythonUDF0#14 AS filename#9]
+- BatchEvalPython [split_key(file#0)], [col#5, file#0, pythonUDF0#14]
   +- *Project [col#5, file#0]
      +- Generate explode(lines#1), true, false, [col#5]
         +- Scan ExistingRDD[file#0,lines#1]

Before this change, lines#1 is a redundant input to BatchEvalPython. This patch removes it by adding a Project.
How was this patch tested?
Manually test.

Merged build finished. Test FAILed.

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

retest this please.

Test build #83332 has started for PR 19642 at commit 4e0974d.

Test build #83333 has started for PR 19642 at commit 55f1701.

Test build #83332 has finished for PR 19642 at commit 4e0974d.

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

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

Merged build finished. Test FAILed.

Test build #83333 has finished for PR 19642 at commit 55f1701.

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

Merged build finished. Test FAILed.

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

retest this please

Test build #83338 has started for PR 19642 at commit 55f1701.

Seems like a valid error. Checking.

Ah, I rushed to retrigger .. it has been being failed unexpected globally somehow ..

Test build #83338 has finished for PR 19642 at commit 55f1701.

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

Merged build finished. Test FAILed.

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

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

Merged build finished. Test FAILed.

retest this please.

Merged build finished. Test FAILed.

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

retest this please.

FWIW, I asked this to Jenkins admin. Looks the problem is, the launch script is ran by Python 2.6 from dropping the path in some Jenkins machines, assuming from the quick look for the log. I explicitly printed this message before - https://github.com/apache/spark/pull/19524. Quick observation is these happen in worker 2, 6, and 7.

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

Merged build finished. Test FAILed.

retest this please.

Merged build finished. Test FAILed.

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

hmm, it occurs frequently.

retest this please.

Test build #83366 has started for PR 19642 at commit 2711eaf.

Test build #83366 has finished for PR 19642 at commit 2711eaf.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

cc @cloud-fan @ueshin

how could this happen? the column pruning rule doesn't work?

Because adjacent Projects are combined, so an underlying Project used to prune columns didn't work.
== Analyzed Logical Plan ==
file: string, col: string, filename: string
Project [file#0, col#5, split_key(file#0) AS filename#9]
+- Project [file#0, col#5]
   +- Generate explode(lines#1), true, false, [col#5]
      +- LogicalRDD [file#0, lines#1], false

== Optimized Logical Plan ==
Project [file#0, col#5, split_key(file#0) AS filename#9]
+- Generate explode(lines#1), true, false, [col#5]
   +- LogicalRDD [file#0, lines#1], false

== Physical Plan ==
*Project [file#0, col#5, pythonUDF0#14 AS filename#9]
+- BatchEvalPython [split_key(file#0)], [file#0, lines#1, col#5, pythonUDF0#14]
   +- Generate explode(lines#1), true, false, [col#5]
      +- Scan ExistingRDD[file#0,lines#1]

I see, is it better to introduce a logical python runner then we can do column pruning correctly?

To have a logical python runner, we may need to change some logic of extracting python udfs. May require quite more change than this simple fix. If you prefer it, I can do it. If it is just for column pruning, I'd prefer not to do it. Because this sounds more like execution details more than logical query plan. But I also like to hear others ideas too. @HyukjinKwon what do you think?

why is column pruning execution details? Actually I feel it's werid to have ExtractPythonUDFs rule applying on physical plans, is there a particular reason?

For the answer to https://github.com/apache/spark/pull/19642#issuecomment-341688601,

To have a logical python runner, we may need to change some logic of extracting python udfs. May require quite more change than this simple fix.

I think in the same way, up to my little knowledge.

I mean to have an individual python runner operator tells the way we execute python udfs. Currently python udfs are just normal expressions. It seems to me that logically they are just expressions.
Not sure why ExtractPythonUDFs are applying on physical plans.

To have a python runner operator also has advantage like to work with optimizer better, e.g. column pruning. I am not against this idea. However, since it requires more change, I'd like to have more support before beginning the change.

Another concern is, by seeing python udfs as normal expressions without specific operator, we can apply necessary optimization such as CollapseProject. If we extract python udfs earlier in logical plan, we might have multiple python runners that were collapsed originally now.
To deal with it, we may need to add specific optimization rule for collapsing python runners.
This adds more complexity, IMHO. We should consider if it's worth.

About why ExtractPythonUDFs applies on physical plans, I think it may partly because the wrapper of Python function PythonFunction also encapsulates core concepts like Broadcast and Accumulator, it is out of the scope of catalyst APIs.

ah this makes sense, then LGTM.
One thing we can think more is, Project is not only an operator but also a column pruning info, this may bring trouble if Project can't be whole stage codegened and run as a real operator(python runner).

thanks, merging to master!

Late LGTM too.

Thanks @HyukjinKwon @cloud-fan for your review!


671 file breadcrumbs in the wrong spot

I think this is fixed. Luigi, let me know if this looks right.

is it intended that for file it shows at the top, but for folder it shows under the tabs?

vs

@longshuicy that was what Luigi wanted, but @lmarini can you check this just to be sure? I also think that changing from button to link removed any white space before the folder name.

I have a few more changes to make here so I changed this to draft.


Diesel 1.3.0 fails to build with the recent nightly

Setup
Versions

Rust: rustc 1.28.0-nightly (71e87be38 2018-05-22)
Diesel: 1.3.0 from crate.io
Database: Sqlite
Operating System Mac OS X 10.13.4

Feature Flags

diesel: "sqlite", "32-column-tables"

Problem Description
Diesel 1.3.0 cannot be built on the recent nightly. The error message is shown as:
error[E0277]: the trait bound `<expression::count::CountStar as expression::Expression>::SqlType: sql_types::ops::Add` is not satisfied
  --> /.../.cargo/registry/src/github.com-1ecc6299db9ec823/diesel-1.3.0/src/expression/count.rs:58:39
   |
58 | #[derive(Debug, Clone, Copy, QueryId, DieselNumericOps)]
   |                                       ^^^^^^^^^^^^^^^^ the trait `sql_types::ops::Add` is not implemented for `<expression::count::CountStar as expression::Expression>::SqlType`
   |
   = help: consider adding a `where <expression::count::CountStar as expression::Expression>::SqlType: sql_types::ops::Add` bound
   = help: see issue #48214
   = help: add #![feature(trivial_bounds)] to the crate attributes to enable

Duplicate of #1700 , #1701, #1705, #1711, #1722


[image_picker] How to Save and Load image with Shared Preference

Hello i try to save the image path to shared preference and load it, but by loading come this error
 Exception caught by image resource service ════════════════════════════
Cannot open file, path = '/Users/username/Library/Developer/CoreSimulator/Devices/4823B4A7-3940-44B8-BED3-02B524DFD86F/data/Containers/Data/Application/94FEDEC0-BE50-4793-9526-A3F20FC93482/Documents/image_picker_190AB65C-6BB2-454F-9FFF-8C788EE2B2F6-18130-000000543C02F949.jpg' (OS Error: No such file or directory, errno = 2)

this is my code
 File? _image;
  String? myImagePath;

  Future getImage(ImageSource sorce) async {
    try {
      final image = await ImagePicker().pickImage(source: sorce);
      if (image == null) return;

      //  final imageTemporary = File(image.path);
      final imagePermanent = await saveFilePermanently(image.path);

      setState(() {
        // ignore: unnecessary_this
        this._image = imagePermanent;
      });
    } on PlatformException catch (e) {
      // ignore: avoid_print
      print("error $e");
    }
  }

  Future<File> saveFilePermanently(String imagePath) async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    final directory = await getApplicationDocumentsDirectory();
    final name = basename(imagePath);
    final image = File("${directory.path}/$name");
    setState(() {
      prefs.setString("profilImage", image.path);
    });

    return File(imagePath).copy(image.path);
  }

  loadImage() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    setState(() {
      myImagePath = prefs.getString("profilImage");
    });
  }

  @override
  void initState() {
    super.initState();
    loadImage();
  }

For help with your own code, try one of the resources listed at https://flutter.dev/community#community-grid
Closing as this is not an issue in Flutter itself, which is what we track here.


enhanced field form=surface

Fixes #9898
Before: On entering surface type it was changing its suggestion in combobox.
This PR updates the combobox where _suggestions was populated at change and fetchComboData. So changes are made so it doesn't get populated twice.
https://github.com/openstreetmap/iD/assets/121725696/0f75ed2f-ec7e-4267-a6af-13dfb312fb22

Hey. Thanks for the suggested fix. :relaxed:  However, I noticed that this fix did break the autocomplete feature on combo fields which don't have options available in the respective preset field. And it also prevents the fetching of additional options from taginfo for combo fields that do have such options.
I did come up with a solution which just suppresses the second autocomplete when the taginfo results come in (shortly) after the initial autocomplete has already been done using the static field options. see dabbd89e5

I am glad to know it helped you to solve this issue, I am still learning and I will come up with some better solutions😄


Changing device type breaks attribute reportability

STEPS TO REPRODUCE:

In the Matter repo (as of SHA 533f84c9fcce035dd23167128fc89a6901c79274), run ./scripts/tools/zap/run_zaptool.sh examples/lighting-app/lighting-common/lighting-app.zap
Examine the "Attribute Reporting" view of the "On/Off" cluster on endpoint 1, and see that all attributes are set as reportable.
Edit endpoint 1 and change the device type from "Matter Dimmable Light (0x0101)" to "Matter Extended Color Light (0x010D)".  Click the "SAVE" button.
Examine the "Attribute Reporting" view of the "On/Off" cluster on endpoint 1, and see that all the non-global attributes are no longer set as reportable.

Similarly, if I just add a new endpoint with device type "Matter Extended Color Light (0x010D)" then all the "On/Off" non-global attributes are set to not reportable in the new endpoint's automatically-enabled "On/Off" cluster.
For comparison, if I create an endpoint with device type "Matter Door Lock (0x000A)" and then enable the "On/Off" cluster (not enabled by default) on that endpoint, then the non-global attributes are correctly (due to Matter SDK defaults) marked as reportable.
@brdandu @tecimovic

^Above is the On/Off cluster for MA-extendedcolorlight and below is the On/Off for Matter On/Off Light Switch

This further leads me to believe that the problem is the device type configuration in this xml file.
Additionally, I did find an example of non global attribute reporting being enabled by default. Note that it is "DEVICE_TYPE". I am still investigating why that happens.

Any feedback is welcome

because for it to be enabled by default it must be specified in that XML file.

Wait, why?  If reporting is not specified in the XML file, the SDK default should be used, which for matter is "reporting enabled".

Even if attribute reporting is listed "mandatory", it still does not turn on because the toggle is using a different list of true and false values because it cannot take in string values. The list of true and false values are out of sync with the "mandatory" setting.
An easy fix would be to iterate through the list and set true whenever an attribute reporting is "mandatory" but ideally I would want it to work in a similar fashion as when a user enables it manually.
I at least want to understand how that works before I do anything.

fixed , see merged PR


Persistent workspace session shows "Unknown State"

After a certain/unpredictable amount of time, the persistent workspace session shows "Unknown State" although the capella workspace session is still open and usable in another tab.
There is no way to reconnect after closing the browser and the session needs to be terminated and a new one has to be created.

Hi @MartinLindenmaierSBB, thanks you for creating the issue. The issue is already tracked by #75. I'll close this issue as duplicate.


Project License

Hey, the features showcased in the README look amazing. It sure has grown a lot ever since I first saw this on the PoE subreddit which is great to see.
But I couldn't find a mention to the project's license anywhere. Would you be willing to add a license to the project? No license essentially means "my code, don't touch it, don't use it for your own", which is unfortunate because I would've liked to fork it to tweak it to my needs (specially since the README says "I will not be taking code input or optimizations from people").
(I mean, I can still do that, but it wouldn't be very nice. The other option is clean-room reimplementation which is a pain.)

I see https://github.com/Lailloken/Lailloken-UI/commit/83a849318b532f9c83df06ed1fb843fe70659d15 now. Thanks!

I would've liked to fork it to tweak it to my needs

If you think these tweaks could be beneficial for a broader user-base, please share these with me. I could always use some feedback on user experience.

specially since the README says "I will not be taking code input or optimizations from people"

It just means that I don't want things like these to happen: "There's a problem with XYZ, here's the code to fix that." Or "this area needs improving, here's the code." I want to learn things organically and come up with my own solutions/improvements to problems.

If you think these tweaks could be beneficial for a broader user-base, please share these with me. I could always use some feedback on user experience.

Ah, no, I just thought it would be fun to fork and RIIR. Not sure if I'll actually do this, but it did sound like a fun project which is why I wondered about the lack of license.

I want to learn things organically and come up with my own solutions/improvements to problems.

That's fair! I think if others were to contribute code you didn't think of, it's also a good way to learn. I was only wondering about the license, I'm totally okay with any other rules regarding contribution.


[DNS Error Attack Issue] Helper Pod unable to execute Sudo command when attack is initiated

LitmusChaos version: 2.6.0
k8s v1.18.15
Context
We have set up Litmus in our Kubernetes environment and pods are up and running. When we try to execute a DNS Error Attack, what happens is

Chaosengine successfully starts
Chaosengine brings up a pod-dns-error pod
Pod-dns-error pod will spin up a helper pod

The issue we are running into is once this helper pod is spun up, it will error out due to the following reason:
time="2022-02-08T17:53:54Z" level=error msg="[docker]: Failed to run docker inspect: sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the 'nosuid' option set or an NFS file system without root privileges?\n"
time="2022-02-08T17:53:54Z" level=fatal msg="helper pod failed, err: exit status 1"
Would someone be able to provide any pointers as to how we can resolve this?
Logs from Pods
DNS Error Pod
time="2022-02-17T17:32:53Z" level=info msg="Experiment Name: pod-dns-error"
time="2022-02-17T17:32:53Z" level=info msg="[PreReq]: Getting the ENV for the pod-dns-error experiment"
time="2022-02-17T17:32:55Z" level=info msg="[PreReq]: Updating the chaos result of pod-dns-error experiment (SOT)"
time="2022-02-17T17:33:08Z" level=info msg="[Status]: Checking the status of the helper pods"
time="2022-02-17T17:33:12Z" level=info msg="pod-dns-error-helper-usgokc helper pod is in Failed state"
time="2022-02-17T17:33:14Z" level=info msg="[Wait]: waiting till the completion of the helper pod"
time="2022-02-17T17:33:15Z" level=info msg="helper pod status: Failed"
time="2022-02-17T17:33:15Z" level=info msg="[Status]: The running status of Pods are as follows" Pod=pod-dns-error-helper-usgokc Status=Failed
time="2022-02-17T17:33:16Z" level=error msg="Chaos injection failed, err: helper pod failed"
DNS Error Helper Pod
time="2022-02-17T18:00:27Z" level=info msg="Helper Name: dns-chaos"
time="2022-02-17T18:00:27Z" level=info msg="[PreReq]: Getting the ENV variables"
time="2022-02-17T18:00:30Z" level=info msg="Container ID: sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the 'nosuid' option set or an NFS file system without root privileges?"
time="2022-02-17T18:00:30Z" level=error msg="[docker]: Failed to run docker inspect: sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the 'nosuid' option set or an NFS file system without root privileges?\n"
time="2022-02-17T18:00:30Z" level=fatal msg="helper pod failed, err: exit status 1"

cc: @uditgaurav

Looks like you are using any privilege escalation?

We have defined a PSP with least restrictive privilege
  allowPrivilegeEscalation: true
  allowedCapabilities:
  - '*'

Hi @uditgaurav  @gdsoumya
Please let us know if we have a fix for the issue mentioned or any ETA. Thanks!

We have a document on PSP best practices here: https://litmuschaos.github.io/litmus/experiments/concepts/security/psp/
If you still have questions, please feel free to reach out at the Litmus Slack channel in k8s Slack (https://k8s.slack.com).


lightgbm.cv shows it trained way more estimators than are shown by the current_iteration of its component boosters

Description
Running lightgbm.cv  with a lightgbm.callback.early_stopping(50, False) results in a cvbooster whose best_iteration is 2009 whereas the current_iterations() for the individual boosters in the cvbooster are [1087, 1231, 1191, 1047, 1225]. My understanding is that the best_iteration of cvbooster should be exactly max(current_iterations) - early_stopping_rounds.
Reproducible example
Import dependencies:
import pandas as pd
import numpy as np
import lightgbm
from sklearn.datasets import make_classification

Create dummy data
data = make_classification(n_samples = 10_000, n_features = 100, n_informative = 100, n_redundant = 0,
                           flip_y=0.05,n_clusters_per_class=5,class_sep = 0.5, random_state = 0)
dt = pd.DataFrame(data[0],columns = [f"feat_{i}" for i in range(data[0].shape[1])])
yt = pd.Series(data[1])

Creating the training dataset
train_data = lightgbm.Dataset(dt, label = yt, params = {'max_bin': 335, 'min_data_in_bin': 620,'verbose':-1})

Setting training hyperparameters that would reproduce the behavior
model_params = {'learning_rate': 0.015355286838886862,
 'num_leaves': 96,
 'subsample': 0.9704285838459497,
 'scale_pos_weight': 7.34674002393291,
 'lambda_l1': 5.986584841970366,
 'lambda_l2': 1.5601864044243652,
 'linear_lambda': 1.5599452033620265,
 'min_sum_hessian_in_leaf': 0,
 'max_depth': 25,
 'feature_fraction': 0.15227525095137953,
 'feature_fraction_bynode': 0.8795585311974417,
 'min_gain_to_split': 0.6410035105688879,
 'max_cat_threshold': 156,
 'cat_l2': 71.09918520180851,
 'cat_smooth': 3.0378649352844422,
 'max_cat_to_onehot': 17,
 'cegb_penalty_split': 0.0009699098521619943,
 'path_smooth': 0.8324426408004217,
 'sigmoid': 2.202157195714934,
 'pos_bagging_fraction': 0.4297256589643226,
 'neg_bagging_fraction': 0.5104629857953323,
 'bagging_freq': 16,
 'metric': ['auc'],
 'objective': 'binary',
 'boost_from_average': True,
 'feval': [],
 'boosting_type': 'gbdt',
 'n_estimators': 10000}

Create an early stopping callback
esc = lightgbm.callback.early_stopping(50, False)

Run lightgbm.cv
lgc = lightgbm.cv(params = model_params, train_set = train_data, nfold = 5, callbacks = [esc], return_cvbooster=True, seed = 17)

Check the output
print(lgc['cvbooster'].best_iteration, [i.current_iteration() for i in lgc['cvbooster'].boosters])

output:
2009 [1087, 1231, 1191, 1047, 1225]

Also, if I run the lightgbm.cv for the exact 2009 (the best iteration from the cv run with early stopping) without using early stopping it sometimes gives a different number of current_iteration for the boosters. In this particular case if we run
model_params["n_estimators"] = 2009
lgc1 = lightgbm.cv(params = model_params, train_set = train_data, nfold = 5,
                return_cvbooster=True, seed = 17, verbose_eval = True)

Then check the number of individual current iterations
print(lgc1['cvbooster'].best_iteration, [i.current_iteration() for i in lgc1['cvbooster'].boosters])

output:
-1 [1087, 1221, 1191, 1047, 1225] #as opposed to [1087, 1231, 1191, 1047, 1225] from the run with early stopping

Environment info
lightgbm - 3.3.5
installed with pip install lightgbm
pd.version - 1.5.2
np.version - 1.23.5
sklearn.version - 1.2.1
system - ubuntu 22.10

Additional Comments

Hi @nitinmnsn, thanks for the reproducible example! I was able to take a look at this tonight and I see that it's because the individual boosters are reaching this point https://github.com/microsoft/LightGBM/blob/216eaff723e11a84b27ae4275675a46e8c7326ba/src/boosting/gbdt.cpp#L424-L432
The warnings aren't printed in your example because of the 'verbose': -1 in the dataset params, if you remove it you can see them print non-stop.
Just wanted to share my findings so far in case someone wants to pick it up.

Why the cvbooster continues in that case? What does it even mean for the cvbooster to continue in that case? I knew about what you have linked but I thought that since there are no more splits and the individual boosters aren't training then that's where early stopping should hit. If the individual boosters aren't training then how did the cvbooster reach 2009 iterations?


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/106148

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/107579


DSND-3025: Add delta staleness check during update

When processing an update delta request the delta_at field is compared to the one in Mongo, if it exists.
If the request delta_at is null or before the existing one then the delta is considered stale and a 409 conflict response is returned.

DSND-3025

CI: Security warnings found!


Enhancements

We ended up having to do a quick cut over from our react-router + redux massive SPA to next.js.  We used this lib to help convert the react-router style routes to next.js.
However we ended up "forking" (shoving into our repo) this lib to allow for:

preload support
dev preload
redirect support

You can see our implementation here
Our next-routes implementation is here in the repo
Please feel free to reach out on this issue with questions, I hope to have more time to write a blog post on this / make some pull requests here, but I dont know if I will have the time for that as of yet
Thanks for such a great OS project!

Thanks for sharing!
We support <Link prefetch> and there is Router.prefetchRoute() but in development mode Next.js now uses on demand entries for performance improvements.
The latest version supports <Link to='/any/path'> like in react-router
A redirect feature would be great, I think many people would like this. Any PR welcome!


Does this work with VisualBasic.Net?

Can Windows ML be used from Windows apps written in VB.Net and other .Net languages than C# (such as F#)?
If so, why list C# only and not state "any .Net language"?
I am asking because this article is not an isolated flop, rather unfortunately seems to be part of a recently widespread practice at Microsoft, to omit VB.Net from documentation and other communications.

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

ID: e526d827-05b8-8e9a-80f5-c43562c1e182
Version Independent ID: d8ea3163-5966-754a-0773-c4b40dd12654
Content: Introduction to Windows Machine Learning
Content Source: docs/windows-ml/index.md
Product: machine-learning
GitHub Login: @rosanevallim
Microsoft Alias: rovalli

Hi, @popasUC. Yes, we usually mention C# only in reference to .NET languages. We prioritize providing code examples in C#, and then C++/WinRT.
Thanks!
-Steve


Very long test result message string causes issues

If you (e.g.) have a 1MB or longer test result message, it will bring VS to a crawl.
We should trim messages from unit test results and require you to Ctrl+C to get the full contents.

VS does that for us now.


Allow using typedef as the type of "args"

parseArgsArgument() will now resolve the alias type of a typedef

Thank you - again, it's a very useful addition.


stacked_themes build for non-mobile platforms w/ statusBarColorBuilder throws error

Currently, if you set statusBarColorBuilder in the ThemeBuilder and try to build for non-Android and non-iOS platform, you will get this error:
[ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: MissingPluginException(No implementation found for method setstatusbarcolor on channel plugins.sameer.com/statusbar)
#0 MethodChannel._invokeMethod
package:flutter/…/services/platform_channel.dart:156
<asynchronous suspension>
#1 StatusBarService.updateStatusBarColor
package:stacked_themes/…/services/statusbar_service.dart:9
<asynchronous suspension>
#2 ThemeManager._applyStatusBarColor
package:stacked_themes/src/theme_manager.dart:161
<asynchronous suspension>

This should not throw error if the target platform does not support it.

@hurbes you can implement for the platforms and simply do nothing to avoid the exception being thrown.

fixed and merged. Will be released later today.

Released in 0.3.4


add resource links to stages

many stages refer to links and resources, so it might be a good idea to put those resources in a list

Do you think we should separate this out in the UI, like make a text field Resource List in the stage data object?

that's probably not the worst idea, yeah

covered by #431

covered by #431


RPRegistrationPolicy improvements

Set Attempts to zero to disable the policy and added a test for it.

[ ] The purpose of this PR is explained in this or a referenced issue.
[ ] The PR does not update generated files.

These files are managed by the codegen framework at Azure/autorest.go.

[ ] Tests are included and/or updated for code changes.
[ ] Updates to CHANGELOG.md are included.
[ ] Apache v2 license headers are included in each file.

Can one of the admins verify this patch?


Responses sent to vault instead of email inbox?

Description
I changed the Response Delivery to "Email the Response to an inbox", hit Save, and then inputted my responses under "Test" - but it still saved to the Vault?
[Will recreate issue and provide a screenshot/video soon - it didn't let me screen record my tablet when I was doing the test on Chrome because of "security policy"]

The error is easy to reproduce. Locally (dev environment) updating a published form to send submissions to either the vault or email results in an error.
On the client I can see an error:
status: 500
statusText: "Internal Server Error"
"Can't update published form"

On the server, I tracked down the error to the below lines of code I think. It looks like a logic error to me where a request to update a template intentionally fails.
[formID.ts]
const templateCRUD = async ({
...
}) => {
  const formID = request.query.formID as string;
  switch (method) {
     ...
    case "PUT":
      if (formID && formConfig) {
        ...
      } else if (formID && sendResponsesToVault) {
        return await removeDeliveryOption(ability, formID);
      }
...

templates.ts
...
export async function removeDeliveryOption(
...
    // Prevent already published templates from being updated
    if (templateWithAssociatedUsers.formRecord.isPublished)
      throw new TemplateAlreadyPublishedError();
...

Thanks for the context, Pete!
I actually may have interpreted that part of the test wrong? I actually tried to change the delivery method while my Form was still in Draft. So while it was still in a Draft state:

I first tried out the Vault response (by going to "Test", inputting answer to the questions, and then checking responses)
Then I changed it to the email delivery method, hit Save, and repeated inputting answers in the "Test" page and submitting

So the functionality between Draft and Published is the same (that you can't change the methods? Or at least test out both response methods while in Draft?)

Moved to review / qa --- for re-test

Still seems to send Test responses to the vault, though I have it selected to "Email Response"?

I tested on staging and see the email has a value but ... the delivery ends up in the vault.  @Abi-Nada do you receive an email as well or it lands only in the vault.
@bryan-robitaille or @craigzour can you confirm the database record is working or not working correctly for this.
Locally I see the Templates table either has a delivery option as "empty"

or it contains email etc...

@timarney I didn't receive an email! But I believe that's expected behaviour for a "Test" response for a Draft form? At least, the confirmation message had said "You will not receive a reply". But I just wasn't expecting it to still go to the Vault so wanted to flag

Fix is in PR https://github.com/cds-snc/forms-terraform/pull/360


[Portuguese] Localize 'Distributed Systems'

Localize https://glossary.cncf.io/distributed-systems/

Hi @edsoncelio, could I start working on this one.
FYI, the new location is https://glossary.cncf.io/distributed-systems/

Hi @edsoncelio, could I start working on this one.
FYI, the new location is https://glossary.cncf.io/distributed-systems/
thanks

Sure! Assigned to you :)


fix issue315 for scala

This is an initial take on #315 for scala generated backends. It turned out to be rather simple. Only things that might not be very obvious is com.twilio.guardrail.protocol.terms.protocol.PropertyRequirement.Configured. Essentially we want to be able to use different optional handling strategy for encoders and decoders. This will allow us to use legacy decoding on the input, while being strict on the output. Use cases of the users might be different thought, so that's why it is all configurable (default is to use legacy PropertyRequirement which means full backwards compatibility is maintained).
Thanks in advance for your feedback!
Contributing to Twilio

All third-party contributors acknowledge that any contributions they provide will be made under the same open-source license that the open-source project is provided under.

[x] I acknowledge that all my contributions will be made under the project's license.

one unfortunate thing about this, if i understand this correctly is that for field that is nullable and optional, when you are returning data in server - is that you need to create it like this, correct?
case class User(name: Property[
User(

@tomasherman yes, you do.

Codecov Report

Merging #627 into master will decrease coverage by 0.15%.
The diff coverage is 75.64%.

@@            Coverage Diff             @@
##           master     #627      +/-   ##
==========================================
- Coverage   80.74%   80.58%   -0.16%
==========================================
  Files          78       78
  Lines        5049     5095      +46
  Branches      139      135       -4
==========================================
+ Hits         4077     4106      +29
- Misses        972      989      +17

Impacted Files
Coverage Δ

...om/twilio/guardrail/generators/JavaGenerator.scala
74.74% <ø> (ø)

...m/twilio/guardrail/generators/ScalaGenerator.scala
87.05% <ø> (ø)

...protocol/terms/protocol/ProtocolSupportTerms.scala
0.00% <ø> (ø)

...ala/com/twilio/guardrail/terms/LanguageTerms.scala
0.00% <ø> (ø)

...ala/com/twilio/guardrail/core/CoreTermInterp.scala
63.63% <15.78%> (-9.70%)
:arrow_down:

...rail/generators/Scala/CirceProtocolGenerator.scala
90.58% <91.66%> (-0.27%)
:arrow_down:

...scala/com/twilio/guardrail/ProtocolGenerator.scala
98.56% <96.00%> (+0.37%)
:arrow_up:

...n/src/main/scala/com/twilio/guardrail/Common.scala
98.75% <100.00%> (ø)

.../src/main/scala/com/twilio/guardrail/Context.scala
100.00% <100.00%> (ø)

...o/guardrail/generators/Java/JacksonGenerator.scala
91.55% <100.00%> (+0.03%)
:arrow_up:

... and 1 more

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 611a2d2...9127232. Read the comment docs.

I aim to review this fully and explore the ergonomics this weekend. In the meantime, if there are any merge conflicts that come up, I will triage. Thank you for this, hanny 🎉

No worries. Thanks!

hey @blast-hardcheese, did you get a chance to play around with this yet?

@thomasherman Unfortunately not, this last weekend was our first Mother's Day, ended up not getting as much downtime as I expected. I've not forgotten about it, just trying to carve out some time for review. Thanks for your patience

no worries ;)

OK, so I've got a few commits that I'll push to this branch in a bit. Just leaving some notes here to follow up on where I am with the review.
Stuff I thought would improve the utility for users:

Added Presence.present[A](a: A)/Presence.absent[A] to avoid invariance when using Option.fold from parameters
Added Presence.map:

pa.fold(Presence.absent[Option[String]])(x => Presence.present(Some(x)))

became
Presence.fromOption(pa).map(Option(_))

(to permit easy translating of formData parameters into Presence-modeled components)
Future work:

formData + x-empty-is-null + x-nullable would permit application/x-form-urlencoded and multipart/form-data to have a useful implementation of Presence as well, currently this only works for circe and jackson generated components

An issue I did find...
... seems to be --encoder-optional-property optional --decoder-optional-property optional generates uncompilable code, unfortunately. I'm going to flesh out the testing a bit to ensure that the future generated code doesn't violate any assumptions we're establishing in this PR.
I'm also trying to...
... find some better names for --[encoder|decoder]-optional-property [optional|requred-optional|legacy] since doesn't (at least for me) immediately convey the expected behaviour, I find I have to read and reread in order to get it.

Settled on
--optional-[encode|decode]-as [legacy|optional|required-nullable]

If you've got time to review the changes I've made to your PR to ensure it still conforms to the expectations you have around behaviour, that would be very much appreciated. I still haven't had a chance to test the full runtime semantics across the 4x CLI options, but it should be possible to verify the semantics between clients and servers generated with the different options pretty easily.
If you get to the tests before me, great -- I'll announce here when I plan to start writing them though, so we don't duplicate effort.

OK, I'm giving a first shot at some tests. For now, I'm primarily interested in getting explicit clarity around semantics before merging and releasing. One other thing I noticed is after enabling -deprecated, I'm getting the warning about defining Presence inside the definitions package object. I'm going to move that out into a normal class definition.

maybe a slightly unrelated question - have you considered creating a guardrail-runtime library? Seems like this Presence ADT would be a good candidate for it - having one type shared across all implementations might make it easier to write reusable use code ... right now there will be Presence generated for each client, right?

Also, thanks for helping us with this - if there is something that we can help with let us know

It looks good from my point of view. Is there anything you need help with? In other words, is there anything else that you need to do/implement before we merge this?

guardrail-runtime library?
the ideal solution to this would be a Common configuration target, then a way to tell the other configurations to use it, then this becomes a configuration problem instead of trying to find which version of guardrail works with which version of the runtime library.

is there anything else that you need to do/implement before we merge this?
I was looking at what would be involved with splitting Presence into a support package.

Something that irked me about the current strategy is that by putting this into definitions, it reduces the set of valid specs that can be run unmodified through guardrail.
If you have Presence in your components, even if you don't use the nullable stuff, you'll not be able to upgrade.
So, either this whole feature needs to be able to be turned off (I'd rather not introduce that complexity if we can help it) or we move the definition into a sibling package to definitions.
This may have other benefits in the future, as support would effectively be guardrail-runtime, as breaking it out may end up being easier.
Sorry for not bringing this up sooner, it really only occurred to me as I tried to start actually using Presence

So, I think I managed to move generated Presence into its own package (support).

I'll take a look ASAP! I did a once-over and this looks like exactly what I was hoping for. Making room for more utility infrastructure without stepping on users' toes, I really like it.

hey, really sorry to nag again, i know you're busy man :) but any chance you were able to take a look? :)

I'm aiming to get this done today, thanks for your understanding Tomas :smile:

no worries ;) i just had a sync with other team that is using this and promised to ask O:-)

Changes I've made:

Decomposing/deduplicating the decoder generator into function composition
Altering the generated Decoder to maintain the history in the case of decoding failure. Previously,

    import _root_.issues.issue315.optionaloptional.client.akkaHttp.Client
    import _root_.issues.issue315.optionaloptional.client.akkaHttp.definitions._
    import _root_.issues.issue315.optionaloptional.client.akkaHttp.support.Presence

/*  case class TestObject(
        required: String,
        requiredNullable: Option[String],
        optional: Presence[String],
        optionalNullable: Presence[Option[String]],
        legacy: Presence[String]
    ) */

    println(Json.obj(
        "required" -> Json.fromString("foo"),
        "required-nullable" -> Json.Null,
        "optional-nullable" -> Json.fromInt(5)
    ).as[TestObject])

// Exiting paste mode, now interpreting.

Left(DecodingFailure(String, List()))

Because Int was not compatible with String, we get a failure, but due to
c.downField("optional-nullable")
  .as[Json]
  .map(_.as[String]...)

in the Decoder, we lose the association between the downField and the error itself.
It's not super pretty, but this works:
((c: HCursor) =>
  c.value
    .asObject
    .filter(!_.contains("optional-nullable"))
    .fold(c.downField("optional-nullable").as[Option[String]].map(x => Presence.present(x))) { _ =>
      Right(Presence.absent)
    })(c)

🎉


Add ability to toggle Hack coverage check

The coverage indicator in the status bar should be clickable, and should toggle coverage warnings on/off.

Duplicate of #6


fix: allow undefined path in router resolve

From https://github.com/vuejs/router/pull/1904
Still need to check if we can avoid the path?: undefined in newer versions of TS.

Codecov Report

Merging #1909 (3bac392) into main (b480bd1) will not change coverage.
The diff coverage is 100.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@           Coverage Diff           @@
##             main    #1909   +/-   ##
=======================================
  Coverage   90.77%   90.77%
=======================================
  Files          24       24
  Lines        1117     1117
  Branches      348      348
=======================================
  Hits         1014     1014
  Misses         63       63
  Partials       40       40

Impacted Files
Coverage Δ

packages/router/src/types/index.ts
100.00% <ø> (ø)

packages/router/src/errors.ts
91.66% <100.00%> (ø)

packages/router/src/matcher/index.ts
98.75% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Update check_update.bat

Changed environmental variable %USERPROFILES% TO %USERPROFILE% to fix file not found error on auto-update.

Rejecting this PR due to using a different fix for this issue.


Regarding the validity of the Human Preference Classifier

Hi @tgxs002 , thanks for your work, and making the dataset and classifier open-sourced!
As a sanity check, I evaluated your trained HPC on the examples in the training data that are preferred by humans (S1), and the examples  in the training data that are unpreferred by humans (S2).
I found that the average HPS in the setting S1 ~ 21.0 whereas the HPC in the setting S2  ~ 20.26.  For a good classifier, I was hoping that the scores in the setting S2 be very low as compared to S1, but it is not the case. Does it mean that the HPC is not trained properly, but it seems contradictory because the paper claims that the HPC has good agreement with humans?

Hi Hritkbansal,
Thank you for your interest in our work! Based on the result you reported, the evaluation should have been adequately conducted.
The reason that the HPSs are close between S1 and S2 have the following reasons:

HPC is finetuned from CLIP, and HPS is defined as the cosine similarity between the image feature and the text feature of the tuned model. Since the cosine similarity of the CLIP model has a bias (not centered at 0), the logit distribution of HPC is also influenced by that. You can quickly verify this by Fig. 6 of our paper.
Human preference is very diverse for different individuals, so the score distribution is relatively flat compared with traditional classification tasks.

We are currently working on studying the effectiveness of HPC on a broader range of image distributions, stay tuned!


Change semantic-release configuration

Force new version with with chore prefix and bundle scope

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


stop loading of pry unless in console

I would like to have pry-rails in every environment, but some people
don't like the idea of adding a bunch of useless file loading to
production.
Add this to config/application.rb to check what is loaded after bundler
require:
  # Require the gems listed in Gemfile, including any gems
  # you've limited to :test, :development, or :production.
  Bundler.require(*Rails.groups)

+ print "\npry features loaded: "
+ puts $LOADED_FEATURES.grep(/pry/).count

  module LoadTest

Current master:
$ bundle exec rails s

pry features loaded: 144

With this commit:
$ bundle exec rails s

pry features loaded: 4

Of course I just realize that I need to account for running pry outside of console without having to require it first.
Would it be too annoying to ask people to define their Gemfiles like this?
gem 'pry-rails'
group :development, :test do
  gem 'pry'
end

I recently had an issue with pry-rails disrupting a production application when it was loaded outside of a console, so I'm a big fan of this idea. What are the chances of this getting merged? Anything I can do to help?

This looks pretty dead. I would recommend forking and adding in any patches that you find useful. It shouldn't take more than a few minutes.


Bug report:

Prerequisites

[X] I am running the latest CosmPy version.
[X] I checked the documentation and found no answer to my problem.
[X] I checked the existing issues to make sure my problem has not already been reported.
[X] I have read the code of conduct before creating this issue.

Expected Behavior
I expected to receive the cosmos hub's wallet balance:
`tests_address = 'cosmos1rtpgucu3pjrelph4flzg6hr5ntt6yw56l0qvx5'
generated_wallet = LocalWallet.generate(prefix='cosmos')

cfg = NetworkConfig(
    chain_id="Cosmos-Hub",
    url="grpc+https://grpc-cosmoshub.blockapsis.com:429",
    fee_minimum_gas_price=1,
    fee_denomination="uatom",
    staking_denomination="uatom",
)
cl = LedgerClient(cfg)

res = cl.query_account(address=Address(tests_address))`

Current Behavior
Getting the error:
grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
status = StatusCode.UNAVAILABLE
details = "Received http2 header with status: 502"
debug_error_string = "{"created":"@1661773704.783000000","description":"Error received from peer ipv4:<IP_ADDRESS>:429","file":"src/core/lib/surface/call.cc","file_line":967,"grpc_message":"Received http2 header with status: 502","grpc_status":14}"

python-BaseException
Process finished with exit code 1
To Reproduce
`tests_address = 'cosmos1rtpgucu3pjrelph4flzg6hr5ntt6yw56l0qvx5'
generated_wallet = LocalWallet.generate(prefix='cosmos')

cfg = NetworkConfig(
    chain_id="Cosmos-Hub",
    url="grpc+https://grpc-cosmoshub.blockapsis.com:429",
    fee_minimum_gas_price=1,
    fee_denomination="uatom",
    staking_denomination="uatom",
)
cl = LedgerClient(cfg)

res = cl.query_account(address=Address(tests_address))`

Context
Trying to receive wallet balance
Failure Logs
E0829 14:48:24.782000000 18932 src/core/ext/transport/chttp2/transport/hpack_parser.cc:1234] Error parsing metadata: error=invalid value key=content-type value=text/html
Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm 2022.1.2\plugins\python\helpers\pydev\pydevd.py", line 1491, in exec
pydev_imports.execfile(file, globals, locals)  # execute the script
File "C:\Program Files\JetBrains\PyCharm 2022.1.2\plugins\python\helpers\pydev_pydev_imps_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "D:/Python_Projects/Cosmos_Client/tests/test_client.py", line 20, in
res = cl.query_account(address=Address(tests_address))
File "D:\Python_Projects\Cosmos_Client\venv\lib\site-packages\cosmpy\aerial\client_init.py", line 200, in query_account
response = self.auth.Account(request)
File "D:\Python_Projects\Cosmos_Client\venv\lib\site-packages\grpc_channel.py", line 946, in call
return _end_unary_response_blocking(state, call, False, None)
File "D:\Python_Projects\Cosmos_Client\venv\lib\site-packages\grpc_channel.py", line 849, in _end_unary_response_blocking
raise _InactiveRpcError(state)
grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
status = StatusCode.UNAVAILABLE
details = "Received http2 header with status: 502"
debug_error_string = "{"created":"@1661773704.783000000","description":"Error received from peer ipv4:<IP_ADDRESS>:429","file":"src/core/lib/surface/call.cc","file_line":967,"grpc_message":"Received http2 header with status: 502","grpc_status":14}"

was not a bug, just not working chain URL


Feature Request: Auto-discard messages after set time

I'm using Chatterino as an onscreen chat overlay due to its regex commands to filter messages.
However, one feature that would be helpful is the ability to set a length of time after a message appears before it is discarded. I'm aware that there is a "Clear messages" option, but this does not fulfill the needed use case. An example usage would be something like, "Discard message 30 seconds after it's received".

This issue is out of scope of the Chatterino project.


Move messages only used to generate Go structs out of minder.proto

Summary
This was brought up in PR #3797. We already have several messages that only
exist to generate Go structures out of them and use them with reflection. When
we add the profile selector messages, we'll have even more and our proto file
is going to become messy.
Instead, let's split out a new proto file and use it to store all the messages
that are really just a way to express Go structs.
Fixes: #3829
Change Type

[ ] Bug fix (resolves an issue without affecting existing features)
[ ] Feature (adds new functionality without breaking changes)
[ ] Breaking change (may impact existing functionalities or require documentation updates)
[ ] Documentation (updates or additions to documentation)
[x] Refactoring or test improvements (no bug fixes or new functionality)

Testing
make test
Review Checklist:

[x] Reviewed my own code for quality and clarity.
[ ] Added comments to complex or tricky code sections.
[ ] Updated any affected documentation.
[ ] Included tests that validate the fix or feature.
[ ] Checked that related changes are merged.

coverage: 51.425% (-0.7%) from 52.132%
when pulling fc96a3c1871b14fe05516de89e47e7de9e3f78bc on jhrozek:internal_proto
into 33d77442880b0dcbb616a0ca96da0e1db82f5bdc on stacklok:main.

Hold this - @dmjb had a good point that we should try getting rid of the structs first and foremost.

Hold this - @dmjb had a good point that we should try getting rid of the structs first and foremost.

I think we can actually review and merge this PR. @dmjb mentioned he wanted to get rid of the structs which is a good idea, but we'll need the internal proto file to include the selector messages anyway (the CEL evaluator works much easier with protobuf messages).
It doesn't really matter whether we remove the messages that this PR moves to the internal proto file from the original proto file or the internal one and having the internal proto file created would enable us to move the selector messages there.


MySQL AutoReconnect

Is your feature request related to a problem? Please describe.
If Trade System lost connection to MySQL, it didn't reconnect and show lots of WARN on the console whenever user start a trade.
Console Log: https://paste.md-5.net/iyahapaqij.sql
Describe the solution you'd like
Add an option to enable MySQL AutoReconnect function on Config.yml

Fixed. You can download a new version from my Discord server or from here.


[bug]: CUDA Blocking

Is there an existing issue for this?

[X] I have searched the existing issues

OS
Windows
GPU
cuda
VRAM
8GB
What version did you experience this issue on?
2.3.2
What happened?
I can't produce images also with the 512 resolution. This is the error message:
mage generation requested: {"prompt":"un gatto","iterations":1,"steps":25,"cfg_scale":10,"threshold":0,"perlin":0,"height":512,"width":512,"sampler_name":"k_dpmpp_2","seed":1993931784,"progress_images":false,"progress_latents":true,"save_intermediates":5,"generation_mode":"txt2img","init_mask":"","hires_fix":false,"seamless":false,"variation_amount":0}
2023-03-27T15:23:15+0200:
Server error: CUDA error: the launch timed out and was terminated CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect. For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
Screenshots
No response
Additional context
No response
Contact Details
No response

I've not encountered this issue before. @keturn ?


"Error: Could not update the JSON file: Could not update file: Changes must be made through a pull request."

URL to the linked Repository or Organization
https://github.com/laurent22/joplin/pull/7755
Steps to reproduce the problem
There's not specific steps, but for some reason one of the signatures is not being processed:
https://github.com/laurent22/joplin/actions/runs/4155636396
Run<EMAIL_ADDRESS>  with:
    path-to-signatures: readme/cla_signatures.json
    path-to-document: https://github.com/laurent22/joplin/blob/dev/readme/cla.md
    branch: dev
    allowlist: joplinbot,renovate[bot]
    use-dco-flag: false
    lock-pullrequest-aftermerge: true
  env:
    GITHUB_TOKEN: ***
    PERSONAL_ACCESS_TOKEN: ***
CLA Assistant GitHub Action bot has started the process
Error: Could not update the JSON file: Could not update file: Changes must be made through a pull request.

I don't quite understand what that means - the pull request has been signed here like all other pull requests, but for some reason this one in particular does not work. I've also retried the job without success.
Any idea what might be the issue?

In fact it seems it's now happening with all pull requests. This one too, which was signed but the action failed with same error, and signature file was not updated:
https://github.com/laurent22/joplin/pull/7757

same error here

I don't know if that can help you @Himself65, but in our case it was because we changed the protection settings of the branch, and in particular it was required to change the branch via a pull request (and of course the bot doesn't create a pull request, so the changes to the .json file would fail).

I don't know if that can help you @Himself65, but in our case it was because we changed the protection settings of the branch, and in particular it was required to change the branch via a pull request (and of course the bot doesn't create a pull request, so the changes to the .json file would fail).

That makes sense to me. I believe we have the same settings on branch protection.

Thanks for helping me on this

Hi @Himself65, @laurent22,
I have done a major refactoring and did a new release v2.3.0 and unfortunately introduced some bugs in it as well. I will work on it today and release a new version. Till then, please fallback to the previous stable version.
I am really sorry for the inconvenience caused.
uses<EMAIL_ADDRESS>

@ibakshay, no problem and thank you for getting back to us. I guess it's more a limitation of the bot than an actual bug. The main problem was that the error message wasn't very clear, which means it wasn't obvious what needed to be done.

@ibakshay, no problem and thank you for getting back to us. I guess it's more a limitation of the bot than an actual bug. The main problem was that the error message wasn't very clear, which means it wasn't obvious what needed to be done.

I have totally mixed things up. I thought you are facing issues after you have upgraded the version to v2.3.0. Thanks a lot for your pull request. I really appreciate it 🎉

Thanks for helping me on this
@Himself65 Did you also start facing issues after you have configured the branch protection?
This https://github.com/contributor-assistant/github-action/pull/133 from @laurent22 will provide more info on the error message :)


mautrix-telegram: 0.11.1 -> 0.11.2

Motivation for this change
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

If needed, I can test-deploy this later today :)

Sorry for the delay, was on vacation last week. Currently testing this :)


Move all zeroes to end of array

Description
Input  : arr[] = {1, 2, 0, 4, 3, 0, 5, 0};
Output : arr[] = {1, 2, 4, 3, 5, 0, 0, 0};

Input  : arr[] = {1, 2, 0, 0, 0, 3, 6};
Output : arr[] = {1, 2, 3, 6, 0, 0, 0};

Program added successfully :tada:
Thanks for your contribution :hugs:


How to distinguish between write and read

I saw the documentation but didn't really get it how can you know if this is the first time for the user to enter the site so you car write some favicon to him and give him identifier or if he already have favicons and u will then give him 404 request on all favicons. so can you please tell in details how the script distinguish? Or maybe the first redirect is always test and if the user asked for favicon "a" then he is new and if not we start reading?

Short explanation: Distinction between Read and Write is also made via the initial favicon on the start page.
So the first step is to check whether the favicon for the base domain is requested when the browser visits the page. If that favicon is requested, then this should be the user’s first visit and we continue in write mode. Otherwise we assume that the identifier has already been written and we switch to read mode.

@jonasstrehle ty very much ♥


export fit results to pandas.DataFrame

#17 asks for a column containing the file name. The entire column will have exactly the same values as all the rows are related to the same raw file. I understand that it might be useful to be able to merge datasets related to various raw files, but this is only a particular usecase and don't find it useful in general. We could have optional parameter to include a column to the dataset. What do you think @vedina?

my assumption/expectation  is exporting multiple spectra into a dataframe will be the common case, e.g. for building models using more than one spectra.  of course could be optional.  Additional column could always be dropped by subsequent processing if not needed , otherwise indication where the dataframe came from is always useful.
In fact I would like to have more additional columns with metadata parsed (e.g. wavelength , etc) once we agree on the format.


I haven't been able to make Alex work since around 6.3-6.4

I swapped to No Clippy a while back due to this, but it's annoying having to wait for Clippy to be back alongside dalamud plugins.
I tried the opcode for 6.58 but it's also not working for me
{
"C2S_ActionRequest": "0x017f",
"C2S_ActionRequestGroundTargeted": "0x02c7",
"Common_UseOodleTcp": true,
"PatchCode": [],
"S2C_ActionEffect01": "0x00d3",
"S2C_ActionEffect08": "0x0356",
"S2C_ActionEffect16": "0x021e",
"S2C_ActionEffect24": "0x0092",
"S2C_ActionEffect32": "0x0237",
"S2C_ActorCast": "0x0165",
"S2C_ActorControl": "0x02c9",
"S2C_ActorControlSelf": "0x0340",
"Server_IpRange": "<IP_ADDRESS>/24, <IP_ADDRESS>/24, <IP_ADDRESS>/24, <IP_ADDRESS>/24, <IP_ADDRESS>/24",
"Server_PortRange": "1-65535"
}
This is the Oopcode i have. someone suggested a fix of changing the values on Server_IpRange but that also did not work

yeah xivalex is bs, shit takes even longer than noclippy to get working

They update the opcodes regularly and i've tried re-installing it from scratch as well, i just can't make it work even with the current ones


drivers: mdio_esp32: let the REF_CLK be initialized before the PHY.

When GPIO17 or 16 is used as an external REF_CLK signal, the output is enabled in eth_esp32.c This was added in PR number #65759 (by @bbilas ) and then refined in PR #74442 (by @sylvioalves). However this does not work for PHYs which need the REF_CLK for MDIO communication, such as LAN8720A. In such cases phy_mii driver tries to get the ID of such a PHY before REF_CLK is present. Therefore in this PR I propose to move REF_CLK initialization from eth_esp32.c to mdio_esp32.c which gets initialized before PHY and ETH.
There's a topic about this as well: https://github.com/zephyrproject-rtos/zephyr/discussions/68907

Hi @iwasz, any reason why the original location of the clock init remains the same?  eth_esp32.c:282

why the original location of the clock init remains the same? eth_esp32.c:282

Hey! I was unsure what to do about it. There's an #if DT_INST_NODE_HAS_PROP(0, ref_clk_output_gpios) there which decides if we want enable RMII input or output. If I remove the whole "true case" block that I moved to mdio_esp32.c then we would be left with something like:
#if !DT_INST_NODE_HAS_PROP(0, ref_clk_output_gpios)
		emac_hal_iomux_rmii_clk_input();
		emac_ll_clock_enable_rmii_input(dev_data->hal.ext_regs);
#endif

And then having ref-clk-output-gpios defined in the eth (i mean here dts/bindings/ethernet/espressif,esp32-eth.yaml) makes little sense - it would be used kinda like a boolean flag even though it's a phandle-array.

This patch gets Ethernet working on the Olimex ESP32_POE boards. My current setup:
https://github.com/simpleiot/zephyr-siot
https://github.com/simpleiot/zephyr-siot/blob/main/boards/esp32_poe/esp32_poe_procpu.dts#L169
Note, ref-clk-output-gpios = <&gpio0 17 0>; is required in both the mdio and eth sections, otherwise the mdio driver sets up the clock and the phy is detected, but then the eth driver shuts it off.

@sylvioalves please take a look

@sylvioalves wonder if you can have a look so we can unblock this


Add a Devise generator

But instead of being required and forcing an installation of Devise, let's say Devise is only required when running this generator. It would:

Add the views
Create the model
Replace the email address in the config file with setting
Setup a base scaffold for editing a user's profile? (Not sure about this one.)

I'm now thinking this is not worth the effort. I like the user generator sticking around, but this is essentially acting to pool together multiple Devise generators. That's silly. Let's let Devise do its thing.
The five minutes or so I typically spend installing Devise is NBD. And if it takes more time than that, it probably means there's some complication in the mix.
Yes, it's annoying to uncomment the key and change the default email address, but we're just going to leave it be for now.


How to build a navigation controller?

This router is really cool! I love the way it abstracts your layout along with the routes.
I've been trying to build the concept of a UINavigationController and UITabBarController for React. This router looks pretty neat and I think it would be really cool to use a similar pattern to this router but I'm struggling to come up with something...
Have you guys thought much about this?
For example, imagine you have a simple social app like Twitter or Instagram. You can keep clicking through nested User / Post views forever and back out of them in order. But you can't just use browser history because there is a different navigation controller of each tab.
Imagine you have 3 tabs: profile, feed, and search.
<Router history={history}>
  <Route component={App}>
    <Route path="profile" nav={profileNavController} component={Profile}/>
    <Route path="feed" nav={feedNavController} component={Feed}/>
    <Route path="search" nav={searchNavController} component={Search}>
    <Route path="post/:id" component={Post}/>
    <Route path="user/:id" component={User}/>
  </Route>
</Router>

Each has its own navigation controller passed as props. So perhaps for linking, we could do something like this:
<Link to={'/user/' + id} push={this.props.navController}>{username}</Link>

Still trying to figure this out. But is this something of interest to anyone?

Am I understanding it right that a) you want to have a component that allows to have some standard navigation between views (with that pretty right to left transitions maybe) and b) that navigation between this views should not write to history (or at least be optionated)?
If it's true then I see at as you should create your own Component which will handle this stuff. As for me this is not direct responsibility of the routing library but I'm nobody here.
Do you already have something on this?

Yeah, its probably not the best to do with the router actually, but perhaps there could be some way. Imagine an app like Instagram. There are multiple Tabs which each have their own Nav history. Right now I'm building it much like the React Native NavigatorIOS API. This means lots of function callbacks, etc. but I really like how this Router somehow gets away with laying things out more declaratively.


Tutorial adding command

Codecov Report

Merging #7 (0501e5f) into master (ef2fd58) will decrease coverage by 0.10%.
The diff coverage is 68.49%.

@@             Coverage Diff              @@
##             master       #7      +/-   ##
============================================
- Coverage     72.15%   72.05%   -0.11%
- Complexity      399      417      +18
============================================
  Files            70       73       +3
  Lines          1232     1292      +60
  Branches        125      132       +7
============================================
+ Hits            889      931      +42
- Misses          311      326      +15
- Partials         32       35       +3

Impacted Files
Coverage Δ

.../seedu/address/logic/parser/AddressBookParser.java
88.88% <0.00%> (-11.12%)
:arrow_down:

...eedu/address/logic/parser/RemarkCommandParser.java
0.00% <0.00%> (ø)

src/main/java/seedu/address/ui/PersonCard.java
0.00% <0.00%> (ø)

.../java/seedu/address/model/util/SampleDataUtil.java
25.00% <14.28%> (+5.00%)
:arrow_up:

...java/seedu/address/logic/commands/EditCommand.java
94.36% <60.00%> (-2.65%)
:arrow_down:

...c/main/java/seedu/address/model/person/Remark.java
75.00% <75.00%> (ø)

...c/main/java/seedu/address/model/person/Person.java
95.74% <87.50%> (-1.88%)
:arrow_down:

...va/seedu/address/logic/commands/RemarkCommand.java
100.00% <100.00%> (ø)

...a/seedu/address/logic/parser/AddCommandParser.java
100.00% <100.00%> (ø)

...ain/java/seedu/address/logic/parser/CliSyntax.java
85.71% <100.00%> (+2.38%)
:arrow_up:

... and 2 more

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 ef2fd58...0501e5f. Read the comment docs.


⚠ Bofrost.de has degraded performance

In 4b280e4, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1530 ms

Resolved: Bofrost.de performance has improved in ac9c7ed.


feat: bump @shapeshiftoss/asset-service to latest

Description

Notice

[ ] Have you followed the guidelines in our Contributing guide?
[ ] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[ ] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)

closes #
Risk

Testing

Engineering

Operations

Screenshots (if applicable)

Current dependencies on/for this PR:

develop

PR #3423

PR #3424

PR #3442   👈
PR #3441

This comment was auto-generated by Graphite.


chore: release 1.1.26

:robot: I have created a release *beep* *boop*
1.1.26 (2021-09-20)
Bug Fixes

trigger release (3a4b566)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/werf/werf/releases/tag/v1.1.26 :sunflower:


NN doing the opposite of logical function

The NN should prompt the least common value instead of the most common value in the program, this will eventually be patched in v1.2 or if possible v1.1.

Pushing this back due to pushing v1.1 due date forward to May 1st

Working this, taking off of issues/closing


do a stars/watching/fork count using github api; and the gitlab/bitbucket equivalent

you could parse links in a url via form submission, and then according the the platform parsed, you could sprintf (or fstring in js) an api URL to query


wheels colliders are not round after update to bevy_rapier3d 0.16

bevy_rapier3d = { version = "0.16" }

fixed by adding ColliderScale::Absolute(Vec3::ONE) component to the wheel
https://github.com/alexichepura/bevy-rapier-car-sim/commit/ca8f1dfcdbbabe9545f09c688d937cfc63332097


code-alpha --install-extension errors are in JSON

Testing #6099
> code-alpha --install-extension vscode-css-formatter
{ responseText: '{"$id":"1","innerException":null,"message":"The query supplied was not valid, one of the filters contained an error. The fully qualified name MUST contain a \'.\' between the publisher and extension names.","typeName":"Microsoft.VisualStudio.Services.Gallery.WebApi.InvalidExtensionQueryException, Microsoft.VisualStudio.Services.Gallery.WebApi","typeKey":"InvalidExtensionQueryException","errorCode":0,"eventId":3000}',
  status: 500,
  getResponseHeader: [Function],
  readyState: 4 }

Having the error as JSON is uncommon.
If structured error messages are useful, maybe add a extra option to the command that defines the resonse format.

Duplicate of #6761


Google Maps API key

How did we do it last time? Why is it broken? Sad!

Here's the relevant piece of code from the HackGTeeny website. The API key is linked to my account so don't abuse it or anything (it's a public key anyway) but it should be pretty easy to repurpose.


Problem with ROMs whose size isn't a multiple of 1024 bytes

The compression algorithm in the JS function generateAndSaveUF2 doesn't support the ROM size that isn't a multiple of 1024 bytes.
This is the likely cause of the problem with N64 240p test suite ROM that I reported before whose size is 6421760 bytes = 6271.25 KiB.
The generateAndSaveUF2 calculates the number of chunks as num_chunks = Math.floor(rom.fileSize / chunk_size) where chunk_size = 1024 so it doesn't handle the last incomplete chunk in any way.

Another bug I found is using Uint16Array that produce native-endian byte stream. It's unlikely that someone will open the converter code on a big-endian machine but it's still a bug.
I'm translating your JS code to Go so such bugs easily reveal themselves.

Thanks for finding the root cause. If you have the time to create a PR, I’d be happy to merge a fix in the repo https://github.com/kbeckmann/PicoCart64/tree/gh-pages


RC3: xalan validation error only on default [aarch64]

Xalan, using msjdk-17 on aarch64, fails on default size. Passes on small size and large size.
Default:
$ ../JAVA/jdk-<IP_ADDRESS>+1/bin/java -jar dacapo-23.9-RC3-chopin.jar -v -n 3 xalan zxing
Class name: org.dacapo.harness.Xalan
Configurations:
short     An XSLT processor for transforming XML documents
long      Xalan repeatedly transforms a set of XML documents
author    Apache Software Foundation
license   Apache License, Version 2.0
copyright Copyright (C) 1999-2003 The Apache Software Foundation
url       http://xml.apache.org/xalan-j/
version   xalan 2_7_2
sizes     default large small
Using scaled threading model. 160 processors detected, 160 threads used to drive the workload, in a possible range of [1,2048]
Version: xalan 2_7_2 (use -p to print nominal benchmark stats)
===== DaCapo 23.9-RC3-chopin xalan starting warmup 1 =====
Normal completion.
Digest validation failed for stdout.log, expecting 0x87d959a674499334decdea63251cdd59a79576f8 found 0x82bdbcd79df81a0115d534c806fe8048ee8351c7
===== DaCapo 23.9-RC3-chopin xalan FAILED warmup =====
===== DaCapo 23.9-RC3-chopin xalan starting warmup 2 =====
Normal completion.
Digest validation failed for stdout.log, expecting 0x87d959a674499334decdea63251cdd59a79576f8 found 0x82bdbcd79df81a0115d534c806fe8048ee8351c7
===== DaCapo 23.9-RC3-chopin xalan FAILED warmup =====
===== DaCapo 23.9-RC3-chopin xalan starting =====
Normal completion.
Digest validation failed for stdout.log, expecting 0x87d959a674499334decdea63251cdd59a79576f8 found 0x82bdbcd79df81a0115d534c806fe8048ee8351c7
===== DaCapo 23.9-RC3-chopin xalan FAILED =====
Validation FAILED for xalan default

Small:
$ ../JAVA/jdk-<IP_ADDRESS>+1/bin/java -jar dacapo-23.9-RC3-chopin.jar -v -n 3 -s small xalan
Class name: org.dacapo.harness.Xalan
Configurations:
short     An XSLT processor for transforming XML documents
long      Xalan repeatedly transforms a set of XML documents
author    Apache Software Foundation
license   Apache License, Version 2.0
copyright Copyright (C) 1999-2003 The Apache Software Foundation
url       http://xml.apache.org/xalan-j/
version   xalan 2_7_2
sizes     default large small
Using scaled threading model. 160 processors detected, 160 threads used to drive the workload, in a possible range of [1,2048]
Version: xalan 2_7_2 (use -p to print nominal benchmark stats)
===== DaCapo 23.9-RC3-chopin xalan starting warmup 1 =====
Normal completion.
===== DaCapo 23.9-RC3-chopin xalan completed warmup 1 in 372 msec =====
===== DaCapo 23.9-RC3-chopin xalan starting warmup 2 =====
Normal completion.
===== DaCapo 23.9-RC3-chopin xalan completed warmup 2 in 174 msec =====
===== DaCapo 23.9-RC3-chopin xalan starting =====
Normal completion.
===== DaCapo 23.9-RC3-chopin xalan PASSED in 135 msec =====

Large:
$ ../JAVA/jdk-<IP_ADDRESS>+1/bin/java -jar dacapo-23.9-RC3-chopin.jar -v -n 3 -s large xalan
Class name: org.dacapo.harness.Xalan
Configurations:
short     An XSLT processor for transforming XML documents
long      Xalan repeatedly transforms a set of XML documents
author    Apache Software Foundation
license   Apache License, Version 2.0
copyright Copyright (C) 1999-2003 The Apache Software Foundation
url       http://xml.apache.org/xalan-j/
version   xalan 2_7_2
sizes     default large small
Using scaled threading model. 160 processors detected, 160 threads used to drive the workload, in a possible range of [1,2048]
Version: xalan 2_7_2 (use -p to print nominal benchmark stats)
===== DaCapo 23.9-RC3-chopin xalan starting warmup 1 =====
Normal completion.
===== DaCapo 23.9-RC3-chopin xalan completed warmup 1 in 102634 msec =====
===== DaCapo 23.9-RC3-chopin xalan starting warmup 2 =====
Normal completion.
===== DaCapo 23.9-RC3-chopin xalan completed warmup 2 in 98361 msec =====
===== DaCapo 23.9-RC3-chopin xalan starting =====
Normal completion.
===== DaCapo 23.9-RC3-chopin xalan PASSED in 98304 msec =====

@heshpdx could you please do two things?

Use -t 32 to cap the thread count at 32 to see if this (alone) is the issue.
Attach the stderr.log (from scratch, after running with -preserve)

Thread count does make a difference. I did a bisection and found that 51 threads is ok but 52 is not ok.
The stderr.log is empty after the failure.
$ /data/1/mjm/JAVA/jdk-<IP_ADDRESS>+1/bin/java -jar dacapo-23.9-RC3-chopin.jar -v -t 51 -preserve -n 1 xalan
Class name: org.dacapo.harness.Xalan
Configurations:
short     An XSLT processor for transforming XML documents
long      Xalan repeatedly transforms a set of XML documents
author    Apache Software Foundation
license   Apache License, Version 2.0
copyright Copyright (C) 1999-2003 The Apache Software Foundation
url       http://xml.apache.org/xalan-j/
version   xalan 2_7_2
sizes     default large small
Using scaled threading model. 160 processors detected, 51 threads used to drive the workload, in a possible range of [1,2048]
Version: xalan 2_7_2 (use -p to print nominal benchmark stats)
===== DaCapo 23.9-RC3-chopin xalan starting =====
Normal completion.
===== DaCapo 23.9-RC3-chopin xalan PASSED in 6774 msec =====

$ /data/1/mjm/JAVA/jdk-<IP_ADDRESS>+1/bin/java -jar dacapo-23.9-RC3-chopin.jar -v -t 52 -preserve -n 1 xalan
Class name: org.dacapo.harness.Xalan
Configurations:
short     An XSLT processor for transforming XML documents
long      Xalan repeatedly transforms a set of XML documents
author    Apache Software Foundation
license   Apache License, Version 2.0
copyright Copyright (C) 1999-2003 The Apache Software Foundation
url       http://xml.apache.org/xalan-j/
version   xalan 2_7_2
sizes     default large small
Using scaled threading model. 160 processors detected, 52 threads used to drive the workload, in a possible range of [1,2048]
Version: xalan 2_7_2 (use -p to print nominal benchmark stats)
===== DaCapo 23.9-RC3-chopin xalan starting =====
Normal completion.
Digest validation failed for stdout.log, expecting 0x87d959a674499334decdea63251cdd59a79576f8 found 0x6edec6db1641ea33b64258e84350188908d928e6
===== DaCapo 23.9-RC3-chopin xalan FAILED =====
Validation FAILED for xalan default

Thanks so much. I'll see if I can reproduce this on one of my platforms.

I didn't reproduce the problem on Cavium ThunderX CN8890, Ubuntu 18.04, Temurin-<IP_ADDRESS>+1 aarch64
$ ./jdk-<IP_ADDRESS>+1/bin/java -jar ./dacapo-23.9-RC3-chopin.jar -n 3 xalan
Using scaled threading model. 48 processors detected, 48 threads used to drive the workload, in a possible range of [1,2048]
Version: xalan 2_7_2 (use -p to print nominal benchmark stats)
===== DaCapo 23.9-RC3-chopin xalan starting warmup 1 =====
Normal completion.
===== DaCapo 23.9-RC3-chopin xalan completed warmup 1 in 4982 msec =====
===== DaCapo 23.9-RC3-chopin xalan starting warmup 2 =====
Normal completion.
===== DaCapo 23.9-RC3-chopin xalan completed warmup 2 in 3481 msec =====
===== DaCapo 23.9-RC3-chopin xalan starting =====
Normal completion.
===== DaCapo 23.9-RC3-chopin xalan PASSED in 2918 msec =====

I have trivially reproduced this by setting the thread count to a value greater than 51, i.e. -t 52.
Investigating.

This is related to #229.
When running with 52 threads stdout shows:
Processing: 105%

Fixed in 76ad7fad04fb093db08e5fb7054728e2c461206a


drivers: nxp_enet: Fix tx error handling

The code path for error handling and timestamping in tx path was meant to be identical in function to old eth_mcux driver, but there is actually a discrepancy causing no error handling for timestamped frames, fix it.

@decsny, please add a github issue so we can get this in the backport to 3.7


Ensure expansionFraction always reaches 1 at the end of an animation

Currently there's a check to consider the expansion complete if the expansionFraction is "close enough" to a final value.
This fixes the problem internally, but the wrong value is then exposed through the listener.

Fixed in 2.9


404 nothing found error for the posts

When we click on the posts on the blog. It gives 404 nothing found error. We have to change the configuration file to see if the things are correctly working or not.

This will be solved by adding the permalink in the _config file.


Cannot restore to the only snapshot on ZFS

The template below is mostly useful for bug reports and support questions.
Feel free to remove anything which doesn't apply to you and add more information where it makes sense.
Required information

Distribution: Ubuntu

Distribution version: 14.04.4 LTS

The output of "lxc info":
apicompat: 0
auth: trusted
environment:
 addresses: []
 architectures:
 - x86_64
 - i686
 certificate: |
   -----BEGIN CERTIFICATE-----
   -----SKIPPED-----
   -----END CERTIFICATE-----
 driver: lxc
 driverversion: 1.1.5
 kernel: Linux
 kernelarchitecture: x86_64
 kernelversion: 3.13.0-86-generic
 server: lxd
 serverpid: 3678
 serverversion: 2.0.0
 storage: zfs
 storageversion: "5"
config:
 storage.zfs_pool_name: lxd
public: false

Issue description
A brief description of what failed or what could be improved.
Steps to reproduce

Configure lxd to use ZFS storage backend
lxc launch ubuntu tmp
lxc snapshot tmp snap0
lxc restore tmp snap0

Here's the actual output from my console:
madkinder@madkinder-laptop:~$ lxc info jenkins-master
Name: jenkins-master
Architecture: x86_64
Created: 2016/04/19 13:00 UTC
Status: Stopped
Type: persistent
Profiles: default
Snapshots:
  snap0 (taken at 2016/04/25 11:40 UTC) (stateless)
madkinder@madkinder-laptop:~$ lxc restore jenkins-master snap0
error: ZFS can only restore from the latest snapshot. Delete newer snapshots or copy the snapshot into a new container instead.

Unfortunately the steps above aren't actually the steps to reproduce, restoring to the very same snapshot used to work with this very container. But after a while it doesn't restore anymore even though this is the only snapshot this container has.
I'm attaching the logs since the time I created this container. Hope it can shed some light on the problem.
Information to attach

[ ] any relevant kernel output (dmesg)
[x] container log (lxc info NAME --show-log) (see logs.zip/lxc-info.log)
[x] main daemon log (/var/log/lxd.log) (see logs.zip/lxd.log)
[x] output of the client with --debug (see logs.zip/lxc-restore.client.log)
[ ] output of the daemon with --debug

Can you paste "zfs list -t all"?

Here it is:
madkinder@madkinder-laptop:~$ sudo zfs list -t all
NAME                                                                                USED  AVAIL  REFER  MOUNTPOINT
lxd                                                                                5,96G  34,5G    19K  none
lxd/containers                                                                                4,84G  34,5G    19K  none
lxd/containers/jenkins-erlang-slave-14-04                                                      844M  34,5G  1,35G  /var/lib/lxd/containers/jenkins-erlang-slave-14-04.zfs
lxd/containers/jenkins-erlang-slave-14-04@snapshot-snap0                                      50,5K      -   610M  -
lxd/containers/jenkins-master                                                                 1,14G  34,5G  1,45G  /var/lib/lxd/containers/jenkins-master.zfs
lxd/containers/jenkins-master@copy-73593e52-5bf8-447d-a16e-8731810d1e95                        275K      -   570M  -
lxd/containers/jenkins-master@copy-4836802e-53b7-42c0-8b95-c5ed505fb296                        296K      -   570M  -
lxd/containers/jenkins-master@snapshot-snap0                                                      0      -   611M  -
lxd/containers/jenkins-master@copy-1c3b6398-9c9a-4461-ad06-8124c7ba5ea0                           0      -   611M  -
lxd/containers/jenkins-master2                                                                 988M  34,5G  1,39G  /var/lib/lxd/containers/jenkins-master2.zfs
lxd/containers/jenkins-master2@snapshot-snap0                                                 80,3M      -  1,30G  -
lxd/containers/tmp                                                                             894M  34,5G  1,35G  /var/lib/lxd/containers/tmp.zfs
lxd/containers/tmp-build                                                                       134M  34,5G   659M  /var/lib/lxd/containers/tmp-build.zfs
lxd/containers/trusty-build-env                                                                931M  34,5G  1,38G  /var/lib/lxd/containers/trusty-build-env.zfs
lxd/deleted                                                                                570M  34,5G    19K  none
lxd/deleted/images                                                                             570M  34,5G    19K  none
lxd/deleted/images/b69c9370446a28c02ad5b0d41f07e028a1756a74bee62b7d59467201a6488fc2            570M  34,5G   570M  none
lxd/deleted/images/b69c9370446a28c02ad5b0d41f07e028a1756a74bee62b7d59467201a6488fc2@readonly      0      -   570M  -
lxd/images                                                                                571M  34,5G    19K  none
lxd/images/5088e275e4cf31b1229f8ca9b857ff428c5eae8643cf3c10d097964dbd4b8e61                    571M  34,5G   571M  /var/lib/lxd/images/5088e275e4cf31b1229f8ca9b857ff428c5eae8643cf3c10d097964dbd4b8e61.zfs
lxd/images/5088e275e4cf31b1229f8ca9b857ff428c5eae8643cf3c10d097964dbd4b8e61@readonly              0      -   571M  -

Can you paste "zfs list -t all -o name,origin" too?
It could be that the error you're getting is actually correct, though not formulated clearly in this case (because I didn't think of this particular case) but the command above would confirm it.

Sure.
madkinder@madkinder-laptop:~$ sudo zfs list -t all -o name,origin
NAME                                                                                ORIGIN
lxd                                                                                -
lxd/containers                                                                                -
lxd/containers/jenkins-erlang-slave-14-04                                                     lxd/containers/jenkins-master@copy-1c3b6398-9c9a-4461-ad06-8124c7ba5ea0
lxd/containers/jenkins-erlang-slave-14-04@snapshot-snap0                                      -
lxd/containers/jenkins-master                                                                 lxd/deleted/images/b69c9370446a28c02ad5b0d41f07e028a1756a74bee62b7d59467201a6488fc2@readonly
lxd/containers/jenkins-master@copy-73593e52-5bf8-447d-a16e-8731810d1e95                       -
lxd/containers/jenkins-master@copy-4836802e-53b7-42c0-8b95-c5ed505fb296                       -
lxd/containers/jenkins-master@snapshot-snap0                                                  -
lxd/containers/jenkins-master@copy-1c3b6398-9c9a-4461-ad06-8124c7ba5ea0                       -
lxd/containers/jenkins-master2                                                                lxd/containers/jenkins-master@snapshot-snap0
lxd/containers/jenkins-master2@snapshot-snap0                                                 -
lxd/containers/tmp                                                                            lxd/images/5088e275e4cf31b1229f8ca9b857ff428c5eae8643cf3c10d097964dbd4b8e61@readonly
lxd/containers/tmp-build                                                                      lxd/containers/jenkins-erlang-slave-14-04@snapshot-snap0
lxd/containers/trusty-build-env                                                               lxd/deleted/images/b69c9370446a28c02ad5b0d41f07e028a1756a74bee62b7d59467201a6488fc2@readonly
lxd/deleted                                                                                -
lxd/deleted/images                                                                            -
lxd/deleted/images/b69c9370446a28c02ad5b0d41f07e028a1756a74bee62b7d59467201a6488fc2           -
lxd/deleted/images/b69c9370446a28c02ad5b0d41f07e028a1756a74bee62b7d59467201a6488fc2@readonly  -
lxd/images                                                                                -
lxd/images/5088e275e4cf31b1229f8ca9b857ff428c5eae8643cf3c10d097964dbd4b8e61                   -
lxd/images/5088e275e4cf31b1229f8ca9b857ff428c5eae8643cf3c10d097964dbd4b8e61@readonly          -

Ok, so you have two bad snapshots that you can remove with:

zfs destroy lxd/containers/jenkins-master@copy-73593e52-5bf8-447d-a16e-8731810d1e95
zfs destroy lxd/containers/jenkins-master@copy-4836802e-53b7-42c0-8b95-c5ed505fb29

That's a bug which we fixed in LXD 2.0.1 so that particular problem (leak of copy-UUID entries) shouldn't re-occur.
That still leaves you with a problem that we can't actually fix (other than by improving the wording of the error).
You have a container called jenkins-erlang-slave-14.04 which was created as a copy of jenkins-master. The way copies work with ZFS is that a snapshot is created (copy-UUID) on the source and the new container is created as a clone.
That means that you cannot revert to a snapshot which pre-dates the last active copy of a container when using ZFS...

When picking the storage engine I consulted storage-backends. I've seen this warning there:

ZFS doesn't support restoring from snapshots other than the latest one. You can however create new containers from older snapshots which makes it possible to confirm the snapshots is indeed what you want to restore before you remove the newer snapshots.

Even though from my perspective that is definitely a design flaw of ZFS I was ok with not being able to revert to an older snapshot. At that time I didn't expect it to affect cloning/copying though.
Now, please, try to stand in my shoes for a while. Here's my session:
# Surprisingly failing flow
$ lxc init ubuntu:t tmp1
$ lxc snapshot tmp1 snap0
$ lxc copy tmp1 tmp2  # I'm NOT specifying the snapshot here
$ lxc restore tmp1 snap0
error: ZFS can only restore from the latest snapshot. Delete newer snapshots or copy the snapshot into a new container instead.

$ lxc info tmp1
Name: tmp1
Architecture: x86_64
Created: 2016/06/03 14:29 UTC
Status: Stopped
Type: persistent
Profiles: default
Snapshots:
  snap0 (taken at 2016/06/03 14:30 UTC) (stateless)
# But that's the only snapshot, man! How come you can't restore from it?

Now after filing a bug and some further explanation from you, Stéphane, and also reading
Oracle Solaris ZFS Administration Guide: Chapter 7 (it's for Solaris, but I think it's the same for Linux) it turns out that internally ZFS needs a snapshot to create a clone from. So if you don't specify an LXD snapshot explicitly, like I did above, LXD would create a ZFS snapshot for you. But won't add it to container's metadata, hence it is not shown in lxc info output. This confused me a lot.
To prove my guess here's what I tried:
$ lxc init ubuntu:t tmp3
$ lxc snapshot tmp3 snap0
$ lxc copy tmp3/snap0 tmp4  # I'm AM specifying the snapshot here
$ lxc restore tmp3 snap0

This worked like a charm! To prove my guess about a hidden ZFS snapshot I ran this:
$ sudo zfs list -t all -o name,origin | grep 'tmp[1-4]' | column -t
[sudo] password for madkinder:
lxd/containers/tmp1                                            lxd/images/d02d6cf5a494df1c88144c7cbfec47b6d010a79baf18975a7c17abbf31cbae40@readonly
lxd/containers/tmp1@snapshot-snap0                             -
lxd/containers/tmp1@copy-142ef5e1-9880-43bc-886e-40466517bda4  -
lxd/containers/tmp2                                            lxd/containers/tmp1@copy-142ef5e1-9880-43bc-886e-40466517bda4
lxd/containers/tmp3                                            lxd/images/d02d6cf5a494df1c88144c7cbfec47b6d010a79baf18975a7c17abbf31cbae40@readonly
lxd/containers/tmp3@snapshot-snap0                             -
lxd/containers/tmp4                                            lxd/containers/tmp3@snapshot-snap0

Q.E.D. There's an automatically created snapshot named lxd/containers/tmp1@copy-142ef5e1-9880-43bc-886e-40466517bda4 which prevented me to restore tmp1 to snap0.

Bottom line. I realize that the whole problem lies in the way ZFS is implemented. My point is it took me quite a while to understand the cause.
In order to improve the experience of LXD users I suggest to do two things:

Add description of this flow to the ZFS section of storage-backends.md. Something like "you should always specify the snapshot to copy from when using ZFS backend, otherwise you will never be able to restore your source container to any of its snapshots" would do.
At runtime issue a warning like this:

$ lxc copy tmp1 tmp2  # I'm NOT specifying the snapshot here
warning: Due to ZFS restrictions you won't be able to restore tmp1 to any of its snapshots. Explicitly specify the latest snapshot when copying to work around it.

Of course, this warning should be emitted only when ZFS backend is used and there's at least one LXD snapshot of the container one copies from.

Yeah, we'll update the documentation to cover this corner case. As I said, I just didn't think of this when implementing the zfs support.
Note that your description isn't completely accurate. You can absolutely revert a container to a snapshot, so long as that snapshot was made after the last container copy.
So:
lxc init ubuntu:16.04 blah
lxc snapshot blah s1
lxc copy blah blah1
lxc snapshot blah s2
lxc restore blah s2

Will work fine. You just can't revert to s1 before first destroying s2 and blah1.
Alternatively, you can always do:
lxc copy blah/s1 blah2
lxc delete blah
lxc move blah2 blah

blah will then be whatever the s1 snapshot contained. The downside to this approach is that you'll loose any other snapshot that you may have had.

Well, you are right. I didn't think of all the cases, but to my mind not being able to revert to some older snapshots is already a flaw on its own.
Given you clarified the background of this issue and the solution would be adding some more docs, could you please add the "Documentation" label.


Python 3.7.4 Dockerfile is missing from this repository

Hi @jonemo , thank you for building these images!!
On Docker Hub there is a Tag for Python 3.7.4 (https://hub.docker.com/layers/jonemo/pythonnet/python3.7.4-mono5.20-pythonnet2.4.0/images/sha256-3fd3fb542e8c0144201390283620fb4b4be9ab9103b9390d1a7ace3edfcf988e?context=explore)
But the Dockerfile does not seem to be present in this repository?

Hi @michaelosthege, you got me there!
 I just went back, reviewed and cleaned up the code, and pushed the latest version from 10 months ago. Thank you for the reminder!
The file you are looking for is now here: https://github.com/jonemo/pythonnet-docker/blob/master/_dockerfiles/python3.7.4-mono5.20-pythonnet2.4.0
Of course, now that I've got this code open, I might as well build a few new images...

Awesome, thanks a lot @jonemo !


Change background of 2D space views from code and/or UI

What

closes https://github.com/rerun-io/rerun/issues/6113

Very similar to 3D space views, even using the same gradient by default.
Usage:
rrb.Spatial2DView(origin="/foo", background=[32, 0, 16])

The default background color is still BLACK.

Here the dark gradient is used.
It looks a little bit too much like the 3D space view.

Checklist

[x] I have read and agree to Contributor Guide and the Code of Conduct
[x] I've included a screenshot or gif (if applicable)
[x] I have tested the web demo (if applicable):

Using examples from latest main build: rerun.io/viewer
Using full set of examples from nightly build: rerun.io/viewer

[x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG
[x] If applicable, add a new check to the release checklist!

PR Build Summary
Recent benchmark results
Wasm size tracking

To run all checks from main, comment on the PR with @rerun-bot full-check.

Oops - there is a bug! I can't change color directly without having to change to gradient first and then back again. Investigating…

CI failure unrelated to this PR


Mgm/try mapped alias

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: jhirshman:x: martinuncountableYou have signed the CLA already but the status is still pending? Let us recheck it.


opentsdb: mark as insecure

Motivation for this change
https://github.com/OpenTSDB/opentsdb/issues/2051 has not been addressed yet
fixes https://github.com/NixOS/nixpkgs/issues/109205
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

cc @ocharles

Maybe we want to remove it entirely because it has no maintainer either.

It is at the most recent version (see https://github.com/OpenTSDB/opentsdb/releases) and the repo had a commit as recently as October, so as long as it's working I wouldn't remove it.

Maybe we want to remove it entirely because it has no maintainer either.

It is at the most recent version (see https://github.com/OpenTSDB/opentsdb/releases) and the repo had a commit as recently as October, so as long as it's working I wouldn't remove it.

backport: https://github.com/NixOS/nixpkgs/pull/110801

backport: https://github.com/NixOS/nixpkgs/pull/110801