Issue building from source on ARM Mac

Describe the bug
The primary issue that I am having is that the qsharp package is failing to build on the last step due to a MacOS platform issue.
To Reproduce
Run ./build.py in the root directory as if you were just going to build the package and the error should present itself.
Expected behavior
The package should complete building, but instead I receive this error.
98 files are correctly formatted. build.py: Finished in 12.408s. build.py: Building the command line compiler    Compiling qsharp v0.0.0 (/Users/spencerdearman/qsharp/pip) error: linking with cc` failed: exit status: 1
...
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: could not compile qsharp (lib) due to 1 previous error
Traceback (most recent call last):
File "/Users/spencerdearman/qsharp/./build.py", line 221, in
subprocess.run(cargo_build_args, check=True, text=True, cwd=root_dir)
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/subprocess.py", line 571, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['cargo', 'build', '--release']' returned non-zero exit status 101.
`
System information
Operating System: ARM64
Chip: M3 Max
MacOS: Sonoma 14.4.1
Python Version: python 3.11.9
Package Version: The default when the repo is downloaded

I was able to make some kludgy fixes to get this working in the short term: 50a20bc38eac7d6dddc182f06dbbff6b6d414fac

Thank you Niraj! Unfortunately although it did get further, now I am having this issue:
error[E0463]: can't find crate for std    |     = note: thex86_64-apple-darwintarget may not be installed     = help: consider downloading the target withrustup target add x86_64-apple-darwin`
error[E0463]: can't find crate for core
|
= note: the x86_64-apple-darwin target may not be installed
= help: consider downloading the target with rustup target add x86_64-apple-darwin
For more information about this error, try rustc --explain E0463.
error: could not compile is_ci (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
error: could not compile unicode-linebreak (lib) due to 1 previous error
error: could not compile smawk (lib) due to 1 previous error
error: could not compile adler (lib) due to 1 previous error
error: could not compile unicode-width (lib) due to 1 previous error
error: could not compile rustc-demangle (lib) due to 1 previous error
error: could not compile cfg-if (lib) due to 1 previous error
error: could not compile memchr (lib) due to 1 previous error
error: could not compile gimli (lib) due to 1 previous error
💥 maturin failed
Caused by: Failed to build a native library through cargo
Caused by: Failed to build a x86_64 library through cargo
Caused by: Cargo build finished with "exit status: 101": CARGO_ENCODED_RUSTFLAGS="-C\u{1f}link-arg=-undefined\u{1f}-C\u{1f}link-arg=dynamic_lookup" MACOSX_DEPLOYMENT_TARGET="10.12" PYO3_ENVIRONMENT_SIGNATURE="cpython-3.11-64bit" PYO3_PYTHON="/Users/spencerdearman/qsharp/qsharp-env/bin/python3" PYTHON_SYS_EXECUTABLE="/Users/spencerdearman/qsharp/qsharp-env/bin/python3" "cargo" "rustc" "--target" "x86_64-apple-darwin" "--message-format" "json-render-diagnostics" "--manifest-path" "/Users/spencerdearman/qsharp/pip/Cargo.toml" "--release" "--lib" "--" "-C" "link-arg=-undefined" "-C" "link-arg=dynamic_lookup" "-C"<EMAIL_ADDRESS>Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/Users/spencerdearman/qsharp/qsharp-env/bin/python3', '--compatibility', 'off'] returned non-zero exit status 1
error: subprocess-exited-with-error
× Building wheel for qsharp (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
full command: /Users/spencerdearman/qsharp/qsharp-env/bin/python3 /Users/spencerdearman/qsharp/qsharp-env/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py build_wheel /var/folders/zz/1dtb5n794qbf5bn8fxwmn2zw0000gn/T/tmpbghzvou6
cwd: /Users/spencerdearman/qsharp/pip
Building wheel for qsharp (pyproject.toml) ... error
ERROR: Failed building wheel for qsharp
Failed to build qsharp
ERROR: Failed to build one or more wheels
Traceback (most recent call last):
File "/Users/spencerdearman/qsharp/./build.py", line 252, in
subprocess.run(pip_build_args, check=True, text=True, cwd=pip_src, env=pip_env)
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/subprocess.py", line 571, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/Users/spencerdearman/qsharp/qsharp-env/bin/python3', '-m', 'pip', 'wheel', '--wheel-dir', '/Users/spencerdearman/qsharp/target/wheels', '-v', '/Users`
This is happening on one of the last steps after it has already run all of the tests.

@nirajvenkat Do you have both the aarch64 and x86_64 rust toolchains installed? Can you try running:
rustup target add x86_64-apple-darwin
rustup target add aarch64-apple-darwin

And then run the build again?

I had to run 'rustup target add x86_64-apple-darwin' to get it to work on my device but it was able to build after doing so.

Interesting that the error was 'ld: symbol(s) not found for architecture arm64' but adding the x64 target fixed it :-/
I'm guessing as we build universal wheels on the mac by default (see https://github.com/microsoft/qsharp/blob/main/build.py#L240), if you build that on Mac (which build.py does by default) then you need both x64 and arm64 targets installed in your Rust toolchain. Maybe our README should include that tidbit.

I created #1649 to address this and guide users to a working build.

@idavis Thanks this helps with the full ./build.py. These changes (https://github.com/microsoft/qsharp/commit/50a20bc38eac7d6dddc182f06dbbff6b6d414) are still required though. My rustup target list --installed now shows:
aarch64-apple-darwin
wasm32-unknown-unknown
x86_64-apple-darwin

Earlier I was only doing ./build.py --wasm --npm --vscode so the lack of x86_64 toolchain was not affecting me.

@nirajvenkat What version of rust are you using? This build works fine for me without any source changes with 1.78.

@idavis rustc 1.79.0 (129f3b996 2024-06-10)

@nirajvenkat #1649 should have fixed your issues. Please reopen if you have any more problems. Thank you!


EDS Plugin is not Plack-compliant

Fixes to make EDS Plugin Plack-compliant:
- require eds-methods.pl broke some pages randomly
- use of the method param instead of multi_param on scalar parameters
- the scope of some variables are local instead of globals
Commit 2375d6834c57ea8e8bce5aef63d03f9cb42bf795

I've included this in PR #78


Thrift HTTP FE checks req conf nullable before evaluating proxy user

Why are the changes needed?

This PR fixes a NPE when client opens session with null configuration using Thrift HTTP protocol
2023-08-28 02:03:56.512 ERROR org.apache.kyuubi.server.KyuubiTHttpFrontendService: Error opening session:
java.lang.NullPointerException: null
        at org.apache.kyuubi.service.TFrontendService.getProxyUser(TFrontendService.scala:130) ~[kyuubi-common_2.12-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT]
        at org.apache.kyuubi.server.KyuubiTHttpFrontendService.getRealUserAndSessionUser(KyuubiTHttpFrontendService.scala:281) ~[kyuubi-server_2.12-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT]
        at org.apache.kyuubi.service.TFrontendService.getSessionHandle(TFrontendService.scala:168) ~[kyuubi-common_2.12-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT]
        at org.apache.kyuubi.service.TFrontendService.OpenSession(TFrontendService.scala:190) ~[kyuubi-common_2.12-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT]
        at org.apache.hive.service.rpc.thrift.TCLIService$Processor$OpenSession.getResult(TCLIService.java:1497) ~[hive-service-rpc-3.1.3.jar:3.1.3]
        at org.apache.hive.service.rpc.thrift.TCLIService$Processor$OpenSession.getResult(TCLIService.java:1482) ~[hive-service-rpc-3.1.3.jar:3.1.3]
        at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) ~[libthrift-0.9.3.jar:0.9.3]
        at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) ~[libthrift-0.9.3.jar:0.9.3]
        at org.apache.thrift.server.TServlet.doPost(TServlet.java:83) ~[libthrift-0.9.3.jar:0.9.3]
        at org.apache.kyuubi.server.http.ThriftHttpServlet.doPost(ThriftHttpServlet.scala:146) ~[kyuubi-server_2.12-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:517) ~[jakarta.servlet-api-4.0.4.jar:4.0.4]

How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[x] Run test locally before make a pull request

Was this patch authored or co-authored using generative AI tooling?

No

Codecov Report

Merging #5204 (1116b5e) into master (3a06cc3) will not change coverage.
The diff coverage is 0.00%.

@@          Coverage Diff           @@
##           master   #5204   +/-   ##
======================================
  Coverage    0.00%   0.00%
======================================
  Files         589     589
  Lines       33236   33238    +2
  Branches     4386    4387    +1
======================================
- Misses      33236   33238    +2

Files Changed
Coverage Δ

...che/kyuubi/server/KyuubiTHttpFrontendService.scala
0.00% <0.00%> (ø)

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

Thanks, merged to master/1.7


✨ Add support for Basher installation

📑 What

This PR enhances the README.md documentation by:

Adding Basher installation support with badge
Restructuring the installation section to provide two clear options
Updating script headers to use #!/usr/bin/env bashp instead of relative paths
Removing unnecessary PATH modifications in bashp and bashpc scripts

❓ Why

These changes improve the user experience by:

Providing an easier installation method through Basher package manager
Making the scripts more portable by using env-based shebangs
Cleaning up redundant PATH modifications
Making installation instructions clearer with a structured format

⚡ How to Review

Please review:

The Basher installation instructions for accuracy
The updated script headers in hello-world.sh and other files
Verify that removing the PATH modifications doesn't break functionality
Check that the documentation structure is clear and well-organized

Note that while still on the branch, you will have to use the following to test-install Bash+ using Basher:
basher install github.com/lf-certification/bashp@feature/basher-install

✅ Testing

[X] I have tested my work

Verified Basher installation works
Tested scripts with new shebangs
Confirmed functionality without PATH modifications

[X] I need you to test it too

Please try the Basher installation method
Verify scripts work in your environment with the new changes

This seems like it's included in #6, correct?

This seems like it's included in #6, correct?

Yes and no. I‘d say it this way: #7 makes Bash+ in its current version Basher installable and usable. #6 maintains the support as Basher installs executables in the bin directory or at the top of the repository in that order.


Low power states for STM32 H7

Is this request related to a missing driver support for a particular hardware platform, SoC or board? Please describe.
Currently there are no low power states implemented for the STM32 H7-series.
Describe why you are asking for this support?
I need this as a requirement for a project. I'm already working on the implementation of the power states, but I stumbled upon an issue with SYSTICK. On this platform by default SYSTICK is clocked by SYSCLK, which is stopped when the CPU enters CStop, which in turn is a requirement for the system to get into the state Stop. As the kernel sets up a timer based upon SYSTICK it will then never wake up again.
For testing purposes I already implemented a wakeup by RTC, which then of course completely confuses the kernel as SYSTICK did not continue in the meantime.
For comparison I took a look at the low power state implementation of STM32 L4 in zephyr. For this device the kernel also seems to assume that SYSTICK will continue. Unfortunately I am not absolutely sure, just based upon reading the reference manual of the L4, if SYSTICK will continue while the system is for instance in the mode Stop0.
My basic question is: Would it be okay to contribute a low power state implementation of H7 which won't wake up based upon the kernel scheduling anymore, only based upon an external wakeup source?
I assume not, which would then bring me to my next question: Is there a possibility to circumvent this issue? I saw for instance that SYSTICK could run from an external clock, but so far I could not figure out what this external clock would be.

@benediktibk When using PM, Zephyr tick should be fed with lptim thanks to drivers/timer/stm32_lptim_timer.c driver (instead of cortex systick). This is how PM is working on L4/WB/L5/U5
So the idea is first to get LPTIM working on H7 (if not done yet).
Then enabling PM and lptim node will get things working (grep STM32_LPTIM_TIMER for more details).

Started with implementation in #41439

Maybe somebody can help met out a little bit, as I'm currently scratching my due to ARM usage fault which happens during the print of the boot banner. It happens only if the LPTIM is used as the system clock, but the debugger does not hit a breakpoint on lptim_irq_handler. Hence I am kinda confused where this is coming from. Actually no function in stm32_lptim_timer.c besides sys_clock_driver_init is getting called.
Would be glad if somebody could point me towards a useful direction, as I am running out of ideas how to investigate this further.

Would be glad if somebody could point me towards a useful direction, as I am running out of ideas how to investigate this further.

I would suggest testing H7 lptim driver implementation using tests/kernel/timer/timer_api, using prj_tickless.conf.
You'll probably miss some tuning to this driver to work on H7.

Implemented by:

https://github.com/zephyrproject-rtos/zephyr/pull/41871
https://github.com/zephyrproject-rtos/zephyr/pull/41869
https://github.com/zephyrproject-rtos/zephyr/pull/41867


[REGRESSION]: AzureFileCopy@6 failing to load Az.Accounts v3.0.0 module

New issue checklist

[X] I searched for existing GitHub issues
[X] I read pipeline troubleshooting guide
[X] I checked how to collect logs

Task name
AzureFileCopy
Breaking task version
6.240.1
Last working task version
6.239.x
Regression Description
We have a pipeline that is using AzureFileCopy@6 with a managed identity. It has been in place for about 2 weeks and has been running without issue. On Tuesday the task started failing with the only visible change in the logs being the Az.Accounts module updating from v2.9.1 to v3.0.0.
When it fails, we get this error:
Failed to perform Auto-login: PSContextCredentialGet-AzAccessToken: -REDACTED- 'Get-AzAccessToken' command was found in the module 'Az.Accounts', but the module could not be loaded. For more information, run 'Import-Module Az.Accounts'.

In failed runs the listed Az.Accounts module version is always v3.0.0.
Imported module 'Az.Accounts', version: 3.0.0

Runs that executed earlier which passed have a version of v2.9.1.
Imported module 'Az.Accounts', version: 2.9.1

Cross contamination of jobs is not possible because a fresh machine with the exact same configuration is used for each run and that configuration has not changed.
I believe it may have been caused by this change from AzureRM to Az: https://github.com/microsoft/azure-pipelines-tasks/commit/f5b22d9c64118dc809b217a09e4e5d8599939429
Example runs:
Pass: v2.9.1
https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=9600629&view=logs&j=4736f78b-748e-51a8-c3dc-ea7706a06c3d&t=f124d820-a316-55db-635e-ba56d272505a
Fail: v3.0.0
https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=9613411&view=logs&j=4736f78b-748e-51a8-c3dc-ea7706a06c3d&t=f124d820-a316-55db-635e-ba56d272505a
Environment type (Please select at least one enviroment where you face this issue)

[X] Self-Hosted
[ ] Microsoft Hosted
[X] VMSS Pool
[ ] Container

Azure DevOps Server type
dev.azure.com (formerly visualstudio.com)
Azure DevOps Server Version (if applicable)
No response
Operation system
Windows 11
Relevant log output
Starting: Upload to Storage
==============================================================================
Task         : Azure file copy
Description  : Copy files to Azure Blob Storage or virtual machines
Version      : 6.240.1
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-file-copy
==============================================================================
Import-Module -Name C:\Program Files\WindowsPowerShell\Modules\Az.Accounts\3.0.0\Az.Accounts.psd1 -Global -PassThru -Force
##[warning]Both Az and AzureRM modules were detected on this machine. Az and AzureRM modules cannot be imported in the same session or used in the same script or runbook. If you are running PowerShell in an environment you control you can use the 'Uninstall-AzureRm' cmdlet to remove all AzureRm modules from your machine. If you are running in Azure Automation, take care that none of your runbooks import both Az and AzureRM modules. More information can be found here: https://aka.ms/azps-migration-guide
Imported module 'Az.Accounts', version: 3.0.0
Update-AzConfig -DisplayBreakingChangeWarning False -AppliesTo Az
Enable-AzureRmAlias -Scope Process
Import-Module -Name C:\Program Files\WindowsPowerShell\Modules\Az.Resources\1.13.0\Az.Resources.psd1 -Global -PassThru -Force
Imported module 'Az.Resources', version: 1.13.0
Import-Module -Name C:\Program Files\WindowsPowerShell\Modules\Az.Storage\1.14.0\Az.Storage.psd1 -Global -PassThru -Force
Imported module 'Az.Storage', version: 1.14.0
Uninstall-AzureRm
Clear-AzContext -Scope CurrentUser -Force -ErrorAction SilentlyContinue
Clear-AzContext -Scope Process
Connect-AzAccount

......

Failed to perform Auto-login: PSContextCredentialGet-AzAccessToken: -REDACTED- 'Get-AzAccessToken' command was found in the module 'Az.Accounts', but the module could not be loaded. For more information, run 'Import-Module Az.Accounts'.

Full task logs with system.debug enabled
We don't have full task logs with system.debug enabled.
Repro steps
- task: AzureFileCopy@6
  displayName: 'Azure File Copy'
  inputs:
    SourcePath: '${{ parameters.BuildPackages }}'
    azureSubscription: ${{ parameters.AzureSubscription }}
    Destination: AzureBlob
    storage: ${{ parameters.AzureStorage }}
    ContainerName: ${{ parameters.AzureContainerName }}
    BlobPrefix: ${{ parameters.AzureUploadLocation }}
  condition: ${{ parameters.condition }}

@MSylvia - Could you please run the pipeline with debug log enabled and share the logs.

@MSylvia  - I dont see debug logs enabled, please add variable system.debug to true and run pipeline again.

@v-snalawade
Here is a new run with debug logs enabled: https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=9655994&view=logs&j=664d18a4-0bff-549b-3c61-59bf14bbc55e&t=ef0776a8-add3-5b3a-2eb0-f7eb5d3be34c
I launched them both, but the other is having an unrelated issue, will update this when it finally completes.

@MSylvia -
I went through logs and these are not debug logs.
please add variable system.debug to true in pipeline variables and run pipeline again, you will get the detailed logs.

@v-snalawade Here is a new run with debug logs actually enabled this time. I mistakenly thought that enabling diagnostics also set debug to true before.
With warning (Both Az and AzureRM on machine):

https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=9668885&view=logs&j=664d18a4-0bff-549b-3c61-59bf14bbc55e&t=ef0776a8-add3-5b3a-2eb0-f7eb5d3be34c

Without warning (Only Az):

https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=9668884&view=logs&j=664d18a4-0bff-549b-3c61-59bf14bbc55e&t=ef0776a8-add3-5b3a-2eb0-f7eb5d3be34c

I'm running into the same issue:
Breaking task version
6.240.1
Last working task version
6.239.x

Debug Logs here:
https://dev.azure.com/mseng/VS IDE - Telemetry/_build/results?buildId=28468351&view=logs&j=a5781d42-2f3f-596b-1540-70f475b4668a&t=62431333-4809-58f9-64bf-05d4a003a852&l=1

@DmitriiBobreshev I see you made some changes recently to the Azure File Copy tasks. Do you know what might cause the issues we are seeing?

Debug Logs here: https://dev.azure.com/mseng/VS IDE - Telemetry/_build/results?buildId=28468351&view=logs&j=a5781d42-2f3f-596b-1540-70f475b4668a&t=62431333-4809-58f9-64bf-05d4a003a852&l=1

Thanks for the logs, will check and keep you posted on updates

Thanks, are there any workarounds we can employ in the meantime?
From: v-snalawade @.>
Sent: Wednesday, June 5, 2024 7:06 AM
To: microsoft/azure-pipelines-tasks @.>
Cc: Comment @.>
Subject: Re: [microsoft/azure-pipelines-tasks] [REGRESSION]: @. failing to load Az.Accounts v3.0.0 module (Issue #19910)
Debug Logs here: https://dev.azure.com/mseng/VS IDE - Telemetry/_build/results?buildId=28468351&view=logs&j=a5781d42-2f3f-596b-1540-70f475b4668a&t=62431333-4809-58f9-64bf-05d4a003a852&l=1
Thanks for the logs, will check and keep you posted on updates

Reply to this email directly, view it on GitHubhttps://github.com/microsoft/azure-pipelines-tasks/issues/19910#issuecomment-2149666752 or unsubscribehttps://github.com/notifications/unsubscribe-auth/AYEROG4772D5KSFKUTZZPT3ZF35JDBFKMF2HI4TJMJ2XIZLTTCBKK5TBNR2WLJDUOJ2WLJDOMFWWLO3UNBZGKYLEL5YGC4TUNFRWS4DBNZ2F6YLDORUXM2LUPGBKK5TBNR2WLJDUOJ2WLJDOMFWWLLTXMF2GG2C7MFRXI2LWNF2HTAVFOZQWY5LFUVUXG43VMWSG4YLNMWVXI2DSMVQWIX3UPFYGLAVFOZQWY5LFVEYTKNBYGE2DAMJRURXGC3LFVFUGC427NRQWEZLMQKSXMYLMOVS2SMZZGEYDQOBSGMYKI3TBNVS2S2DBONPWYYLCMVWIFJLWMFWHKZNKGEZDQMBZGQZTGNRSURXGC3LFVFUGC427NRQWEZLMQKSXMYLMOVS2UMJWG43TCMBRHAYDDJDOMFWWLKLIMFZV63DBMJSWZAVFOZQWY5LFVI2TQMJXG4YTONBQGWSG4YLNMWUWQYLTL5WGCYTFNSWHG5LCNJSWG5C7OR4XAZNMJFZXG5LFINXW23LFNZ2KM5DPOBUWG44XQKSHI6LQMWVHEZLQN5ZWS5DPOJ42K5TBNR2WLKBSG43DGMJWG4ZYFJDUPFYGLJLJONZXKZNFOZQWY5LFVIZDGMJWGMYTINJSGSBKI5DZOBS2K3DBMJSWZJLWMFWHKZNJGE2TIOBRGQYDCMMCUR2HS4DFUVWGCYTFNSSXMYLMOVS2SMZZGEYDQOBSGMYIFJDUPFYGLJLMMFRGK3FFOZQWY5LFVIYTEOBQHE2DGMZWGKBKI5DZOBS2K3DBMJSWZJLWMFWHKZNKGE3DONZRGAYTQMBRQKSHI6LQMWSWYYLCMVWKK5TBNR2WLKRVHAYTONZRG42DANNHORZGSZ3HMVZKMY3SMVQXIZI.
You are receiving this email because you commented on the thread.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Hi @MSylvia, @jonathanjyi, Most probably the changes not causing the issue as the changes FF for AzureRM migration were ON for a while for both organizations.
I see that both pools are using the same image and suspect that there is some inconsistency between PowerShell where the modules are enabling and pwsh which is used for Get-AzAccessToken CmdLet inside AzCopy.exe.
Moreover, the other CmdLets as Connect-AzAccount or Set-AzContext(both provided by Az.Accounts) succeeded, which tells us that the module was loaded correctly for PowerShell session but probably wasn't loaded for pwsh.
Is it possible to try another a pool with different image to check will it works for you?

@DmitriiBobreshev While switching pools / images worked for @jonathanjyi there still may be a problem because that pool is loading the older version of Az.Accounts.
Imported module 'Az.Accounts', version: 2.19.0

https://dev.azure.com/mseng/VS IDE - Telemetry/_build/results?buildId=28477100&view=logs&j=a5781d42-2f3f-596b-1540-70f475b4668a&t=62431333-4809-58f9-64bf-05d4a003a852&l=92
If/when that pool updates it could still be a problem.

Hi all any update on this? getting same issue

https://github.com/microsoft/azure-pipelines-tasks/pull/20117

#20079 This is the fix created for the above issue. Will update here once the fixes are deployed to all the rings.

Fix is deployed to all the rings with task version 6.242.2. Could you all please check and update if you are still facing the issues?
@MSylvia @jonathanjyi @DevTestUser123


Era parsing duplication events

Sometimes some era events looks like are duplicated. Needs to investigate that.

Fixed


Need help/advice to run this connector with strimzi

Hi,
does someone have some ideas how to run this with strimzi-kafka? My idea was to build a docker image and run it within my environment. Can you provide me some steps on how to build a docker image of this connector?
Many Thanks!

I figured it out! If someone else is interested in, I'll provide a small tutorial


ImportError: no such module: socket

How do I get past this error:
Traceback (most recent call last):
  File "./build/bin/grumpc", line 118, in <module>
    sys.exit(main(parser.parse_args()))
  File "./build/bin/grumpc", line 76, in main
    visitor.visit(mod)
  File "/home/localhost/Documents/Dev/play/grumpy/build/lib/python2.7/site-packages/grumpy/pythonparser/algorithm.py", line 41, in visit
    return self._visit_one(obj)
  File "/home/localhost/Documents/Dev/play/grumpy/build/lib/python2.7/site-packages/grumpy/pythonparser/algorithm.py", line 32, in _visit_one
    return getattr(self, visit_attr)(node)
  File "/home/localhost/Documents/Dev/play/grumpy/build/lib/python2.7/site-packages/grumpy/compiler/stmt.py", line 320, in visit_Module
    self._visit_each(node.body)
  File "/home/localhost/Documents/Dev/play/grumpy/build/lib/python2.7/site-packages/grumpy/compiler/stmt.py", line 734, in _visit_each
    self.visit(node)
  File "/home/localhost/Documents/Dev/play/grumpy/build/lib/python2.7/site-packages/grumpy/pythonparser/algorithm.py", line 41, in visit
    return self._visit_one(obj)
  File "/home/localhost/Documents/Dev/play/grumpy/build/lib/python2.7/site-packages/grumpy/pythonparser/algorithm.py", line 32, in _visit_one
    return getattr(self, visit_attr)(node)
  File "/home/localhost/Documents/Dev/play/grumpy/build/lib/python2.7/site-packages/grumpy/compiler/stmt.py", line 287, in visit_Import
    for imp in self.block.root.importer.visit(node):
  File "/home/localhost/Documents/Dev/play/grumpy/build/lib/python2.7/site-packages/grumpy/pythonparser/algorithm.py", line 41, in visit
    return self._visit_one(obj)
  File "/home/localhost/Documents/Dev/play/grumpy/build/lib/python2.7/site-packages/grumpy/pythonparser/algorithm.py", line 32, in _visit_one
    return getattr(self, visit_attr)(node)
  File "/home/localhost/Documents/Dev/play/grumpy/build/lib/python2.7/site-packages/grumpy/compiler/imputil.py", line 88, in visit_Import
    imp = self._resolve_import(node, alias.name)
  File "/home/localhost/Documents/Dev/play/grumpy/build/lib/python2.7/site-packages/grumpy/compiler/imputil.py", line 153, in _resolve_import
    raise util.ImportError(node, 'no such module: {}'.format(modname))
grumpy.compiler.util.ImportError: line 9: no such module: socket

I"m trying to transpile python to Go code on Fedora 25

From hitter it sounds like this is resolved with:
export GOPATH=$PWD/build
export PYTHONPATH=$PWD/build/lib/python2.7/site-packages

Ah, I see this issue has been updated. Re-opening until socket module is supported.

Hi, I have add "grumpy" package into Conda2.7 site packages =)
	[user@devvm grumpy-master]$ ll /home/user/GIT/rest_client/bin
	total 184
	-rw-r----- 1 user dev 88400 May 15 12:49 argparse.py
	-rw-r----- 1 user dev 67971 May 15 14:23 argparse.pyc
	-rw-r----- 1 user dev     0 May 17 15:46 rest_client.go
	-rw-r----- 1 user dev 12033 May 15 14:46 rest_client.py
	-rw-r----- 1 user dev     0 May 15 13:18 __init__.py
	drwxr-x--- 3 user dev  4096 May 15 14:23 requests
	[user@devvm grumpy-master]$ ll /lib/anaconda2/lib/python2.7/site-packages/ | grep requests
	drwxr-x---  3 user dev    4096 Mar 31 09:52 requests
	drwxr-x---  2 user dev    4096 Mar 31 09:52 requests-2.12.4-py2.7.egg-info
	[user@devvm grumpy-master]$ ll /lib/anaconda2/lib/python2.7/site-packages/ | grep grumpy
	drwxr-x---  4 user dev    4096 May 17 15:46 grumpy
	[user@devvm grumpy-master]$ export PYTHONPATH=/lib/anaconda2/lib/python2.7/site-packages/
	[user@devvm grumpy-master]$ echo $PYTHONPATH
	/lib/anaconda2/lib/python2.7/site-packages/
	[user@devvm grumpy-master]$ /lib/grumpy-master/tools/grumpc /home/user/GIT/rest_client/bin/rest_client.py > /home/user/GIT/rest_client/bin/rest_client.go
	Traceback (most recent call last):
	  File "/lib/grumpy-master/tools/grumpc", line 118, in <module>
		sys.exit(main(parser.parse_args()))
	  File "/lib/grumpy-master/tools/grumpc", line 76, in main
		visitor.visit(mod)
	  File "/lib/anaconda2/lib/python2.7/site-packages/grumpy/pythonparser/algorithm.py", line 41, in visit
		return self._visit_one(obj)
	  File "/lib/anaconda2/lib/python2.7/site-packages/grumpy/pythonparser/algorithm.py", line 32, in _visit_one
		return getattr(self, visit_attr)(node)
	  File "/lib/anaconda2/lib/python2.7/site-packages/grumpy/compiler/stmt.py", line 320, in visit_Module
		self._visit_each(node.body)
	  File "/lib/anaconda2/lib/python2.7/site-packages/grumpy/compiler/stmt.py", line 734, in _visit_each
		self.visit(node)
	  File "/lib/anaconda2/lib/python2.7/site-packages/grumpy/pythonparser/algorithm.py", line 41, in visit
		return self._visit_one(obj)
	  File "/lib/anaconda2/lib/python2.7/site-packages/grumpy/pythonparser/algorithm.py", line 32, in _visit_one
		return getattr(self, visit_attr)(node)
	  File "/lib/anaconda2/lib/python2.7/site-packages/grumpy/compiler/stmt.py", line 287, in visit_Import
		for imp in self.block.root.importer.visit(node):
	  File "/lib/anaconda2/lib/python2.7/site-packages/grumpy/pythonparser/algorithm.py", line 41, in visit
		return self._visit_one(obj)
	  File "/lib/anaconda2/lib/python2.7/site-packages/grumpy/pythonparser/algorithm.py", line 32, in _visit_one
		return getattr(self, visit_attr)(node)
	  File "/lib/anaconda2/lib/python2.7/site-packages/grumpy/compiler/imputil.py", line 88, in visit_Import
		imp = self._resolve_import(node, alias.name)
	  File "/lib/anaconda2/lib/python2.7/site-packages/grumpy/compiler/imputil.py", line 153, in _resolve_import
		raise util.ImportError(node, 'no such module: {}'.format(modname))
	grumpy.compiler.util.ImportError: line 6: no such module: requests

but it didn't helps, so I've backed to README and set PYTHONPATH to grumpi site-packages location
	[user@devvm grumpy-master]$ export PYTHONPATH=/lib/grumpy-master/build/lib/python2.7/site-packages
	[user@devvm grumpy-master]$ echo $PYTHONPATH
	/lib/grumpy-master/build/lib/python2.7/site-packages
	[user@devvm grumpy-master]$ /lib/grumpy-master/tools/grumpc /home/user/GIT/rest_client/bin/rest_client.py > /lib/rest_client.go
	Traceback (most recent call last):
	  File "/lib/grumpy-master/tools/grumpc", line 118, in <module>
		sys.exit(main(parser.parse_args()))
	  File "/lib/grumpy-master/tools/grumpc", line 76, in main
		visitor.visit(mod)
	  File "/lib/grumpy-master/build/lib/python2.7/site-packages/grumpy/pythonparser/algorithm.py", line 41, in visit
		return self._visit_one(obj)
	  File "/lib/grumpy-master/build/lib/python2.7/site-packages/grumpy/pythonparser/algorithm.py", line 32, in _visit_one
		return getattr(self, visit_attr)(node)
	  File "/lib/grumpy-master/build/lib/python2.7/site-packages/grumpy/compiler/stmt.py", line 320, in visit_Module
		self._visit_each(node.body)
	  File "/lib/grumpy-master/build/lib/python2.7/site-packages/grumpy/compiler/stmt.py", line 734, in _visit_each
		self.visit(node)
	  File "/lib/grumpy-master/build/lib/python2.7/site-packages/grumpy/pythonparser/algorithm.py", line 41, in visit
		return self._visit_one(obj)
	  File "/lib/grumpy-master/build/lib/python2.7/site-packages/grumpy/pythonparser/algorithm.py", line 32, in _visit_one
		return getattr(self, visit_attr)(node)
	  File "/lib/grumpy-master/build/lib/python2.7/site-packages/grumpy/compiler/stmt.py", line 287, in visit_Import
		for imp in self.block.root.importer.visit(node):
	  File "/lib/grumpy-master/build/lib/python2.7/site-packages/grumpy/pythonparser/algorithm.py", line 41, in visit
		return self._visit_one(obj)
	  File "/lib/grumpy-master/build/lib/python2.7/site-packages/grumpy/pythonparser/algorithm.py", line 32, in _visit_one
		return getattr(self, visit_attr)(node)
	  File "/lib/grumpy-master/build/lib/python2.7/site-packages/grumpy/compiler/imputil.py", line 88, in visit_Import
		imp = self._resolve_import(node, alias.name)
	  File "/lib/grumpy-master/build/lib/python2.7/site-packages/grumpy/compiler/imputil.py", line 153, in _resolve_import
		raise util.ImportError(node, 'no such module: {}'.format(modname))
	grumpy.compiler.util.ImportError: line 6: no such module: requests

Any thoughts how I can convert code to Go? Or I should wait for request lib to be added to supported list...

any ETA when the ImportError - no such module: socket will be resolved?

Heh... The roadmap says "stdlib on July 2017", but I only see it happening if more people put hands on.
(What I mean is: please help if you can)

Yeah, we need more people to work on this project with concrete load map.

My sense is that a big part of the difficulty in recruiting contributions to this project is because it focuses on legacy Python at a time when zero percent of the Python community innovation is going into Python 2.7.  Focusing on transpiling Python 2.7 when everyone else is working towards Python 3.7 is only a setup for a series of efforts to catch up to the current state of the art.

@cclaus I still need working stuff to keep working, but a working Py27 can be a trampoline for a working Py3X. Would it gain more traction if the roadmap have one more point "Py3k Compliance" over the existing ones? (honest question)

Just a quick update on socket functionality: I have a rough working socket module here: https://github.com/trotterdylan/grumpy/commit/cd9cb6ecff41d6962b2fbc3d64d99d561b96b18a
Based on that work, BaseHTTPServer works as expected, which is a good sign. There's a bunch of different parts that went into this and I need to break them out into individual PRs, which I'll do over the next week or two.

@alanjds in answer to your question on May 26th... I say the answer is yes

@alanjds what about @trotterdylan 's code changes? were pull requests made for these?

@JockDaRock I am not tracking this specifically. I am focused on #223 (print statement misbehaviour), that leads to PRs #302 #303 #304 for now.

Btw, Python 3 support is on the roadmap. Was added some months ago.

@cclauss Btw, Python 3 support is on the roadmap. Was added some months ago.

Did anything ever happen with this?
grumpy.compiler.util.ImportError: line 5: no such module: socket

Also, is there and update on https://github.com/google/grumpy/wiki/Roadmap ?

@cclaus We are near to stale, in my opinion. In last 10 months 20+ PRs were merged, but just one of it in the last 6 months.
Talking for myself, I do think it is hard to contribute because Python modules need Go tests to count for coverage. I was working on this but stopped to wait Go 1.10 and had not got back after.
Another thing hindering my progress is the organization of the internal tooling. Is not usable/testable/importable outside of the build folder and environment. I am working on this to have a pip-installable grumpy CLI tool as a "near drop-in replacement of CPython" as possible. But this got uncovered more incompatibilities with CPython import sysyem.
I do think that, after this two got fixed and PEP-3147 got implemented, there could be an speedup on the development because of ease of installing and testing for newcomers.

I still think is possible to met the "Whole CPython unit test suite runs without errors (goal: Sept 2017)" before Nov 2018 or faster, because of the progress I got on the CLI and PEP-3147 on the last few weeks.
For myself, the trick was to set an Android development environment. Now I do had coded about 1:30 hours per day during subway commuting :+1:. Weird, but it's how I am rolling it.


Feat/chat endpoints

Description

End to end implementation of SSE events on /chat endpoint

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update
[X] Re-factoring without changing existing functionality

How Has This Been Tested?

Not added yet

Automated PR Description
Commits in this PR:

7d43753 feat(chat): implement POST SSE event flow end to end
b7a0d7f feat(chat): API and domain models refactor
3346279 feat(cors): implement dynamic CORS origins based on environment and update API host configuration
3ff3b0a deps: poetry.lock update
de03cca deps: update poetry.lock
5b98a58 feat(chat): implement SSE streaming of responses
4f1e669 deps: bump dependencies version
703e328 feat(logging): setup sentry
6521edb feat(logging): setup logfire with fastapi instrumentation
ea98034 model(chunks): added chunks data model optimized for storage and retrieval
0deefae refactor(data model): refactor app data model and introduce document data model
9bcc4d3 refactor(crawler): refactor data structure of crawler module (WIP)
badb0b6 refactor(repository) implement abstract repository and data service
cbb3216 refactor(file, manager): deprecate unused modules
a1462b7 refactor(jobs) cleanup of job data models and job manager
5e0b449 feat(supabase) integrate with supabase

Approved


Creating a perpetually loading MediaItem

I'm trying to work on getting my player's state to reflect a long-running loading task from #1246. One of the options @tonihei recommended was setting the player to an infinitely loading MediaItem, and since overriding the player state itself didn't seem viable due to my inability to update listeners to my new arbitrary state, I decided to go for that.
The issue is that while I can create the MediaItem and identify it within my own MediaSource.Factory, implementing the MediaSource is extremely confusing. It's a low-level API using media buffering/decoding terminology I'm not very familiar with.
 It seems to just cause the player to hang in a weird way.
Can I get any help with this, or at least the closest library MediaSource to what I need that I could modify easily? Thanks.

I understand you are referring to the suggestion to create a player with a media source that never completes preparation in #1246.
I think the idea above can be implemented by a media source that never calls MediaSourceCaller.onSourceInfoRefreshed(MediaSource source, Timeline timeline). The player then waits until this happens while consulting MediaSource.maybeThrowSourceInfoRefreshError() whether the wait is cause by an exception. If maybeThrowSourceInfoRefreshError never throws this results in the constant BUFFERING state until either preparation completes or the playing period changed through a seek or setting another media item.
Looking at WrappingMediaSource I think this would do that when WrappingMediaaSource.prepareChildSource (or 'prepareSourceInternal') would just do nothing. This looks like a good starting ground to me which is based on a subclass that is easy to understand but solid in the sense that it is known to work.

To be honest, I'm still having a hard time understanding even WrappingMediaSource @marcbaechinger.
I really don't know what kind of placeholder values/behaviors I can specify in methods like createPeriod/releasePeriod/getInitialTimeline that will placate ExoPlayer. Any help?

I wonder if you could avoid needing to answer fiddly questions about MediaPeriod implementation by wrapping a SilenceMediaSource inside the WrappingMediaSource, and then overriding WrappingMediaSource.prepareSourceInternal as suggested above, to just do nothing (instead of the default behaviour, which would forward the call to the SilenceMediaSource) - this should introduce a sufficient "break" in control flow to ensure that preparation never completes, but avoids needing to implement lots of MediaSource and MediaPeriod methods directly.

Looks like @icbaker's suggestion worked well enough for my purposes.
I still need to handle other reloading tasks that occur during playback (and would be heavily interrupted by the way android likes to automatically boot my app from foreground), but still.


Fix #863 - Start language automatically

Per https://github.com/microsoft/vscode-extension-samples/issues/807 and the fix in https://github.com/microsoft/vscode-extension-samples/issues/863 the language plug-in needs to be started automatically using activationEvents in package.json..

@microsoft-github-policy-service agree company="SpryMedia Limited"

@aeschli you might want to merge this :-).


energy output not it remote

The energy output was added in (https://github.com/MD-Studio/cerise-mdstudio-das5/commit/5392d104974f0678c4ee13eda65a66360461f4c2) and also in the md_workflow.cwl But the calculation fails because there was not energy output generated.
The problem is that in the remote ~/.cerise/api/steps/mdstudio/gromit.cwl there is not reference to energy.
I removed both the remote ~/.cerise folder and the docker instance and restart everything, but still the reference to the energy does not appear in the gromit.cwl file.

I just deleted the image and pulled it from dockerhub and it works!


fix: change the destination contract for whitelist builder proposal

What

Change the submit proposal button to point to the v2 contract

The proposal was created successfully, LGTM


Introduce UserDefaults based heartbeat storage.

This can be used on tvOS without fear of losing data between launches.
Clients will need to instantiate the class of their choice, then can use the
GULHeartbeatDateStorable protocol if they want to mix and match.

@ryanwilson would you like to bump the podspec version in this PR as well?


save file on macos

hello can i select where file will be stored on macos?

Hey There 👋,
No, you can't. The whole purpose of the plugin is to save/copy files into the download folder.

Hey there 👋,
Yes, you can. While the main purpose of the plugin is to save/copy files into the download folder, there's an extension on the File class that allows you to copy your file to any location you want. Keep in mind that depending on the path you choose, you may need to request extra permissions to be able to write to the path you provided.
await File("filePath").copyTo(folder.path, fileName,         desiredExtension: desiredExtension);


⚠ Bofrost.fr has degraded performance

In 349b529, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 958 ms

Resolved: Bofrost.fr performance has improved in 598b376 after 6 minutes.


[SPIKE] Identify how to add support within the E2E testing architecture to allow choosing what data to run E2E tests against

Problem statement
E2E tests always querying against Staging data is causing a large number of exceptions and PagerDuty alerts. To prevent this from happening, we want to allow E2E tests to run against different types of data including Local, Mock, Staging, and Live.
What you need to know

...

Acceptance criteria

[x] Document Strategies for a user to specify which data to use for E2E tests:

[x] Local
[x] Mock
[x] Staging
[x] Live

[x] Review with team for alignment at Engr Sync

[x] Create prototype that can be demonstrated

[ ] Create follow-on engineering ticket for implementation

We now have a flag called isMockDisabled that when set to true, will run the tests against non mock data.
To run the smoke tests we would need to add a github action that runs the following command
yarn run test:e2e-smoke
To have a test as part of the smoke test, you need to add a tag to the test or group of tests. i,e.
test.describe(
            "When there is no error",
            {
                tag: "@smoke",
            },
            () => {
                test("nav contains the 'Admin tools' dropdown with 'Organization Settings' option", async ({
                    organizationPage,
                }) => {
                 ... testing something
               });
   });

Follow on tickets:
15057


tab text color can change when checked?

i just found the default text color,could i change the text color when it checked?

im sorry,i just find it..

Did you solve?
stl_defaultTabTextColor attribute to support ColorStateList. #3
Active tab will be selected state.

yes！Thanks for your lib. brilliant code~


Sorting projects on user pages by creation date

Per #2206, this one-line change sorts projects on a user's page by time of last release. Works in the compose locally, all tests passing, as expected.
Couple of notes on implementation: I took the approach of doing a simple .sort() on the distributions because we're already fetching all the records anyways, and postgres's ORDER BY requires the first field to equal that of the DISTINCT clause when it's present (docs). I don't think it'll be a big deal, and I'd rather not complicate the query, just to do the sort on the db.
Hope this works for you!

You're missing coverage-- I'm guessing because the lambda isn't getting called.

But to be explicit, this looks fine to me and the rationale for doing it in memory instead of in the DB seems solid.

Ah, so the test that covered the query returned 0 results, I guess. I'll see if I can track that down.

Thanks for your pull request, @mahmoud!
The folks working on Warehouse have just gotten funding to concentrate on improving and deploying Warehouse, and will in December kick off work towards the first milestone: redirecting pypi.python.org to pypi.org. So if you have time to revise this PR, then after that kickoff we'll be pretty responsive with feedback.

Hey @brainwane! How fun, running into you here :)
So this would-be-1-line PR died for me because I couldn't run tests locally, even when the site ran. Unfortunately, the coverage requirement is very high, but the parity between tests and site behavior is low. Specifically, the fake users created for the tests don't have any projects, so my one line was only half-hit. In any case, I followed the instructions in the guide, I got all manner of errors and I just ended up going down the rabbit hole of the Makefile.
I'd like to see some of those resources go toward making that workflow better, because if it's this hard to make a small change to Warehouse, it's pretty hard to tell myself and others that it's a good way to spend their time.
Anyways, I'll keep an eye on this and am happy to give it another go once things improve.

Hi @mahmoud and thanks for the feedback! I'm happy to run into you here as well, and I'm sorry you had this trouble. :(
So it sounds like one problem you ran into is that -- even on master -- you couldn't get the tests to run (is that right?) and another problem you ran into is that the fake (test) users didn't have any projects. I see (via git log -- tests/unit/) that in the last two months we've added a lot more to our test coverage and the available test classes, and I think we've addressed that issue; thanks for bringing it up.
So if you wouldn't mind trying to get the tests to run on master and letting us know -- in IRC in #pypa-dev on Freenode, or in a new issue -- if you still have trouble running them, that would be great! We have, just in the last couple months, smoothed out some of the new contributor snags, and we'd be glad to find and smooth out any more.
Thanks.

@mahmoud I won't bother you about this today, but new contributors generally have an easy time of it now, getting the tests to run, so I hope you'll come back and try again if you have other future improvements to make. :)


Example with different volumes

We can add examples with different volumes.
E.g. we can show examples of computing eigenvectors to check if a point belongs to a certain surface, as it was mentioned in the paper: https://www.sciencedirect.com/science/article/pii/S2352711020303393

Good idea. We can lift the code for that from the paper code. I'll check where it could be


License headers are wrong

license headers in files are showing
Licensed to Apereo under one or more contributor license
  ~ agreements. See the NOTICE file distributed with this work
  ~ for additional information regarding copyright ownership.
  ~ Apereo licenses this file to you under the Apache License,
  ~ Version 2.0 (the "License"); you may not use this file
  ~ except in compliance with the License.  You may obtain a
  ~ copy of the License at the following location:

This isn't Apereo.

https://github.com/uchicago/shibboleth-oidc/commit/f5185429dcba22613464d19aa00e133cf1319809


Support replay of operations with the same replica id

After reloading a web page or performing a similar refresh in other situations, we may need to populate a WorkTree from a set of operations that includes operations produced by the same user that is performing the refresh. Previously, we had only tested applying operations produced by other replicas, and this wasn't working.
This PR also makes some adjustments to gracefully handle applying the same operations multiple times to paper over race conditions when subscribing to new operations and fetching existing operations.
This PR adds coverage for both of these scenarios to our randomized tests.
/cc @probablycorey

@as-cii pointed out that we need to take measures to deal with duplicate buffer operations.

Okay, that was pretty easy. Just waiting on a green build and I will publish a patch version.

Published as 0.1.8.


⚠ Minecraft has degraded performance

In 39dc238, Minecraft (https://www.minecraft.net) experienced degraded performance:

HTTP code: 200
Response time: 1090 ms

Resolved: Minecraft performance has improved in 097d1f7.


MyQ Cover no longer working since 0.92.x.

Home Assistant release with the issue:
0.92.x
Last working Home Assistant release (if known):
0.91.x
Operating environment (Hass.io/Docker/Windows/etc.):
Raspbian GNU/Linux 9.4
Component/platform:
https://www.home-assistant.io/components/myq/
Description of problem:
Since upgrading to 0.92.x the MyQ Cover component generates an error and the garage door can no longer be controlled. I have changed nothing about my configuration other than to upgrade Home Assistant.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
- platform: myq
  username: !secret myq_username
  password: !secret myq_password
  type: chamberlain

Traceback (if applicable):
May  1 20:25:12 skynet hass[10129]: #033[31m2019-05-01 20:25:12 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1648645968] Expecting value: line 1 column 1 (char 0)#033[0m
May  1 20:25:12 skynet hass[10129]: Traceback (most recent call last):
May  1 20:25:12 skynet hass[10129]:   File "/srv/hass/lib/python3.5/site-packages/homeassistant/components/websocket_api/commands.py", line 121, in handle_call_service
May  1 20:25:12 skynet hass[10129]:     connection.context(msg))
May  1 20:25:12 skynet hass[10129]:   File "/srv/hass/lib/python3.5/site-packages/homeassistant/core.py", line 1138, in async_call
May  1 20:25:12 skynet hass[10129]:     self._execute_service(handler, service_call))
May  1 20:25:12 skynet hass[10129]:   File "/usr/lib/python3.5/asyncio/futures.py", line 380, in __iter__
May  1 20:25:12 skynet hass[10129]:     yield self  # This tells Task to wait for completion.
May  1 20:25:12 skynet hass[10129]:   File "/usr/lib/python3.5/asyncio/tasks.py", line 304, in _wakeup
May  1 20:25:12 skynet hass[10129]:     future.result()
May  1 20:25:12 skynet hass[10129]:   File "/usr/lib/python3.5/asyncio/futures.py", line 293, in result
May  1 20:25:12 skynet hass[10129]:     raise self._exception
May  1 20:25:12 skynet hass[10129]:   File "/usr/lib/python3.5/asyncio/tasks.py", line 239, in _step
May  1 20:25:12 skynet hass[10129]:     result = coro.send(None)
May  1 20:25:12 skynet hass[10129]:   File "/srv/hass/lib/python3.5/site-packages/homeassistant/core.py", line 1160, in _execute_service
May  1 20:25:12 skynet hass[10129]:     await handler.func(service_call)
May  1 20:25:12 skynet hass[10129]:   File "/srv/hass/lib/python3.5/site-packages/homeassistant/helpers/entity_component.py", line 194, in handle_service
May  1 20:25:12 skynet hass[10129]:     required_features
May  1 20:25:12 skynet hass[10129]:   File "/srv/hass/lib/python3.5/site-packages/homeassistant/helpers/service.py", line 316, in entity_service_call
May  1 20:25:12 skynet hass[10129]:     future.result()  # pop exception if have
May  1 20:25:12 skynet hass[10129]:   File "/usr/lib/python3.5/asyncio/futures.py", line 293, in result
May  1 20:25:12 skynet hass[10129]:     raise self._exception
May  1 20:25:12 skynet hass[10129]:   File "/usr/lib/python3.5/asyncio/tasks.py", line 239, in _step
May  1 20:25:12 skynet hass[10129]:     result = coro.send(None)
May  1 20:25:12 skynet hass[10129]:   File "/srv/hass/lib/python3.5/site-packages/homeassistant/helpers/service.py", line 337, in _handle_service_platform_call
May  1 20:25:12 skynet hass[10129]:     await getattr(entity, func)(**data)
May  1 20:25:12 skynet hass[10129]:   File "/srv/hass/lib/python3.5/site-packages/homeassistant/components/myq/cover.py", line 103, in async_open_cover
May  1 20:25:12 skynet hass[10129]:     await self._device.open()
May  1 20:25:12 skynet hass[10129]:   File "/srv/hass/lib/python3.5/site-packages/pymyq/device.py", line 184, in open
May  1 20:25:12 skynet hass[10129]:     if not await self._set_state(1):
May  1 20:25:12 skynet hass[10129]:   File "/srv/hass/lib/python3.5/site-packages/pymyq/device.py", line 145, in _set_state
May  1 20:25:12 skynet hass[10129]:     'AttributeValue': state,
May  1 20:25:12 skynet hass[10129]:   File "/srv/hass/lib/python3.5/site-packages/pymyq/api.py", line 151, in _request
May  1 20:25:12 skynet hass[10129]:     return await resp.json(content_type=None)
May  1 20:25:12 skynet hass[10129]:   File "/srv/hass/lib/python3.5/site-packages/aiohttp/client_reqrep.py", line 1036, in json
May  1 20:25:12 skynet hass[10129]:     return loads(stripped.decode(encoding))
May  1 20:25:12 skynet hass[10129]:   File "/usr/lib/python3.5/json/__init__.py", line 319, in loads
May  1 20:25:12 skynet hass[10129]:     return _default_decoder.decode(s)
May  1 20:25:12 skynet hass[10129]:   File "/usr/lib/python3.5/json/decoder.py", line 339, in decode
May  1 20:25:12 skynet hass[10129]:     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
May  1 20:25:12 skynet hass[10129]:   File "/usr/lib/python3.5/json/decoder.py", line 357, in raw_decode
May  1 20:25:12 skynet hass[10129]:     raise JSONDecodeError("Expecting value", s, err.value) from None
May  1 20:25:12 skynet hass[10129]: json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)#033[0m

My issue started today as well.  However I have not upgraded.  I'm still on 0.91.1.  I also noticed that after seeing this error I went to the myq app on my iphone.  While it does still work there is a notification saying that you must download a new app and that the existing app is no longer supported.

I've been having issues since yesterday as well

This has already been fixed and will make it in 0.92.2 (which I pray arrives shortly). https://github.com/home-assistant/home-assistant/pull/23600

This issue can be closed, a fix will be in 0.92.2.

Duplicate of #23582

I'm having this issue now, frequently get into "entity not found" status with MyQ


Feature/edge and vertex methods

These signatures should work
vertex(String)
vertex (Closure)
vertex (Map)
vertex (Map, Closure)
vertex (String, Closure)
vertex (String, Map)
vertex (String, Map, Closure)

The resulting vertex should allow leftShift to configure the vertex
vertex << {
    weight = name.lenght ()
}

These can be used in combination.
vertex ('a', traits:Weight) << {
    weight = 5
}

If we do
vertex 'a'

then do
vertex('a') {
    name = 'b'
}

what happens? There needs to either be a way to rename vertices or renaming cannot be allowed. If you can change it then all of the edges pointing to this vertex need to be changed. What happens if the name is lazy:
def x = 'lazy'
vertex "name is ${->x}"

and then change x later
x = 'more lazy'


Fixed code display mistakes

Added correct translation to Russian. Embedded code that did not display correctly in this article.

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

LGTM


Cannot use module with dynamic import since Nuxt 3.4.2

Environment

Operating System: Linux
Node Version:     v16.14.2
Nuxt Version:     3.4.2
Nitro Version:    2.4.1
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      -
Runtime Modules:  -
Build Modules:    -

Reproduction
https://stackblitz.com/edit/github-ampofb?file=app.vue
In this demo Nuxt is locked to v3.4.2. Set the version to 3.4.1 and run npm i && npm run dev to see what the output should actually look like.
Describe the bug
When I import the npm package verovio since nuxt 3.4.2 I will get an error Failed to resolve entry for package. Probably this is because Vite was bumped to 4.3 in nuxt 3.4.2. Any idea how I can get around this issue? Feel free to move this issue to vitejs/vite when it is not directly related to nuxt.
Additional context
Probably this error occurs because there is a dynamic import statement in verovio/wasm-hum (which is created by Emscripten):
const{createRequire:createRequire}=await import("module");

Logs
[plugin:vite:asset-import-meta-url] Failed to resolve entry for package "~/node_modules/.cache/vite/client/deps". The package may have incorrect main/module/exports specified in its package.json.
~/node_modules/.cache/vite/client/deps/verovio_wasm-hum.js

Yes, it is the same issue without Nuxt: https://stackblitz.com/edit/github-rjaduf?file=src%2Fpages%2FHome.vue
Change Vite to ~4.2.0 in package.json if you want to see what the output should actually look like.
@danielroe should I report this as a new issue in the Vite repo or can you move it over?

Probably not related to this issue, but when I lock Nuxt to 3.4.1 all CSS is missing on the website when I run npm run build && node .output/server/index.mjs. I do not have a reproduction for this other than my project: https://github.com/WolfgangDrescher/lassus-tricinium-project/tree/a9c3409b4d491d6fff2fc7400d95d9452adee94f

So far I have not received any feedback on the issue in the Vite repository. But since the Nuxt team surely has a good knowledge about Vite I would like to ask here again how I could address and debug this issue. Does anyone have any tips for me where would be a good starting point to fix the issue?

This seems to work in the latest version of Nuxt/Vite.

Thank you for the update. It looks like it is working again since Vite v5.1.1. At least for my use case:
https://stackblitz.com/edit/github-rjaduf-caswxa?file=package.json


Windows login for external user using Smartcard

Azure documentation issue guidance
Thanks for opening an issue in the Azure technical documentation repository.
We use GitHub issues as the primary channel for customer and community feedback about the Azure documentation.
Creating an issue
We prefer that you create documentation feedback issues using the Feedback link on the published article - the feedback control on the doc page creates an issue that contains all the article details so you can focus on the feedback part.
You can also create a feedback issue here in the repo. If you do this, please make sure your issue lists:

[ ] The relevant Azure service or technology.
[ ] A link to the published documentation article that you have feedback about.
[ ] Clear, specific feedback that the author can act on.

Pull requests and article contributions
If you know the change that is needed in an article, we encourage you to submit the changes directly using a pull request. If the change is large, or if you want to contribute an entire article, follow these guidelines:

[ ] Don't surprise us with a big pull request or a pull request with a new article! Submit an issue that describes the details of the proposed large change or new article.
[ ] Include the service or technology area.

We'll route the issue to the appropriate content team for review and discussion.
Tech support and product feedback
If you would like to contact Microsoft about other things, such as product feedback or tech support, please review these guidelines:

If you need technical support using Azure, the paid and free support options are described here: https://azure.microsoft.com/support/options/.

Each article in the Azure technical documentation contains a product feedback button - it's best to submit product feedback directly from a relevant article. Otherwise, you can submit product feedback for most Azure products in the following product feedback forum: https://feedback.azure.com/forums/34192--general-feedback.

Dell - Internal Use - Confidential
Federation related document above shows that for a user external to the domain to login using smart card, Admin has to expose a web proxy. The way I understand this is that user would need to login to windows locally (with SC) and then login to this web proxy using smart card again to gain access to AAD. Is this correct? Is there a way to configure windows login to authenticate through web proxy either always or at least while external to the network? Are there more articles regarding this available? The relevant information from the article documented below:
https://docs.microsoft.com/en-us/azure/active-directory/connect/active-directory-aadconnect-user-signin
The Federation that uses a new or existing farm with AD FS in Windows Server 2012 R2 section. Below I've copied what it says in case you have difficulty finding it!
With federated sign-in, your users can sign in to Azure AD-based services with their on-premises passwords. While they're on the corporate network, they don't even have to enter their passwords. By using the federation option with AD FS, you can deploy a new or existing farm with AD FS in Windows Server 2012 R2. If you choose to specify an existing farm, Azure AD Connect configures the trust between your farm and Azure AD so that your users can sign in.
If you're deploying a new farm, you need:
•A Windows Server 2012 R2 server for the federation server.
•A Windows Server 2012 R2 server for the Web Application Proxy.
•A .pfx file with one SSL certificate for your intended federation service name. For example: fs.contoso.com.
If you're deploying a new farm or using an existing farm, you need:
•Local administrator credentials on your federation servers.
•Local administrator credentials on any workgroup servers (not domain-joined) that you intend to deploy the Web Application Proxy role on.
•The machine that you run the wizard on to be able to connect to any other machines that you want to install AD FS or Web Application Proxy on by using Windows Remote Management.

@minhaj-dell Thanks for the feedback! We are currently investigating and will update you shortly.

@minhaj-dell That is not correct and you don't have to do that.  Purpose of federated sign-in is to get you authenticated through the on-premise ADFS server and application proxy resides on-premises network which allows ADFS to be accessible from external users.  Please refer to other documentations - Integrate your on-premises directories with Azure Active Directory

@SurabhSharma thanks, I did review these links but don't have full clarification.  So I understand AD FS being important, with Web proxy I envision following:

User loads WAP page
Enters pin for smartcard
WAP redirects to AD FS
ADFS authenticates with AD and gets TGT
ADFS redirects to AAD with TGT.
AAD returns access token
ADFS generates another token in response to the token received from AAD and sends it to the end user for access to AAD.

Is above correct?
If this is the case then to load the WAP page (1st page) user had to be already logged into windows.  And that's what I was asking. So the step one for outside the domain login is to

locally login into windows.
load the WAP page
and so on.

Unless I can configure WINlogin to directly access the WAP  or expose ADFS to outside world, I don't see how else this would works?

@minhaj-dell  I am not able to understand what exactly you mean by WAP page ? Web Application Proxy is used to provide access to applications outside of the corporate network.  It works like this -

User tries to access the application using the web-browser.
The application delegates authentication to Azure Active Directory (AAD)
AAD redirects the client to the identity provider (In this case ADFS) that is authoritative for the account via Web Application Proxy Server,
Once the user has been authenticated, ADFS issues a Security Token to the user or device which is presented to AAD in Azure.
AAD accepts the security token received as prrof that the user has been authenticated and sends a security token to applications allowing the user to access the application.

@SaurabhSharma-MSFT Thanx that was useful.  However, I am trying to understand how an organization can support Smartcard for logging into windows.  The scenario you described clarifies my misconception which was  actually based on captured traffic that someone on the internet had shared.  However what about logging into windows?  When the user is off prem how does this work with Smartcard?  It seems windows would log the user into windows on cached credentials without being able to access AD.  The user would then access WAP and your sequence would continue from there, correct?
So if I was to write a Credential provider for windows it would work very differently between password and SC.  In case of password I can be in pure Azure setup and directly send credentials to AAD and receive a token.  In SC case I guess I'd need to always access WAP which would eventually return back an access token?

@minhaj-dell  Logging into windows is different from the current concept of AD.  It is based on the local user account available on the computer which can include a domain joined user if your computer is joined to a domain.  Smart Card is used to authenticate your identity when you need to join to your corporate network from outside the premises.


Blogpost Social Media Post - 31st July 2024

In today’s blogpost, our COO at Clent Africa shared the numerous benefits of using biodegradable products and how they can positively impact our communities in Africa:

Reducing Waste: Biodegradable products break down naturally, reducing landfill waste volume.

Protecting Waterways: They prevent harmful plastics from polluting rivers, lakes, and oceans, preserving aquatic life.

Promoting Soil Health: Biodegradable products decompose into natural substances that enrich soil, benefiting agriculture.

Supporting Local Industries: Choosing locally-made biodegradable products creates jobs and boosts sustainable development.

Reducing Carbon Footprint: These products require less energy to produce and decompose, lowering greenhouse gas emissions.

Enhancing Public Health: Reducing plastic pollution helps prevent the spread of toxins that can harm human health.

Encouraging Sustainable Practices: Adopting biodegradable products promotes environmental awareness and responsible consumption.

Stay informed by reading and sharing the full article with your network. By making these eco-friendly choices, we can safeguard our landscapes and ensure a healthier future for all. Let's build a greener Africa together!
#SustainableSunday #Biodegradable #EcoChoices #GreenLiving #GreenAfrica #CLENTAfrica #SustainableAfrica 🌿♻

@clentafrica/wg-design

Are we to create a poster containing the above context? @yigakpoa

Yes please @AyodejiOnigbogi. 1:1 for instagram. You can just pick any parts to highlight

Hi @AyodejiOnigbogi https://www.canva.com/design/DAGKigFhV6g/tff6RZVWan09M9k3-V5n6Q/edit?utm_content=DAGKigFhV6g&utm_campaign=designshare&utm_medium=link2&utm_source=sharebutton

I love that i can see the soil & the growing plant 🌱💃. Really great work! However, i’m thinking the logo can be on the right so it’s not too much.
I’m also thinking we need variations of this logo (like a white & black version 🤔). I don't know what @clentafrica/wg-design thinks about that. Eg if the “CLENT Africa” was orange and white, it might have been better.
But in the meantime, can you share the link to this design, so I can do some tiny edits?
PS. I really really love this.
Also @CharlesSodipo @chibuikemezesionwu & Uchechi are our reviewers o, I’m not a designer 🏃♀😭

@yigakpoa
https://www.canva.com/design/DAGL-z6SDPg/7sHeONmJAT_w-rjkuISmaQ/edit?utm_content=DAGL-z6SDPg&utm_campaign=designshare&utm_medium=link2&utm_source=sharebutton

What do you think about this @AyodejiOnigbogi ?

You have my  Applause 👏👏
But let's hear from @clentafrica/wg-design

What do you think about this @AyodejiOnigbogi ?

@yigakpoa this is beautiful

Beautiful Design!
Just like Yiga said, we are allowed to change the color of the logo, to make it visible and visually appealing with choice of colors, picture and the entire design (using the brand guidelines).
This is my take.


[SECURITY] Data Source Samples Use Environment Keys

update data source samples that require user to update config.json with secrets to instead inject environment variables into default prompt using factory.

FYI - different data source type has different secret name, for example, azure search using api key, but cosmos db is using connection string.

Maybe there is no need to do that. Azure security requires no secret can be added into the download .zip file. we have already scrubbed the .zip. so moving secret from config.json to .env doesn't help. the developer must manually add the secrets here and there on their own after download.


enhance: replace the default sandbox image for pouchd with google-released image

Signed-off-by: Zou Rui<EMAIL_ADDRESS>
Ⅰ. Describe what this PR did
Right now, cri-test will report flaky test from time to time, due to the default sandbox image is at home, while travis, which is located abroad, is used to run cri-test.
This pr changs the default sandbox image registry.cn-hangzhou.aliyuncs.com/google-containers/pause-amd64:3.0 to gcr.io/google_containers/pause-amd64:3.0, to reduce the possibility of random test errors caused by image pulling failure.
Ⅱ. Does this pull request fix one issue?

NONE
Ⅲ. Describe how you did it
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

LGTM


Signed up for API 3.0 but error still says I am using API 2.5

Hopefully this is an easy fix but I signed up for API 3.0 using my credit card (and set the limit to 1000 calls).  I generated a new API Key and added to my settings but I keep getting the error.  It's been a few days and nothing has changed.  Not sure what I am doing wrong?
[14/06/2024, 21:39:05] [Weather] warning: You need to change your OpenWeather subscription to OneCall 3.0, see https://openweathermap.org/one-call-transfer
[14/06/2024, 21:39:05] [Weather] openweathermap request 2: GET 2.5/onecall?lat=33.8703&lon=-117.9253&exclude=minutely
[14/06/2024, 21:39:05] [Weather] warning: openweathermap request 2: openweathermap status: 401 Invalid API key. Please see https://openweathermap.org/faq#error401 for more info.

Looks like the Homebridge WS logic to persist the OneCall version doesn’t cope correctly with a changed API key.  The cached accessory is still linked to OneCall 2.5, which, of course, the new API key doesn’t support.


Pin sql server due to JDK version

See https://github.com/apache/incubator-pekko-persistence-jdbc/pull/133 as to why

also see https://github.com/apache/incubator-pekko-persistence-jdbc/issues/113 - we are not using an up to date version of this jar but new versions fail our tests


Adding ASGs to cluster after initial creation?

I have issues
I'm hitting a mental block here and am curious if this module can apply to the behavior I'm lookin for.
We are looking to deploy a couple of rather monolithic clusters with ASGs for different types of applications.  I've forked the module to suit our environment (especially since we need to stay on 4.0.2 because of TF 11), but cannot seem to figure out how to call the module to create additional ASGs in a cluster that's been set up.
Right now I have created two mixed instance type ASGs using the module for cluster A; if I want to iterate and create another ASG (and eventually yet another one), while keeping all of the others live, is this possible?
Apologies for the newb question, and thank you for the advice!
I'm submitting a...

[ ] bug report
[ ] feature request
[X] support request
[ ] kudos, thank you, warm fuzzy

Sure that's possible (if I understand correctly). Perhaps you are missing the xx_count variables?
Here's one of our clusters:
  worker_group_count                       = 0
  worker_group_launch_template_count       = 1
  worker_group_launch_template_mixed_count = 2

  worker_groups_launch_template = [
    {
      name                = "on-demand-1"
      instance_type       = "m5.xlarge"
      asg_max_size        = 40
      asg_min_size        = 0
      autoscaling_enabled = false
  ]

  worker_groups_launch_template_mixed = [
    {
      name                     = "prom-spot-1"
      override_instance_type_1 = "r5.4xlarge"
      override_instance_type_2 = "r5a.4xlarge"
      override_instance_type_3 = "r5ad.4xlarge"
      override_instance_type_4 = "c5.9xlarge"
      spot_instance_pools      = 4
      asg_max_size             = 1
    },
    {
      name                     = "spot-1"
      override_instance_type_1 = "m5.2xlarge"
      override_instance_type_2 = "c5.2xlarge"
      override_instance_type_3 = "t3.2xlarge"
      override_instance_type_4 = "r5.2xlarge"
      spot_instance_pools      = 4
      asg_max_size             = 30
      autoscaling_enabled      = true
  ]


Make QDLDL Julia v1.0 compatible

The QDLDL code in this branch works in Julia v1.0 and passes the added unit test.

Pull Request Test Coverage Report for Build 102

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 97:
0.0%

Covered Lines:
82

Relevant Lines:
82

💛  - Coveralls


[todo] Change to use native Dom Websocket instead of socket.io library

It's not necessary to use a third party library in https://github.com/Chatie/wechaty/blob/master/src/puppet-web/wechaty-bro.js
Kiss it simple, stupid.

Done.


HikariCP connection pool, Connections is not closed???

Extra

Why??
It looks like connections is not be closed???
My code is below:

but log is:

if success, the log is:

Please give me help, Thanks very much!!

The autoReconnect=trueand autoReconnectForPools=true url params look suspicious to me.
Anyway, could you put together a small reproducer on GH to show the problem? Code in screenshots is impossible to work with. Thank you

@tsegismont Occasionally this happens, and sometimes it doesn't take a whole day to run.
DeviceVehicleServiceImpl.java:
public class DeviceVehicleServiceImpl implements IDeviceVehicleService {
private static final Logger logger = LoggerFactory.getLogger(DeviceVehicleServiceImpl.class);

private static Vertx vertx;

private RedisDeviceVehicleRepositoryImpl redisDeviceVehicleRepository;

private MysqlDeviceVehicleRepositoryImpl mysqlDeviceVehicleRepository;

public DeviceVehicleServiceImpl(Vertx vertx){
    this.vertx = vertx;
    this.redisDeviceVehicleRepository = new RedisDeviceVehicleRepositoryImpl(vertx);
    this.mysqlDeviceVehicleRepository = new MysqlDeviceVehicleRepositoryImpl(vertx);
}

@Override
public Future<Boolean> insert(DeviceVehicleEntity deviceVehicleEntity) {
    Future<Boolean> result = Future.future();

    Future<Boolean> redisFut = redisDeviceVehicleRepository.insert(deviceVehicleEntity);

    Future<Boolean> mysqlFut = mysqlDeviceVehicleRepository.insert(deviceVehicleEntity);

    CompositeFuture.all(redisFut, mysqlFut).setHandler(res -> {
        if(res.succeeded()){
            logger.trace("insert device vehicle entity to redis and mysql successfully.");
            result.complete(true);
        }
        else {
            logger.error("Failed insert device vehicle entity to redis or mysql.", res.cause());
            result.fail(res.cause());
        }
    });

    return result;
}

}
AbstractMysqlRepository.java:
public abstract class AbstractMysqlRepository {
private static final Logger logger = LoggerFactory.getLogger(AbstractMysqlRepository.class);

private final static JsonObject mysqlConfig = Vertx.currentContext().config().getJsonObject("mysql");
private final static String ip = mysqlConfig.getString("ip", "<IP_ADDRESS>");
private final static String user = mysqlConfig.getString("user", "root");
private final static String password = mysqlConfig.getString("password", "123456");
private final static String dbName = mysqlConfig.getString("dbname", "obd");
private final static int port = mysqlConfig.getInteger("port", 3306);
private final static int poolSize = mysqlConfig.getInteger("max_pool_size", 80);
private final static boolean useSSL = mysqlConfig.getBoolean("usessl", false);

private final static String jdbcUrl = "jdbc:mysql://" + ip + ":" + port + "/" + dbName
                                    + "?useSSL=" + useSSL
                                    + "&serverTimezone=Asia/Shanghai"
                                    + "&autoReconnect=true&failOverReadOnly=false&autoReconnectForPools=true"
                                    + "&useUnicode=true&characterEncoding=utf8";

private final static JsonObject hikaricp_config = new JsonObject()
        .put("provider_class", "io.vertx.ext.jdbc.spi.impl.HikariCPDataSourceProvider")
        .put("jdbcUrl", jdbcUrl)
        .put("driverClassName", "com.mysql.cj.jdbc.Driver")
        .put("minimumIdle", 40)
        .put("maximumPoolSize", poolSize)
        .put("cachePrepStmts", true)
        .put("prepStmtCacheSize", 250)
        .put("prepStmtCacheSqlLimit", 2048)
        .put("useServerPrepStmts", true)
        .put("useLocalSessionState", true)
        .put("useLocalTransactionState", true)
        .put("rewriteBatchedStatements", true)
        .put("cacheResultSetMetadata", true)
        .put("cacheServerConfiguration", true)
        .put("elideSetAutoCommits", true)
        .put("maintainTimeStats", false)
        .put("idleTimeout", 60000)
        .put("connectionTimeout", 60000)
        .put("maxLifetime", 300000)
        .put("validationTimeout", 3000)
        .put("leakDetectionThreshold", 5000)
        .put("username", user)
        .put("password", password);

JDBCClient jdbcClient;

AbstractMysqlRepository(Vertx vertx){
    jdbcClient = JDBCClient.createShared(vertx, hikaricp_config);
}

Handler<AsyncResult<SQLConnection>> connHandler(Future future, Handler<SQLConnection> handler) {
    return conn -> {
        if (conn.succeeded()) {
            final SQLConnection connection = conn.result();
            handler.handle(connection);
        } else {
            logger.error("Failed get mysql connection.", conn.cause());
            future.fail(conn.cause());
        }
    };
}

}
MysqlDeviceVehicleRepositoryImpl.java:
public class MysqlDeviceVehicleRepositoryImpl extends AbstractMysqlRepository {
private static final Logger logger = LoggerFactory.getLogger(MysqlDeviceVehicleRepositoryImpl.class);

private static final String SQL_INSERT = "INSERT INTO `device_vehicle` " +
		"(`Imei`,`Vin`,`LinkedTime`) VALUES (?,?,?) ON DUPLICATE KEY UPDATE Vin=VALUES(Vin), LinkedTime=VALUES(LinkedTime)";

private static final String SQL_QUERY = "SELECT count(*) As cnt FROM device_vehicle WHERE Imei = ? and Vin=?";

public MysqlDeviceVehicleRepositoryImpl(Vertx vertx){
	super(vertx);
}

public Future<Boolean> insert(DeviceVehicleEntity deviceVehicleEntity) {
	Future<Boolean> result = Future.future();

	SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	final String linkedTime = format.format(deviceVehicleEntity.getLinkedTime());

	jdbcClient.getConnection(connHandler(result, connection -> {
		connection.updateWithParams(SQL_INSERT, new JsonArray()
				.add(deviceVehicleEntity.getImei())
				.add(deviceVehicleEntity.getVin())
				.add(linkedTime),r -> {
			if (r.succeeded()) {
				logger.trace("insert or update vehicle Vin successfully.");
				result.complete(true);
			} else {
				logger.error("failed insert or update vehicle Vin. Imei: " + deviceVehicleEntity.getImei(), r.cause());
				result.fail(r.cause());
			}
			connection.close();
		});
	}));

	return result;
}

}
if success, the log is:
2018-05-07 18:11:26.268 [vert.x-worker-thread-14] TRACE com.gzfns.obdpps.repository.mysql.MysqlDeviceVehicleRepositoryImpl - insert or update vehicle Vin successfully.
2018-05-07 18:11:26.269 [vert.x-worker-thread-3] TRACE com.gzfns.obdpps.service.DeviceVehicleServiceImpl - insert device vehicle entity to redis and mysql successfully.
else, the log is:
2018-05-07 18:13:44.204 [vertx-jdbc-service-get-connection-thread] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Timeout failure stats (total=100, active=100, idle=0, waiting=0)
2018-05-07 18:13:44.204 [vert.x-worker-thread-13] ERROR com.gzfns.obdpps.repository.mysql.AbstractMysqlRepository - Failed get mysql connection.
java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 60000ms.
at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:676) ~[obdpps-0.0.1-fat.jar:?]
at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:190) ~[obdpps-0.0.1-fat.jar:?]
at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:155) ~[obdpps-0.0.1-fat.jar:?]
at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:100) ~[obdpps-0.0.1-fat.jar:?]
at io.vertx.ext.jdbc.impl.JDBCClientImpl.lambda$getConnection$3(JDBCClientImpl.java:186) ~[obdpps-0.0.1-fat.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_152]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_152]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_152]
2018-05-07 18:13:44.205 [vert.x-worker-thread-13] ERROR com.gzfns.obdpps.service.DeviceVehicleServiceImpl - Failed insert device vehicle entity to redis or mysql.
java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 60000ms.
at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:676) ~[obdpps-0.0.1-fat.jar:?]
at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:190) ~[obdpps-0.0.1-fat.jar:?]
at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:155) ~[obdpps-0.0.1-fat.jar:?]
at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:100) ~[obdpps-0.0.1-fat.jar:?]
at io.vertx.ext.jdbc.impl.JDBCClientImpl.lambda$getConnection$3(JDBCClientImpl.java:186) ~[obdpps-0.0.1-fat.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_152]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_152]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_152]
Thanks for your help! Thanks for your comments!

@tsegismont I find connection leak log, but I don't know how to solve the problem, please give me some help, thanks a lot!
The log is below:
2018-05-08 15:38:09.861 [HikariPool-1 housekeeper] WARN  com.zaxxer.hikari.pool.ProxyLeakTask - Connection leak detection triggered for com.mysql.cj.jdbc.ConnectionImpl@333b50f9 on thread vertx-jdbc-service-get-connection-thread, stack trace follows
java.lang.Exception: Apparent connection leak detected
at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:100) ~[obdpps-0.0.1-fat.jar:?]
at io.vertx.ext.jdbc.impl.JDBCClientImpl.lambda$getConnection$3(JDBCClientImpl.java:186) ~[obdpps-0.0.1-fat.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_152]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_152]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_152]
Thanks for your comment.

As commented previously, the reconnect parameters in the JDBC url look
suspicious to me. Have you tried without them?
And when I talked about a reproducer, I was thinking about a small,
simplified project on GitHub which we can fork and run locally.

@tsegismont There is no problem with local debugging, and the problem will occur in a few hours.
the reconnect parameters in the JDBC url had deleted, I have tried without them.

/*
This can block until a connection is free.
We don't want to do that while running on a worker as we can enter a deadlock situation as the worker
might have obtained a connection, and won't release it until it is run again
There is a general principle here:
User code should be executed on a worker and can potentially block, it's up to the user to deal with
deadlocks that might occur there.
If the service code internally blocks waiting for a resource that might be obtained by user code, then
this can cause deadlock, so the service should ensure it never does this, by executing such code
(e.g. getConnection) on a different thread to the worker pool.
We don't want to use the vert.x internal pool for this as the threads might end up all blocked preventing
other important operations from occurring (e.g. async file access)
*/
@tsegismont What does this note mean?
connection leak seems to be happening here???

We really need a small reproducer. It doesn't matter if the reproducer takes time to fail. The purpose is to reproduce. Without a reproducer it is hard to help as we can only do wild guessing.

@tsegismont I have upload all code to github, please git clone from:
https://github.com/laudylcp/obdgateway.git
Thanks for your help!

@laudylcp the repository contains a lot of code, no instructions to setup the database, ... etc. Please provide a reproducer (small piece of code with, ideally, an automated test, at least instructions to reproduce manually).

@tsegismont Thanks, I had changed Data Access Layer to mybatis, The problem had resolved. thanks for your reply!


{AKS} Release aks-preview

This checklist is used to make sure that common guidelines for a pull request are followed.
Update history and release a new version of aks-preview.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

AKS


Fix a false positive for Style/StringLiterals

Follow up to https://github.com/rubocop/rubocop/commit/a7ef72aa8c35336b169c5d78e2925fc27d739fcb#r57503462.
This PR fixes a false positive for Style/StringLiterals when using '\s' with EnforcedStyle: double_quotes

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

Makes sense.
I take the intention here is to limit this to recognised control character escape sequences and quote escaping?
Because it's worth nothing even things like '\z', for example, is not the same as "\z" (which equates to "z") - you still need "\\z".

With this change, 'No mutations found \o/ \o/' is now corrected to "No mutations found \\o/ \\o/". I'm not sure if that was the intention @koic?

Yeah, I'm seeing a lot of similar problems across our codebase. I'm not entirely convinced about the rationale behind this change - we use double quoted strings everywhere, unless the string needs literal backslashes in it (where we use single-quotes to avoid the double-backslash).

To clarify my point here: this applies to any character. Or at least I can't find any that behave differently. Am I missing something?

Correct - in all your examples, none of the double-quoted strings have a backslash in their 'output', and all the single-quoted ones do.