Problem when connecting to database.

Hi,
I'm developing aws lambda function which connects to aws rds aurora (MySql engine) using entity framework. I'm getting exception on every connection when my code is trying to connect to database. When i'm connecting from my own PC everything works like it should.
I have the same nuget package versions as i have in other projects so it should not be a case.
Do you have any idea what is wrong or what to check?
Stacktrace:
System.EntryPointNotFoundException: Unable to find an entry point named 'CryptoNative_X509StoreCtxInit2' in DLL 'System.Security.Cryptography.Native'.
  at Interop.Crypto.X509StoreCtxInit(SafeX509StoreCtxHandle ctx, SafeX509StoreHandle store, SafeX509Handle x509, SafeX509StackHandle extraCerts)
  at Internal.Cryptography.Pal.OpenSslX509ChainProcessor.BuildChain(X509Certificate2 leaf, HashSet`1 candidates, HashSet`1 systemTrusted, OidCollection applicationPolicy, OidCollection certificatePolicy, X509RevocationMode revocationMode, X509RevocationFlag revocationFlag, DateTime verificationTime, TimeSpan& remainingDownloadTime)
  at Internal.Cryptography.Pal.ChainPal.BuildChain(Boolean useMachineContext, ICertificatePal cert, X509Certificate2Collection extraStore, OidCollection applicationPolicy, OidCollection certificatePolicy, X509RevocationMode revocationMode, X509RevocationFlag revocationFlag, DateTime verificationTime, TimeSpan timeout)
  at System.Security.Cryptography.X509Certificates.X509Chain.Build(X509Certificate2 certificate)
  at System.Net.Security.CertificateValidation.BuildChainAndVerifyProperties(X509Chain chain, X509Certificate2 remoteCertificate, Boolean checkCertName, String hostName)
  at System.Net.Security.SecureChannel.VerifyRemoteCertificate(RemoteCertValidationCallback remoteCertValidationCallback)
  at System.Net.Security.SslState.CompleteHandshake()
  at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
  at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
  at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
  at System.Net.Security.SslState.ReadFrameCallback(AsyncProtocolRequest asyncRequest)
--- End of stack trace from previous location where exception was thrown ---
  at System.Net.Security.SslState.InternalEndProcessAuthentication(LazyAsyncResult lazyResult)
  at System.Net.Security.SslState.EndProcessAuthentication(IAsyncResult result)
  at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- 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 MySql.Data.Serialization.MySqlSession.<InitSslAsync>d__32.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 MySql.Data.Serialization.MySqlSession.<ConnectAsync>d__22.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 MySql.Data.MySqlClient.ConnectionPool.<GetSessionAsync>d__0.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 MySql.Data.MySqlClient.MySqlConnection.<CreateSessionAsync>d__57.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 MySql.Data.MySqlClient.MySqlConnection.<OpenAsync>d__11.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 MySql.Data.MySqlClient.MySqlConnection.Open()
  at Microsoft.EntityFrameworkCore.Storage.Internal.MySqlRelationalConnection.DoOpen()
  at Microsoft.EntityFrameworkCore.Storage.Internal.MySqlRelationalConnection.BeginTransaction(IsolationLevel isolationLevel)
  at Microsoft.EntityFrameworkCore.Query.Internal.MySqlQueryingEnumerable`1.MySqlEnumerator.MoveNext()
  at Microsoft.EntityFrameworkCore.Query.QueryMethodProvider.<_Include>d__30`1.MoveNext()
  at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source)
  at lambda_method(Closure , QueryContext )
  at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.<>c__DisplayClass20_0`1.<CompileQueryCore>b__0(QueryContext qc)
  at System.Linq.Queryable.SingleOrDefault[TSource](IQueryable`1 source, Expression`1 predicate)

@pawepaw This does not look related to Entity Framework, but rather with the underlying MySQL provider for ADO.NET. It looks like from the stack trace you are using the provider from Oracle, so I would follow up with them. You might also want to look into using an open source provider such as https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql

I'm using pomelo. I'll foward it there. thanks and sorry for bothering.


dublicate class with  androix.lifecycle modules

I added the debendency
this is my settings.gradle
`pluginManagement {
repositories {
gradlePluginPortal()
google()
mavenCentral()
maven {
url "https://cardinalcommerceprod.jfrog.io/artifactory/android"
credentials {
// Be sure to add these non-sensitive credentials in order to retrieve dependencies from
// the private repository.
username username_pa
password password_pa
}
}
}
// This private repository is required to resolve the Cardinal SDK transitive dependency.

}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven {
url "https://cardinalcommerceprod.jfrog.io/artifactory/android"
credentials {
// Be sure to add these non-sensitive credentials in order to retrieve dependencies from
// the private repository.
username username_pa
password password_pa
}
}
}
}
rootProject.name = "testpayment"
include ':app'
`
and this is my  app level  build.gradle
`plugins {
id 'com.android.application'
}
android {
namespace 'com.example.testpayment'
compileSdk 32
defaultConfig {
    applicationId "com.example.testpayment"
    minSdk 23
    targetSdk 32
    versionCode 1
    versionName "1.0"

    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

}
dependencies {
implementation 'com.paypal.checkout:android-sdk:0.8.1'
implementation 'androidx.appcompat:appcompat:1.5.1'
implementation 'com.google.android.material:material:1.6.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'

}`

[Processor] Library 'C:\Users\comupone.gradle\caches\modules-2\files-2.1\com.paypal.android.sdk\data-collector\3.13.0\186fa09d77d6bd0d6fa09caff984f107557771\data-collector-3.13.0.aar' contains references to both AndroidX and old support library. This seems like the library is partially migrated. Jetifier will try to rewrite the library anyway.

Hi @halfaHalfawy,
Thank you for reporting the issue. You can exclude the duplicated dependencies from the gradle and try again. If you still see this issue please let us know :)

thanks @mahmoud-turki
I exclude it and the paypal dependency then not work , after alot of serch I found that the error mainle was from google life-cycle modules , just downgrade the version and then it work


ethereum: disallow http(s) RPC transports

Fixes #776. See https://github.com/hyperledger/caliper/issues/776#issuecomment-624771622 for more info.
Signed-off-by: Ben Burns<EMAIL_ADDRESS>

The CI errors appear to be caused by something to do with the prometheus observer.
Unless there's some code in those tests that uses the ethereum adapter via an HTTP provider, it's impossible that this change could have caused this error. I'll double check for usages of caliper-ethereum in the failing tests just to be sure.

My apologies - I missed the linter errors - should be fixed up now.

There's a connection error showing at the moment - is this a port mismatch? The config files (docker compose) used in the integration test are exposing/mapping a single port (8545) rather than a port range as done in besu, and there has been a change in the network config files to be 8546
(https://github.com/hyperledger/caliper/blob/9b571dd2f48ef745ff929c1cb1daebeaa998dae7/packages/caliper-tests-integration/ethereum_tests/config/docker-compose.yml#L26)

There's a connection error showing at the moment - is this a port mismatch? The config files (docker compose) used in the integration test are exposing/mapping a single port (8545) rather than a port range as done in besu, and there has been a change in the network config files to be 8546
(
https://github.com/hyperledger/caliper/blob/9b571dd2f48ef745ff929c1cb1daebeaa998dae7/packages/caliper-tests-integration/ethereum_tests/config/docker-compose.yml#L26
)

Good catch - I forgot to change the exposed port.


docs for federation-controller-manager should indicate that coredns is a valid option

 Issue by emaildanwilson
Wednesday Jan 11, 2017 at 19:37 GMT
Originally opened as https://github.com/kubernetes/kubernetes/issues/39749

https://kubernetes.io/docs/admin/federation-controller-manager/ should indicate that coredns is a valid option for --dns-provider.
https://github.com/kubernetes/kubernetes/issues/39271#issuecomment-271783981

This issue is already addressed.
/close


[Onboarding] handle Facebook login errors gracefully

Upgrades Facebook iOS SDK to 4.33.0 and allows to us to handle graph request errors

https://circleci.com/gh/artsy/eigen/5221


Cell dependencies?

Since all cells have their own identifiers and metadata, I think it would be interesting to have cell dependencies. For example if cell A is dependent on cell B and we try to run A, then if B is not calculated, it is being calculated automatically prior to A. One could organize whole chain of such dependent cells.
Also there could be two different type of dependencies. "Weak" ones to recalculate dependency only if it is not calculated at all, and "strong" one, which forces dependency recalculation in any case. Strong dependencies could be invaluable to avoid broken state errors.
I don't believe that I've seen such mechanism in any notebook-style applications, but I think that it could add additional layer of flexibility.
By the way. I've just prepared a set of interactive examples for my students using Beaker and I am entirely satisfied with how it works. Great work!

Thank you!  I agree that dependencies would be useful, and we'll probably implement something eventually.


Suggestion: Write env output to aws credentials file

AWS-okta support the env command which prints the export commands that can be used to set AWS environment vars. I think that it would also be useful to have an option that appends the access, secret and token values to ~/.aws/credentials under a given [profile]?
Perhaps something like:
$ aws-okta env --save my-aws

$ cat ~/.aws/credentials
[my-aws]
aws_access_key_id = ...
aws_secret_access_key = ...
aws_session_token = ...

What are your thought about this?

I think a different command to env would be better, maybe export or something.
That said, I feel like this can be accomplished with a pretty simple shell script:
aws-okta exec profile -- sh -c 'printf "[my-aws]
aws_access_key_id = \"$AWS_ACCESS_KEY_ID\"
aws_secret_access_key = \"$AWS_SECRET_ACCESS_KEY\"
aws_session_token = \"$AWS_SESSION_TOKEN\""' >> ~/.aws/credentials

Maybe with a few more thumbs up I'd feel better about it

I feel a more appropriate use of time, especially consider the perceived use case, would be an example of how to use this within another program.

Yeah if we could write it into a credentials file as a profile would be awesome!

@nickatsegment The bash script is a good suggestion. I'm going to make use of it in a form of an alias that takes care of the logic 😄

I feel a more appropriate use of time, especially consider the perceived use case, would be an example of how to use this within another program.

@fpmoles Lots of cli utilities can use AWS_PROFILE in order to determine where to get the AWS credentials. Having the option of storing multiple profiles in the credentials file at the same provides flexibility when working with multiple AWS accounts. Also, having to prefix commands with aws-okta exec profile -- command in order to provide an environment is great but also a bit limiting since you lose that environment once the command exits. Saving credentials allows you to use your shell freely with the ability to access the various AWS_PROFILEs that you have access to!

I feel a more appropriate use of time, especially consider the perceived use case, would be an example of how to use this within another program.

@fpmoles Lots of cli utilities can use AWS_PROFILE in order to determine where to get the AWS credentials. Having the option of storing multiple profiles in the credentials file at the same time provides flexibility when working with multiple AWS accounts. Also, having to prefix commands with aws-okta exec profile -- command in order to provide an environment is great but also a bit limiting since you lose that environment once the command exits. Saving credentials allows you to use your shell freely with the ability to access the various AWS_PROFILEs that you have authorized to!

I don't want users to have access to aws outside of okta, so the profile pattern doesn't work in that use case. When writing ops scripts, especially in languages like go, having a way to integrate easily is critical, hence my comment. Today we end up using bash scripts so we can leverage this wonderful tool, but having the ability to use the guts of this tool easily with scripts written in golang would be amazing, and it really is just digging through the code and figuring it out. That being said, someone who knows the tool could probably shoot that out much faster.

I don't want users to have access to aws outside of okta, so the profile pattern doesn't work in that use case.

Already users can use eval $(aws-okta env profile) and have shell wide access to the AWS credentials. I think that adding an option to export these credentials doesn't circumvent much...

When writing ops scripts, especially in languages like go, having a way to integrate easily is critical, hence my comment. Today we end up using bash scripts so we can leverage this wonderful tool, but having the ability to use the guts of this tool easily with scripts written in golang would be amazing, and it really is just digging through the code and figuring it out. That being said, someone who knows the tool could probably shoot that out much faster.

I don't think that having an export command would prevent any of these use cases.

Yeah as large environment we use multiple accounts. Having aws profile gives us flexibility on running terraform per account simultaneously.

Considering this functionality is totally doable with various scripting approaches, I would probably not include it in aws-okta. I personally don't see the utility in writing temporary creds to a file, but I'm happy that the script will scratch your itch. I'm gonna close this issue, but I have more to say :)

In addition to just writing out the AWS env info to the credentials file, it would really be ideal if the [profile] information is kept up to date on consecutive runs of the command instead of just being piped to the file.

Yep, I see this limitation. Updating the INI with bash and friends reliably would probably be tough, but I bet this would be a python one-liner.

also a bit limiting since you lose that environment once the command exits

As jbialy mentioned, you can use env to add creds to your current shell. I often do aws-okta exec profile -- bash just because I like to be explicit.

Having aws profile gives us flexibility on running terraform per account simultaneously.

Not really clear on how this is different to something like aws-okta exec p1 -- terraform apply && aws-okta exec p2 -- terraform apply. While TF runs are generally not hours (hopefully!), I wonder how you'd handle the temporary nature of the creds if you're reusing them; you can't tell if they're expired until the API calls start failing, whereas if you're using exec, you know that the creds are good for as long as the TTL that you set (modulo https://github.com/segmentio/aws-okta/issues/179).

While TF runs are generally not hours (hopefully!), I wonder how you'd handle the temporary nature of the creds if you're reusing them; you can't tell if they're expired until the API calls start failing, whereas if you're using exec, you know that the creds are good for as long as the TTL that you set (modulo #179).

We have ran into these situations in our environment. This is a good point! Using exec definitely makes dealing with token expiry a non issue 😄
BTW, thanks for creating this utility, it's really awesome!

@jbialy I have written quick gist for this if you would like to try out: https://gist.github.com/bazimov/834d7457c4653bea24458586216c4e75

@jbialy I have written quick wrapper gist for this if you would like to try out: https://gist.github.com/bazimov/834d7457c4653bea24458586216c4e75

Thanks for putting this together. I will give it a try! 👍

Would you consider accepting a PR for this feature? I've unfortunately got a use case that doesn't seem to be handled by any of the work-arounds.
We have some ansible scripts that use multiple AWS profiles (artifacts are stored in a different aws account, so we need to use two accounts simultaneously to deploy). As a result, we can't just call aws-okta exec with different profiles for two different commands: we just have a single command that uses two profiles.
Moreover, the bash script to append to the credentials file doesn't work very well because it only works once. Once your token expires and you append to the file again, the file is invalid because there are two entries for a single profile in the credentials file.


PL/SQL

I have edited the PL/SQL file in the repo.
First of all, PL/SQL uses the .pls file extension and not the .sql file extension.
Second, single quotes are used for strings. Double quotes are used for database identifiers.
Lastly, the name of PL/SQL contains a slash.
For reference, here is a Hello World tutorial for PL/SQL.

I appreciate these changes but this needs to be moved to a different pr because this is the same branch used to add Tkinter.


Feature request : add watermark on images

While we are sharing or adding a confidential image somewhere, one needs to apply a watermark. It will be helpful if the image toolbox has that feature.
One example of similar app is this : easy watermark

I thought about that earlier, so i will try to add this

added


Update to 1.20.6

I'm running this on a server with some friends and updated it to 1.20.6 for personal use and I figured I should offer these changes as a PR while I'm at it. :)

Hiya, so sorry I didn't see this sooner! Massive, massive thank you for doing this for me.


gwas summary data format

Dr Bjarni J. Vilhja ´lmsson:
Thank you for your  contribution to the PRS research.Recently, l read your paper about the LDpred method.I am very curous about its high accurary in HLA-relatived disease prediction.So I downloaded and installed ldpred.py from https://github.com/bvilhjal/ldpred.When I prepared availabled GWAS summary data,I met a big problem.The summary data format is chr>rsid>a1>a2>bp>beta>pvalue, I am not sure how to prepare such summary data that can be accepted by coord_genotypes.py. I know the parameter SSF_FORMAT accept "STANDARD" (the default), "BASIC", "PGC", and "PGC_large”. Furthermore, should I change beta value to odd ratio like BASIC format, but how? I will very happy if you can give me any suggests.
best regards
Li’an Lin

Dear Li'an Lin,
Thanks for your inquiry.  If you want to train a polygenic risk score using GWAS summary statistics with LDpred, it's unfortunately currently a requirement to have the summary statistics in one of the accepted formats.  Regarding the 'beta', I suggest using -log(odds ratio) as the beta.  Don't worry about the magnitude or the scale, as the 'p-value' is used to infer the effect estimate.  The 'beta' is really only used to infer the direction of the effect.
I hope this helps.
Best regards,
Bjarni


Keep .All metapackage at netcoreapp2.0

I changed the tfm to netcoreapp2.1 to avoid all the build warnings and didn't consider the aftermath.

Is this temporary?

Discussed in person. The association of target framework with package version is a little problematic. In the SDK today, is is the package version of $(MicrosoftNETPlatformLibrary) that determines what is generated in runtimeconfig.json. Here are some scenarios I think we need to consider carefully first.
Target framework downgrade
Should this work?
<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.1.0" />
     <!-- SDK adds implicit package reference to Microsoft.NETCore.App 2.0.0 -->
  </ItemGroup>
</Project>

The app expects to run on shared/Microsoft.AspNetCore.All/2.1.0/
Target framework upgrade
Should this work?
<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />
     <!-- SDK adds implicit package reference to Microsoft.NETCore.App 2.1.0 -->
  </ItemGroup>
</Project>

The app expects to run on shared/Microsoft.AspNetCore.All/2.0.0/
cc @DamianEdwards

Note that $(MicrosoftNETPlatformLibrary) is only set by the Microsoft.AspNetCore.All 2.1.0 metapackage. The 2.0.0 version would not set this parameter.

Seems like there are a few combinations we need to consider here:

Microsoft.AspNetCore.All TFM
Microsoft.AspNetCore.All package version
Microsoft.NETCore.App shared framework dependency in runtimeconfig.json
Options

netcoreapp2.0
2.0.0
2.0.0
Future 2.x patch

netcoreapp2.0
2.1.0
2.1.0
Option1

netcoreapp2.1
2.1.0
2.1.0
Option2

According to https://github.com/dotnet/corefx/issues/25766 it seems like the tfm and the package version of Microsoft.NETCore.App must match so if we follow that pattern, we should choose Option2. However that would mean that we violate our rule of not updating a tfm of a package during a minor release.

The decision here is to keep the metapackage's TFM as netcoreapp2.1. The metapackage as a special package that won't adhere to the rule that TFM do not change in minor releases.


why do we need to purge connections ?

Hello,
Why is the connection purged (disconnected/reconnected) during an http request ? Is it a concurrency issue ?
Thanks in advance for your help
francois

Can you add more detail on this issue where and how to produce it.!

Hello
It's just a question in fact. As I'm evaluating this lib, i'm questionning myself on why in the documentation there's the following workflow ::
DOCUMENTATION____
This is how things work during a HTTP request:
......
Then the default database connection is changed to 'tenant' and the connection purged (disconnected/reconnected).
The app.url config is set the tenants domain.
If a match isn't found in either tables a TenantNotResolved event is fired and no config changes happen.

I'm really interested in why the connection is reseted for each http request. This could be somewhat limiting under heavy traffic
So there's probably a good reason. And I'm requesting some help to understand this good reason.
I guess disconnect / reconnect has comes at a certain cost


⚠ Aither has degraded performance

In 9f6d8af, Aither ($AIH) experienced degraded performance:

HTTP code: 200
Response time: 6739 ms

Resolved: Aither performance has improved in 9dac3fd after 16 minutes.


Change link directing to docs

In Sarufi docs, the link to https://docs.sarufi.io/docs/tutorial-extras/integrate-with-telegram/ should be pointing to https://docs.sarufi.io/docs/tutorial-integration/integrate-with-telegram instead

Fixed: The link points to appropriate page


chore: fix import in check_entry_point_execution_error

This change is

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

Project coverage is 75.71%. Comparing base (95f0428) to head (1d37318).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1778   +/-   ##
=======================================
  Coverage   75.71%   75.71%
=======================================
  Files          61       61
  Lines        8675     8675
  Branches     8675     8675
=======================================
  Hits         6568     6568
  Misses       1675     1675
  Partials      432      432

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


⚠ TorrentLeech has degraded performance

In a49e581, TorrentLeech ($TL) experienced degraded performance:

HTTP code: 200
Response time: 4759 ms

Resolved: TorrentLeech performance has improved in ff05ba1 after 6 minutes.


Fixed the import statements on the main.go and config.go

Import statements have been updated to ensure we are not using Google discontinued address.

Thanks @miguelsimoes

Oh, I just noticed you've opened a PR to 2.0. Was this intentional? Do you want to work on the rewrite?


Update upload-pages-artifact to v1.0.9

  - name: Upload GitHub Pages artifact
    uses<EMAIL_ADDRESS>

#39 closes #37


unrecognized token

unrecognized token on Objective-C keywords such as property, #import, etc..

Same issue with Objective C header files

Could you share more details so that we can repro the issue, like the exact error messages you're receiving and the code that originated them?

See attached screenshot

Thank you for the clarification. These errors happen in .h files because the current parser cannot properly differentiate C++ .h files from Objective-C .h files. However, those shouldn't generate compiler errors and you should be able to build your app. As a result, this will be fixed on the long term but is not in our immediate roadmap.

This is now addressed in the FAQ of the wiki.


Fairplay fails with error code 3016

Have you read the FAQ and checked for duplicate open issues?
Yes. Similar issue reported in #4470
What version of Shaka Player are you using?
4.3.5
Can you reproduce the issue with our latest release version?
Yes
Can you reproduce the issue with the latest code from main?
Yes
Are you using the demo app or your own custom app?
Custom App
If custom app, can you reproduce the issue using our demo app?
With demo app fairplay content not available
What browser and OS are you using?
MacOS, Safari browser
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
NA
What are the manifest and license server URIs?
Available in the github repo
What did you do?
We are using fairplay DRM with shaka player. Play is failing randomlt 30%-50% of the times. And for some videos it fails most of the times.
We can reproduce the issue with axinom demo code.
https://github.com/Axinom/drm-quick-start
Download the code and do "npm install" and "npm start". Play the first video.
Wait for 2-3 seconds for play to start and then reload the browser and then play same video again
Play with fail 5-10 times out of 20 times.
Pls check this video which reproduces the issue:
https://learnyst-content-mumbai.s3.ap-south-1.amazonaws.com/fairplayissue/fairplay.mp4
(**Since Fairplay DRM is enabled the video is not captured. When there is white screen it means that video is playing.
When the video fails we can see black video with failed logo. Play failure starts at 40 sec in the video)
When play fails, it fails with error code 3016.
We have tested in 3 different MacBook Pro laptops and all have the same issue.
What did you expect to happen?
Fairplay play should be success 100% of the time
What actually happened?
Play is failing very frequently (30%-40% of the times)

I have the same issue, and just like you, it randomly fails.
But I don't think Shaka Player is the culprit because before using it, I was using the native HTML video player, and had the same problem.
What I noticed is this happens if I launch a video right after having stopped another one.
But if I wait some time, like one minute, the next play is OK.
So my guess is there is some kind of internal resource that's not freed.
I asked a question on StackOverflow some time ago but that didn't cause much enthusiasm (to say the least):
https://stackoverflow.com/questions/74209455/hlsfairplay-stream-resource-freeing-issue

I am also seeing this issue when upgrading to 4.3.5 from version 3. In fact, any version 4 (I've tried most of them) fails when using the same settings we were using in version 3. Namely: com.apple.fps.1_0 and an initDataTransform and useNativeHlsOnSafari=true. Unsure how to proceed... (I've tried with and without the legacy apple polyfill and all combinations of the settings I mention here).

@sinewave440hz
We can't play them on Android devices.
Do you have any suggestions?

According to @sinewave440hz the problem was resolved

Well... I tried @sinewave440hz's solution but did not notice any improvement.


requests 2.11.0 raises when header contains leading space

With the release of requests 2.11.0 we're seeing errors where things were working with requests 2.10.0. The exception that's raised is "Invalid return character or leading space in header".
We can work around the problem and make sure we set headers without leading spaces, just making sure that this was the intention to have things that were working with 2.10 stop working with 2.11.

Thanks for this!
This is deliberate. Headers with leading spaces in them are frequently mis-handled by intermediaries and servers. This can lead to attacks or misbehaviour, where any or all of a server, client, and all involved proxies disagree on what headers are actually present. This is called a smuggling attack, and it's not a good thing.
Given that this misbehaviour exists, and given that it is not really sensible to add extra whitespace to the header field value, Requests has simply decided to forbid it entirely. This was entirely the intention of the change: we're trying to help Requests emit better-formed HTTP data.

ok, thanks for the explanation.

This is deliberate

heh, awesome
https://bugs.launchpad.net/python-swiftclient/+bug/1614280
https://review.openstack.org/#/c/356802/1


PHOENIX-6212: Improve SystemCatalogIT.testSystemTableSplit() to ensure no splitting occurs when splitting is disabled

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
1m 55s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s
The patch appears to include 1 new or modified test files.

_ 4.x Compile Tests _

+1 :green_heart:
mvninstall
13m  2s
4.x passed

+1 :green_heart:
compile
1m 17s
4.x passed

+1 :green_heart:
checkstyle
0m 36s
4.x passed

+1 :green_heart:
javadoc
0m 50s
4.x passed

+0 :ok:
spotbugs
3m 50s
phoenix-core in 4.x has 946 extant spotbugs warnings.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
7m 19s
the patch passed

+1 :green_heart:
compile
1m 12s
the patch passed

+1 :green_heart:
javac
1m 12s
the patch passed

+1 :green_heart:
checkstyle
0m 35s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
javadoc
0m 55s
the patch passed

+1 :green_heart:
spotbugs
3m 58s
the patch passed

_ Other Tests _

-1 :x:
unit
190m 39s
phoenix-core in the patch failed.

+1 :green_heart:
asflicense
0m 30s
The patch does not generate ASF License warnings.

229m  9s

Reason
Tests

Failed junit tests
phoenix.end2end.AlterTableIT

phoenix.end2end.index.MutableIndexReplicationIT

Subsystem
Report/Notes

Docker
ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-962/1/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/phoenix/pull/962

JIRA Issue
PHOENIX-6212

Optional Tests
dupname asflicense javac javadoc unit spotbugs hbaseanti checkstyle compile

uname
Linux 4dac62f879c9 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev/phoenix-personality.sh

git revision
4.x / 21e729f

Default Java
Private Build-1.8.0_242-8u242-b08-0ubuntu3~16.04-b08

unit
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-962/1/artifact/yetus-general-check/output/patch-unit-phoenix-core.txt

Test Results
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-962/1/testReport/

Max. process+thread count
6088 (vs. ulimit of 30000)

modules
C: phoenix-core U: phoenix-core

Console output
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-962/1/console

versions
git=2.7.4 maven=3.3.9 spotbugs=4.1.3

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
5m 58s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s
The patch appears to include 1 new or modified test files.

_ 4.x Compile Tests _

+1 :green_heart:
mvninstall
10m 50s
4.x passed

+1 :green_heart:
compile
0m 55s
4.x passed

+1 :green_heart:
checkstyle
0m 29s
4.x passed

+1 :green_heart:
javadoc
0m 45s
4.x passed

+0 :ok:
spotbugs
2m 54s
phoenix-core in 4.x has 946 extant spotbugs warnings.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
5m 14s
the patch passed

+1 :green_heart:
compile
0m 55s
the patch passed

+1 :green_heart:
javac
0m 55s
the patch passed

+1 :green_heart:
checkstyle
0m 29s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
javadoc
0m 43s
the patch passed

+1 :green_heart:
spotbugs
3m  1s
the patch passed

_ Other Tests _

-1 :x:
unit
137m 39s
phoenix-core in the patch failed.

+1 :green_heart:
asflicense
0m 40s
The patch does not generate ASF License warnings.

173m 19s

Reason
Tests

Failed junit tests
phoenix.end2end.index.MutableIndexSplitReverseScanIT

phoenix.end2end.PhoenixRuntimeIT

phoenix.end2end.index.GlobalMutableNonTxIndexWithLazyPostBatchWriteIT

phoenix.end2end.IndexToolForNonTxGlobalIndexIT

phoenix.end2end.DerivedTableIT

phoenix.end2end.BackwardCompatibilityIT

phoenix.end2end.UnionAllIT

phoenix.end2end.UpsertSelectIT

phoenix.util.IndexScrutinyIT

phoenix.end2end.QueryMoreIT

phoenix.end2end.RowTimestampIT

phoenix.end2end.join.SubqueryIT

Subsystem
Report/Notes

Docker
ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-962/2/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/phoenix/pull/962

JIRA Issue
PHOENIX-6212

Optional Tests
dupname asflicense javac javadoc unit spotbugs hbaseanti checkstyle compile

uname
Linux 63166a61a9e4 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev/phoenix-personality.sh

git revision
4.x / c9c80b2

Default Java
Private Build-1.8.0_242-8u242-b08-0ubuntu3~16.04-b08

unit
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-962/2/artifact/yetus-general-check/output/patch-unit-phoenix-core.txt

Test Results
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-962/2/testReport/

Max. process+thread count
5985 (vs. ulimit of 30000)

modules
C: phoenix-core U: phoenix-core

Console output
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-962/2/console

versions
git=2.7.4 maven=3.3.9 spotbugs=4.1.3

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.


Excessive memory usage during training

The training process is consuming an excessive amount of memory. I estimate that it will use over 1TB during a single epoch, and it has already triggered an Out-Of-Memory (OOM) kill on my machine.
I am wondering if this behavior is normal or expected. I suspect that there might be a memory leak.
Details of the Issue:
While training bash scripts/OV-COCO/distrain_RN50.sh logs/r50_ovcoco, every 200 steps in Epoch [0] (indicated by logs like [200/5131]), the memory usage increases by approximately 4GB, eventually exhausting all available memory. It appears that completing Epoch [0] could potentially require 1TB of memory.
Investigation Findings:
I examined the train_one_epoch() function in engine.py with memory monitoring and discovered the following:

After executing samples = samples.to(device), the program's memory usage increases by 0.04GB.
Later, after outputs = model(samples, categories=used_categories, targets=targets), memory usage increases by an additional 0.01GB (this occurs once every three cycles).
However, deleting all variables at the end of the loop (e.g., del samples) does not appear to free up memory immediately.
Memory is released at the beginning of the next cycle, decreasing by about 0.04GB. It seems that each cycle can result in a net memory increase of 0.01GB.

Questions:

Where is the rest of the memory being used? My analysis of the train_one_epoch() function did not account for such high memory usage. There must be other processes consuming significant memory.
What is the purpose of the del statement? The memory usage did not change when I deleted these lines of code.
Where are the samples initially stored? Are they on the CPU or CUDA?

Please share your memory usage during training and verify if there are any memory leaks.

Hi, @YiZhiTangZong. Thank you for your question and attention to our work.
Firstly, the device we are running is equipped with 8 GPUs and 256GB of RAM. In addition, we also observed memory growth during the training process, but it did not cause OOM on our server, so we overlooked this situation before.
We believe that this should be caused by the participation of open world pseudo annotations in the training process. Please give us some time to re-examine the training process to resolve this issue.
Due to the fact that only I personally maintain this code,the process might not be very fast. I appreciate your understanding and patience.

收到。


Timing: Calico policy controller requires restart after k8s API and etcd restart

Steps to reproduce:

Stop k8s API and etcd
Wait 60 seconds
Start k8s API and etcd
Wait 20 seconds
Create k8s namespace
Create k8s NodePort or LoadBalancer service in the new namespace
curl the new service <-- This may hang because felix has /* WARNING Missing chain */ in iptables.  After restarting the calico policy controller, curl works.

Calico version 2.0.2 is being used with calico/kube-policy-controller:v0.5.2.

Here are the calico policy controller logs:
017-03-16 00:54:51,740 6 ERROR Unahandled exception killed Pod manager
Traceback (most recent call last):
  File "<string>", line 307, in _manage_resource
  File "<string>", line 343, in _watch_resource
  File "site-packages/requests/models.py", line 702, in iter_lines
  File "site-packages/requests/models.py", line 663, in generate
ChunkedEncodingError: ('Connection broken: IncompleteRead(0 bytes read)', IncompleteRead(0 bytes read))
2017-03-16 00:54:51,743 6 WARNING Re-starting watch on resource: Pod
2017-03-16 00:54:51,748 6 ERROR Unahandled exception killed Namespace manager
Traceback (most recent call last):
  File "<string>", line 307, in _manage_resource
  File "<string>", line 343, in _watch_resource
  File "site-packages/requests/models.py", line 702, in iter_lines
  File "site-packages/requests/models.py", line 663, in generate
ChunkedEncodingError: ('Connection broken: IncompleteRead(0 bytes read)', IncompleteRead(0 bytes read))
2017-03-16 00:54:51,750 6 WARNING Re-starting watch on resource: Namespace
2017-03-16 00:54:51,750 6 ERROR Unahandled exception killed NetworkPolicy manager
Traceback (most recent call last):
  File "<string>", line 307, in _manage_resource
  File "<string>", line 343, in _watch_resource
  File "site-packages/requests/models.py", line 702, in iter_lines
  File "site-packages/requests/models.py", line 663, in generate
ChunkedEncodingError: ('Connection broken: IncompleteRead(0 bytes read)', IncompleteRead(0 bytes read))
2017-03-16 00:54:51,750 6 WARNING Re-starting watch on resource: NetworkPolicy
2017-03-16 00:54:52,745 6 INFO Syncing 'Pod' objects
2017-03-16 00:54:52,750 6 INFO Syncing 'NetworkPolicy' objects
2017-03-16 00:54:52,751 6 INFO Syncing 'Namespace' objects

iptables output:
Chain felix-p-_4574d49a2816722-i (1 references)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere             /* WARNING Missing chain */

Chain felix-p-_4574d49a2816722-o (1 references)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere             /* WARNING Missing chain */

Here is the end of the calico-policy-controller DEBUG log after reproducing the problem:
2017-03-16 16:04:13,980 5 INFO Emptied the event queue
2017-03-16 16:04:13,980 5 DEBUG Reading from event queue

The k8s API and etc restarts happened around 16:05.

Assigning to Casey for triage.

Looks like the logs stop before the restart, even at debug level.  Smells like the policy agent isn't spotting that its connection has died in a timely manner.  Couple of ideas:

We may need to force a short read timeout on our poll.
Could be a side-effect of running the kubelet in a container, for example.  When the container is killed, the traffic gets blackholed instead of generating a clean break.

From a code read, looks like

we should be specifying the timeoutSeconds URL parameter when watching resources so that k8s will give us a clean timeout response
we should be specifying a slightly longer read timeout on our session.get() call
we should be treating the clean timeout as business-as-usual and retrying the watch
we should log an error and retry if we hit the other timeout.

The timeout should probably be fairly low (say 10s).
As a PoC, @rtheis tried out this patch for me:
diff --git a/controller.py b/controller.py
index 46cc52c..260e87c 100644
--- a/controller.py
+++ b/controller.py
@@ -439,7 +439,7 @@ class Controller(object):
         if self.auth_token:
             session.headers.update({'Authorization': 'Bearer ' + self.auth_token})
         verify = CA_CERT_PATH if self.ca_crt_exists else False
-        return session.get(path, verify=verify, stream=stream)
+        return session.get(path, verify=verify, stream=stream, timeout=(5, 10))

     def _is_leader(self):
         """

and it seemed to work around the issue (but it also generated spammy error logs due to the new timeout).

The PoC from @fasaxc worked great.  With the PoC, the test passed all 10 times that I ran it.  Without the PoC, the test usually fails more than 50% of the time.

When do you need an officially released fix for this?

We have a temporary workaround in place for this week.  It would be ideal for us to have an official fix released sometime next week.

@rtheis In your reproduction steps you wrote

Stop k8s API and etcd
[...]
Start k8s API and etcd

When etcd was restarted in (3), was it with the same data as it had in (1); or did you also blow away that data between (1) and (3) - or e.g. restart in some new environment with no existing data?
Just asking to make sure that we get our repro testing exactly right...

@neiljerram: The same data was used.

So, from my testing, it appears that when the k8s API server is stopped, there is never any delay or unpredictability in the policy-controller's first detection of that, but there is a lot of variability in the timing out of policy-controller's subsequent attempts to reconnect.

In all 10 iterations, initial detection of the API server having gone away is within 0.5s, and corresponds to logs like
2017-03-17 14:12:12,504 7 ERROR Unhandled exception killed Namespace manager
Traceback (most recent call last):
  File "<string>", line 307, in _manage_resource
  File "<string>", line 343, in _watch_resource
  File "site-packages/requests/models.py", line 702, in iter_lines
  File "site-packages/requests/models.py", line 663, in generate
ChunkedEncodingError: ('Connection broken: IncompleteRead(0 bytes read)', IncompleteRead(0 bytes read))
2017-03-17 14:12:12,504 7 WARNING Re-starting watch on resource: Namespace

Then, in each iteration, the policy-controller tries to reconnect and, each time it fails, logs like this:
2017-03-17 14:14:20,696 7 ERROR Connection error querying: Namespace
Traceback (most recent call last):
  File "<string>", line 304, in _manage_resource
  File "<string>", line 390, in _sync_resources
  File "<string>", line 442, in _api_get
  File "site-packages/requests/sessions.py", line 480, in get
  File "site-packages/requests/sessions.py", line 468, in request
  File "site-packages/requests/sessions.py", line 576, in send
  File "site-packages/requests/adapters.py", line 437, in send
ConnectionError: HTTPSConnectionPool(host='<IP_ADDRESS>', port=6443): Max retries exceeded with url: /api/v1/namespaces (Caused by NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7f9ee7cd9c50>: Failed to establish a new connection: [Errno 110] Operation timed out',))

In iteration 1, I see this connection error after 10s, then after 3s more, and then after every 2s more, until the API server is available again.
In iterations 2 through 7, I see that connection error only once after 64s.  (In other words, a single connection attempt that times out after 64s, instead of multiple connection attempts that time out more quickly.)
In iteration 8, I see a single connection attempt that times out after 127s.  (Although the API server was available again after about 60s.)

There's also a difference in the errnos in the different connection timeouts:

the 10s/3s/2s ones all have [Errno 113] Host is unreachable

the 64s ones all have [Errno 111] Connection refused

the 127s one has [Errno 110] Operation timed out.

@rtheis I've posted what I think is the right fix for this (#77): it's exactly the same as Shaun's PoC that you've already tested, plus reducing the logging level for connection issues from exception to warning (because seeing the traceback every time isn't helpful).
Even though it should be the same as what you've already successfully tested, it would be a nice sanity check if you were able to test the proposed PR.

@neiljerram: The proposed PR was successful in my test.  It would be nice to eliminate the log spam when no changes occur in the cluster.

@rtheis With the PR as just merged, there shouldn't be any remaining (inappropriate) log spam.  Are you still seeing some?

@neiljerram: Here's the log spam that I'm seeing every 10 seconds with a master build.  The k8s API and etcd are available:
2017-03-20 20:06:36,768 5 WARNING Connection error: Namespace ...HTTPSConnectionPool(host='<IP_ADDRESS>', port=443): Read timed out.
2017-03-20 20:06:36,769 5 WARNING Re-starting watch on resource: Namespace
2017-03-20 20:06:36,769 5 WARNING Connection error: NetworkPolicy ...HTTPSConnectionPool(host='<IP_ADDRESS>', port=443): Read timed out.
2017-03-20 20:06:36,770 5 WARNING Re-starting watch on resource: NetworkPolicy
2017-03-20 20:06:36,889 5 WARNING Connection error: Pod ...HTTPSConnectionPool(host='<IP_ADDRESS>', port=443): Read timed out.
2017-03-20 20:06:36,889 5 WARNING Re-starting watch on resource: Pod
2017-03-20 20:06:37,771 5 INFO Syncing 'NetworkPolicy' objects
2017-03-20 20:06:37,773 5 INFO Syncing 'Namespace' objects
...
2017-03-20 20:06:37,817 5 INFO Done getting NetworkPolicy(s) - new resourceVersion: 17657
2017-03-20 20:06:37,817 5 INFO Done getting Namespace(s) - new resourceVersion: 17657
2017-03-20 20:06:37,819 5 INFO Starting watch on: https://<IP_ADDRESS>:443/api/v1/watch/namespaces
...
2017-03-20 20:06:37,821 5 INFO Starting watch on: https://<IP_ADDRESS>:443/apis/extensions/v1beta1/watch/networkpolicies
...
2017-03-20 20:06:37,849 5 INFO Emptied the event queue
2017-03-20 20:06:37,891 5 INFO Syncing 'Pod' objects
...
2017-03-20 20:06:37,922 5 INFO Done getting Pod(s) - new resourceVersion: 17657
2017-03-20 20:06:37,922 5 INFO Starting watch on: https://<IP_ADDRESS>:443/api/v1/watch/pods
...
2017-03-20 20:06:37,933 5 INFO Emptied the event queue

@rtheis I've posted a further PR at #80 that I think addresses the excessive resyncs and logging that you were seeing during normal operation following #77.
I need to get internal review for that here, and would also appreciate your thoughts and test results, if you are able to give this a run.

@neiljerram: This does help with excessive resyncs and logging.  So that part seems good to me.  However, do we now have a timing window such that events during the normal timeout are lost?  Also, I'm wondering if the timeout should be increased?

@rtheis it shouldn't open any windows, since the controller will re-start the watch from the previous resource version, picking up where the previous watch left off.  If the resource version gets out of date, we'll receive a different error which kicks off a resync so we'll be up to date again.

Thanks @rtheis.  No, I don't believe there is any window; the mechanism that avoids that is that the resource version: each time we issue a new read request, we ask for any updates since the last version that we knew about.

Thank you guys.  It sounds like we are good to go now.  I'll run a final test.

:crossed_fingers:

@neiljerram: My test failed.  I see the following exception being repeated in the logs:
Traceback (most recent call last):
  File "<string>", line 311, in _manage_resource
  File "<string>", line 424, in _sync_resources
  File "site-packages/requests/models.py", line 808, in json
  File "site-packages/simplejson/__init__.py", line 516, in loads
  File "site-packages/simplejson/decoder.py", line 374, in decode
  File "site-packages/simplejson/decoder.py", line 404, in raw_decode
JSONDecodeError: Expecting value: line 1 column 1 (char 0)

I saw that when my test was accidentally blowing away the etcd store each time that it restarted the API server.  Then when I fixed that (to allow the etcd data to persist), that problem disappeared.  Is there any chance that that's happening in your test too?

(Of course that may be another scenario that we want to fix - but perhaps a different one from what we've been focussing on for this issue.)

I didn't delete the etcd store.  I've been toggling between v0.5.2 and the master version and only have a problem with the master.

I'm going to rebuild and try again.

@neiljerram: My test environment was corrupted.  After a rebuild, your fix is working well.  My tests were successful.  Thank you.

@rtheis That's good news - many thanks for digging into that further.

I've release v0.5.4 that includes @neiljerram's PRs.
Thanks a lot for the help, @rtheis!

Thank you.

Hi @neiljerram ,
I am using v0.6.0 of kube-policy-controller. I am still getting the error that you faced during testing
Traceback (most recent call last):   File "<string>", line 324, in _manage_resource   File "<string>", line 441, in _sync_resources   File "site-packages/requests/models.py", line 866, in json   File "site-packages/simplejson/__init__.py", line 516, in loads   File "site-packages/simplejson/decoder.py", line 374, in decode   File "site-packages/simplejson/decoder.py", line 404, in raw_decode JSONDecodeError: Expecting value: line 1 column 1 (char 0)
You mentioned about the fix by allowing the etcd data to persist. Could you please explain a bit more about the fix. If I am not wrong etcd persist data on filesystem by-default.I am still new to etcd.
Thanks in advance.


Support XChaCha20Poly

I want to implement hypercore-protocol in Rust. The protocol uses a NOISE handshake of the variant Noise_XX_25519_XChaChaPoly_BLAKE2b. So far, snow only implements ChaChaPoly but not XChaChaPoly.
hypercore-protocol in NodeJs uses crytpo from libsodium. It recently added XChaChaPoly (see here).

Thanks @Frando, taking a look now!

Closed by #73


Made language of tiering data more clear

Feedback from Storage team regarding making tiering language clearer to avoid confusion.

hux @ MSFT

@xyh1 : Thanks for your contribution to the Azure documentation! The author, @kuhussai, has been notified to review your proposed change.

@xyh1 : Thanks for your contribution to the Azure documentation! The author, @kuhussai, has been notified to review your proposed change.


Selecting "Go to my dashboard" button when setting up a new wallet takes you to trade page

Overview
When importing/creating a new wallet, the initial pop up with details of the wallet has a option "Go to my dashboard" on the third screen. However this takes you to the trade page, not the dashboard.
References and additional details

Acceptance Criteria
Should take you to Dashboard
Need By Date
No response
Screenshots/Mockups
No response
Ownership

[X] If my bounty needs engineering or needs product I have added the respective labels on the right
[X] As the sponsor of this bounty I will review the changes in a preview environment (ops/product) or review the PR (engineering)

Estimated effort
No response
Sponsor / Stakeholder
No response
Bounty Hunters

Join our discord
Include an expected timeline for you to complete work in the work plan when you apply for this bounty!
Please refer to this link for some basic info
Please do not start work on this issue until you are approved in Gitcoin.

oh! that's a good callout @MBMaria thank you. We should change the copy to start swapping.


An update server to query for Modeler updates exists

[x] Update server technology is chosen, decision whether to roll our own or use something pre-built is made
[x] Update server is available online on a wellknown, secure (HTTPS) endpoint
[x] Update server logs the following information:

OS version
Modeler version
Installed plug-ins (names)

[x] Update server responds with new version of the app as well as link to download page, if it is available

Child of https://github.com/camunda/camunda-modeler/issues/1541

We decided to not return a new version with the server right now. Instead it is operating in a dry run mode and only logs results.

The server's here: https://github.com/camunda/camunda-modeler-update-server

@nikku from Volker's perspective everything looks fine now. I guess we can start the code review process.

I'll review this one tomorrow.

@pinussilvestrus Reviewed the server, had some feedbacks. I fixed those feedbacks today so closing this issue.


(maint) Match Bolt executor run_script signature

While the Puppet run_script function should later be updated to
include passing arguments, for now we can pass an emtpy arguments
array for the sake of being able to properly call Bolt.
As it stands, without this change, users attempting to use
run_script in plans like the following:
plan sample::script_test(String $nodes) {
run_script(split($nodes, ','), "sample/uploads/test.ps1")
}
Will receive an error like:
Error: Evaluation Error: Error while evaluating a Function Call, wrong number of arguments (given 2, expected 3) at /Users/Iristyle/source/bolt/spec/fixtures/modules/sample/plans/script_test.pp:2:3 on node niihau.delivery.puppetlabs.net

CLA signed by all contributors.

A real fix is in #6347

The real fix has been merged - closing this.


Fix Markdown link in README

The markdown link has a closing bracket instead of a parenthesis.
Checklist

[X] I've read the Contribution Guidelines
[X] My contributions are licensed under the Swift license.
[X] I've followed the coding style of the rest of the project.
[X] I've updated the documentation if necessary.

@swift-ci test

I changed this again in #51 (made the formatting consistent with the other data structures), so I don't know if you want to just wait for that to land or merge this while we work through the review on #51.

Ah, I though I already merged this, sorry for dropping the ball. I think it makes sense to land this as is; I expect we'll land PriorityQueue soon, but there is no reason to delay fixing the README.


installation is breaking up (container rmap-mysql is unhealthy)

[root@my-vps reconmap]# /usr/libexec/docker/cli-plugins/docker-compose up
[+] Running 5/0
✔ Container rmap-mysql       Running                                                                                0.0s
✔ Container rmap-web-client  Running                                                                                0.0s
✔ Container rmap-api         Running                                                                                0.0s
✔ Container rmap-agent       Running                                                                                0.0s
✔ Container rmap-redis       Running                                                                                0.0s
Attaching to keycloak-1, rmap-agent, rmap-api, rmap-mysql, rmap-redis, rmap-web-client
rmap-mysql       | 2024-08-12 20:44:36+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.4.0-1.el9 started.
rmap-agent       | time="2024-08-12T20:44:37Z" level=debug msg="searching for notifications..."
rmap-mysql       | 2024-08-12 20:44:37+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
rmap-mysql       | 2024-08-12 20:44:37+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.4.0-1.el9 started.
rmap-mysql       | '/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock'
rmap-agent       | time="2024-08-12T20:44:41Z" level=debug msg="searching for notifications..."
rmap-mysql exited with code 137
dependency failed to start: container rmap-mysql is unhealthy

Hi @littlAcen ; I was unable to reproduce the issue . Could you let me know more about your setup/environment? Thanks


Add -ability tag to Imposter activation

The other option is to modify transformInto in such a way that it broadcasts -transform messages to use the correct [from] parameter, then add a client change to check for it.
Either way will allow Imposter to be properly tracked by the client.

I was going to say the other option would be better, since otherwise Imposter will be revealed even when it doesn't activate against Illusion and substitutes.

Imposter doesn't activate on Illusion and substitutes? Oh, my bad.


What is the difference between universal-cookie and universal-cookie-express?

It seems like both point to same code-base. Is there something that I'm missing?

It's probably a typo in the links.
https://github.com/reactivestack/cookies/tree/master/packages/universal-cookie-express
https://github.com/reactivestack/cookies/tree/master/packages/universal-cookie

@balciseri it appears so.

Should be fixed. Thanks for pointing this out.


Allow to specify the development shell to use

I'm facing a situation where the development shell for the CI can be minimal while the developer's development shell must have additional tools installed.
I need to select the appropriate shell for the CI job, but the current action doesn't seem to allow me to do so.
Can you add support for that?

Hi @otavio, does the following combination of options work for your use case?

It does not. I want to use a specific devShell to reduce the size of the dependencies that I'm fetching for the CI job to execute. So, I would create a CI development shell specifically for this use, and the developer development shell would inherit this one and extend it with command line tools used during user development.

@otavio You can already do this with existing nix/flake functionality.
For example, you could have a CI "base flake" under /ci/flake.nix where you define the inputs wanted for CI only:
{
  description = "A basic flake with a special devShell package";

  inputs = {
    nixpkgs.url = "nixpkgs/24.05";
    flake-utils.url = "github:numtide/flake-utils";
  };

  outputs = {...} @ inputs:
    inputs.flake-utils.lib.eachDefaultSystem (system: let
      pkgs = import inputs.nixpkgs {inherit system;};
    in {
      devShell = pkgs.mkShell {
        buildInputs = with pkgs; [
          cmatrix
        ];
      };
    });
}

(setting working-directory and flakes-from-devshell to use that slimmed down development shell in CI)
And then for your local development environment, you can import the CI flake and extend its buildInputs:
{
  description = "Main project flake that extends the CI flake's devShell";

  inputs = {
    nixpkgs.url = "nixpkgs/24.05";
    flake-utils.url = "github:numtide/flake-utils";
    ci.url = "path:./ci";
  };

  outputs = {
    nixpkgs,
    flake-utils,
    ci,
    ...
  }:
    flake-utils.lib.eachDefaultSystem (system: let
      pkgs = import nixpkgs {inherit system;};
      ciBuildInputs = ci.devShell.x86_64-linux.buildInputs;
    in {
      devShell = pkgs.mkShell {
        buildInputs = ciBuildInputs ++ [pkgs.hello];
      };
    });
}

This local devShell gives you all the packages from the CI shell (cmatrix) and extends it with whatever you want to have only locally (hello).
Addition: If you plan on maintaining a more complex development shell, I can highly recommend using the excellent https://devenv.sh/

I didn't imagine bringing this split setup, this is indeed very clever. However in my specific use case I'm using a single flake as a source for multiple projects so I can standardize the flake setup as well as dependencies.
In this specific use case, I would need to have a way to specify the development shell used for entering the nix develop.
If I was going to do that by command-line, I would do:
nix develop .#ci

And for normal development, I would just call:
nix develop

Is it possible for you to add support to specify the shell to use?

@otavio v.3.4.0 (latest) now supports a custom-devshell attribute, see README
Here's an example in action.

This seems to be exactly what I was looking for. Thanks for your support.

@workflow I'm returning to this because I found an interesting side effect of this change.
If I use version 3.3, it all works. However, bumping this to version 3.4 breaks the build. I'm having a very hard time figuring out what has changed because I didn't even change the development shell to be used; only the action has been updated in this PR (https://github.com/OSSystems/ZephyrBT/actions/runs/11558586629/job/32171463466).
Could you take a look at that and see if you have any idea what's going on?

Hmm sorry @otavio at first look I have no idea what could be going on here. It seems to be pulling the exact same versions of dependencies like west between both runs, and even all tests are passing as before but then failing with this strange error from West:
415     FATAL ERROR: already initialized in /home/runner/work/ZephyrBT, aborting.
416       Hint: if you do not want a workspace there,
417       remove this directory and re-run this command:
418
419       /home/runner/work/ZephyrBT/.west

Since you likely understand more than me what west is doing under the hood, I would dig in there and activate some debug flags there to try and figure out what's going on.
Also as a side-note since your project is already fully Flake-yfied, you could try the excellent https://devenv.sh/ instead of this action for your CI needs, or look at This Action which seems more built for the modern flake age :)

This is indeed very weird because if you look at the code with the current 3.3 version it works well, however updating the version to the 3.4 it fails.


Refactor magiclink handling

Refactor of magiclink handling in app and DMZ.

@JamesSmartCell please ensure commit messages are more clear and a rebase would have been good.


My First PR commit

PR comments

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: dg-bee
If they are not already assigned, you can assign the PR to them by writing /assign @dg-bee in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

:star: PR built and available in a preview environment dg-bee-bdd-nh-1554108569-pr-1 here


with_output_limit undefined

This seems to have broken on v0.5 since about December 30th.  See this log for details:
ERROR: UndefVarError: with_output_limit not defined
 in dump at show.jl:1032
 in submit_token at /home/ubuntu/.julia/v0.5/Coverage/src/coveralls.jl:123
 in eval at ./boot.jl:265
 [inlined code] from ./sysimg.jl:14
 in process_options at ./client.jl:222
 in _start at ./client.jl:301

I think a deprecation was added back into base to make this a warning, but we haven't had new nightlies since that fix.

I believe this issue is obsolete and can be closed: the offending call to dump at the end of Coveralls.submit_token was replaced in commit e5f0f02196257560c1f5e9dd54e22456bcc9c7e5


Move backend/openshiftcluster/create into steps in install/

Diff: https://github.com/hawkowl/ARO-RP/compare/hawkowl/runsteps...hawkowl:hawkowl/runsteps-install-refactor
Which issue this PR addresses:
Related to https://github.com/Azure/ARO-RP/issues/856
What this PR does / why we need it:
When delete functionality is moved out, it leaves a fair chunk of stuff in backend/openshiftcluster/create.go. A lot of this feels like it ought to be steps in Installer, which can then be unit tested separately.
Once delete/ is moved out, then Manager (which is rather similar to Installer) in backend/openshiftcluster can be deleted as well.
Test plan for issue:
I haven't written tests for this yet, but it makes it easier to.
Is there any documentation that needs to be updated for this PR?
N/A

@jim-minter @asalkeld Diff without the runsteps changes: https://github.com/hawkowl/ARO-RP/compare/hawkowl/runsteps...hawkowl:hawkowl/runsteps-install-refactor
As I was pulling out the delete functionality, it seemed like there was a bunch of code in create.go that felt like they should be in steps instead. If they're moved out, then the delete-in-steps PR can basically remove all of Manager.
However, I was wondering the following things as I was moving delete to using runsteps:

should we have a Deleter, and then should the update functionality not be in Installer, and moved out instead? Then we'd have an Installer, a Deleter, and an Updater? This would mean each that the respective packages would have smaller structs, and be a bit simpler individually

or, should the installer become more like a "lifecycle manager", which grows a Delete() method to go along with the existing AdminUpdate and Install?

I'm not sure, which is why I put this up before the PR moving delete into steps.
WRT this PR, I think that moving more things into steps is good, and I'm happy to go and add some test coverage of this if it's decided it's a good idea.

@jim-minter @asalkeld Diff without the runsteps changes: hawkowl/ARO-RP@hawkowl/runsteps...hawkowl:hawkowl/runsteps-install-refactor
As I was pulling out the delete functionality, it seemed like there was a bunch of code in create.go that felt like they should be in steps instead. If they're moved out, then the delete-in-steps PR can basically remove all of Manager.
However, I was wondering the following things as I was moving delete to using runsteps:
* should we have a Deleter, and then should the update functionality not be in `Installer`, and moved out instead? Then we'd have an Installer, a Deleter, and an Updater? This would mean each that the respective packages would have smaller structs, and be a bit simpler individually

* or, should the installer become more like a "lifecycle manager", which grows a Delete() method to go along with the existing AdminUpdate and Install?

:+1:
Personally, i'd just rename pkg/install to pkg/cluster and create an interface called "Interface"
I like a module as a noun and the functions on the interface as verbs - for obvious reasons.
c := cluster.New(args...)

c.Install/Update/Delete()

Also if you create a Deleter and Updater there is going to be a fair amount of duplication and you are probably
just saving on not initializing some clients.

I'm not sure, which is why I put this up before the PR moving delete into steps. I personally think the former (as the latter feels a bit god-object-y), but the latter might make sense considering that then the creation/updating/deletion of components could be kept together.
Another direction might be making things like how DNS is, and making each component (e.g. network security groups) an object that manages just that (and so then the steps would do something like NSGs.Create/NSGs.Delete or whatever).
WRT this PR, I think that moving more things into steps is good, and I'm happy to go and add some test coverage of this if it's decided it's a good idea.

I had a think about it from @asalkeld 's comment, and put up https://github.com/Azure/ARO-RP/pull/889 as an example for what this might look like, for comment.

@hawkowl I agree completely with your analysis in https://github.com/Azure/ARO-RP/pull/885#issuecomment-658044557.  I'm not sure what the right answer is.
There's a lot of overlap between create and update/upgrade; maybe a little less with delete, but it's also a much smaller/less complex function.  I'm also nervous about the "god-object" thing.
I think that some, but not all, things lend themselves to mini objects (create/delete ACR tokens is a good example) and doing that probably helps, but it's unfortunately not applicable across the board.
The kind of problem that we have here resists neat generalisations and we just have to do the best we can.

I'll put this in a new PR (since it's quite old and conflict-y)


Fixed path distortions in Kubernetes SVG logos

Current logo was optimized too heavily. When saving out of Illustrator, you can increase the default Decimal Places value in Advanced Options. The higher the value, the greater the accuracy. The file size can then be reduced using an optimization tool.

Fixed the elongated bottom right portion of the helm
Fixed helm handle curvatures
Fixed distortions in Kubernetes letterforms
Removed unnecessary shade of blue from nav_logo2

I signed it!

fyi @thockin

This looks great and is much appreciated.


Blog List - An exception thrown when creating a blog list thru the gadget

An exception and error was thrown when creating a Blog List thru the Blog Gadget.
Steps to reproduce:  Create a Blog List and Blog Post Template.
Add the Blog List Widget to the blog list template.
Add the Blog Post Widget to the blog post template.
Add the Blog gadget to the dashboard.
Create a new Blog using the Gadget and the error should appear.

It is happening due to Derby Error when executing following query:-
select percpage2_.CONTENTID as col_0_0_, percpage2_.REVISIONID as col_1_0_, parentfold1_.OWNER_ID as col_2_0_ from CONTENTSTATUS pscomponen0_ left outer join PSX_OBJECTRELATIONSHIP parentfold1_ on pscomponen0_.CONTENTID=parentfold1_.DEPENDENT_ID and parentfold1_.CONFIG_ID = 3 cross join CT_PAGE percpage2_ where pscomponen0_.CONTENTID=percpage2_.CONTENTID and pscomponen0_.CONTENTTYPEID=1001 and percpage2_.REVISIONID=pscomponen0_.CURRENTREVISION and (parentfold1_.OWNER_ID in (10083)) and percpage2_.TEMPLATEID='16777215-101-10082'

[Code: 40000, SQL State: 58009]  Network protocol exception: DSS length not 0 at end of same id chain parse.  The connection has been terminated.
[Code: 0, SQL State: XJ001]  DERBY SQL error: ERRORCODE: 0, SQLSTATE: XJ001, SQLERRMC: java.lang.ArrayIndexOutOfBoundsException21XJ001.U


Issues with v1

Hey,
Thanks for creating this.
Im trying to make this work with Vue version 1
Im getting the following issues:
Invalid v-crop event: null
app.js:18955 [Vue warn]: Invalid expression.
Thanks!


[1247] add update endpoint to user

Context
In readiness for the transition screen (and t&c's) that will require a user to "update" their record.
Changes proposed in this pull request

Add users#update controller action

Guidance to review
Testing "time" is hard so had to remove the json match and check for individual attributes. Then using the be_within matcher is impossible to test when the json output is a string 🤷♂
Open to feedback/suggestions..

 Transition Screen


Improve yamllint ci step

This package is installed by default in GitHub Actions runners actions/virtual-environments#1142
Use github warnings output formatter

It works!


[Feature] Ctrl-D in prompt could exit program

Is your feature request related to a problem? Please describe.
I can exit the program only by typing 'quit'. I would like to be able to exit using a keyboard shortcut.
Describe the solution you'd like
When the user presses Ctrl-D, the program exits. Programs like python do this when the user is in the prompt.

This involves a change done to the line editor in pyjarrett/Trendy_Terminal in Trendy_Terminal.IO.Line_Editors.Get_Line which is a horrible mess that needs to get refactored.  It works for now, but this change probably needs to be integrated into my idea of having remappable keys as part of the line editor for trendy terminal.


Move isUserStaffWithRestricted at the user context level

What does this change?
Makes use of the User Context and adds a check of whether or not the user has the StaffWithRestricted role. We did this check in various places, so I thought it might be good to have it at a higher level. This is very much a suggestion though, as I was going through the files and wondering how we could use Contexts for the item viewer. So we can just close this if it's not wanted!
How to test
Ensure behaviour doesn't change in affected files.
How can we measure success?
No need for repetitive code for the check no more
Have we considered potential risks?
If we QA this and the conditions make sense, risk should be very low.

I'm no longer seeing the view item link on the works page for restricted items, when I'm logged in

There was a typo in the role name 😄 (StaffWithRestriced). I've now amended, sorry should've caught that myself, I didn't test right!

sorry should've caught that myself, I didn't test right!

That's what reviews are for 😃

Think you just need to merge in main to fix the broken e2e tests


Adding different gifs of the examples in the README

In this all you have to do is to run the code according to the instructions in the README, record a good quality video of the simulation add the gifs of all the examples in the README.md

Hi, I would like to contribute to this issue.

hi i also want to contribute to this issue

Ok Cool! I will assign you guys to the issue

Also, do let me know if you face any issues. And you can join the discord: https://discord.gg/475y8YMX for any detailed description

Sure thing

Any updates on this thing? @Pranjalmishra30 @Aryangp ?


Merge default update response headers with custom ones

This was not ported to chttpd and so wasn't really fixed in 2.0
COUCHDB-1447

+1
In [15]: fun2 = '''function(doc, req){ return [doc, {headers:
    ...: {'Content-Type': 'text/blah'}
    ...:
    ...: , 'body': '
test
'}]}'''

In [16]: doc2 = {"updates": {"doc":fun2}}

In [17]: d['_design/dump2'] = doc2

then saw custom header and NewRev
 curl -v -X PUT http://localhost:15984/d/_design/dump2/_update/doc/foo
*   Trying ::1...
* connect to ::1 port 15984 failed: Connection refused
*   Trying <IP_ADDRESS>...
* Connected to localhost (<IP_ADDRESS>) port 15984 (#0)
> PUT /d/_design/dump2/_update/doc/foo HTTP/1.1
> Host: localhost:15984
> User-Agent: curl/7.43.0
> Accept: */*
>
< HTTP/1.1 201 Created
< Content-Length: 13
< Content-Type: text/blah
< Date: Thu, 01 Dec 2016 15:46:30 GMT
< Server: CouchDB/2.0.0-d9b51a0 (Erlang OTP/18)
< X-Couch-Id: foo
< X-Couch-Request-ID: 549d61e9e7
< X-Couch-Update-NewRev: 3-825cb35de44c433bfb2df415563a19de
< X-CouchDB-Body-Time: 0
<
* Connection #0 to host localhost left intact

test


Add Legend to the Cards on Detail Pages

Add the median legend to all charts on the detail page cards so the user has a reference. Currently the legend is only on the "Kantonsvergleich" but should also be added to the card "Preisverteilung in der Schweiz"

There is some layout overlap on the leftside

Fixed and deployed.


[GPII-3642]: Add security scans configuration instructions into README

I could not decide if this belongs to readme or maybe worth starting another document on security principles?
Should our weekly infra metrics review process (which I updated in the pad) be also documented here?

I think these docs belong in the one-time setup doc.
I am okay with:

Moving weekly review metrics from pad to readme
Linking review metrics pad from readme

I am not okay with:

Duplicating information in both a pad and the readme

I think these docs belong in the one-time setup doc.

@mrtyler Sounds good. There is also One-time Stackdriver Workspace setup section in README – should it move as well?

Linking review metrics pad from readme

Done.

LGTM

There is also One-time Stackdriver Workspace setup section in README – should it move as well?

Good catch. I would like to keep that one in the README since individual developers need to perform that step on their dev envs, and I'd like to keep all the dev workflow in one document.


Add Module04b to Batch WDL

GATKSVPipelineBatch.wdl currently skips regenotyping (Module04b). This step is important for keeping large, rare depth calls, which are of particular interest, so Module04b should be added to the Batch workflow. This will also require running MergeCohortVcfs to generate some of the intermediate bed files for regenotyping.

Addressed by #146 (and previous changes that moved all regenotyping tasks, including those in MergeCohortVcfs, into Module04b)


[feat] On-Chain Programming Language

Feature Request
Describe the Feature Request
To be a central cryptocurrency Doge needs to be fully programmable. The primary way to encourage meaningful engagement with doge (the memes are valuable but not functional) is to build an active and enthusiastic developer community. This will unlock use-cases of doge in millions of possible applications.
Describe Preferred Solution
An On-Chain Programming Language should not permit side-effects and also be able to evaluate sections of its own code. These are the two principles guiding chialisp and are important adaptations for programmable money.
Describe Alternatives
The solidity language is the most popular OCPL, introduced by ethereum. It is terribly insecure and unsafe. Even the ethereum devs couldn't make a secure smart contract without needing to make a hard fork when it went wrong.
Related Code
https://chialisp.com/
Additional Context
Lisp is a very hard language to learn. However it is to be expected that the language and syntax of programmable money shouldn't look that familiar to modern developers. Therefore a suite of tools, docs, examples, are needed to enable and support a thriving developer community.

Sure, this is totally possible. I read somewhere else that allowing Turing complete operations may take away from the simplicity and understandability of the asset (e.g. ETH). But I think we may be at a good point where the public would openly volunteer to learn more about it.
I do think having a potential layer that allows some sort of contract would definitely beef up the robustness. At the same time, I would say focus on adoption -- however, your very post addresses that, and claims it as beneficial to professional developer adoption.
Therefore, I support your claim. I do think it should come after simpler (yet non-trivial) optimizations, instead of spreading too thin. Twitter: michael_lukiman

Thanks for the feedback!
I think the turing completeness is a red-herring. The problem is that by allowing functions with side-effects (i.e. the function can change things outside itself) you introduce a lot of potential for unwanted behaviour in the execution of smart contracts. This has been the problem with solidity. It's not so much that allowing loops introduces unwanted complexity, it's that allowing loops to do whatever they want introduces dangerous complexity. So having restrictions like no side-effects gives you the innovation and extension benefits of an OCPL without risking chain integrity.
In terms of developing an OCPL for doge, it could take place in parallel with the much needed optimizations. It would also be an incredibly cool project to be part of :)

Also, very interesting point regarding the red herring. I suppose creating a simpler non-looping OCPL reduces the scope a little

As Ross tags, this would be a major rework. Geoff would you want to take point on such an endeavor? You may find yourself leading a team of very passionate dilletantes. Like you said, could be very exciting.

I would freaking love it :)

Would Rust with its Ownership model be helpful here? Or do we need to write a new OCPL?

Rust is a very interesting possibility, and I think using monads could be helpful here.... I will read up on it a bit.

Rust is a very interesting possibility, and I think using monads could be helpful here.... I will read up on it a bit.

Thanks Goeff, this is first time I am trying open source development and would love to be part of Doge team

I think it's fairly well known I favour making Dogecoin-equivalent tokens on smart contract chains, rather than trying to reinvent the wheel as it were.
That said, throwing some advice in as someone who's worked with a few smart contract platforms; if you use an existing language (such as Rust), remember that any on-chain calculation must be deterministic (it cannot use inputs which are not on chain, for example current time, because the calculation must always be exactly the same when validated later). That can be confusing for developers, as it affects quite large parts of the existing language infrastructure. One of the advantages of specialised smart contract languages is that the engineers don't come in with pre-existing expectations, so elements which have to be disabled for a blockchain aren't "missing" from their perspective.

@rnicoll I totally agree - you have to build the language for the blockchain.
So, in general it seems like the main options being considered are to either make doge tokens on another chain, or to change the consensus algo to proof of stake (RIP). Solving the environmental problem is easily doable by issuing doge as tokens on the chia blockchain, and brings all the environmental and functional benefits of Chia.
But I think there is a lot to be said for pushing hard innovation in doge, especially in protecting the integrity of the consensus model. The fact is that PoW is a good consensus model, but it is environmentally expensive. Instead of killing the protocol it just needs to have a point of integration between miners and their energy sources. In much the same way as Chia uses a verifiably delay function, Doge could implement a method to verify miners' energy sources - Proof of Source.
So hypothetically it work like:

a miner submits a proof, and a 'token' containing their claim of energy source
the 'token' is some kind of NFT registered by a power provider, which they verify when it is submitted with a proof
the coin reward is paid out to a smart contract which splits the value according to the verifier token. So a low-renewable token pays out less than 100% of the reward
Unpaid rewards are pooled into a DAO which provides services to the community (environmental audits, nascar sponsorships etc)

By making it unprofitable to mine from unverified energy sources, it breaks the energy centralisation issue, improves the environmental footprint, and welds crypto into the framework of energy grids for future development. And a side bonus, it will create a pool of funds that can be used to support community projects.
I don't know whether this seems a bit...mad? I just don't want crypto (and especially doge) to develop into an abstract asset class to be manipulated...So to me it's worth trying to tackle the hard problems of integrating crypto with physical reality, and mining seems a good place to focus the effort. Sorry for the rant, and keep up the good fight :)

Closing this per #2110 item 4.

As Ross tags, this would be a major rework. Geoff would you want to take point on such an endeavor? You may find yourself leading a team of very passionate dilletantes. Like you said, could be very exciting.

@m-luck Would you be interested working on something? Looking at your profile I think we could potentially make a good team...

As Ross tags, this would be a major rework. Geoff would you want to take point on such an endeavor? You may find yourself leading a team of very passionate dilletantes. Like you said, could be very exciting.

@m-luck Would you be interested working on something? Looking at your profile I think we could potentially make a good team...

Totally possible! My plan is to set up the environment by this weekend, see what problems and potential improvements are in motion (after grokking through the codebase), and apply myself in the capacity that best fits my schedule (day job SWE, 3d printing, some side businesses, food, and still want to enjoy some time outside as summer rolls around haha).
Would put in more hours if each dev can clock in hours voluntarily via a charitable entity i.e. if we start being bankrolled benevolently ;) -- which core devs have already declined (in public)
In short, I don't want to over-commit given other uses of my time! For example, right now I'm chugging away at my current job's tasks, and it's 10pm at night haha (more productive at night). However, in a vacuum yes, I would love to research and tackle this intellectual and perhaps utilitarian project with you.
If there is any full time person you can find, that'd be great, as I will probably be in and out days at a time. I would wait one or two weeks for the influx of well-meaning but lacking in technical knowhow participants to level out.
Action items:

I need to read up more on the Chia white paper
We should create some milestones that would realistically implement this project, and time estimates
We should see if other repos have licenses that we can base this off of
I need to see how the current repo is structured, so we know where this plugs into the file hierarchy
We should generate all this in a technical design document that sets a good process for documentation and onboarding
Last reiteration, I'm a busy bee! But I support making this happen


Custom Weighted Absolute Error loss does not work as expected

Description

I have defined a weighted version of the L1 loss function but it is not working as expected:
def custom_mae(y_true, y_pred, weight):
    gradient = weight * np.sign(y_pred - y_true)
    hessian = np.zeros_like(y_true)
    return gradient, hessian

Just to try if I was doing something wrong I tried the weighted L2 and it worked perfectly:
def custom_l2(y_true, y_pred, weight):
    grad = (y_pred - y_true)*weight
    hess = np.ones(len(y_true))
    return grad, hess

Another problem that I have is that the fit creates a lot of logs with:
[LigthGBM] [Warning] No Further splits with ...
This bug has been reported in the past but the solution of using verbose = -1 in the params for the model is not working for me

Reproducible example

Environment info
LightGBM version or commit hash:
Command(s) you used to install LightGBM

Additional Comments

Thanks for using LightGBM.
Could you please be more specific about what "not working as expected" means, and provide a minimal, reproducible example (docs on what that is) showing how your determined that?
If you're unsure how to create a minimal, reproducible example of using the Python package, look around this project's issues for posts using sklearn.datasets, e.g. https://github.com/microsoft/LightGBM/issues/4239#issuecomment-883928397.
Please also provide the information that you were asked to provide when you clicked New Issue:

what version of lightgbm?
how did you install it?
what operating system?


scripts: dts: Output paths relative to $ZEPHYR_BASE

Requested by Marc Herbert. Makes the output deterministic as long as all
binding directories are within $ZEPHYR_BASE (and a bit less spammy too).
Example output for header:
Before:
/*  Directories with bindings: /home/ulf/z/z/dts/bindings  */
...
/*  Binding (...): /home/ulf/.../arm,v7m-nvic.yaml  */

After:
/*  Directories with bindings: $ZEPHYR_BASE/dts/bindings  */
...
/*  Binding (...): $ZEPHYR_BASE/dts/.../arm,v7m-nvic.yaml  */

So, +1 for the ${ZEPHYR_BASE} piece, -1 for the relpath piece. We should get:
/*  Directories with bindings: $ZEPHYR_BASE/dts/bindings  */
...
/*  Binding (...): $ZEPHYR_BASE/dts/bindings/interrupt-controller/arm,v7m-nvic.yaml  */

Wonder how to deal with binding directories outside $ZEPHYR_BASE in that case though.
One thing I considered was making it foo/bar/binding.yaml when you pass --binding-dir some/path/foo (including the directory name). Don't know if that's acceptable to @marc-hb though.

Hmm... seems the Directories with bindings: stuff would include those paths directly anyway though, so might not be any worse to just add it.
Think I'll move it all to gen_defines.py.

Don't know if that's acceptable to @marc-hb though.

From a build reproducibility perspective (= the initial rationale for this), anything that generates the exact same files when building from two different git clones is acceptable.
For instance, no comment at all is acceptable ;-)

For instance, no comment at all is acceptable ;-)

I would prefer that to providing misleading/incomplete information, even though it makes the system less usable.  I guess it's a question of whether build reproducibility is a more important criterion then "providing information that's helpful to the developer".
Another approach would be to provide a hook for a post-processing step that strips out irrelevant differences when performing a build that must be "reproducible".

Updated it to do the thing @pabigot suggested (just stripping $ZEPHYR_BASE from all binding paths within the Zephyr repo, with changes to just gen_defines.py).
That makes it deterministic as long as there are no binding directories outside $ZEPHYR_BASE. I realized the old version was also non-deterministic when there are binding paths outside $ZEPHYR_BASE though, since it shows the paths in Directories with bindings: ... in that case.
@marc-hb
Are you fine with this? Something fancier could be done later to make it deterministic for binding directories outside $ZEPHYR_BASE too, if needed.

Are you fine with this?

I will test and get back to you.

Something fancier could be done later to make it deterministic for binding directories outside $ZEPHYR_BASE too, if needed.

Some sort of WEST_TOP (#19440) would be a great next step. Beyond that would be even better but I'm not looking that far TBH. Fixing everything inside ZEPHYR_BASE will already make a huge difference.


Include in report refresh DISABLE turns to enable after publishing the report to Power BI service

If I disable 'include in report refresh" in Power BI desktop and only using it in desktop, it works ok.
But after publishing it to Power Bi service and auto refresh it there using On-Premises gateway, it has turned ON.
And after downloading the report to my desktop from Power BI service to modify it again, I can also see, that it
has turned on and is not disabled anymore.
This error has been always. With all reports  and with all datasets. And is annoying, since I don't want to refresh the history data all over again. Only once.
Dataset includes three table which are appended as one.
2 of these are historydata tables and include in report refresh has been disabled.
1 of these is realtime data and report refresh is on.

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

ID: bafd843f-fda5-f156-8f38-9fde59bc4b57
Version Independent ID: c5f241c6-8423-3f98-6d9f-ed20cba9b11c
Content: Managing query refresh - Power BI
Content Source: powerbi-docs/connect-data/refresh-include-in-report-refresh.md
Service: powerbi
Sub-service: pbi-data-sources
GitHub Login: @davidiseminger
Microsoft Alias: davidi

Thanks for your comment, @paivikilo. This issue has been assigned to the doc author for review.

Thank you for your feedback on the way this feature operates. Since this is product feedback rather than documentation feedback – you can submit product feedback or feature ideas by going to https://ideas.powerbi.com. You can also engage with the Power BI engineering team by being active in the Power BI Community, found at https://community.powerbi.com.


Tokens can not be issued

I return an error about empty scopes, but they were already decided at the first approve step

Sparkles has this XHR request that gave the no scopes error response
https://sparkles.sploot.com/.netlify/functions/token?token_endpoint=https://jonnybarnes.uk/token&code=bfc70ecb84f6f8899608d66d0a14002a&client_id=https://sparkles.sploot.com/&redirect_uri=https://sparkles.sploot.com/callback&code_verifier=a98e46b7f4cd9afc3df875408c7ec4a9300778c1c946975a9132fde4


kubelet-wrapper: node reports OS as Debian

This is a UX problem we need to sort out by likely bind-mounting in the /etc/os-release file. On CoreOS and running the kubelet container CoreOS reports as Debian.
cc @pbx0 @aaronlevy
$ kubectl describe nodes
Name:			<IP_ADDRESS>
Labels:			kubernetes.io/hostname=<IP_ADDRESS>
CreationTimestamp:	Fri, 08 Apr 2016 14:56:48 -0400
Phase:
Conditions:
  Type		Status	LastHeartbeatTime			LastTransitionTime			Reason				Message
  ----		------	-----------------			------------------			------				-------
  OutOfDisk 	False 	Tue, 12 Apr 2016 14:55:25 -0400 	Tue, 12 Apr 2016 09:11:33 -0400 	KubeletHasSufficientDisk 	kubelet has sufficient disk space available
  Ready 	True 	Tue, 12 Apr 2016 14:55:25 -0400 	Tue, 12 Apr 2016 09:11:33 -0400 	KubeletReady 			kubelet is posting ready status
Addresses:	<IP_ADDRESS>,<IP_ADDRESS>
Capacity:
 cpu:		1
 memory:	1021220Ki
 pods:		110
System Info:
 Machine ID:			c0bb99276bc74b86b88d83396764e3f7
 System UUID:			564DB306-542A-D580-38D7-BB42FEC45C75
 Boot ID:			e3123c92-ad46-4316-868c-4f7d20bbdf95
 Kernel Version:		4.4.4-coreos
 OS Image:			Debian GNU/Linux 8 (jessie)
 Container Runtime Version:	docker://1.10.2
 Kubelet Version:		v1.2.0+coreos.1
 Kube-Proxy Version:		v1.2.0+coreos.1
ExternalID:			<IP_ADDRESS>
Non-terminated Pods:		(12 in total)
  Namespace			Name						CPU Requests	CPU Limits	Memory Requests	Memory Limits
  ---------			----						------------	----------	---------------	-------------
  default			guestbook-om6ga					0 (0%)		0 (0%)		0 (0%)		0 (0%)
  default			redis-master-ysfxl				0 (0%)		0 (0%)		0 (0%)		0 (0%)
  default			redis-slave-m65r6				0 (0%)		0 (0%)		0 (0%)		0 (0%)
  default			redis-slave-o8qq7				0 (0%)		0 (0%)		0 (0%)		0 (0%)
  default			tectonic-console-v0.1.5-1qq2w			50m (5%)	50m (5%)	50Mi (5%)	50Mi (5%)
  default			tectonic-console-v0.1.5-s0nb7			50m (5%)	50m (5%)	50Mi (5%)	50Mi (5%)
  kube-system			heapster-v1.0.2-gix1t				100m (10%)	100m (10%)	208Mi (20%)	208Mi (20%)
  kube-system			kube-apiserver-<IP_ADDRESS>			0 (0%)		0 (0%)		0 (0%)		0 (0%)
  kube-system			kube-controller-manager-<IP_ADDRESS>		0 (0%)		0 (0%)		0 (0%)		0 (0%)
  kube-system			kube-dns-v11-kdsgn				310m (31%)	310m (31%)	170Mi (17%)	920Mi (92%)
  kube-system			kube-proxy-<IP_ADDRESS>				0 (0%)		0 (0%)		0 (0%)		0 (0%)
  kube-system			kube-scheduler-<IP_ADDRESS>			0 (0%)		0 (0%)		0 (0%)		0 (0%)
Allocated resources:
  (Total limits may be over 100%, i.e., overcommitted. More info: http://releases.k8s.io/HEAD/docs/user-guide/compute-resources.md)
  CPU Requests	CPU Limits	Memory Requests	Memory Limits
  ------------	----------	---------------	-------------
  510m (51%)	510m (51%)	478Mi (47%)	1228Mi (123%)
No events.

Bind mounting os-release in seems reasonable.
But, to take the other side on this, is it wrong to say that the os "image" is debian 8 if it uses the host CoreOS kernel but Debian libraries otherwise?
/# ldd kubelet
	linux-vdso.so.1 (0x00007ffdb2f69000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f65f7d51000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f65f79a6000)
	/lib64/ld-linux-x86-64.so.2 (0x000055a88ac60000)

I think the spirit of this kubelet information is to reflect the OS of the node, not the container the kubelet is running in. We can ask the node team. Maybe @dchen1107 knows off hand.

We'd love to use the node (not the container) information in the console - we actually just ripped out the "OS info" feature in console because it was reporting the container info.

I don't feel strongly either way, but I do agree the spirit of that field is to reflect OS of node. It's also caused confusion a couple times now. I guess question would be, do we want this in the kubelet-wrapper shipped with OS, or added to the kubelet.service files in this repo?

I think i'd be in favor of placing this in the kubelet-wrapper. If there are no objections, I can send a PR over to overlay.

Closing as this is fixed in the OS.


Adjust FlutterView to attach and detach a FlutterRenderer

FlutterView previously did not allow for a given Flutter engine (AKA FlutterNativeView) to be attached and detached at will.  It was attached in the constructor and that was it.
This ticket is to support arbitrary FlutterEngine attachment to a given FlutterView.

This can be closed now right?

Yep!