Folsom error during riak_core shutdown.

From the console.log of a Riak node. It appears the ets table identifier is invalid due to the table not existing anymore, causing the badarg error.
2013-09-13 14:47:10.353 [info] <0.723.0>@riak_kv_app:stop:187 Stopped  application riak_kv.
2013-09-13 14:47:10.433 [info] <0.208.0>@riak_core_app:prep_stop:101 Stopping application riak_core - disabling web services.
2013-09-13 14:47:11.085 [error] <0.15418.4619> gen_server <0.15418.4619> terminated with reason: bad argument in call to ets:select_delete(156574810873, [{{{'$1','_'},'_'},[{'<','$1',1379101570}],[true]}]) in folsom_sample_slide_uniform:trim/2 line 70
2013-09-13 14:47:11.119 [error] <0.15418.4619> CRASH REPORT Process <0.15418.4619> with 0 neighbours exited with reason: bad argument in call to ets:select_delete(156574810873, [{{{'$1','_'},'_'},[{'<','$1',1379101570}],[true]}]) in folsom_sample_slide_uniform:trim/2 line 70 in gen_server:terminate/6 line 747
2013-09-13 14:47:11.134 [error] <0.15738.4619> gen_server <0.15738.4619> terminated with reason: bad argument in call to ets:select_delete(156576285205, [{{{'$1','_'},'_'},[{is_integer,'$1'},{'<','$1',1379101570}],[true]}]) in folsom_metrics_spiral:trim/2 line 64
2013-09-13 14:47:11.164 [error] <0.15738.4619> CRASH REPORT Process <0.15738.4619> with 0 neighbours exited with reason: bad argument in call to ets:select_delete(156576285205, [{{{'$1','_'},'_'},[{is_integer,'$1'},{'<','$1',1379101570}],[true]}]) in folsom_metrics_spiral:trim/2 line 64 in gen_server:terminate/6 line 747
2013-09-13 14:47:11.212 [error] <0.15849.4619> gen_server <0.15849.4619> terminated with reason: bad argument in call to ets:select_delete(156576711030, [{{{'$1','_'},'_'},[{'<','$1',1379101570}],[true]}]) in folsom_sample_slide_uniform:trim/2 line 70
2013-09-13 14:47:11.235 [error] <0.15849.4619> CRASH REPORT Process <0.15849.4619> with 0 neighbours exited with reason: bad argument in call to ets:select_delete(156576711030, [{{{'$1','_'},'_'},[{'<','$1',1379101570}],[true]}]) in folsom_sample_slide_uniform:trim/2 line 70 in gen_server:terminate/6 line 747
2013-09-13 14:47:11.272 [error] <0.15502.4619> gen_server <0.15502.4619> terminated with reason: bad argument in call to ets:select_delete(156575204034, [{{{'$1','_'},'_'},[{is_integer,'$1'},{'<','$1',1379101570}],[true]}]) in folsom_metrics_spiral:trim/2 line 64
2013-09-13 14:47:11.287 [error] <0.15502.4619> CRASH REPORT Process <0.15502.4619> with 0 neighbours exited with reason: bad argument in call to ets:select_delete(156575204034, [{{{'$1','_'},'_'},[{is_integer,'$1'},{'<','$1',1379101570}],[true]}]) in folsom_metrics_spiral:trim/2 line 64 in gen_server:terminate/6 line 747
2013-09-13 14:47:11.321 [error] <0.232.0> Supervisor folsom_sample_slide_sup had child undefined started with folsom_sample_slide_server:start_link(folsom_sample_slide_uniform,<PHONE_NUMBER>73, 60) at <0.15418.4619> exit with reason bad argument in call to ets:select_delete(156574810873, [{{{'$1','_'},'_'},[{'<','$1',1379101570}],[true]}]) in folsom_sample_slide_uniform:trim/2 line 70 in context child_terminated
2013-09-13 14:47:11.346 [error] <0.232.0> Supervisor folsom_sample_slide_sup had child undefined started with folsom_sample_slide_server:start_link(folsom_metrics_spiral,<PHONE_NUMBER>05, 60) at <0.15738.4619> exit with reason bad argument in call to ets:select_delete(156576285205, [{{{'$1','_'},'_'},[{is_integer,'$1'},{'<','$1',1379101570}],[true]}]) in folsom_metrics_spiral:trim/2 line 64 in context child_terminated
2013-09-13 14:47:11.380 [error] <0.232.0> Supervisor folsom_sample_slide_sup had child undefined started with folsom_sample_slide_server:start_link(folsom_sample_slide_uniform,<PHONE_NUMBER>30, 60) at <0.15849.4619> exit with reason bad argument in call to ets:select_delete(156576711030, [{{{'$1','_'},'_'},[{'<','$1',1379101570}],[true]}]) in folsom_sample_slide_uniform:trim/2 line 70 in context child_terminated
2013-09-13 14:47:11.410 [error] <0.232.0> Supervisor folsom_sample_slide_sup had child undefined started with folsom_sample_slide_server:start_link(folsom_metrics_spiral,<PHONE_NUMBER>34, 60) at <0.15502.4619> exit with reason bad argument in call to ets:select_delete(156575204034, [{{{'$1','_'},'_'},[{is_integer,'$1'},{'<','$1',1379101570}],[true]}]) in folsom_metrics_spiral:trim/2 line 64 in context child_terminated
2013-09-13 14:47:11.448 [error] <0.232.0> Supervisor folsom_sample_slide_sup had child undefined started with folsom_sample_slide_server:start_link(folsom_metrics_spiral,<PHONE_NUMBER>34, 60) at <0.15502.4619> exit with reason reached_max_restart_intensity in context shutdown
2013-09-13 14:47:12.686 [error] <0.231.0> Supervisor folsom_sup had child folsom_metrics_histogram_ets started with folsom_metrics_histogram_ets:start_link() at <0.234.0> exit with reason shutdown in context shutdown_error
2013-09-13 14:47:12.775 [error] <0.231.0> Supervisor folsom_sup had child folsom_sample_slide_sup started with folsom_sample_slide_sup:start_link() at <0.232.0> exit with reason shutdown in context shutdown_error
2013-09-13 14:47:55.679 [info] <0.208.0>@riak_core_app:stop:110 Stopped  application riak_core.

See support ticket #5992

I got notified of this issue closing, may I recommend using https://github.com/folsom-project/folsom instead. We've made a number of fixes, improvements, etc since riak last sync'd with folsom that might fix this. I no longer have access to the original folsom repo so all the work goes into the new one now.

Thanks @joewilliams. I'm just closing issues to clean up my https://github.com/issues feed.
Riak has been pretty dead/abandoned for a while now.

@joewilliams - Riak is now using folsom-project/folsom 1.0.0 in the latest release, thank-you for the ongoing updates
@lukebakken - apologies that you ended up with all those dead issues in your feed, happy for them to be closed as I can't imagine anyone will get round to them.  Riak is not quite dead yet though, new releases are still being cut, and there are still some very-big installations in active use.  We're doing what we can to keep it alive!


Cleanup

Pull Request Test Coverage Report for Build 951180227

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+5.06%) to 78.116%

Totals

Change from base Build 951027973:
5.06%

Covered Lines:
360

Relevant Lines:
463

💛  - Coveralls


Unauthorised access error in jira-export

Following command
jira-export -u [bitbucket username] -p [personal token] --url [url of the project] --config config.json --force
producing uncaught 401 Unauthorized error after passing initial connection step. Apparently it fails at
https://github.com/solidify/jira-azuredevops-migrator/blob/80bb539fa33a433d1f6a425d5ce2151306982701/src/WorkItemMigrator/JiraExport/JiraProvider.cs#L36
since here is what I got in debug log:
Jira Exporter v1.0.10
Copyright (c) Solidify
Connecting to Jira...
Connected to Jira.
Gathering project info...
Unexpected error: System.AggregateException: One or more errors occurred. ---> System.Security.Authentication.AuthenticationException: Response Content: <html>

<head>
    <title>Unauthorized (401)</title>

--- html source of the error page ---

</html>
   at Atlassian.Jira.Remote.JiraRestClient.GetValidJsonFromResponse(IRestRequest request, IRestResponse response)
   at Atlassian.Jira.Remote.JiraRestClient.<ExecuteRequestAsync>d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Atlassian.Jira.Remote.JiraRestClient.<ExecuteRequestAsync>d__9`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Atlassian.Jira.Remote.IssueFieldService.<GetCustomFieldsAsync>d__2.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at JiraExport.JiraProvider.Initialize(JiraSettings settings)
   at JiraExport.JiraCommandLine.ExecuteMigration(CommandOption user, CommandOption password, CommandOption url, CommandOption configFile, Boolean forceFresh)

Just to be clear - I don't have admin rights for the Jira project, just normal project member access level

Thanks for reporting, we'll have a look. What version of Jira are you on? Also it would be helpful if you could share the format of the url you are using.

It;'s Jira cloud (latest version, I presume: Jira c7720088 in Help -> ABout Jira menu).
I tried URL in the format of https://[org_name].atlassian.net and https://[org_name].atlassian.net/projects/[project_name] - both end up with the same error

I've tried to repo but it works with a normal user in my account. Is it possible for you to test with a different account or give a bit more context on your permission setup?

I assigned account to the project admin role and also listed it as project lead in Jira cloud

but result is exactly the same. I'm also attaching log for your reference
log.6753f8b4-aa6e-4c68-ac5a-5d6a88ca6bbe.txt

@MOlausson , I cannot validate this issue anymore since I lost access to Jira Cloud and Jira Server is not affected. I think this issue can be closed as non-reproducible.

Hi,
i have the same issue:
error.txt
I tried with 3 accounts and tried URL in the format of https://[org_name].atlassian.net and https://[org_name].atlassian.net/projects/[project_name] - both end up with the same error
We use Jira CLOUD.
Thank you .

Just have the same problem. Solved by creating an API Token in my account settings. Then paste this token in the -p argument of the jira-export command

@JulienDecottignies thanks for the suggestion. I'll have to check what makes username/password work on most accounts but not all. @vesselinmilanov happy to take a call and try to figure it out together since I can't repro. But using a token should get you unblocked.

Yes - after many tries i discover this workaround with API Token.
Thank you .

Ok, so good for now @vesselinmilanov ?

I found using the API token was necessary as well - regular password didn't work. Got the token from here: https://id.atlassian.com/manage/api-tokens.

Ok, sorry to hear but good you got it resolved @ndbadmin. Did you try using your Jira username as well? The api auth seems to behave differently when using username, email or tokens.
Here's an example (exported from the Users admin in Jira);
username,full_name,email,active,created,Last   active in Confluence,Last active in Stride,Last active in Jira,Last active in   Opsgenie,Last active in Statuspage
--
admin,Mathias   Olausson,mathias.olausson@solidify.se,Yes,5 Feb 2018,Never logged in,Never   logged in,2 May 2019,Never logged in,Never logged in

Thank you for this thread!  I've been searching for this question and the token did the trick!


ERROR malloc(): invalid next->prev_inuse (unsorted)

I'm sorry that I have encountered some problems in use, could you please help me?
When I train the CUB dataset in ubuntu using the following command:

CUDA_VISIBLE_DEVICES=2
python3 train_cub.py bs_val=8 max_epochs=10 optimizer.args.lr=0.0001 dataset_root=/root/workspace/dataset_dir/CUB_200_2011 num_workers=2

I get the following error:

The same problem will occur when I validate：

In fact, this error occurred once during training, but I changed the num_workers to a smaller size and it did not appear.

I now suspect that my memory is still too small? But I think I set it small enough. . So I would like you to help me to see what is the problem? Thank you so much!!!
In addition, I would like to ask, I want to use the CUB data set to train my own model, is there any wrong with this training? Is there any step missing? Please correct me, thank you thank you

Hi, @lianglilong-gloritytech and thank you for using OML!
I guess that the error is not OML-specific. Did you train other models in the DDP regime before using PyTorch Lightning or other frameworks?

In fact, this error occurred once during training, but I changed the num_workers to a smaller size and it did not appear.

How many workers did you have in your smaller setup -- two? I'm asking because there is a big difference between 0 and 1,2,3...
PS. Are you sure you need DDP for CUB dataset? It's tiny

In addition, I would like to ask, I want to use the CUB data set to train my own model, is there any wrong with this training? Is there any step missing? Please correct me, thank you thank you

Except for the technical memory problem, I think everything is fine with your pipeline because you obtained cmc@1 = 83.87. If you check the Zoo table in the readme you may see that it's close to what we obtained (86.6). So, from the OML point of view, you are good to train your custom model.

@DaloroAT did you see a problem like that before?

In fact, this error occurred once during training, but I changed the num_workers to a smaller size a

Sorry for accidentally closing the question. . Now I reopen it. .

I guess that the error is not OML-specific. Did you train other models in the DDP regime before using PyTorch Lightning or other frameworks?

Forehead. Yes, I ran the deepglint/unicom model with DDP before in the same container. But I gave up when I encountered some problems that I couldn't solve.

How many workers did you have in your smaller setup -- two? I'm asking because there is a big difference between 0 and 1,2,3...

In fact, changing num_workers to 2 is just a tentative change after reading here. Because the original yaml file is 20, I am worried that the memory is not enough
https://github.com/OML-Team/open-metric-learning/issues/364
As a novice, I would like to ask for advice. What is the difference between 0 and 1,2,3.., and how to set num_workers more reasonably?

PS. Are you sure you need DDP for CUB dataset? It's tiny

Of course not, in fact, I just need to use the CUB dataset to train my own metric learning model. In fact, there is really no need to use DDP
Thanks

Hey @lianglilong-gloritytech
Could you try to place torch.backends.mkldnn.enabled = False at the beginning of your training script?

Does it appear only when using DDP? Or happens always?

In general, you can set num workers as the number of your CPU cores (with hyperthreading) minus 1 or two.
But it's better to try several values and compare the time needed to process one batch.

You can also try --shm-size when running your image.
But yes, from what you said, it sound's like a non-OML issue.

@AlekseySh @DaloroAT
Thanks Reply. I think I found the possible reason: logger uses Neptune.
I changed the logger to the following code:
logger:
  name: tensorboard
    args:
      save_dir: "."
no more errors occur
I think it might be a code error inside Neptune
Thanks for the help. I will try to train the model first, if there is any problem, I will ask for your help.

Unexpected source for such error 😁

@lianglilong-gloritytech how did you understand that the problem may be in Neptune?

@lianglilong-gloritytech how did you understand that the problem may be in Neptune?

It can only be said that the error may have occurred inside Neptune.
The reason I think so is because I don't have this problem after replacing the logger.
It may be the wrong way to use it, because I didn't set NEPTUNE_API_TOKEN, and I used the default train_cub.yaml directly

@lianglilong-gloritytech hmmm, interesting
Thanks to you I've create a PR to produce better error message when token is not specified: https://github.com/OML-Team/open-metric-learning/pull/431


Interest in supporting Flatpak or COPR

Is there any interest in supporting Flatpak. I have moved to Fedora and I don't see any packages readily available for it.  I would be happy to create it if it was something desired.

For sure. It will be interesting when Trimage 1.0.6 will be available in a few days with Python3, Qt5 and some fixes.

Yes please! I'm about ready with the debian folder, so if you could give it a go that would be great.

Cool, I will get a PR started. This will be a first for me, but I enjoy the project and I would like it to be available for more people.

Would love to see this!

@phillipsj any news about the flatpak package?

Yeah sorry, life has gotten in the way.  So I have the basics in place, the
one issue I have is trying to get the advpng dependency to build. I haven't
had much experience with building C applications to figure out what it
keeps failing. I will get back on this and try to find some help.
https://github.com/phillipsj/Trimage/blob/feature/flatpak/org.trimage.Trimage.json
On Wed, Aug 21, 2019 at 12:27 PM Hugo Posnic<EMAIL_ADDRESS>wrote:

@phillipsj https://github.com/phillipsj any news about the flatpak
package?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Kilian/Trimage/issues/58?email_source=notifications&email_token=AAL63BP2LH2G5V7KYBMDGQ3QFVUILA5CNFSM4G5GDRXKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD42IXII#issuecomment-523537313,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAL63BKRB7P62H7GWLDW2ZDQFVUILANCNFSM4G5GDRXA
.

Good news, I have made it past all of the depedencies, now I just need to work through the actual trimage build and install.

@phillipsj that's good news ;)

Awesome!
On Thu, Oct 3, 2019 at 10:54 AM Hugo Posnic<EMAIL_ADDRESS>wrote:

@phillipsj https://github.com/phillipsj I think that I've a simpler
implementation here #63 https://github.com/Kilian/Trimage/pull/63.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Kilian/Trimage/issues/58?email_source=notifications&email_token=AAL63BJLKF74NHHISV5KJ2DQMYBTRA5CNFSM4G5GDRXKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAIPF7Q#issuecomment-537981694,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAL63BIPUFODXSCUSKCZA3LQMYBTRANCNFSM4G5GDRXA
.

+1 for flatpak


Database Error _ evenunto.net

8. {evenunto.net}
Gives me a db error

Error establishing a database connection

Getting a 500 as well.

Getting a 500 as well.

Removed from webring after being down for 2 weeks.

Removed from webring after being down for 2 weeks.


Fix - Faster mixtral 8x22b conversion

LGTM, but I'm not very familiar with these tests. @RissyRan @A9isha could you also take a look?

TY, @RissyRan and I are discussing this fix right now


incron: init at 0.5.12

Motivation for this change
The incron package is available on many other distributions but lacking in NixOS.
Things done

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

[x] 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 nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Thorough application testing within a fresh nixos container.
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

Great review, thanks.


Option to allow extending a file available at an HTTPS URL

The current extend configuration is great for large monorepos where we want to extend configuration from a higher level, but for teams that have multiple separate repos, but still want a unified base configuration, it would be useful to allow extend to extend a remote file (with that file being cached for offline use).
For example:
[tool.ruff]
extend = "https://raw.githubusercontent.com/canonical/starbase/v1/pyproject.toml"

This is similar to Mend Renovate's extends but without the complexity of converting repository descriptions to URLs.

Thanks for opening this feature request. I'll merge it with https://github.com/astral-sh/ruff/issues/12352.

Thanks! I missed that when searching for dupes.


onSave moves the cursour to the start of editor

I'm using it on firefox dev edition. when onSave function is called
this.editor.onSave = function (contents, core) {
  console.log('Contents.onSave: ', contents)
   that.currentArticleObj.article.content = contents;
   that.saveArticle();
}

I want the cursor  to remain where it was before onSave is called.

this.editor.onSave = function (contents, core) {
  console.log('Contents.onSave: ', contents)
   that.currentArticleObj.article.content = contents;
   that.saveArticle();
  core.focus();
}


Provide complete samples, not code snippets?

Provide complete samples, not code snippets

Please provide more details, this is not a question.

What do you mean by complete sample not snippet, what is the difference between them?

If you're talking about the snippets in the documentation, you can find the full examples in the docs_src in this repository.

Thanks for the help here @Mause, @ycd, @Kludex!
@zhiming429438709 as the question is not complete or clear, I'm gonna close it. But if you still have questions, please create a new issue following the template.

Sorry for the long delay! 🙈  I wanted to personally address each issue and they piled up through time, but now I'm checking each one in order.


Rendering custom button next & prev onClick not working

Describe the bug
When rendering a custom button, clicking the button does nothing. I'm assuming it's because an onClick isn't being passed through, but the buttonNext/buttonPrev doesn't expose anything to pass through. I have also just tried setting the onClick to set the index to the next image, but the images don't slide automatically when changing it manually.
Expected behavior
Slide should switch when using custom prev/next buttons.
How to reproduce
Create a light box with custom prev/next buttons.
Screenshots / Logs
No response
Additional context
No response

When rendering a custom button, clicking the button does nothing. I'm assuming it's because an onClick isn't being passed through, but the buttonNext/buttonPrev doesn't expose anything to pass through.

You are correct, and this is the intended implementation. There are two separate render functions to render custom icons - iconPrev and iconNext, which I'm assuming folks would want to use in most cases as rendering custom icons preserves the original behavior. However, if you opt to render your custom navigation controls via buttonPrev / buttonNext render functions, you are in charge of implementing the whole user experience. If you really intend to go down this route, you can replicate the implementation of the original navigation buttons.

I have also just tried setting the onClick to set the index to the next image, but the images don't slide automatically when changing it manually.

This is also the intended implementation in the current version of the library. The documentation is crystal clear about this.


Named map widgets fixes

This fixes #6681 and #6691.

@gfiorav , CR this, please.
FYI, @rochoa , @javisantana , I've had to make a couple of transformations, please take a look at named_map.rb changes (aggregationColumn/aggregation_column and widget type).
cc @viddo , @xavijam
PS: @xavijam this is currently deployed in ded02. Could you confirm that you can't reproduce #6691 any more? I managed to break named with some interactions, but this PR should fix them as well.

Kooks good to me :+1:

oops!

After testing it it looks good :+1:.

@gfiorav CR this again, please. I had to add a refactor to make widget information loading testable again.

:+1:


[BUG] No partial proof found after days of farming with 1700 Plots

Describe the bug
Can't find any proof with Flax, but proofs are regulary found with Chia
2021-06-28T07:04:06.676 harvester flax.harvester.harvester: INFO     3 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.09504 s. Total 1697 plots
2021-06-28T07:04:14.942 harvester flax.harvester.harvester: INFO     5 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.13617 s. Total 1697 plots
2021-06-28T07:04:26.024 harvester flax.harvester.harvester: INFO     4 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.24146 s. Total 1697 plots
2021-06-28T07:04:35.658 harvester flax.harvester.harvester: INFO     5 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.24879 s. Total 1697 plots
2021-06-28T07:04:42.618 harvester flax.harvester.harvester: INFO     6 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.15342 s. Total 1697 plots
2021-06-28T07:04:53.474 harvester flax.harvester.harvester: INFO     3 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.23730 s. Total 1697 plots
2021-06-28T07:05:03.443 harvester flax.harvester.harvester: INFO     1 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.06714 s. Total 1697 plots
2021-06-28T07:05:10.675 harvester flax.harvester.harvester: INFO     4 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.28928 s. Total 1697 plots
2021-06-28T07:05:18.209 harvester flax.harvester.harvester: INFO     2 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.13724 s. Total 1697 plots
2021-06-28T07:05:26.173 harvester flax.harvester.harvester: INFO     0 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.04563 s. Total 1697 plots
2021-06-28T07:05:34.743 harvester flax.harvester.harvester: INFO     5 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.40435 s. Total 1697 plots
2021-06-28T07:05:44.719 harvester flax.harvester.harvester: INFO     3 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.13622 s. Total 1697 plots
2021-06-28T07:05:56.138 harvester flax.harvester.harvester: INFO     2 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.17863 s. Total 1697 plots
2021-06-28T07:06:06.861 harvester flax.harvester.harvester: INFO     5 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.25012 s. Total 1697 plots
2021-06-28T07:06:14.190 harvester flax.harvester.harvester: INFO     0 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.04562 s. Total 1697 plots
2021-06-28T07:06:25.407 harvester flax.harvester.harvester: INFO     2 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.07887 s. Total 1697 plots
2021-06-28T07:06:44.959 harvester flax.harvester.harvester: INFO     5 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 1.36332 s. Total 1698 plots
2021-06-28T07:06:51.961 harvester flax.harvester.harvester: INFO     4 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.43648 s. Total 1698 plots
2021-06-28T07:06:59.201 harvester flax.harvester.harvester: INFO     6 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.18729 s. Total 1698 plots
2021-06-28T07:07:08.149 harvester flax.harvester.harvester: INFO     2 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.11141 s. Total 1698 plots
2021-06-28T07:07:20.087 harvester flax.harvester.harvester: INFO     3 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.16570 s. Total 1698 plots
2021-06-28T07:07:29.876 harvester flax.harvester.harvester: INFO     4 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.20198 s. Total 1698 plots
2021-06-28T07:07:37.024 harvester flax.harvester.harvester: INFO     2 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.14942 s. Total 1698 plots
2021-06-28T07:07:45.923 harvester flax.harvester.harvester: INFO     2 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.58646 s. Total 1698 plots
2021-06-28T07:07:55.491 harvester flax.harvester.harvester: INFO     5 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.18026 s. Total 1698 plots
2021-06-28T07:08:03.170 harvester flax.harvester.harvester: INFO     3 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.26388 s. Total 1698 plots
2021-06-28T07:08:16.734 harvester flax.harvester.harvester: INFO     3 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.18734 s. Total 1698 plots
2021-06-28T07:08:23.578 harvester flax.harvester.harvester: INFO     3 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.12411 s. Total 1698 plots
2021-06-28T07:08:30.887 harvester flax.harvester.harvester: INFO     5 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.20691 s. Total 1698 plots
2021-06-28T07:08:41.511 harvester flax.harvester.harvester: INFO     3 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.21581 s. Total 1698 plots
2021-06-28T07:08:48.633 harvester flax.harvester.harvester: INFO     1 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.21858 s. Total 1698 plots
2021-06-28T07:08:56.318 harvester flax.harvester.harvester: INFO     6 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.35214 s. Total 1698 plots
2021-06-28T07:09:04.786 harvester flax.harvester.harvester: INFO     2 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.20187 s. Total 1698 plots
2021-06-28T07:09:16.995 harvester flax.harvester.harvester: INFO     2 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.13943 s. Total 1698 plots
2021-06-28T07:09:27.580 harvester flax.harvester.harvester: INFO     1 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.15296 s. Total 1698 plots
2021-06-28T07:09:37.701 harvester flax.harvester.harvester: INFO     2 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.41748 s. Total 1698 plots
2021-06-28T07:09:45.146 harvester flax.harvester.harvester: INFO     0 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.04562 s. Total 1698 plots
2021-06-28T07:09:54.286 harvester flax.harvester.harvester: INFO     6 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.24857 s. Total 1698 plots
2021-06-28T07:10:06.615 harvester flax.harvester.harvester: INFO     7 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.38332 s. Total 1698 plots
2021-06-28T07:10:19.082 harvester flax.harvester.harvester: INFO     3 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.19215 s. Total 1698 plots
2021-06-28T07:10:26.117 harvester flax.harvester.harvester: INFO     4 plots were eligible for farming c3908abc5a... Found 0 proofs. Time: 0.12647 s. Total 1698 plots
2021-06-28T07:10:42.043 harvester flax.harvester.harvester: INFO     3 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.20443 s. Total 1698 plots
2021-06-28T07:10:54.182 harvester flax.harvester.harvester: INFO     5 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.53815 s. Total 1698 plots
2021-06-28T07:11:06.261 harvester flax.harvester.harvester: INFO     4 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.12863 s. Total 1698 plots
2021-06-28T07:11:13.081 harvester flax.harvester.harvester: INFO     5 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.42688 s. Total 1698 plots
2021-06-28T07:11:23.791 harvester flax.harvester.harvester: INFO     4 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.32626 s. Total 1698 plots
2021-06-28T07:11:33.426 harvester flax.harvester.harvester: INFO     3 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.38161 s. Total 1698 plots
2021-06-28T07:11:40.995 harvester flax.harvester.harvester: INFO     1 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.15323 s. Total 1698 plots
2021-06-28T07:11:48.358 harvester flax.harvester.harvester: INFO     1 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.06313 s. Total 1698 plots
2021-06-28T07:11:56.529 harvester flax.harvester.harvester: INFO     2 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.26244 s. Total 1698 plots
2021-06-28T07:12:04.537 harvester flax.harvester.harvester: INFO     4 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.21741 s. Total 1698 plots
2021-06-28T07:12:12.310 harvester flax.harvester.harvester: INFO     6 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.35612 s. Total 1698 plots
2021-06-28T07:12:21.945 harvester flax.harvester.harvester: INFO     4 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.43588 s. Total 1698 plots
2021-06-28T07:12:28.990 harvester flax.harvester.harvester: INFO     3 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.27063 s. Total 1698 plots
2021-06-28T07:12:38.912 harvester flax.harvester.harvester: INFO     5 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.43240 s. Total 1698 plots
2021-06-28T07:12:51.372 harvester flax.harvester.harvester: INFO     4 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.17843 s. Total 1698 plots
2021-06-28T07:13:02.750 harvester flax.harvester.harvester: INFO     4 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.33205 s. Total 1698 plots
2021-06-28T07:13:09.292 harvester flax.harvester.harvester: INFO     4 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.17728 s. Total 1698 plots
2021-06-28T07:13:18.697 harvester flax.harvester.harvester: INFO     1 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.12639 s. Total 1698 plots
2021-06-28T07:13:34.628 harvester flax.harvester.harvester: INFO     0 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.04496 s. Total 1698 plots
2021-06-28T07:13:42.400 harvester flax.harvester.harvester: INFO     1 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.13712 s. Total 1698 plots
2021-06-28T07:13:49.819 harvester flax.harvester.harvester: INFO     2 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.07924 s. Total 1698 plots
2021-06-28T07:13:57.518 harvester flax.harvester.harvester: INFO     2 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.13889 s. Total 1698 plots
2021-06-28T07:14:06.423 harvester flax.harvester.harvester: INFO     3 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.33159 s. Total 1698 plots
2021-06-28T07:14:17.434 harvester flax.harvester.harvester: INFO     3 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.18002 s. Total 1698 plots
2021-06-28T07:14:27.190 harvester flax.harvester.harvester: INFO     2 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.19534 s. Total 1698 plots
2021-06-28T07:14:33.842 harvester flax.harvester.harvester: INFO     4 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.20494 s. Total 1698 plots
2021-06-28T07:14:41.426 harvester flax.harvester.harvester: INFO     4 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.16639 s. Total 1698 plots
2021-06-28T07:14:49.325 harvester flax.harvester.harvester: INFO     2 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.14128 s. Total 1698 plots
2021-06-28T07:15:03.412 harvester flax.harvester.harvester: INFO     4 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.40295 s. Total 1698 plots
2021-06-28T07:15:10.172 harvester flax.harvester.harvester: INFO     4 plots were eligible for farming dc06f2ff1c... Found 0 proofs. Time: 0.27326 s. Total 1698 plots
To Reproduce
Using my Chia Keyphrase and Plots.
Expected behavior
Occasualy find a proof or a partial proof
Desktop (please complete the following information):

OS: Headless Ubuntu 20..

Is this still happening? I suggest looking into install farmr or chiadog/flaxdog (see our Discord) to diagnose this issue. My guess is this is either a setup issue or you got exceptionally unlucky.

I have still the same issue that no partial proofs can be found. But I found plenty flax after switching to solo mining. Can't mine at foxypool as of now.
I'll have a look into chiadog and farmr.


Libify validation

Merge in changes from https://github.com/developmentseed/cql2-rs/pull/4

@gadomski I tried to merge most of the stuff you had in taking into account the changes I had made, I think that I conceptually at least got most of the stuff you had done in there, but there may be some other things that will need another PR. I'll wait for the thumbs up from you to merge this one.

@gadomski The inline testing of the doc examples is crazy slick!

@bitner fysa I'm working on another PR that will change the as_ methods to to_ (among a couple other things).

@gadomski  I'm done working on this for the week, so no worries about any more crossed PRs!


Exception and Error objects should contain original irritants.

Examples:
  RangeError.range(num value, num start, num end)
      : super("value $value not in range $start..$end");
  throw new ArgumentError("Unsupported scheme '${uri.scheme}' in $uri");
The RangeError instance contains none of the original values.  The actual collection might be useful too.
Every error should contain the unformatted primary irritant and the unformatted related values.  This will allow a debugger to show the structure, and make the error signalling sequence robust against errors in creating the string and ambiguity in the printed representation.
There is a lot of inconsistency in the arguments.  Some are the irritants, some are messages, and some are formatted strings.  We should seek to make this more uniform.
    if (skipCount < 0) throw new ArgumentError(skipCount);
    throw new ArgumentError("Invalid type: $value");
    throw new ArgumentError('Malformed URI');

RangeError e now contains e.invalidValue, e.start, e.end.


Update first-mate

first-mate is now more in line with the original TextMate implementation.

[ ] https://github.com/asciidoctor/atom-language-asciidoc/pull/185
[x] https://github.com/nwhetsell/language-csound/pull/3
[ ] https://github.com/paxromana96/language-frege/pull/1
[x] https://github.com/aegypius/language-gentoo/pull/5
[ ] https://github.com/atom-haskell/language-haskell/pull/110
[x] https://github.com/burodepeper/language-markdown/pull/193
[x] https://github.com/tggreene/language-pixie/pull/1
[x] https://github.com/hellerve/language-zepto/pull/1

Status: Blocked on seeing how many community language packages are affected by these changes.

Thanks to @Ingramz who kindly ran specs on all the language packages we identified a list of 8 grammar packages that need updating.

I think we can pull the trigger on this one. We can wait for feedback from the still-open pull requests, but even if there are any bugs, there should be plenty of time to react to that.

For the three remaining open PRs, all have comments that effectively say "changes looks good, and I'll probably merge after checking locally".  I agree that this PR can be merged now.

Thanks for finishing this up @Ingramz, @50Wliu!


Consume part of SUMT?

https://github.com/SketchUp/api-issue-tracker/issues/61

First off, please don't consider SUMT to be equivalent to "I don't like testup-2".  I started by revising some of the tests using testup, and, given my background with testing, I just wanted to click in the console, hit the up arrow, and repeat the tests.  So, rather than figure out all of testup, I just started from scratch,
It may not be trivial, but I'm willing to on work on it (combining the two).  As an aside, I'd appreciate if you checked the temp file issue, and whether the UDP is working for you (and on MacOS if you can).
I might also suggest that someone from Trimble could run SUMT.run r:20 (twenty runs of the test suite), and check whether it completes and what the memory/resource status is at the end of 20 runs...
Finally, as to windows, I assume you have some stand-alone Ruby versions.  Maybe you should start running trunk?  Might as well get familiar with MSYS2, given that's it the future of Windows Ruby.
95% of the work I've done across the whole Ruby eco-system I've done with trunk.  The doc site has always been updated using trunk.  Etc, etc...
Never asked, are you more a windows type or a MacOS type?

Re Ruby & Gems (as long as you mentioned them), I've got a lot of Ruby versions on my drive(s).  From 1.9.3 forward, and hundreds of trunk builds (most are zipped).  Anytime I use one, I add a text file to the base directory with the PATH for the build.  Ruby-loco trunk has been build over 500 times on Appveyor...
Re Gems, since consecutive SU versions often have the same Ruby version, being able to install gems with the '--user-install' option is helpful, since one doesn't need the same gem installed in two places for use with '17 & '18.  I'll get my gem stuff together and start a repo with SU stuff, a good readme or wiki, and explain how to set up SU & RubyGems so --user-install gems can be used.  I'll also explain how to update RubyGems, as updates are often security related.  FYI, RubyGems includes its own certs (*.pem) for its SSL/TLS connections.
Back to merging.  Could we change testup-2 to be more 'load-on-demand'?  I set up SUMT that way, and I think it would appreciated by devs, as testing code/plugins are certainly helpful to have 'installed', but they shouldn't load until they're used...  Haven't given it that much thought, busy with some 'Ruby world' stuff.
One thing that might work, have one namespace for test related things, one namespace for 'GUI', and one namespace for 'Console'.  If that will work, then we/you just need to determine how to merge the test related differences...

Back to merging. Could we change testup-2 to be more 'load-on-demand'?

Can you elaborate a bit on the load-on-demand nature of SUMT?
Btw, I'll be doing some heavy changes to TestUp the next couple of weeks. You probably want to avoid doing big changes right now - otherwise troublesome conflicts will probably occur.

One thing that might work, have one namespace for test related things, one namespace for 'GUI', and one namespace for 'Console'. If that will work, then we/you just need to determine how to merge the test related differences...

Yea, cleaning up the source of TestUp is also on the plate. Expect to see things moving around. TestUp2 was created in 2013 in somewhat of a rush to create a new test runner compatible with Ruby 2.0. Since then more stuff have been thrown at it and it's time to pay back some of the code depth.
Things will be split into smaller items and more separation of responsibility.

Can you elaborate a bit on the load-on-demand nature of SUMT?

I've got both TestUp & SUMT set up as extensions.  Before performing any operations, below is a simple inspection of their namespaces (edited for width).  More items (loaded classes/modules) would also appear in the Minitest namespace.
TestUp.constants.sort
[:AppFiles, :BASE_CONSOLE_CLASS, :Console, :Coverage, :DEBUG, :Debugger, :Editor, :FILENAMESPACE,
:PATH, :PATH_IMAGES, :PATH_JS_SCRIPTS, :PATH_ROOT, :PLUGIN_ID, :PLUGIN_NAME, :PLUGIN_VERSION,
:Perforce, :PreferencesWindow, :Runs, :SKUI, :ScriptDebugger, :Settings, :SystemFiles, :SystemUI,
:TESTUP_CONSOLE, :TaskbarProgress, :TestDiscoverer, :TestUpWindow, :Win32Helper]

SUMT.constants.sort
[:PATH, :PLUGIN_ID, :PLUGIN_NAME, :PLUGIN_VERSION]

Or, from $LOADED_FEATURES:
E:/GitHub/SUMT/lib/sumt.rb

E:/GitHub/testup-2/src/testup.rb
E:/GitHub/testup-2/src/testup/app_files.rb
E:/GitHub/testup-2/src/testup/console.rb
E:/GitHub/testup-2/src/testup/core.rb
E:/GitHub/testup-2/src/testup/coverage.rb
E:/GitHub/testup-2/src/testup/debug.rb
E:/GitHub/testup-2/src/testup/editor.rb
E:/GitHub/testup-2/src/testup/lib/ruby230/x64/TaskbarProgress.so
E:/GitHub/testup-2/src/testup/p4.rb
E:/GitHub/testup-2/src/testup/preferences_window.rb
E:/GitHub/testup-2/src/testup/runs.rb
E:/GitHub/testup-2/src/testup/settings.rb
E:/GitHub/testup-2/src/testup/system_files.rb
E:/GitHub/testup-2/src/testup/taskbar_progress.rb
E:/GitHub/testup-2/src/testup/test_discoverer.rb
E:/GitHub/testup-2/src/testup/test_window.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/base.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/bridge.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/button.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/checkbox.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/container.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/control.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/control_manager.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/core.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/debug.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/embed_skui.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/enum.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/enum_system_color.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/enum_system_font.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/events.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/font.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/groupbox.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/image.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/json.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/label.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/listbox.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/properties.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/radiobutton.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/rect.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/textbox.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/typecheck.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/version.rb
E:/GitHub/testup-2/src/testup/third-party/SKUI/src/SKUI/window.rb
E:/GitHub/testup-2/src/testup/ui.rb
E:/GitHub/testup-2/src/testup/win32.rb

Gotcha.
That's actually something I've been thinking of in general for extensions. Some pattern to load extensions on-demand to keep SU startup times low.

Another thing I'd like to see encouraged (and I'd don't recall what testup-2 does) is not adding to $LOAD_PATH unless done so in a block of code, whether that be a method, block, etc.  Or, any changes to $LOAD_PATH should be temporary.  Disk I/O is bad.

That's a check in rubocop-sketchup that I added: https://github.com/SketchUp/rubocop-sketchup
(All though, not so much for I/O issues, but because it can make extension's conflict if they modify the load path in an attempt to shorten their require statements.)
TestUp makes one modification to $LOAD_PATH, in order to have Minitest pick up TestUp's Minitest-plugin:
https://github.com/SketchUp/testup-2/blob/a407d391ac79aacd9a03bed0af395783f97f775c/src/testup/minitest_setup.rb#L61-L71
I didn't find any other way to make that work.

The following methods/code handles it in SUMT::
https://github.com/MSP-Greg/SUMT/blob/1eb508d04c6c8975d506a5c0787c03ddd698badc/lib/sumt/sumt_runner.rb#L248-L266
https://github.com/MSP-Greg/SUMT/blob/1eb508d04c6c8975d506a5c0787c03ddd698badc/lib/sumt/udp_reporter.rb#L80-L84
https://github.com/MSP-Greg/SUMT/blob/1eb508d04c6c8975d506a5c0787c03ddd698badc/lib/sumt/file_reporter.rb#L158-L162


Don't bounce to main thread to update User's subscriber.

User incorrectly bounced all notifications to the main thread when being used as an ObservedObject in SwiftUI which in turn suppressed sendability warnings. The correct approach is to have the caller which mutates the User bounce to the main thread and perform the operation.

I think User.objectWillChange needs to be UserPublisher(self).receive(on: DispatchQueue.main) as SwiftUI does need it to be on the main thread.

@tgoyne changed to make UserPublisher receive on main thread. PTAL.


After AzureAD outages MSAL cookie becomes corrupt

Core Library
@azure/msal-browser
Core Library Version
2.11.2
Wrapper Library
Not Applicable
Wrapper Library Version
2.11.2
Description
We have noticed in the past that during Microsoft AzureAD outages, the cookie state of our users becomes corrupt necessitating a cookie reset. This is a widespread problem that affects all users who were using our application during the outage.
Our setup uses the msal-browser JS library directly, not the react or angular specific versions.
When this happens, we log 2 different errors in our system.

invalid_grant: AADSTS50078: Presented multi-factor authentication has expired due to policies configured by your administrator, you must refresh your multi-factor authentication to access 'xxx-xxx-xxx-xxx-xxx'. Trace ID: xxx-cd68-xxx-xxx-xxx Correlation ID: xxx-xxx-xxx-xxx-xxx Timestamp: 2021-04-25 12:14:13Z

Unhandled promise rejection: interaction_in_progress: Interaction is currently in progress. Please ensure that this interaction has been completed before calling an interactive API.

Our users end up being locked out because their interaction_in_progress cookie key becomes stuck in the true state even though the redirect failed. I have gone so far as to create a logout button that manually removes this cookie key when we catch an error.

Error Message
invalid_grant: AADSTS50078: Presented multi-factor authentication has expired due to policies configured by your administrator, you must refresh your multi-factor authentication to access 'xxx-xxx-xxx-xxx-xxx'. Trace ID: 6bc6d06a-xxx-xxx-xxx-xxx Correlation ID: xxx-xxx-xxx-xxx-xxx Timestamp: 2021-04-25 12:14:13Z
src.cbec75e9.js in t at line 1594
src.cbec75e9.js in t at line 1594
src.cbec75e9.js in t at line 1594
src.cbec75e9.js in validateTokenResponse at line 1594
src.cbec75e9.js in  at line 1594
src.cbec75e9.js in  at line 1594
src.cbec75e9.js in  at line 1594
src.cbec75e9.js in a at line 1594
Msal Logs
Unhandled promise rejection: interaction_in_progress: Interaction is currently in progress. Please ensure that this interaction has been completed before calling an interactive API.
src.cbec75e9.js in t [as constructor] at line 1594
src.cbec75e9.js in new r at line 1594
src.cbec75e9.js in createInteractionInProgressError at line 1594
src.cbec75e9.js in preflightInteractiveRequest at line 1594
src.cbec75e9.js in  at line 1594
src.cbec75e9.js in  at line 1594
src.cbec75e9.js in next at line 1594
src.cbec75e9.js in  at line 1594
src.cbec75e9.js in n at line 1594
MSAL Configuration
auth: {
    clientId: process.env.AZURE_CLIENT_ID,
    redirectUri: process.env.AZURE_REDIRECT_URI,
    navigateToLoginRequestUrl: false,
    authority: `https://login.microsoftonline.com/${process.env.AZURE_TENANT_ID}`,
  },
  cache: {
    cacheLocation: 'localStorage',
    storeAuthStateInCookie: true,
  },

Relevant Code Snippets
Code snapshot:

function acquireToken (requestObject) {
  const ONE_DAY_SECONDS = 60 * 60 * 24;
  const secureCookie = process.env.SECURE_COOKIE_VALUE ? 'secure;' : '';

  global.PublicClientApplication.acquireTokenSilent(requestObject)
    .then(accessTokenResponse => {
      global.document.cookie = [
        `__myappauth=${accessTokenResponse.accessToken};`,
        `domain=${process.env.DOMAIN_NAME};`,
        `max-age=${ONE_DAY_SECONDS};`,
        `SameSite=lax;${secureCookie};`,
        `path=/`
      ].join('');
    })
    .catch(error => {
      global.PublicClientApplication.loginRedirect();
      global.apm.captureError(error);
    });
}

function getUser(registerUser) {
  const currentAccounts = global.PublicClientApplication.getAllAccounts();

  if (currentAccounts && currentAccounts.length) {
    const userName = currentAccounts[0].username;
    registerUser({ variables: { email: userName } });
    global.PublicClientApplication.setActiveAccount(currentAccounts[0]);
    return currentAccounts[0];
  }
  return null;
}

function requireAuth (history, pagePermissions) {
    const cachedUser = getUser(registerUser);
    if (cachedUser) {
      acquireToken({
        scopes: [process.env.AZURE_API_SCOPE],
        account: cachedUser,
      });
    } else {
      global.PublicClientApplication.handleRedirectPromise()
        .then(resp => {
          if (resp !== null) {
            global.PublicClientApplication.setActiveAccount(resp.account);
          } else {
            getUser();
          }
        })
        .then(result => {
          const newUser = getUser(registerUser);
          if (!result && !newUser) {
            history.replace({
              pathname: '/login',
              state: { nextPathname: history.pathname },
            });
          } else {
            acquireToken({
              scopes: [process.env.AZURE_API_SCOPE],
              account: newUser,
            });
          }
        })
        .catch(error => {
          externalLogger.log(err)
          global.PublicClientApplication.loginRedirect();
        });
    }
  }

// force logout method mentioned above
  function logout() {
    // If two microsoft accounts are logged in, sometimes the interaction status cookie will get stuck true
    Cookies.remove(`msal.${process.env.AZURE_CLIENT_ID}.interaction.status`);
    global.PublicClientApplication.logout();
  }

Reproduction Steps

Use azureAD during a microsoft outage
The affected user will no longer be able to log in, even after service has been restored.
Clear the user's cookie with key msal.xxx.interaction_in_progress will allow the user to log back in again. Though we recommend most users reset their browser from the chrome settings since they are not developers.

Expected Behavior
Client state should not become corrupted during outages.
Identity Provider
Azure AD / MSA
Browsers Affected (Select all that apply)
Chrome, Firefox, Safari
Regression
No response
Source
External (Customer)

@imakeinterfaces Please upgrade to the latest version of MSAL Browse (2.14.1) and see if this is still an issue, as we made fixes in 2.12.1 to properly clear temporary cache values: https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/changelog.md#2121

@jasonnutter I am on 2.14.1 and am having the same issue. If I put a breakpoint in the clearMsalCookies, it is never hit.

@jasonnutter I am on 2.14.1 and am having the same issue. If I put a breakpoint in the clearMsalCookies, it is never hit.

@ascott18 After invoking which API, logout or acquireTokenSilent? Or something else?

@jasonnutter This is on a page that is using loginRedirect. If the user closes the tab without completing the authentication flow, our app is bricked for that user and is no longer able to perform loginRedirect anymore.

@jasonnutter This is on a page that is using loginRedirect. If the user closes the tab without completing the authentication flow, our app is bricked for that user and is no longer able to perform loginRedirect anymore.

@ascott18 I see, this should be handled by handleRedirectPromise: https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/26c54cc4e186ae1164a73a5155f9e853ba173153/lib/msal-browser/src/app/ClientApplication.ts#L202-L208
Can you debug handleRedirectPromise and see what is happening there? I'll also see if I can repro.

@jasonnutter Thanks, adding a call to handleRedirectPromise at the beginning of our auth flow resolved this. This is very unintuitive and makes it very difficult to fall into the "pit of success" when using this library. Why is it designed such that we have to call this function even on pages that are not the target of a redirect? At best, this is a dire violation of the Single Responsibility Principal.

@jasonnutter Thanks, adding a call to handleRedirectPromise at the beginning of our auth flow resolved this. This is very unintuitive and makes it very difficult to fall into the "pit of success" when using this library. Why is it designed such that we have to call this function even on pages that are not the target of a redirect? At best, this is a dire violation of the Single Responsibility Principal.

In MSAL.js v1, the constructor of UserAgentApplication automatically handled both redirect logic processing and cleanup, however, we received feedback that this was too opinionated (and also violated the single responsibility principal). We decided to move this logic to handleRedirectPromise and required applications to invoke it on pages used for redirect URIs (and any other pages that may initiate a redirect). This was done to address that feedback and to account for the fact that in MSAL.js v2, redirect processing is asynchronous, so we could not include redirect processing in the constructor.
Furthermore, handleRedirectPromise must be invoked on pages that initiate redirects because with navigateToLoginRequestURl set to true, we decided that we wanted applications to receive the redirect response on the page that initiated the redirect (as it was previously unintuitive when the redirect uri would get the redirect response, but then immediately get redirect to the redirect start page, which would not get the response returned to it).
For the next version of MSAL.js, we are strongly considering adding a "startup" function that all applications must invoke (on all pages) , which would potentially perform cleanup tasks such as the one we are talking about. We provide APIs like this as part of our goal to abstract away as much of the underlying implementation details and nuances of integrating with AAD, which still providing a composable set of APIs that can be used for as many scenarios and use cases as possible.
Let me know if you have further questions or feedback!


Remove spying in DMs

Why would a discord bot resend messages from DMs to a moderation channel? Is this considered spying or stalking?

https://github.com/DanBot-Hosting/DanBotHostingStats/blob/f57a15e4ce89d1aee7181b0b76c15d916c17a9ac/bot/discord/events/message.js#L30-L37

@danielpmc

Why would a discord bot resend messages from DMs to a moderation channel? Is this considered spying or stalking?

https://github.com/DanBot-Hosting/DanBotHostingStats/blob/f57a15e4ce89d1aee7181b0b76c15d916c17a9ac/bot/discord/events/message.js#L30-L37

It's from DBH V1. People who were banned, etc, could DM the bot and get a response from me or one of the other admins. The channel is still in place today but is no longer used. Only people with admin+ can see it. Its just something that wasn't removed since the original DBH. feel free to make a PR to remove it

This has been completed. Thank you @domin-mnd for pointing this out.


Unable to read html response

Hi,
I am sending one http request and getting response in html format. I can see response in the console. But when i use print response, its displayed as <..stream..>. Could you please help how can I resolve this?

You can still use it. Try this:
* string response = response

please use stack overflow for these kinds of questions


Add config option to vibrate on every full hour

I really got used to the "vibrate every hour" feature that some other watch faces support and now that I fell in love with minimalin I thought I would add it as a config option
Apologies for not creating an issue beforehand but I found myself with some free time last night and implemented it anyways. Hopefully it's useful to other folks as well.

@rezart thanks for this. The code looks pretty good but there's a few changes I would like to make before merging it. Would you have some time to update your PR if I give some comments?

@groyoh updated :) let me know if you have any other pieces of feedback.

@rezart do you (plan to) use this on a daily basis?  Doesn't it bother you?
@AlessioLaiso and I were thinking about disabling the feature when the user sleeps (e.g. using the HealthService). What's your opinion on this?

@groyoh yes I have been using this since last night. That is a good point about the vibrations during quiet times. I actually thought of that right before heading to bed last night and thought it would be annoying, but surprisingly I did not feel any vibrations while sleeping. At first I thought maybe this is something the underlying OS controls directly, where once quiet time is enabled all vibrations are disabled automatically... Could of also very well been that I was just in deep sleep and never noticed.

@groyoh I realized now that you probably mean taking it a step further outside of the user enabled quiet times and have it kick in automatically once the user is detected to be in sleep mode...that sounds really neat! Though I think it might be better to include in a separate PR? Seems like you were thinking of integrating with PebbleHealth for the step count in #69 which might help pave the way for this feature as well.

@rezart looks good to me! :+1:  I'll merge it once you fix the latest comments. Once in master, I'll test the vibrations and see if it requires to check the health service or not.

@rezart yeah that's what I meant. Disabling it automatically as soon as the user is in sleep/deep sleep mode. Would most likely be something like:
HealthActivity a = health_service_peek_current_activities();
if(a & HealthActivityNone){
  vibrate();
}

@groyoh should be ready to merge. Let's think about addressing the sleep functionality in a separate PR after testing it some more.

@rezart I rebased your branch and merged it into master. I'm closing this PR ;) Thanks for the work!


Urllib3 and requests stubs for Python spit out deprecation info

On localhost tests I get:
ERROR valid localhost certificate [accept localhost:54543]
      reason: unexpected output
      output: /Users/mamietti/Library/Python/2.7/lib/python/site-packages/urllib3/connection.py:303: SubjectAltNameWarning: Certificate for localhost has no `subjectAltName`, falling back to check for a `commonName` for now. This feature is being removed by major browsers and deprecated by RFC 2818. (See https://github.com/shazow/urllib3/issues/497 for details.)
                SubjectAltNameWarning
              VERIFY SUCCESS
ERROR invalid localhost certificate [reject localhost:54548]
      reason: unexpected output
      output: /Users/mamietti/Library/Python/2.7/lib/python/site-packages/urllib3/connection.py:303: SubjectAltNameWarning: Certificate for localhost has no `subjectAltName`, falling back to check for a `commonName` for now. This feature is being removed by major browsers and deprecated by RFC 2818. (See https://github.com/shazow/urllib3/issues/497 for details.)
                SubjectAltNameWarning
              VERIFY FAILURE

shazow/urllib3#497 provided some interesting reading about the issue.
RFC2818 says:
* If a subjectAltName extension of type dNSName is present, that MUST
   be used as the identity. Otherwise, the (most specific) Common Name
   field in the Subject field of the certificate MUST be used. Although
   the use of the Common Name is existing practice, it is deprecated and
   Certification Authorities are encouraged to use the dNSName instead.*

Realised #86 would automatically take care of it in a way

It did. Printing out the info is really good for the developers.


Basics.clamp doesn't passthrough NaN

If clamp is given NaN as third argument it should return it unchanged, but instead it returns the given upper limit:
elm repl
> clamp -100 100 (0/0)
100 : Float

I don't understand why this happens. clamp is defined as (source)
clamp : number -> number -> number -> number
clamp low high number =
  if lt number low then
    low
  else if gt number high then
    high
  else
    number

Since both comparisons should be False, number should be returned unchanged, but that doesn't happen.
I can't test gt myself, but its corresponding > does return False as expected:
elm repl
>  (0/0) > 100
False : Bool

Maybe related to #1050

lt and gt uses  _Utils_cmp kernel function that does:
function _Utils_cmp(x, y, ord)
{
	if (typeof x !== 'object')
	{
		return x === y ? /*EQ*/ 0 : x < y ? /*LT*/ -1 : /*GT*/ 1;
	}

Because both x === y and x < y return false for NaN, 1 (GT) is returned.

Basics.clamp is compiled to:
var $elm$core$Basics$clamp = F3(
    function (low, high, number) {
        return (_Utils_cmp(number, low) < 0) ? low : ((_Utils_cmp(number, high) > 0) ? high : number);
    });

and because _Utils_cmp does:
function _Utils_cmp(x, y, ord)
{
    if (typeof x !== 'object')
    {
        return x === y ? /*EQ*/ 0 : x < y ? /*LT*/ -1 : /*GT*/ 1;
    }

with both x === y and x < y returning false with NaN, it will return GT, therefore the clamp higher value will be returned:
> Basics.compare (0/0) 100
GT : Order

(>) (0/0) 100 returns False because it is optimized by the compiler to (0 / 0) > 100 in javascript without using _Utils_cmp.


WIP: listwatch: do not duplicate resource versions

This fixes a known bug https://github.com/coreos/prometheus-operator/issues/3218 as well as an unknown until the 0.39 release where List and Watch were producing a large amount of errors most likely due to a combination of bumping client-go, using multi namespace watcher and removing the CRD management done by operator. This left the option of the multi list watcher to create a wrong set of resourceVersions because of duplicates, most likely due to large amount of resources filling the cache at startup. As all of these things combined is very rare, even hard to reproduce, which is why this was most likely not experienced by a lot of users, hence lack of bug reports.
Note: I really want to move away from using a custom multi namespace watcher very soon so did not spend too much time on refactor. https://github.com/coreos/prometheus-operator/issues/3339
This was tested on both vanilla k8s 1.18.3 and more complex setup of OpenShift monitoring where we make heavy use of this feature.
cc @coreos/team-monitoring
Thanks @mfojtik for the initial fix.
Fixes https://github.com/coreos/prometheus-operator/issues/3218

lgtm

We have one failure:

alertmanager_test.go:287: failed to wait for initialized alertmanager cluster: the server is currently unable to handle the request (get pods alertmanager-test-1): failed to get correct amount of peers, expected 3, got 1, addresses [{01EDNS7FGW81R8TNVCDWT0MPRF <IP_ADDRESS>:9094}]

But I have checked and seems like we have had this failure or similar before a few times. Will restart the build.

@brancz @squat PTAL I have addressed the comment, tested it on vanilla k8s and openshift and it works correctly.

I believe the code here introduces cascading failures again. The way I read the code here is that we might join resource versions in List [1] but we will always err out in Watch whenever that join happened in a previous List.
[1] https://github.com/prometheus-operator/prometheus-operator/blob/0dca0f21ffff72a063db8855b5d515e15ab0dccb/pkg/listwatch/listwatch.go#L164
[2] https://github.com/prometheus-operator/prometheus-operator/blob/0dca0f21ffff72a063db8855b5d515e15ab0dccb/pkg/listwatch/listwatch.go#L176

Also, I am trying to understand the reasoning for the fix. Do we assume here, that we will always get only one resource version from all underlying watchers the rationale being that API server always returns the latest resource version independent of the namespace being watched?


static analysis of memory dumps to find capabilities

It would be useful to run capa against memory snapshots, such as those derived from sandbox executions, to identify capabilities of unpacked software.
There might be some subtlety and/or challenges around restricting the feature extraction to the "interesting" regions of memory, like the target image and dynamically allocated regions, skipping libraries. Also, there are potentially many memory image formats to handle. And, we'd need to find/implement solid code analysis in these memory images which might take some work. Do we re-add SMDA as a backend?
This is potentially related to #1649 in that TTD may provide memory snapshots from specific points within a trace to this feature extractor backend.

SMDA doesn't have a minidump loader. the memory dump loader looks like its loads a flat memory dump at a given start address?
https://github.com/danielplohmann/smda/tree/master/smda/utility
vivisect has a vtype definition for minidump here: https://github.com/vivisect/vivisect/blob/379287a643496f12a734f2b2c9e36a0c6507853c/vstruct/defs/minidump.py#L559
though tbh, i'd sort of like to reduce our dependencies on vivisect if possible.
Fox-IT dissect doesn't have any memory image formats:
https://docs.dissect.tools/en/latest/index.html
but we could use cstruct to build one, perhaps derived from the structures in viv or similar. (note that a bunch of the parsers in dissect are AGPL (!) but fortunately not cstruct or util).

minidump feature extractor
To extract features from a minidump file, we'll first have to identify functions, basic blocks, instructions (and if possible, files via loaded modules). We'll have to pick an analysis engine, like vivisect, lancelot, etc. to load the minidump and find code. Then we can use it to enumerate those items and extract features; this part is pretty well understood and could be re-used from existing extractors.
The harder part is building the loader and code analyzer. From the minidump we can expect (usually? sometimes?) a list of memory regions, their permissions, a list of threads and their program counters, and maybe some metadata about loaded modules. From this, we can reconstruct an address space and do some code discovery using known entrypoints, like thread program counters, return addresses, module entrypoints and exports, etc. This sort of code analysis is non-negligible; ideally we can rely on existing systems. Like, perhaps we can map the regions into a viv/lancelot workspace and then mark a few locations as known code and rely on their control flow reconstruction to work well enough.
I suppose IDA has support for minidumps already, so we could use this to prove out the idea of extracting features from minidumps. Then, as we implement a headless feature extractor with viv/lancelot/etc. then we can compare the results with what IDA gives.
My guess is that this will be reasonable to get a PoC going and challenging to nail down all the edge cases. But, maybe it's good enough for capa?

script for showing the contents of a minidump file, using vivisect vstruct
(but pending bug: https://github.com/vivisect/vivisect/pull/625)
https://gist.github.com/williballenthin/9a4d0097062f020b68a1bb3bc0e0f6c6

I finally finished the development of ttd2mdmp
Thanks to this new utility, we can extract minidump files from a TTD trace by specifying a cursor position or a function to hook in the trace!
I made a list of all the information I collected within the dump, you can check it in the README. Some important feature are still missing like python bindings for a better integration with capa and x86 support.
I'll now focus on mdmp analysis within capa!

You mentioned earlier that we should reduce vivisect dependencies
Should I use another parser than the vivisect one or continue with it?

if viv is the right tool for the job, no problem in using it. if there's another solution that has a modern and healthy code base, all things being equal, consider picking the other one.
for IDA, i meant that IDA can analyze minidumps and find functions, code, strings, etc. I don't think it can produce minidumps.

and, given that we have a feature extractor that relies on IDA for the heavy lifting, I meant to suggest that using the capa-explorer IDA plugin is a quick way to prove the idea.

Alright, got it, thanks for this clear answers!
I'm still trying to figure out how it works by playing a bit with minidumps/vivisect/capa !

Hi @williballenthin I see this issue is still open. Has any work been done on it?

Hi!
I recently restarted to work on this subject, hope it's still relevant for the capa project!
So far

I worked on the minidump format to understand it a bit more, built a tool to extract a TTD trace context at a given point into a minidump file
I analyzed what useful data the minidump file could provide us:

Memory info (base address, size, protection...)
Memory dump of each section
Threads info
Loaded modules

Read the blogpost about the new CAPE feature in capa (great job BTW!)

Feature extraction
For feature extraction, some work has to be done on what is code and what isn't on the memory dump.
Here are some clues that could help:

Exported function for modules
Allocation of EXECUTABLE page

The more complicated part is determining what code we want to analyze.
As you said previously, given a minidump file, we can try to rebuild the current stack trace and mark these memory regions as areas of interest.
What I need to know

Is this issue still relevant?

List of things that we need to integrate memory dump analysis in capa:

Feature extractor (can it be handled by another tool? You talked about vivisect, lancelot...)
Loader/Code Analysis, but I must confess I don't see exactly what is it about

It's a bit unclear to me what role capa is playing, and what viv (and the other backends) are doing in the analysis. I often try to read the source but most of the time end up lost :sob:. For now, as far as I understood:

The backend is responsible for extracting features = functions/basic blocs/instructions
capa loads these features and tries to match them to capabilities defined in capa rules

Hence, if it's correct, it would mean I only need to provide a feature extractor from minidump files to add this feature.


Develop r package

The goal of this PR is to create an R package framework for DCA. Allowing for easier testing and documentation using devtoosl, testthat, roxygen, etc. It adds R package skeleton documents to DCA to make it the datacurator package. It also adds schematic and synapse API functions to R with corresponding tests in tests.

@rrchai
To run the schematic REST API unit tests, you'll need to set up the schematic server.
First, install schematicpy according to their instructions.
Clone the schematic repo and cd into it. Then run the schematic API in a terminal with poetry run python run_api.py. You should see the following lines
* Serving Flask app "api" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.

Confirm you can access the API by navigating to http://<IP_ADDRESS>:3001/v1/ui/ in your browser. You should see a UI listing available endpoints.
When the server is running in a terminal, open Rstudio and set the working directory to the data_curator dir. Then run devtools::test()

Closing this pull request because shinyapps.io loads shinyapps from R packages differently than the current format. I need to plan this refactor to an R package more carefully before proceeding.


Emerging [BUG]

Describe the bug
I have trouble emerging iptsd1.2.0 and surface-control-9999
I have a Surface pro 7. I've gotten this all to work perfectly on an arch linux system. I would love to help if I can make this work, or maintain if needed.
To Reproduce
Steps to reproduce the behavior:
❯ sudo emerge -a iptsd surface-control
Expected behavior
A clear and concise description of what you expected to happen.
A complete build. But it stops with erros.
Additional context
Please provide ouput from the gentoo messages that come up when the build fails
❯ sudo emerge -a iptsd

 * IMPORTANT: 1 news items need reading for repository 'gentoo-zh'.
 * IMPORTANT: 16 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 1.36 s (backtrack: 0/20).

[ebuild  N    ~] sys-firmware/iptsd-1.2.0

Would you like to merge these packages? [Yes/No]

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) sys-firmware/iptsd-1.2.0::gentoo-linux-surface-overlay
>>> Unpacking source...
>>> Unpacking iptsd-1.2.0.tar.gz to /var/tmp/portage/sys-firmware/iptsd-1.2.0/work
>>> Source unpacked in /var/tmp/portage/sys-firmware/iptsd-1.2.0/work
>>> Preparing source in /var/tmp/portage/sys-firmware/iptsd-1.2.0/work/iptsd-1.2.0 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/sys-firmware/iptsd-1.2.0/work/iptsd-1.2.0 ...
meson setup --libdir lib64 --localstatedir /var/lib --prefix /usr --sysconfdir /etc --wrap-mode nodownload --build.pkg-config-path /usr/share/pkgconfig --pkg-config-path /usr/share/pkgconfig --native-file /var/tmp/portage/sys-firmware/iptsd-1.2.0/temp/meson.x86_64-pc-linux-gnu.amd64.ini -Db_pch=false -Dwerror=false -Db_lto=false --buildtype plain /var/tmp/portage/sys-firmware/iptsd-1.2.0/work/iptsd-1.2.0 /var/tmp/portage/sys-firmware/iptsd-1.2.0/work/iptsd-1.2.0-build
The Meson build system
Version: 1.3.0
Source dir: /var/tmp/portage/sys-firmware/iptsd-1.2.0/work/iptsd-1.2.0
Build dir: /var/tmp/portage/sys-firmware/iptsd-1.2.0/work/iptsd-1.2.0-build
Build type: native build
Project name: iptsd
Project version: 1.2.0
C compiler for the host machine: x86_64-pc-linux-gnu-gcc (gcc 13.2.1 "x86_64-pc-linux-gnu-gcc (Gentoo 13.2.1_p20230826 p7) 13.2.1 20230826")
C linker for the host machine: x86_64-pc-linux-gnu-gcc ld.bfd 2.41
C++ compiler for the host machine: x86_64-pc-linux-gnu-g++ (gcc 13.2.1 "x86_64-pc-linux-gnu-g++ (Gentoo 13.2.1_p20230826 p7) 13.2.1 20230826")
C++ linker for the host machine: x86_64-pc-linux-gnu-g++ ld.bfd 2.41
Host machine cpu family: x86_64
Host machine cpu: x86_64
Configuring<EMAIL_ADDRESS>using configuration
Configuring 50-iptsd.rules using configuration
Found pkg-config: YES (/usr/bin/x86_64-pc-linux-gnu-pkg-config) 1.8.1
Run-time dependency systemd found: YES 254
Run-time dependency udev found: YES 254
Configuring configure.h using configuration
Compiler for C++ supports arguments -Wlogical-op: YES
Compiler for C++ supports arguments -Wmissing-include-dirs: YES
Compiler for C++ supports arguments -Winit-self: YES
Compiler for C++ supports arguments -Wimplicit-fallthrough: YES
Compiler for C++ supports arguments -D_GLIBCXX_ASSERTIONS: YES
Compiler for C++ supports arguments -DSPDLOG_FMT_EXTERNAL: YES
Run-time dependency cli11 found: YES 2.3.2
Run-time dependency eigen3 found: YES 3.4.0
Run-time dependency fmt found: YES 9.1.0
Found CMake: /usr/bin/cmake (3.27.9)
Run-time dependency inireader found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency INIReader

src/meson.build:70:7: ERROR: Automatic wrap-based subproject downloading is disabled

A full log can be found at /var/tmp/portage/sys-firmware/iptsd-1.2.0/work/iptsd-1.2.0-build/meson-logs/meson-log.txt
 * ERROR: sys-firmware/iptsd-1.2.0::gentoo-linux-surface-overlay failed (configure phase):
 *   (no error message)
 *
 * Call stack:
 *     ebuild.sh, line  136:  Called src_configure
 *   environment, line 2282:  Called meson_src_configure
 *   environment, line 1714:  Called die
 * The specific snippet of code:
 *       "${mesonargs[@]}" ) || die
 *
 * If you need support, post the output of `emerge --info '=sys-firmware/iptsd-1.2.0::gentoo-linux-surface-overlay'`,
 * the complete build log and the output of `emerge -pqv '=sys-firmware/iptsd-1.2.0::gentoo-linux-surface-overlay'`.
 * The complete build log is located at '/var/tmp/portage/sys-firmware/iptsd-1.2.0/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-firmware/iptsd-1.2.0/temp/environment'.
 * Working directory: '/var/tmp/portage/sys-firmware/iptsd-1.2.0/work/iptsd-1.2.0'
 * S: '/var/tmp/portage/sys-firmware/iptsd-1.2.0/work/iptsd-1.2.0'

>>> Failed to emerge sys-firmware/iptsd-1.2.0, Log file:

>>>  '/var/tmp/portage/sys-firmware/iptsd-1.2.0/temp/build.log'

 * Messages for package sys-firmware/iptsd-1.2.0:

 * ERROR: sys-firmware/iptsd-1.2.0::gentoo-linux-surface-overlay failed (configure phase):
 *   (no error message)
 *
 * Call stack:
 *     ebuild.sh, line  136:  Called src_configure
 *   environment, line 2282:  Called meson_src_configure
 *   environment, line 1714:  Called die
 * The specific snippet of code:
 *       "${mesonargs[@]}" ) || die
 *
 * If you need support, post the output of `emerge --info '=sys-firmware/iptsd-1.2.0::gentoo-linux-surface-overlay'`,
 * the complete build log and the output of `emerge -pqv '=sys-firmware/iptsd-1.2.0::gentoo-linux-surface-overlay'`.
 * The complete build log is located at '/var/tmp/portage/sys-firmware/iptsd-1.2.0/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-firmware/iptsd-1.2.0/temp/environment'.
 * Working directory: '/var/tmp/portage/sys-firmware/iptsd-1.2.0/work/iptsd-1.2.0'
 * S: '/var/tmp/portage/sys-firmware/iptsd-1.2.0/work/iptsd-1.2.0'

~ took 8s
❯

Here is the result of emerging surface-control:
❯ sudo emerge -a surface-control
...

>>> Install sys-apps/surface-control-9999 into /var/tmp/portage/sys-apps/surface-control-9999/image
 * cargo install --path ./ --root /var/tmp/portage/sys-apps/surface-control-9999/image/usr
  Installing surface v0.4.6 (/var/tmp/portage/sys-apps/surface-control-9999/work/surface-control-9999)
error: failed to compile `surface v0.4.6 (/var/tmp/portage/sys-apps/surface-control-9999/work/surface-control-9999)`, intermediate artifacts can be found at `/var/tmp/portage/sys-apps/surface-control-9999/work/surface-control-9999/target`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.

Caused by:
  failed to get `sdtx` as a dependency of package `surface v0.4.6 (/var/tmp/portage/sys-apps/surface-control-9999/work/surface-control-9999)`

Caused by:
  failed to load source for dependency `sdtx`

Caused by:
  Unable to update https://github.com/linux-surface/libsurfacedtx?tag=v0.1.4

Caused by:
  failed to lookup reference in preexisting repository, and can't check for updates in offline mode (--offline)

Caused by:
  failed to find tag `v0.1.4`

Caused by:
  reference 'refs/remotes/origin/tags/v0.1.4' not found; class=Reference (4); code=NotFound (-3)
 * ERROR: sys-apps/surface-control-9999::gentoo-linux-surface-overlay failed (install phase):
 *   cargo install failed
 *
 * Call stack:
 *     ebuild.sh, line  136:  Called src_install
 *   environment, line 2504:  Called cargo_src_install
 *   environment, line 1065:  Called die
 * The specific snippet of code:
 *       "${@}" || die "cargo install failed";
 *
 * If you need support, post the output of `emerge --info '=sys-apps/surface-control-9999::gentoo-linux-surface-overlay'`,
 * the complete build log and the output of `emerge -pqv '=sys-apps/surface-control-9999::gentoo-linux-surface-overlay'`.
 * The complete build log is located at '/var/tmp/portage/sys-apps/surface-control-9999/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-apps/surface-control-9999/temp/environment'.
 * Working directory: '/var/tmp/portage/sys-apps/surface-control-9999/work/surface-control-9999'
 * S: '/var/tmp/portage/sys-apps/surface-control-9999/work/surface-control-9999'

>>> Failed to emerge sys-apps/surface-control-9999, Log file:

>>>  '/var/tmp/portage/sys-apps/surface-control-9999/temp/build.log'

 * Messages for package sys-apps/surface-control-9999:

 * ERROR: sys-apps/surface-control-9999::gentoo-linux-surface-overlay failed (install phase):
 *   cargo install failed
 *
 * Call stack:
 *     ebuild.sh, line  136:  Called src_install
 *   environment, line 2504:  Called cargo_src_install
 *   environment, line 1065:  Called die
 * The specific snippet of code:
 *       "${@}" || die "cargo install failed";
 *
 * If you need support, post the output of `emerge --info '=sys-apps/surface-control-9999::gentoo-linux-surface-overlay'`,
 * the complete build log and the output of `emerge -pqv '=sys-apps/surface-control-9999::gentoo-linux-surface-overlay'`.
 * The complete build log is located at '/var/tmp/portage/sys-apps/surface-control-9999/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-apps/surface-control-9999/temp/environment'.
 * Working directory: '/var/tmp/portage/sys-apps/surface-control-9999/work/surface-control-9999'
 * S: '/var/tmp/portage/sys-apps/surface-control-9999/work/surface-control-9999'

~ took 27s

Please let me know if more information needed, or if I can offer help to maintain or solve issues. I've noticed that some of the build tools, like dev-build/ninja are different in the gentoo-surface-overlay than the one supplied by gentoo. So perhaps things are just outdated? I'd love to help.

You are using gentoo-linux-surface-overlay. This is a different overlay and hasn't been updated in 3 years. However I have updated all the packages and opened a pull request.
If you are looking for the most up to date packages you may add my fork manually in the mean time.
The command would be eselect repository add linux-surface-overlay git https://github.com/jasisonee/linux-surface-overlay.git


Context processors and testing with TravisCI

Context processors support
sql = "select * from user limit 1"
    with (yield self.pool.Connection()) as connection:
        with connection.cursor() as cursor:
            yield cursor.execute(sql)
            datas = cursor.fetchall()
            print (datas)

https://travis-ci.org/mosquito/TorMySQL

Thank you!Why you want to modify the package name?Now some projects have been used tormysql package name,if you want to modify the package name,we have to change all of code.May be it is
difficult.Can you retain the original package name?

Hey. I had to do it because I used this module in my work. You don't answer on my pull request and a had to make the fork.

Sorry,I just hope I can merge it, so that we can do it better.

I Revert the package name See that


performance tuning

This pull request improves the speed of the JWT implementation.
The apache commons-codec base64 is replaced by the jdk base64 implementation and the jackson JSON processing by the boon JSON processing. There are only minimal changes of the code (Map instead of JsonNode,…). JDK1.8 is required!
There is benchmark to compare the performance of base64, JSON and JWT coding and a test to check the compatibility of the new implementation. Gradle was only added to support the separation of the compatibility/benchmark code from the core in src/main/java. maven still works.
Everything under src/jmh, src/legacy and all gradle stuff may be deleted after the pull request is realized and the code changes are checked and validated.
Execute
git clone https://github.com/sibay/java-jwt.git
cd java-jwt/
git checkout perf-tuning
./gradlew compatibilityTest jmh

to start benchmark and compatibility test.
Some results (13'' MacBook Pro late 2011, 8 GB RAM):
Benchmark                                      Mode  Samples        Score        Error  Units
c.a.j.b.Base64Benchmark.roundtripApache       thrpt        5   408846,548 ± 117238,928  ops/s
c.a.j.b.Base64Benchmark.roundtripJdk          thrpt        5  1044641,820 ±  96118,064  ops/s
c.a.j.b.Base64Benchmark.roundtripUrlApache    thrpt        5   474469,542 ±  38925,918  ops/s
c.a.j.b.Base64Benchmark.roundtripUrlJdk       thrpt        5  1089964,163 ± 152541,130  ops/s
c.a.j.b.JsonBenchmark.boonMapToString         thrpt        5  1181898,791 ± 126738,815  ops/s
c.a.j.b.JsonBenchmark.boonStringToMap         thrpt        5   863035,316 ±  83484,058  ops/s
c.a.j.b.JsonBenchmark.jacksonMapToString      thrpt        5  1043453,914 ±  52579,598  ops/s
c.a.j.b.JsonBenchmark.jacksonStringToMap      thrpt        5   479966,758 ±  34300,377  ops/s
c.a.j.b.JwtBenchmark.roundtripNew             thrpt        5    38194,193 ±   2768,742  ops/s
c.a.j.b.JwtBenchmark.roundtripOld             thrpt        5     7499,823 ±  11935,364  ops/s
c.a.j.b.JwtBenchmark.signNew                  thrpt        5    81092,272 ±   1753,141  ops/s
c.a.j.b.JwtBenchmark.signOld                  thrpt        5    21568,942 ±  22657,818  ops/s
c.a.j.b.JwtBenchmark.signerReuseNew           thrpt        5   125545,807 ±  17323,092  ops/s
c.a.j.b.JwtBenchmark.signerReuseOld           thrpt        5    21542,093 ±  20246,830  ops/s
c.a.j.b.JwtBenchmark.verifyNew                thrpt        5    77811,134 ±  49528,543  ops/s
c.a.j.b.JwtBenchmark.verifyOld                thrpt        5    15288,083 ±  17814,746  ops/s

Any reason for closing the pr?

@sibay - we shall not be restricting the library to Java 1.8+ and we are not going to maintain multiple concurrent instances of the library. Really value your input, and it may influence our thinking when we (re-)write the library in a future major release - but this PR will not be merged, and has been open for almost 1 year now. Thank you again for the good quality input.

@arcseldon - thanks for the info. I expected that jdk8 is the stopper.
I have to thank you for the good JWT library.


Added a github action to run mvn verify on each push

Motivation:
Runs mvn verify on each push.
Modification:
Just added a github action that executes mvn verify on Ubuntu 18.04 on each push using JDK 8
Result:
Fixes #.
Because I've only added a yaml file there are no changes to the codebase

@HanSolo yes I wonder why we need this... Can you explain ?

@normanmaurer I gave it a thought. I think it's a good idea because sometimes @netty-bot has lots of pending jobs to run and it takes several hours to get our job done.
GitHub Actions allows us to run parallel tests so we don't have to wait. We can use this to make sure each commit is error-free. And before finally merging, we will run the test with @netty-bot.
WDYT?

As @hyperxpro already mentioned it's faster, offers better integration to github, can handle up to 20 parallel jobs and it doesn't hurt to have the tests running on github on each push. Just my 0.02€

Thanks @HanSolo ... I am in the process of switching the CI to GitHub Actions all together and will incorporate this idea there.

See https://github.com/netty/netty/pull/10879


Deep links need to be lowercase.

Why are we deleting the Platform VM info?

Why are we deleting the Platform VM info?

We're deleting a duplicate and unused file. The actual file which we use is https://github.com/ava-labs/avalanche-docs/blob/master/build/references/platform-transaction-serialization.md

We're deleting a duplicate and unused file. The actual file which we use is https://github.com/ava-labs/avalanche-docs/blob/master/build/references/platform-transaction-serialization.md


Add CONTRIBUTION.md File for Contribution Guidelines

The contributing.md looks is not in a structured manner. Also some sections are missing. I can enhance it in a well structured manner with proper details and some additional sections also that will make the contributors easier to contribute. Please can you assign me this task?
Wanted to do the following changes :-

[ ] Enhance the project structure
[ ] Add project structure section
[ ] Add additional method of contributing through GitHub desktop section
[ ] Add good coding practices section
[ ] Add the help and support section
[ ] Add the pull request section
[ ] Add issue report process section

so please assign this issue to me under gssoc-ext and hacktoberfest

@a-n-u-vanguri create draft PR.

@Vishwajith-Shettigar Thanks! for assigning. Sure I will make a PR.


RegexNotFoundError: Unable to extract Initial JS player signature function name

matej@mitmanek: ~$ youtube-dl --verbose 'https://www.youtube.com/watch?v=kR1KYppGN5I'
[debug] System config: ['--prefer-free-formats']
[debug] User config: []
[debug] Command-line args: ['--verbose', 'https://www.youtube.com/watch?v=kR1KYppGN5I']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2015.01.11
[debug] Python version 2.7.5 - Linux-3.10.0-210.el7.x86_64-x86_64-with-redhat-7.1-Maipo
[debug] exe versions: ffmpeg 2.3.4, ffprobe 2.3.4, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] kR1KYppGN5I: Downloading webpage
[youtube] kR1KYppGN5I: Extracting video information
[youtube] {43} signature length 45.40, html5 player en_US-vfl86Quee
[youtube] kR1KYppGN5I: Downloading js player en_US-vfl86Quee
ERROR: Signature extraction failed: Traceback (most recent call last):
  File "/usr/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 617, in _decrypt_signature
    video_id, player_url, s
  File "/usr/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 531, in _extract_signature_function
    res = self._parse_sig_js(code)
  File "/usr/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 592, in _parse_sig_js
    'Initial JS player signature function name')
  File "/usr/bin/youtube-dl/youtube_dl/extractor/common.py", line 516, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract Initial JS player signature function name; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
 (caused by RegexNotFoundError(u'Unable to extract \x1b[0;34mInitial JS player signature function name\x1b[0m; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 617, in _decrypt_signature
    video_id, player_url, s
  File "/usr/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 531, in _extract_signature_function
    res = self._parse_sig_js(code)
  File "/usr/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 592, in _parse_sig_js
    'Initial JS player signature function name')
  File "/usr/bin/youtube-dl/youtube_dl/extractor/common.py", line 516, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract Initial JS player signature function name; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 600, in extract_info
    ie_result = ie.extract(url)
  File "/usr/bin/youtube-dl/youtube_dl/extractor/common.py", line 260, in extract
    return self._real_extract(url)
  File "/usr/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1035, in _real_extract
    encrypted_sig, video_id, player_url, age_gate)
  File "/usr/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 627, in _decrypt_signature
    'Signature extraction failed: ' + tb, cause=e)
ExtractorError: Signature extraction failed: Traceback (most recent call last):
  File "/usr/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 617, in _decrypt_signature
    video_id, player_url, s
  File "/usr/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 531, in _extract_signature_function
    res = self._parse_sig_js(code)
  File "/usr/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 592, in _parse_sig_js
    'Initial JS player signature function name')
  File "/usr/bin/youtube-dl/youtube_dl/extractor/common.py", line 516, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract Initial JS player signature function name; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
 (caused by RegexNotFoundError(u'Unable to extract \x1b[0;34mInitial JS player signature function name\x1b[0m; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

matej@mitmanek: ~$

This should be fixed in youtube-dl 2<IP_ADDRESS> or newer. See our FAQ if you need help updating.

See our FAQ if you need help updating.

I hope I can manage :) http://koji.fedoraproject.org/koji/buildinfo?buildID=604278

Thanks, 2<IP_ADDRESS> works.


Feature request: Toggle "Enable stealth mode"

New action in the Sharing actions category to toggle the checkbox for "Enable stealth mode", without turning off the Firewall.

Currently it is only possible to turn the Firewall on and off.

+1
One of the major reasons I use Control Plane is to automatically reduce what I expose on the network when away from my home/office networks. I generally leave the firewall on all the time, but it would be great to have an easy way to enable/disable the "stealth mode" and "block all incoming connections" options.

+1, this is the feature I'd love to have for exactly the same reason


BreadcrumbItem component places href attribute on li element instead of a

Describe the bug
The BreadcrumItem component places its href prop as an href attribute on the li element instead of the a element. Because of this, the links do not work.
To Reproduce
For example, the following:
<BreadcrumbItem href="/">Home</BreadcrumItem>

Is rendered as:

    Home

Expected behavior
The href attribute is expected to be on the anchor element, not the list item.
Additional context
Using yesvelte 0.0.2-next.93

thanks @nkrisc for the report. we fixed it in<EMAIL_ADDRESS>here is the working REPL https://svelte.dev/repl/9dbdd72d4a2043aba11cf73ff1675f0d?version=3.55.1

Updated to 0.0.2-next.99 and it works just as expected.