[iOS] Prompt | Confirmation Alert Missing Before Deleting Section-Level Downloaded Videos #456

[iOS] Prompt | Confirmation Alert Missing Before Deleting Section-Level Downloaded Videos #456

Hi team, this functionality will soon be replaced with this one:

Should we merge this PR? I'm good to merge


svelte-language-server: root dir not found on folder with square brackets

Description
Describe the bug
So i'm using Neovim development/nightly build due to the fact that it allows me to use Netrw to access directories that have brackets around them, so everything works fine, in React/Lua and every other language server, but in svelte it just throws an error saying not found, more info will be found below.
My Nvim Config can also be found here
Reproduction
Try to access a directory that's wrapped with square brackets, and the Lsp doesn't start up.
Expected behaviour
The LSP is expected to start and work normally.
System Info

OS: Windows 11
IDE: Neovim (Nightly)

Which package is the issue about?
svelte-language-server installed using Mason.
LspInfo:
==============================================================================
lspconfig:                                 require("lspconfig.health").check()

LSP configs active in this session (globally) ~
- Configured servers: svelte, tailwindcss, lua_ls, ts_ls
- OK Deprecated servers: (none)

LSP configs active in this buffer (id=13) ~
- Language client log: ~\AppData\Local\nvim-data\lsp.log
- Detected filetype: `svelte`
- 1 client(s) attached to this buffer
- Client: tailwindcss (id: 1, bufnr: [13])
  filetypes:       aspnetcorerazor, astro, astro-markdown, blade, clojure, django-html, htmldjango, edge, eelixir, elixir, ejs, erb, eruby, gohtml, gohtmltmpl, haml, handlebars, hbs, html, htmlangular, html-eex, heex, jade, leaf, liquid, markdown, mdx, mustache, njk, nunjucks, php, razor, slim, twig, css, less, postcss, sass, scss, stylus, sugarss, javascript, javascriptreact, reason, rescript, typescript, typescriptreact, vue, svelte, templ
  root directory:  Running in single file mode.
  cmd:             ~\AppData\Local\nvim-data\mason\bin\tailwindcss-language-server.CMD --stdio
  autostart:       true
- Other clients that match the "svelte" filetype:
- Config: svelte
  filetypes:         svelte
  root directory:    ~\Desktop\test-server-ox\data\resources\[cfx]\[gameplay]\new_chat\Not found.
  cmd:               ~\AppData\Local\nvim-data\mason\bin\svelteserver.CMD --stdio
  cmd is executable: true
  autostart:         true
  custom handlers:

Managed to fix this by doing this on my LSP Config:
		svelte = function()
			require("lspconfig").svelte.setup({
				capabilities = lsp_capabilities,
				root_dir = function()
					return vim.fn.getcwd()
				end,
			})
		end,

I'm pretty sure this only works on Neovim 11 Development/Nightly build, because it seems like they've fixed allot of weird issues with square brackets in this version.

Thanks for the followup. But it's not clear whether you are saying any action is needed here. Are you suggesting a change to the svelte config?
If this is fixed in Nvim 0.11 then there is nothing left to be done.

@justinmk Sorry for the late reply, so NVIM 0.11 fixes the issue with square brackets in general, but somehow the Svelte LSP still has that issue, but updating the root_dir function of that LSP to just use the vim.fn.getcwd() func from neovim seems to fix the issue, so yes manual action is needed for me personally.

somehow the Svelte LSP still has issues handling square brackets on folders

Does that issue manifest with the same server + config + paths, in other editors (e.g. vscode)? If not, maybe the Nvim core lsp client needs a fix.

in VSCode i've never had issues with square brackets, any LSP i've used in there has always worked doesn't matter what folder i was in, as far as i can remember.

This is the same as https://github.com/neovim/neovim/issues/19976 , right?


This plugin is not working on iOS.

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behaviour:

Enter VPA
Trigger payment
Go to opened UPI app
...

Expected behaviour
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Environmental Details

OS: [e.g. Android 11]
Device: [e.g. OnePlus Nord]
Package Version: [e.g. v1.0.0]
UPI Applications in the device: [e.g. - GPay, Paytm]
Play Store: [e.g. Google, Mi, Vivo]
Other UPI / Payment packages used in the app: [e.g. - razorpay_flutter]

Additional context
Add any other context about the problem here.

Please stick to the issue template to help us understand the bug or issues will be closed without further investigation.


Moved Breeze Daemon to the FN

... all the while conserving history!
Let's wait for the build to build and the angels to sing.

singing.


ling balance!!!

About the PR
made all stings 35 (except fake armblade and transform)
this buffs some stings prices like blind sting which was too cheap and makes lethargic sting more appealing
blabla somethingtsomething
also changes some locales and added a gravity check for straines muscles that are not worthy of CLing
:cl:

tweak: Made most changeling stings cost 35 chemicals

i shall never make more branches for ling shit


PEP-8 style issue detected in ./src/aggregatorscript.py:174:5:

E303 too many blank lines (2)

Fixed in #118


chore: Remove en-us from docs.microsoft.com links

Find/replace https://docs.microsoft.com/en-us/ -> https://docs.microsoft.com/ to match the link locale guidelines

@nschonni : Thanks for your contribution! The author, @diberry, has been notified to review your proposed change.

@nschonni : Thanks for your contribution! The author, @diberry, has been notified to review your proposed change.

@nschonni : Thanks for your contribution! The author, @diberry, has been notified to review your proposed change.

@nschonni : Thanks for your contribution! The author, @diberry, has been notified to review your proposed change.

@nschonni Thank you for your effort to correct the docs. #in-progress


Quaternion multiplication

in line
https://github.com/BSVino/MathForGameDevelopers/blob/quaternion-transform/math/quaternion.cpp#L34
you have write '+' but in your video
https://youtu.be/Ne3RNhEVSIE?t=7m23s
you have an pop up, which says it should be an '-'
So what is right?
Accordingly to an other library it should be really an - sign.
    Quaternion getProduct(Quaternion q) {
      // Quaternion multiplication is defined by:
      //     (Q1 * Q2).w = (w1w2 - x1x2 - y1y2 - z1z2)
      //     (Q1 * Q2).x = (w1x2 + x1w2 + y1z2 - z1y2)
      //     (Q1 * Q2).y = (w1y2 - x1z2 + y1w2 + z1x2)
      //     (Q1 * Q2).z = (w1z2 + x1y2 - y1x2 + z1w2
      return Quaternion(
               w * q.w - x * q.x - y * q.y - z * q.z, // new w
               w * q.x + x * q.w + y * q.z - z * q.y, // new x
               w * q.y - x * q.z + y * q.w + z * q.x, // new y
               w * q.z + x * q.y - y * q.x + z * q.w); // new z
    }

Good observation. I fixed this issue at one point, I just neglected to merge it into the branch you mentioned. Looks like it's fixed in master: https://github.com/BSVino/MathForGameDevelopers/blob/master/math/quaternion.cpp#L30

have not seen that this isnt the master branch. but this branch is linked in the Youtube video.
Anyway, can you help me with an special quaternion rotation?  eventually per Email?

Yea I really need to update this branch.
I'll try to assist you if you're having trouble with the math but I can't help you debug a specific problem. My email is<EMAIL_ADDRESS>


Adds various iOS libraries to enable more features

I've been using this library to transition a project from Xamarin to React Native and it's been super helpful. Here are the tweaks I had to make along the way.

Though I am very late I thank you for your contribution ;)


Bivariate distribution dependency

Plotting bivariate distributions with scatter plot combined with box/violin plots throws dependency error.
ModuleNotFoundError: No module named 'patsy'
Environment: Windows 10
Statsmodels: 0.9.0
Scipy: 1.1.0
pandas: 0.24.2
Plotly: 3.7.1

@shakasom  I had the same issue, but installing statsmodels for python 3.7.1 fixed it.
conda install -c conda-forge statsmodels
performed the following replacement:
0.9.0-py36hfa6e2cd_1000 --> 0.9.0-py37hfa6e2cd_1000
and upgraded patsy to patsy-0.5.1

Ah right, I forget that installing statsmodels doesn't always install its dependencies. I'll add this stuff to setup.py tomorrow and push to PyPI again :)
Thanks for letting me know!

Thanks @empet I installed patsy with pip and everything worked.


Weight decay will be applied to the weight of BN in identity branch and the weight of FC when using --custwd?

It seems we skipped all parameters other than rbr_identity.weight and linear.weight
( https://github.com/DingXiaoH/RepVGG/blob/main/train.py#L86 )
Is it by-design or not?

Yes. It is by design. This is because we would not use L2 twice (weight_decay in optimizer + L2 loss in the total loss).

Thanks! Sorry I missed the get_custom_L2


Fix redundant CR in formatted text copy

Summary of the Pull Request
When GenHTML or GenRTF encountered an empty line, they assumed that CR is the last character of the row and wrote it, even though in general CR and LF just break the line and instead of them either <BR> in HTML or \line in RTF is written. Don't know how I missed that in #2038.
Another question is whether the TextAndColor structure which these methods receive and which is generated by TextBuffer::GetTextForClipboard should really contain \r\n at the end of each row. I think it'd be cleaner if it didn't esp. that afaik these last 2 characters don't have associated valid color information.
References

PR Checklist

[X] Closes #4187
[X] CLA signed. If not, go over here and sign the CLA
[ ] Tests added/passed - there aren't any related tests, right?
[ ] Requires documentation to be updated
[ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #4147

Validation Steps Performed
Copied various terminal states and verified the generated HTML.

@msftbot make sure @carlos-zamora signs off on this

Reran failed jobs. @DHowett-MSFT, it's the privileged instruction thing again. Maybe there's some memory corruption in these tests causing it to jump occasionally to a privileged instruction?

I'm not sure how the PR merge magic works but now that #4202 is merged, I'm re-running the x86 build right now hoping that the updated merge with master will pass the test.
If not, we might need to merge master into this branch first before it'll be happy.

:tada: Once again, thanks for the contribution!
This pull request was included in a set of conhost changes that was just
released with Windows Insider Build 19603.


AZU018 not recognising azurerm_mssql_server_extended_auditing_policy

If I specify extended_auditing_policy in my azurerm_mssql_server block, then I get the following Terraform warning...

Warning: "extended_auditing_policy": [DEPRECATED] the extended_auditing_policy block has been moved to > azurerm_mssql_server_extended_auditing_policy and azurerm_mssql_database_extended_auditing_policy. This block will be removed in version 3.0 of the provider.
on data.tf line 28, in resource "azurerm_mssql_server" "SQL":
28: resource "azurerm_mssql_server" "sql" {

But if I fix that warning, and create a separate azurerm_mssql_server_extended_auditing_policy block, then TFSEC fails with this...

[AZU018][ERROR] Resource 'azurerm_mssql_server.sql' does not have extended audit configured.
Impact:     Auditing provides valuable information about access and usage
Resolution: Enable auditing on Azure SQL databases
https://tfsec.dev/docs/azure/AZU018/
https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/sql_server#extended_auditing_policy
https://docs.microsoft.com/en-us/azure/azure-sql/database/auditing-overview

So presumably TFSEC is out of date for this check, and isn't checking if I have a azurerm_mssql_server_extended_auditing_policy block?

Hey @dracan, thanks for the report - this should now be resolved in v0.40.9.


timestamp and transactionHash/index support for reporting-history

@bthaile

@bthaile here's what it looks like:
$ node test-client.js payloads/getReportingHistory.json

payloads/getReportingHistory.json
{
  "id": 7,
  "jsonrpc": "2.0",
  "method": "getReportingHistory",
  "params": {
    "universe": "0x000000000000000000000000000000000000000b",
    "reporter": "0x0000000000000000000000000000000000000021"
  }
}

{
  "id": 7,
  "result": {
    "0x000000000000000000000000000000000000000b": {
      "0x0000000000000000000000000000000000000011": [
        {
          "transactionHash": "0x0000000000000000000000000000000000000000000000000000000000000D00",
          "logIndex": 0,
          "creationBlockNumber": 1400051,
          "creationTime":<PHONE_NUMBER>,
          "blockHash": "0x1400051",
          "marketID": "0x0000000000000000000000000000000000000011",
          "reportingWindow": "0x1000000000000000000000000000000000000000",
          "payoutNumerators": [
            0,
            2
          ],
          "amountStaked": 17,
          "stakeToken": "0x0000000000000000001000000000000000000001",
          "isCategorical": false,
          "isScalar": false,
          "isIndeterminate": false,
          "isSubmitted": true
        }
      ],
      "0x0000000000000000000000000000000000000019": [
        {
          "transactionHash": "0x0000000000000000000000000000000000000000000000000000000000000D03",
          "logIndex": 0,
          "creationBlockNumber": 1400052,
          "creationTime":<PHONE_NUMBER>,
          "blockHash": "0x1400052",
          "marketID": "0x0000000000000000000000000000000000000019",
          "reportingWindow": "0x1000000000000000000000000000000000000000",
          "payoutNumerators": [
            1,
            1
          ],
          "amountStaked": 229,
          "stakeToken": "0x0000000000000000001000000000000000000003",
          "isCategorical": false,
          "isScalar": false,
          "isIndeterminate": false,
          "isSubmitted": true
        }
      ]
    }
  },
  "jsonrpc": "2.0"
}


SECOND CONTRIBUTION BY QUEENETH OGBONNA

Name: Queeneth Ogbonna
Project: QuTip | CVXPY
Link To QuTip Governance Model
Link To CVXPY Governance Model
INTRODUCTION
CVXPY is an open-source optimization modeling language that provides a convenient and intuitive way to formulate and solve convex optimization problems.
QuTiP, an open-source software package written in Python, provides users with a variety of tools to learn and simulate quantum systems.
Open-source governance models have become increasingly important in the software development industry, as they can significantly impact the success and sustainability of a project. In this essay, we will conduct a comparative analysis of two open-source projects: CVXPY and QuTiP. The purpose of this analysis is to explore the governance models of these projects and how they prioritize ethics, integrity, and responsible conduct among their leaders, volunteers, and workers. We will examine factors such as transparency, collaboration, accountability, and leadership to evaluate the effectiveness of their governance models.
SIMILARITIES

CVXPY and QuTiP projects have permissive open-source software licenses that permit code modification and commercial use. Their packages are widely used by researchers and professionals around the world to view, modify and distribute.

CVXPY and QuTiP have a high level of transparency in their governance models. They have a well-documented contributor code of conduct. The project's website provides information on how to contribute, how decisions are made, and how the project is funded.

CVXPY and QuTiP projects emphasize collaboration between contributors and maintainers. They have a large and vibrant community of contributors

DIFFERENCES

A formal governance structure exists for CVXPY. The governance model for CVXPY is primarily led by its creator, Professor Stephen Boyd, who is the Benevolent Dictator for Life.   In contrast, the governance model of QuTiP has a more Democratic Approach.

CVXPY's project steering committee comprises academic and industry representatives, while  QuTiP's development is coordinated by a core team of developers who are not affiliated with a single institution.

The decision-making process in CVXPY is more hierarchical and based on technical merit, whereas the decision-making process in QuTiP is more community-driven and based on consensus. Furthermore, QuTiP has a formal voting process while CVXPY does not.

CONCLUSION
After evaluating all factors, I am inclined to choose the governance model of QuTiP over CVXPY. While both projects have strong governance models, QuTiP's deliberate consideration for the community stands out. QuTiP's governance model fosters a welcoming and growth-conducive environment, which aligns with our goals for this analysis.

@kwin-eth - strong analysis.  I liked how you said, " I'm inclined to ..".  When doing analysis, it's important to have an opinion and make a decision, so getting comfortable with doing this is important.  This is done by providing a strong, clear, concise argument backed up with data. You have done this.


Missing Meta Description on Website

Please assign this issue to me I want to work on it.

i also like to work on this issue so please do assigne me

is this issue still relevant?


Centering and Padding for a column for a responsive laout

How can I center my columns in a responsive layout, and also adding a padding in a column.

If you're talking about centering all the rows, you just use the specified container (with margin: 0 auto). If you mean columns within the container, you can use offset/push for that effect. As for padding within columns, that's largely why gutters are built in. If you really need to add padding, you'll have to nest a div within the column and then add padding to that nested div.


default exported version

Currently, it's exported.
But if one file only contains one function, it should be default exported.

Welcome pr.

I just wanna discuss, do you think it's ok to change all current snippet to add default,
Or it's better to copy paste current snippets, with an additional d in the prefix?

It looks like this is the only one that hasn't been default exported.

Oh....Actually it is the only snippet I'm using...SO...
PR is here: https://github.com/infeng/vscode-react-typescript/pull/20


providers.gradleProperty does only supply Project properties, not Gradle properties

For the full story please read https://discuss.gradle.org/t/confused-regarding-the-types-of-properties/45216.
There is a great confusion between Gradle properties and Project properties.
Some of these confusions also make the terms be used interchangeably sometimes.
I also did that in the past myself.
But according to the docs there is a pretty clear distinction.
Gradle properties are the things you set via -D without naming prefix from the commandline or any other means to set a system property with that name like JAVA_TOOL_OPTIONS environment variable,
Project properties are the things you set via -P or via -D but with naming prefix (or as environment variable with prefix).
org.gradle.caching or org.gradle.debug for example cannot be set via -P, so they are Gradle properties.
Adding much to the confusion is, that you can set both types of properties via the various gradle.properties files.
The final stab to death now is, that providers.gradleProperty returns Project properties, but does not return Gradle properties.
If you for example set -Dorg.gradle.caching=false, you do not get the value using providers.gradleProperty.
If you at the same time have org.gradle.caching=true in the gradle.properties file, providers.gradleProperty returns true as the Project property is set to false while the Project property is overridden by -D from the command line.
On the other hand if you have org.gradle.caching=true in the gradle.properties file, but -P org.gradle.caching=false on the commandline, providers.gradleProperty (and the other means to get project properties) returns false while the cache is actually enabled as the Gradle property is set from the gradle.properties file and is not overridden by -P.
So I'd say, providers.gradleProperty should either be renamed to providers.projectProperty and have the current behavior, or at least should be changed to also return values of Gradle properties. The problem is what to do in case a property has different values between Gradle properties and Project properties. But having it called providers.gradleProperty and then not returning values described as Gradle properties in the documentation is majorly adding to the overall confusion about those.

Thank you for providing a valid reproducer.
The issue is in the backlog of the relevant team but this area of Gradle is currently not a focus one so it might take a while before a fix is made.

I'll also add that providers.gradleProperty (and providers.gradlePropertiesPrefixedBy) return only properties from the root directory gradle.properties, and none of the project directory, event when using project.providers.gradleProperty

The providers.gradleProperty seem to have another problem, it doesn't pick the subproject's gradle.properties
.
├── ./settings.gradle.kts
├── ./excalidraw-assets
│   └── build.gradle.kts
├── ./plugin
    ├── gradle.properties
    └── build.gradle.kts

16 directories

./plugin/gradle.properties
whatever = something

./plugin/build.gradle.kts
plugins { java }

println(project.property("whatever"))
println(providers.gradleProperty("whatever").get()) // fails to discover `whatever`

The gradleProperty provider do not detect the property declared in the gradle.properties of the plugin subproject. Yet project.property works as expected.

Gradle 8.7

I just hit this issue that providers.gradleProperty doesn't pick properties from the subproject's gradle.properties file. This is extremely confusing.

providers.gradleProperty also seems to ignore any properties defined dynamically (such as on project.ext or even project.properties attributes in the build script, as mentioned in #31842)

What is the recommended way to access project properties defined in gradle.properties when using Kotlin DSL?

val myProperty: String by project
properties["myProperty"]
property("myProperty")
findProperty("myProperty")
providers.gradleProperty("myProperty")

Why are there so many ways to do this? Also, I can only seem to find examples of options 1 and 5 being used on the Gradle docs. Options 2, 3, and 4 are on older versions of the docs.


pgbench crashes with SSL error: internal error / SIGSEGV / SIGABRT

Steps to reproduce

Build Postgres in a container from neondatabase/build-tools:pinned image (Dockerfile)
Run pgbench -f test_runner/performance/pgvector/pgbench_custom_script_pgvector_halfvec_queries.sql -c100 -j20 -T900 -P2 --verbose-errors <staging-connstr> from the container

Expected result
it doesn't fail
Actual result
It fails with SSL error: internal error / SIGSEGV / SIGABRT
Note: Unfortunately I could not reproduce the error with debug version of postgres
transaction type: test_runner/performance/pgvector/pgbench_custom_script_pgvector_halfvec_queries.sql
scaling factor: 1
query mode: simple
number of clients: 100
number of threads: 20
maximum number of tries: 1
duration: 900 s
number of transactions actually processed: 141659
number of failed transactions: 0 (0.000%)
latency average = 628.999 ms
latency stddev = 1347.496 ms
initial connection time = 9329.005 ms
tps = 158.932540 (without initial connection time)
[Inferior 1 (process 27239) exited normally]
(gdb)

with release build we get segmentation fault or internal errors:
nonroot@03722beba63d:~/neon$ ./pg_install/v16/bin/pgbench -f test_runner/performance/pgvector/pgbench_custom_script_pgvector_halfvec_queries.sql -c100 -j20 -T900 -P2 --verbose-errors "postgresql://neondb_owner:secret@ep-late-resonance-w2i0q5qu.us-east-2.aws.neon.build/neondb?sslmode=require"
pgbench (16.3 (b810fdfcbb59afea7ea7bbe0cf94eaccb55a2ea2))
starting vacuum...pgbench: error: ERROR:  relation "pgbench_branches" does not exist
pgbench: detail: (ignoring this error and continuing anyway)
pgbench: error: ERROR:  relation "pgbench_tellers" does not exist
pgbench: detail: (ignoring this error and continuing anyway)
pgbench: error: ERROR:  relation "pgbench_history" does not exist
pgbench: detail: (ignoring this error and continuing anyway)
end.
Segmentation fault

with release build and gdb we see free(): invalid pointer
nonroot@e36fb5340ef9:~/neon$ gdb ./pg_install/v16/bin/pgbench
GNU gdb (Debian 10.1-1.7) <IP_ADDRESS>10103-git
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "aarch64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./pg_install/v16/bin/pgbench...
(gdb) run -f test_runner/performance/pgvector/pgbench_custom_script_pgvector_halfvec_queries.sql -c100 -j20 -T900 -P2 --verbose-errors "postgresql://neondb_owner:secret@ep-late-resonance-w2i0q5qu.us-east-2.aws.neon.build/neondb?sslmode=require"
Starting program: /home/nonroot/neon/pg_install/v16/bin/pgbench -f test_runner/performance/pgvector/pgbench_custom_script_pgvector_halfvec_queries.sql -c100 -j20 -T900 -P2 --verbose-errors "postgresql://neondb_owner:secret@ep-late-resonance-w2i0q5qu.us-east-2.aws.neon.build/neondb?sslmode=require"
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".
pgbench (16.3 (b810fdfcbb59afea7ea7bbe0cf94eaccb55a2ea2))
starting vacuum...pgbench: error: ERROR:  relation "pgbench_branches" does not exist
pgbench: detail: (ignoring this error and continuing anyway)
pgbench: error: ERROR:  relation "pgbench_tellers" does not exist
pgbench: detail: (ignoring this error and continuing anyway)
pgbench: error: ERROR:  relation "pgbench_history" does not exist
pgbench: detail: (ignoring this error and continuing anyway)
end.
[New Thread 0xfffff79d01e0 (LWP 530)]
[New Thread 0xffffef1cf1e0 (LWP 531)]
[New Thread 0xfffff71cf1e0 (LWP 532)]
[New Thread 0xfffff69ce1e0 (LWP 533)]
[New Thread 0xfffff61cd1e0 (LWP 534)]
[New Thread 0xfffff59cc1e0 (LWP 535)]
[New Thread 0xfffff51cb1e0 (LWP 536)]
[New Thread 0xfffff49ca1e0 (LWP 537)]
[New Thread 0xffffeffff1e0 (LWP 538)]
[New Thread 0xffffee9ce1e0 (LWP 539)]
[New Thread 0xffffee1cd1e0 (LWP 540)]
[New Thread 0xffffed9cc1e0 (LWP 541)]
[New Thread 0xffffed1cb1e0 (LWP 542)]
[New Thread 0xffffec9ca1e0 (LWP 543)]
[New Thread 0xffffb7fff1e0 (LWP 544)]
[New Thread 0xffffb77fe1e0 (LWP 545)]
[New Thread 0xffffb6ffd1e0 (LWP 546)]
[New Thread 0xffffb67fc1e0 (LWP 547)]
[New Thread 0xffffb5ffb1e0 (LWP 548)]
pgbench: error: connection to server at "ep-late-resonance-w2i0q5qu.us-east-2.aws.neon.build" (<IP_ADDRESS>), port 5432 failed: could not create SSL context: no cipher set
pgbench: error: could not create connection for client 25
free(): invalid pointer
free(): invalid pointer
free(): invalid pointer
pgbench: error: connection to server at "ep-late-resonance-w2i0q5qu.us-east-2.aws.neon.build" (<IP_ADDRESS>), port 5432 failed: could not create SSL context: no SSL error reported
pgbench: error: connection to server at "ep-late-resonance-w2i0q5qu.us-east-2.aws.neon.build" (<IP_ADDRESS>), port 5432 failed: could not create SSL context: no SSL error reported
pgbench: error: could not create connection for client 90
pgbench: error: connection to server at "ep-late-resonance-w2i0q5qu.us-east-2.aws.neon.build" (<IP_ADDRESS>), port 5432 failed: could not create SSL context: no SSL error reported
pgbench: error: could not create connection for client 15
pgbench: error: could not create connection for client 80
Cannot find user-level thread for LWP 527: generic error
(gdb) Cannot find user-level thread for LWP 534: generic error
(gdb) Cannot find user-level thread for LWP 543: generic error
(gdb) [Thread 0xffffb5ffb1e0 (LWP 548) exited]
[Thread 0xffffb67fc1e0 (LWP 547) exited]
[Thread 0xffffb6ffd1e0 (LWP 546) exited]
[Thread 0xffffb77fe1e0 (LWP 545) exited]
[Thread 0xffffb7fff1e0 (LWP 544) exited]
[Thread 0xffffec9ca1e0 (LWP 543) exited]
[Thread 0xffffed1cb1e0 (LWP 542) exited]
[Thread 0xffffed9cc1e0 (LWP 541) exited]
[Thread 0xffffee1cd1e0 (LWP 540) exited]
[Thread 0xffffee9ce1e0 (LWP 539) exited]
[Thread 0xffffeffff1e0 (LWP 538) exited]
[Thread 0xfffff49ca1e0 (LWP 537) exited]
[Thread 0xfffff51cb1e0 (LWP 536) exited]
[Thread 0xfffff59cc1e0 (LWP 535) exited]
[Thread 0xfffff61cd1e0 (LWP 534) exited]
[Thread 0xfffff69ce1e0 (LWP 533) exited]
[Thread 0xfffff71cf1e0 (LWP 532) exited]
[Thread 0xffffef1cf1e0 (LWP 531) exited]
[Thread 0xfffff79d01e0 (LWP 530) exited]
bt
Selected thread is running.
(gdb) quit

Using valgrind the error also doesn't reproduce
nonroot@e36fb5340ef9:~/neon$ valgrind --leak-check=full ./pg_install/v16/bin/pgbench -f test_runner/performance/pgvector/pgbench_custom_script_pgvector_halfvec_queries.sql -c100 -j20 -T900 -P2 --verbose-errors "postgresql://neondb_owner:secret@ep-late-resonance-w2i0q5qu.us-east-2.aws.neon.build/neondb?sslmode=require"
==33432== Memcheck, a memory error detector
==33432== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==33432== Using Valgrind-3.16.1 and LibVEX; rerun with -h for copyright info
==33432== Command: ./pg_install/v16/bin/pgbench -f test_runner/performance/pgvector/pgbench_custom_script_pgvector_halfvec_queries.sql -c100 -j20 -T900 -P2 --verbose-errors postgresql://neondb_owner:secret@ep-late-resonance-w2i0q5qu.us-east-2.aws.neon.build/neondb?sslmode=require
==33432==
pgbench (16.3 (b810fdfcbb59afea7ea7bbe0cf94eaccb55a2ea2))
starting vacuum...pgbench: error: ERROR:  relation "pgbench_branches" does not exist
pgbench: detail: (ignoring this error and continuing anyway)
pgbench: error: ERROR:  relation "pgbench_tellers" does not exist
pgbench: detail: (ignoring this error and continuing anyway)
pgbench: error: ERROR:  relation "pgbench_history" does not exist
pgbench: detail: (ignoring this error and continuing anyway)
end.
progress: 6.3 s, 0.0 tps, lat 0.000 ms stddev 0.000, 0 failed
progress: 8.0 s, 0.0 tps, lat 0.000 ms stddev 0.000, 0 failed
progress: 10.0 s, 0.5 tps, lat 3430.123 ms stddev 0.000, 0 failed
progress: 12.0 s, 4.0 tps, lat 5338.579 ms stddev 602.942, 0 failed
progress: 14.0 s, 6.5 tps, lat 7092.010 ms stddev 302.845, 0 failed
...

Due to those observations I guess it is a race condition, maybe the connection threads 2-100 are started before the openssl library is fully initialized by the libpq library.
Got the following interesting output running the pgbench with valgrind --tool=helgrind pgbench...
==33550== ---Thread-Announcement------------------------------------------
==33550==
==33550== Thread #7 was created
==33550==    at 0x4D65FEF: clone (clone.S:61)
==33550==    by 0x4C691B7: create_thread (createthread.c:101)
==33550==    by 0x4C6AC9B: pthread_create@@GLIBC_2.17 (pthread_create.c:817)
==33550==    by 0x48509A3: pthread_create_WRK (hg_intercepts.c:425)
==33550==    by 0x203C8F: main (pgbench.c:7257)
==33550==
==33550== ----------------------------------------------------------------
==33550==
==33550== Possible data race during write of size 8 at 0x4BA17B8 by thread #10
==33550== Locks held: none
==33550==    at 0x4AD39EC: OPENSSL_init_crypto (in /home/nonroot/neon/pg_install/v16/lib/libpq.so.5.16)
==33550==    by 0x49D926B: OPENSSL_init_ssl (in /home/nonroot/neon/pg_install/v16/lib/libpq.so.5.16)
==33550==    by 0x49DCB57: SSL_CTX_new (in /home/nonroot/neon/pg_install/v16/lib/libpq.so.5.16)
==33550==    by 0x49B4E3B: initialize_SSL (fe-secure-openssl.c:940)
==33550==    by 0x49B413F: pgtls_open_client (fe-secure-openssl.c:134)
==33550==    by 0x49AF8BB: pqsecure_open_client (fe-secure.c:178)
==33550==    by 0x499A8AB: PQconnectPoll (fe-connect.c:3413)
==33550==    by 0x499973F: connectDBComplete (fe-connect.c:2511)
==33550==    by 0x4996ADB: PQconnectdbParams (fe-connect.c:685)
==33550==    by 0x1F6A03: doConnect (pgbench.c:1560)
==33550==    by 0x2041FB: threadRun (pgbench.c:7384)
==33550==    by 0x4850B77: mythread_wrapper (hg_intercepts.c:387)
==33550==
==33550== This conflicts with a previous write of size 8 by thread #7
==33550== Locks held: none
==33550==    at 0x4AD39EC: OPENSSL_init_crypto (in /home/nonroot/neon/pg_install/v16/lib/libpq.so.5.16)
==33550==    by 0x49D926B: OPENSSL_init_ssl (in /home/nonroot/neon/pg_install/v16/lib/libpq.so.5.16)
==33550==    by 0x49E36AB: SSL_SESSION_new (in /home/nonroot/neon/pg_install/v16/lib/libpq.so.5.16)
==33550==    by 0x49E3D1B: ssl_get_new_session (in /home/nonroot/neon/pg_install/v16/lib/libpq.so.5.16)
==33550==    by 0x49EFDD3: tls_construct_client_hello (in /home/nonroot/neon/pg_install/v16/lib/libpq.so.5.16)
==33550==    by 0x49EF6AF: state_machine.part.0 (in /home/nonroot/neon/pg_install/v16/lib/libpq.so.5.16)
==33550==    by 0x49B5BE3: open_client_SSL (fe-secure-openssl.c:1480)
==33550==    by 0x49B415F: pgtls_open_client (fe-secure-openssl.c:143)
==33550==  Address 0x4ba17b8 is 0 bytes inside data symbol "conf_settings"

Environment
Staging
Logs, links

See discussion in slack (it has more details) https://neondb.slack.com/archives/C04DGM6SMTM/p1719586520958489 (you can find  there)

Additional considerations
I am not happy that we are using openssl 1.1.1w because
https://www.openssl.org/source/
states:
Note: The latest stable version is the 3.3 series supported until 9th April 2026. Also available is the 3.2 series supported until 23rd November 2025, the 3.1 series supported until 14th March 2025, and the 3.0 series which is a Long Term Support (LTS) version and is supported until 7th September 2026. All older versions (including 1.1.1, 1.1.0, 1.0.2, 1.0.0 and 0.9.8) are now out of support and should not be used. Users of these older versions are encouraged to upgrade to 3.2 or 3.0 as soon as possible. Extended support for 1.1.1 and 1.0.2 to gain access to security fixes for those versions is available.
I think we should use the 3.0 series, specifically version 3.0.14,  which is a Long Term Support (LTS) version and is supported until 7th September 2026.
@hlinnaka you may have guidance on which version to use?

Project to use in connection string steep-flower-78097288

Tristan will look into this later this week

using openssl 3.0.14 I could get a sigabbt with backtrace using gdb:
Thread 12 "pgbench" received signal SIGABRT, Aborted.
[Switching to Thread 0xffffd67fc1e0 (LWP 40231)]
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x0000fffff7900aa0 in __GI_abort () at abort.c:79
#2  0x0000fffff794d280 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0xfffff7a109d8 "%s\n") at ../sysdeps/posix/libc_fatal.c:155
#3  0x0000fffff79547dc in malloc_printerr (str=str@entry=0xfffff7a0c570 "double free or corruption (out)") at malloc.c:5347
#4  0x0000fffff7955c20 in _int_free (av=0xfffff7a4fa98 <main_arena>, p=0xffffc000a670, have_lock=<optimized out>) at malloc.c:4314
#5  0x0000fffff7e119b8 in ERR_pop_to_mark () from /home/nonroot/neon/pg_install/v16/lib/libpq.so.5
#6  0x0000fffff7d1d754 in ssl_evp_cipher_fetch () from /home/nonroot/neon/pg_install/v16/lib/libpq.so.5
#7  0x0000fffff7d11bac in ssl_load_ciphers () from /home/nonroot/neon/pg_install/v16/lib/libpq.so.5
#8  0x0000fffff7d1e75c in SSL_CTX_new_ex () from /home/nonroot/neon/pg_install/v16/lib/libpq.so.5
#9  0x0000fffff7cf9e68 in initialize_SSL (conn=0xffffc0000ba0) at /home/nonroot/neon//vendor/postgres-v16/src/interfaces/libpq/fe-secure-openssl.c:940
#10 0x0000fffff7cf9148 in pgtls_open_client (conn=0xffffc0000ba0) at /home/nonroot/neon//vendor/postgres-v16/src/interfaces/libpq/fe-secure-openssl.c:134
#11 0x0000fffff7cf48bc in pqsecure_open_client (conn=0xffffc0000ba0) at /home/nonroot/neon//vendor/postgres-v16/src/interfaces/libpq/fe-secure.c:178
#12 0x0000fffff7cdf8ac in PQconnectPoll (conn=0xffffc0000ba0) at /home/nonroot/neon//vendor/postgres-v16/src/interfaces/libpq/fe-connect.c:3413
#13 0x0000fffff7cde740 in connectDBComplete (conn=0xffffc0000ba0) at /home/nonroot/neon//vendor/postgres-v16/src/interfaces/libpq/fe-connect.c:2511
#14 0x0000fffff7cdbadc in PQconnectdbParams (keywords=0xffffd67fb350, values=0xffffd67fb388, expand_dbname=1) at /home/nonroot/neon//vendor/postgres-v16/src/interfaces/libpq/fe-connect.c:685
#15 0x0000aaaaaabfea04 in doConnect () at /home/nonroot/neon//vendor/postgres-v16/src/bin/pgbench/pgbench.c:1560
#16 0x0000aaaaaac0c1fc in threadRun (arg=0xaaaaaaee6540) at /home/nonroot/neon//vendor/postgres-v16/src/bin/pgbench/pgbench.c:7384
#17 0x0000fffff7a5b648 in start_thread (arg=0xffffd67fbae0) at pthread_create.c:477
#18 0x0000fffff79b201c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78

All I've figured out so far is that problem is much more likely to occur with higher number of client and jobs.

Why do we use openssl 1.1.1w? Why not the 3.2 series?

Why do we use openssl 1.1.1w? Why not the 3.2 series?

I think debian bullseye and bookworm (our deployment linux in prod for pageserver and safe keeper) still use openssl 1.1.1 and back port security patches in their distribution. However since we are now statically linking I agree that we should use a newer version of openssl. The current LTS train of openssl is the 3.0.x train which has the longest support cycle, while 3.2 and 3.3 have shorter release cycles. That is why I suggested to use 3.0.14
Did you have successful runs with 3.2 or 3.3? @tristan957

I'm gonna create a better dev env for this today. Going to install 3.2 to test out and see what happens. Also going to play around with vanilla today too.
Overall I find this very strange. Given we don't patch libpq or pgbench as far as I'm aware, I'm extremely confused.

in the mean time we have deployed temporary workaround PRs
https://github.com/neondatabase/neon/pull/8422
https://github.com/neondatabase/neon/pull/8429

Given we don't patch libpq or pgbench as far as I'm aware, I'm extremely confused.

I think what is different though than in vanilla is that since a few weeks we try to build all binaries statically linked with openssl. I don't know if anyone else is doing that for pgbench AND running it with -c 100 and -j 20 (high probability of races)

Right. I want to try statically compiling vanilla with static openssl and icu. Because this could easily be an upstream OpenSSL bug.

I got this from openssl 3.2.2, which is what Peter was getting in 3.0.14.
LD_PRELOAD=/usr/lib64/libasan.so.8.0.0 ./pg_install/v16/bin/pgbench -c100 -j20 -T900 -P2 --verbose-errors '$CONNSTR'
pgbench (16.3 (b39f316137fdd29e2da15d2af2fdd1cfd18163be))
starting vacuum...end.
=================================================================
==100871==ERROR: AddressSanitizer: attempting double-free on 0x5030000561a0 in thread T8:
    #0 0x7f2fcd9e9638 in free.part.0 (/usr/lib64/libasan.so.8.0.0+0xf6638) (BuildId: c1431025b5d8af781c22c9ceea71f065c547d32d)
    #1 0x7f2fcd2d7dfa in CRYPTO_free crypto/mem.c:282
    #2 0x7f2fcd2b917a in err_clear crypto/err/err_local.h:91
    #3 0x7f2fcd2b927c in ERR_pop_to_mark crypto/err/err_mark.c:39
    #4 0x7f2fcd64bfbe in ssl_evp_cipher_fetch ssl/ssl_lib.c:7176
    #5 0x7f2fcd6361c4 in ssl_load_ciphers ssl/ssl_ciph.c:333
    #6 0x7f2fcd644292 in SSL_CTX_new_ex ssl/ssl_lib.c:3906
    #7 0x7f2fcd644967 in SSL_CTX_new ssl/ssl_lib.c:4092
    #8 0x7f2fcd2a2498 in initialize_SSL /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/interfaces/libpq/fe-secure-openssl.c:940
    #9 0x7f2fcd2a177a in pgtls_open_client /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/interfaces/libpq/fe-secure-openssl.c:134
    #10 0x7f2fcd29ce2e in pqsecure_open_client /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/interfaces/libpq/fe-secure.c:178
    #11 0x7f2fcd2881fa in PQconnectPoll /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/interfaces/libpq/fe-connect.c:3413
    #12 0x7f2fcd286ba4 in connectDBComplete /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/interfaces/libpq/fe-connect.c:2511
    #13 0x7f2fcd283bf6 in PQconnectdbParams /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/interfaces/libpq/fe-connect.c:685
    #14 0x40a21a in doConnect /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/bin/pgbench/pgbench.c:1560
    #15 0x416af6 in threadRun /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/bin/pgbench/pgbench.c:7384
    #16 0x7f2fcd950f95 in asan_thread_start(void*) (/usr/lib64/libasan.so.8.0.0+0x5df95) (BuildId: c1431025b5d8af781c22c9ceea71f065c547d32d)
    #17 0x7f2fccfc2506 in start_thread (/lib64/libc.so.6+0x97506) (BuildId: 8f53abaad945a669f2bdcd25f471d80e077568ef)
    #18 0x7f2fcd04640b in clone3 (/lib64/libc.so.6+0x11b40b) (BuildId: 8f53abaad945a669f2bdcd25f471d80e077568ef)

0x5030000561a0 is located 0 bytes inside of 23-byte region [0x5030000561a0,0x5030000561b7)
freed by thread T12 here:
    #0 0x7f2fcd9e9638 in free.part.0 (/usr/lib64/libasan.so.8.0.0+0xf6638) (BuildId: c1431025b5d8af781c22c9ceea71f065c547d32d)
    #1 0x7f2fcd2d7dfa in CRYPTO_free crypto/mem.c:282
    #2 0x7f2fcd2b8c21 in err_clear crypto/err/err_local.h:91
    #3 0x7f2fcd2b8cb8 in ERR_new crypto/err/err_blocks.c:26
    #4 0x7f2fcd2bdb0a in inner_evp_generic_fetch crypto/evp/evp_fetch.c:355
    #5 0x7f2fcd2bdc09 in evp_generic_fetch crypto/evp/evp_fetch.c:378
    #6 0x7f2fcd479d93 in EVP_CIPHER_fetch crypto/evp/evp_enc.c:1717
    #7 0x7f2fcd64bfb5 in ssl_evp_cipher_fetch ssl/ssl_lib.c:7175
    #8 0x7f2fcd6361c4 in ssl_load_ciphers ssl/ssl_ciph.c:333
    #9 0x7f2fcd644292 in SSL_CTX_new_ex ssl/ssl_lib.c:3906
    #10 0x7f2fcd644967 in SSL_CTX_new ssl/ssl_lib.c:4092
    #11 0x7f2fcd2a2498 in initialize_SSL /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/interfaces/libpq/fe-secure-openssl.c:940
    #12 0x7f2fcd2a177a in pgtls_open_client /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/interfaces/libpq/fe-secure-openssl.c:134
    #13 0x7f2fcd29ce2e in pqsecure_open_client /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/interfaces/libpq/fe-secure.c:178
    #14 0x7f2fcd2881fa in PQconnectPoll /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/interfaces/libpq/fe-connect.c:3413
    #15 0x7f2fcd286ba4 in connectDBComplete /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/interfaces/libpq/fe-connect.c:2511
    #16 0x7f2fcd283bf6 in PQconnectdbParams /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/interfaces/libpq/fe-connect.c:685
    #17 0x40a21a in doConnect /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/bin/pgbench/pgbench.c:1560
    #18 0x416af6 in threadRun /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/bin/pgbench/pgbench.c:7384
    #19 0x7f2fcd950f95 in asan_thread_start(void*) (/usr/lib64/libasan.so.8.0.0+0x5df95) (BuildId: c1431025b5d8af781c22c9ceea71f065c547d32d)

previously allocated by thread T13 here:
    #0 0x7f2fcd9ea997 in malloc (/usr/lib64/libasan.so.8.0.0+0xf7997) (BuildId: c1431025b5d8af781c22c9ceea71f065c547d32d)
    #1 0x7f2fcd2d7b6e in CRYPTO_malloc crypto/mem.c:202
    #2 0x7f2fcd2b89d5 in err_set_debug crypto/err/err_local.h:60
    #3 0x7f2fcd2b8d07 in ERR_set_debug crypto/err/err_blocks.c:37
    #4 0x7f2fcd2bdb28 in inner_evp_generic_fetch crypto/evp/evp_fetch.c:355
    #5 0x7f2fcd2bdc09 in evp_generic_fetch crypto/evp/evp_fetch.c:378
    #6 0x7f2fcd479d93 in EVP_CIPHER_fetch crypto/evp/evp_enc.c:1717
    #7 0x7f2fcd64bfb5 in ssl_evp_cipher_fetch ssl/ssl_lib.c:7175
    #8 0x7f2fcd6361c4 in ssl_load_ciphers ssl/ssl_ciph.c:333
    #9 0x7f2fcd644292 in SSL_CTX_new_ex ssl/ssl_lib.c:3906
    #10 0x7f2fcd644967 in SSL_CTX_new ssl/ssl_lib.c:4092
    #11 0x7f2fcd2a2498 in initialize_SSL /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/interfaces/libpq/fe-secure-openssl.c:940
    #12 0x7f2fcd2a177a in pgtls_open_client /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/interfaces/libpq/fe-secure-openssl.c:134
    #13 0x7f2fcd29ce2e in pqsecure_open_client /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/interfaces/libpq/fe-secure.c:178
    #14 0x7f2fcd2881fa in PQconnectPoll /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/interfaces/libpq/fe-connect.c:3413
    #15 0x7f2fcd286ba4 in connectDBComplete /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/interfaces/libpq/fe-connect.c:2511
    #16 0x7f2fcd283bf6 in PQconnectdbParams /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/interfaces/libpq/fe-connect.c:685
    #17 0x40a21a in doConnect /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/bin/pgbench/pgbench.c:1560
    #18 0x416af6 in threadRun /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/bin/pgbench/pgbench.c:7384
    #19 0x7f2fcd950f95 in asan_thread_start(void*) (/usr/lib64/libasan.so.8.0.0+0x5df95) (BuildId: c1431025b5d8af781c22c9ceea71f065c547d32d)

Thread T8 created by T0 here:
    #0 0x7f2fcd9e2871 in pthread_create (/usr/lib64/libasan.so.8.0.0+0xef871) (BuildId: c1431025b5d8af781c22c9ceea71f065c547d32d)
    #1 0x4165a8 in main /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/bin/pgbench/pgbench.c:7257
    #2 0x7f2fccf55087 in __libc_start_call_main (/lib64/libc.so.6+0x2a087) (BuildId: 8f53abaad945a669f2bdcd25f471d80e077568ef)
    #3 0x7f2fccf5514a in __libc_start_main_alias_2 (/lib64/libc.so.6+0x2a14a) (BuildId: 8f53abaad945a669f2bdcd25f471d80e077568ef)
    #4 0x405024 in _start (/home/tristan957/Projects/work/neon/pg_install/v16/bin/pgbench+0x405024) (BuildId: 367fdc1c3d7ec9279f4ddf0e20a659b17dca462e)

Thread T12 created by T0 here:
    #0 0x7f2fcd9e2871 in pthread_create (/usr/lib64/libasan.so.8.0.0+0xef871) (BuildId: c1431025b5d8af781c22c9ceea71f065c547d32d)
    #1 0x4165a8 in main /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/bin/pgbench/pgbench.c:7257
    #2 0x7f2fccf55087 in __libc_start_call_main (/lib64/libc.so.6+0x2a087) (BuildId: 8f53abaad945a669f2bdcd25f471d80e077568ef)
    #3 0x7f2fccf5514a in __libc_start_main_alias_2 (/lib64/libc.so.6+0x2a14a) (BuildId: 8f53abaad945a669f2bdcd25f471d80e077568ef)
    #4 0x405024 in _start (/home/tristan957/Projects/work/neon/pg_install/v16/bin/pgbench+0x405024) (BuildId: 367fdc1c3d7ec9279f4ddf0e20a659b17dca462e)

Thread T13 created by T0 here:
    #0 0x7f2fcd9e2871 in pthread_create (/usr/lib64/libasan.so.8.0.0+0xef871) (BuildId: c1431025b5d8af781c22c9ceea71f065c547d32d)
    #1 0x4165a8 in main /home/tristan957/Projects/work/neon//vendor/postgres-v16/src/bin/pgbench/pgbench.c:7257
    #2 0x7f2fccf55087 in __libc_start_call_main (/lib64/libc.so.6+0x2a087) (BuildId: 8f53abaad945a669f2bdcd25f471d80e077568ef)
    #3 0x7f2fccf5514a in __libc_start_main_alias_2 (/lib64/libc.so.6+0x2a14a) (BuildId: 8f53abaad945a669f2bdcd25f471d80e077568ef)
    #4 0x405024 in _

SUMMARY: AddressSanitizer: double-free (/usr/lib64/libasan.so.8.0.0+0xf6638) (BuildId: c1431025b5d8af781c22c9ceea71f065c547d32d) in free.part.0
==100871==ABORTING

The data that openssl is freeing is in manually implemented thread local storage.
static CRYPTO_ONCE err_init = CRYPTO_ONCE_STATIC_INIT;
static int set_err_thread_local;
static CRYPTO_THREAD_LOCAL err_thread_local;

DEFINE_RUN_ONCE_STATIC(err_do_init)
{
    set_err_thread_local = 1;
    return CRYPTO_THREAD_init_local(&err_thread_local, NULL);
}

static void *thread_local_storage[OPENSSL_CRYPTO_THREAD_LOCAL_KEY_MAX];

int CRYPTO_THREAD_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void *))
{
    static unsigned int thread_local_key = 0;

    if (thread_local_key >= OPENSSL_CRYPTO_THREAD_LOCAL_KEY_MAX)
        return 0;

    *key = thread_local_key++;

    thread_local_storage[*key] = NULL;

    return 1;
}

void *CRYPTO_THREAD_get_local(CRYPTO_THREAD_LOCAL *key)
{
    if (*key >= OPENSSL_CRYPTO_THREAD_LOCAL_KEY_MAX)
        return NULL;

    return thread_local_storage[*key];
}

So looking at the stacktraces I posted, there are 3 different threads at play (wtf). Allocated in one, and freed two different times in different threads. I don't understand how openssl is guaranteeing that the thread_local_storage array is actually thread_local.

I wonder if this upstream buildfarm failure is related: https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=cisticola&dt=2024-07-29 16%3A20%3A36. It looks like it started failing 7 days ago, with no apparent code changes. An OS update happened perhaps? It's interesting that it's the same function ERR_set_debug function.

That error occurs if you want to compile against openssl 1.X, but your toolchain picks up openssl 3.X

From the configure log
checking for openssl... /usr/bin/openssl
configure: using openssl: OpenSSL 1.1.1g FIPS  21 Apr 2020

I can recreate the segfault in vanilla PG, which is not what Peter said. I'm thinking there was just an issue in his environment.
This makes sense since I don't think we patch libpq or pgbench at all.

It's always the most obvious issue. OpenSSL just doesn't support multithreading when being statically compiled.
Relevant code: https://github.com/openssl/openssl/blob/07e4d7f4747005e3ce56423182ad047eb05d8e16/Configure#L1469-L1471
Related issue: https://github.com/openssl/openssl/issues/14574
This is an issue that upstream is willing to accept a contribution for: https://github.com/openssl/openssl/issues/14574#issuecomment-2257083626. @ololobus is this something I can spend some time on?

I can recreate the segfault in vanilla PG, which is not what Peter said.
I think I didn't try vanilla with static. What I intended to say is that the error doesn't show if you use vanilla as it is built in the distributed binaries(with shared load libraries for openssl).

This is an issue that upstream is willing to accept a contribution for: https://github.com/openssl/openssl/issues/14574#issuecomment-2257083626. @ololobus is this something I can spend some time on?

To answer this question, let me clarify how we ended up debugging this issue and the context.
So the root cause is that statically compiled OpenSSL doesn't support multi-threading, right?
If yes, then the next question is, why is this important for us? My understanding is that Postgres anyway doesn't use multi-threading, so it's not a problem. For client libraries like pgbench, why do we want to compile them statically at all? We do not use them in prod. If for Postgres itself it does make sense -- we want to package redo Postgres, so it was independent of the host system -- for client libraries it's not critical, we can even install them with some standard system packages
So my suggestion is to just stop doing this for client binaries

what is different though than in vanilla is that since a few weeks we try to build all binaries statically linked with openssl

and that should solve the problem? If yes, I'd consider the other work like replication observability and tests a higher priority

@Bodobolero @bayandin based on the investigation and above comment, and that fixing this requires upstream work, I'm putting this on pause. I think we have a workaround -- just do not build pgbench / client libs statically

Who is the DRI in the compute team to build the postgres binaries in neon
artifacts with dynamic load lib. I think this is the logical follow-up.
Currently compute image and neon artifacts contains statically linked
binareis
On Tue, Jul 30, 2024 at 7:42 PM Alexey Kondratov @.***>
wrote:

@Bodobolero https://github.com/Bodobolero @bayandin
https://github.com/bayandin based on the investigation and above
comment, and that fixing this requires upstream work, I'm putting this on
pause. I think we have a workaround -- just do not build pgbench / client
libs statically
—
Reply to this email directly, view it on GitHub
https://github.com/neondatabase/neon/issues/8275#issuecomment-2258878146,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADBV2P65INCJZ4R6PJ56A2TZO7F7FAVCNFSM6AAAAABKM2LPPSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJYHA3TQMJUGY
.
You are receiving this because you were mentioned.Message ID:
@.***>

Who should be the DRI (in the compute team?) to build the postgres binaries in neon artifacts with dynamic load lib

I think I still don't get the objective to answer who is the DRI for what :)
In this task I see that it's some dev container under discussion, why cannot we just install these packages:

https://packages.debian.org/bullseye/postgresql-contrib
https://packages.debian.org/bullseye/postgresql-client
?

That should give us psql, pgbench and other client libs

The problem is we build all postgres binaries with static openssl and upload them as neon artifacts to S3 bucket
https://github.com/neondatabase/neon/blob/859f01918529d5e6547ac4ff8e05a4e5775520a2/.github/workflows/_build-and-test-locally.yml#L139-L140
So far other workflows use these neon artifacts to run their jobs.
If these binaries are broken now because we changed from shared load libraries to static openssl library we can no longer use them.
This means whoever initiated the change to use static library should fix the broken workflows or talk to the owners of these.
@bayandin @ololobus

This means whoever initiated the change to use static library should fix the broken workflows or talk to the owners of these.

Yeah, do you know where this dynamic to static build transition project is tracked? I think I have nearly zero context on it. I actually thought that it was more of a long-term plan, not something that we started doing right away

I think the changes were introduced in https://github.com/neondatabase/neon/pull/8074

So far other workflows use these neon artifacts (including pgbench and psql) to run their jobs.

I guess we can swap it with the system postgresql-client package.
It'll require some changes in tests. Currently, tests rely on binaries that are in pg_install/${PG_VERSION}/bin, but afair we don't have any patches for them (despite the thing it'll use one version of psql/pgbench for different versions of Postgres).

I guess we can swap it with the system postgresql-client package.

For some of the tests these changes will be quite expensive, some tests e.g. run on debian bullseye which only supports VERY outdated system packages (if you don't build from source), I guess some even don't support the sslmode=require connection attribute, yet.

run on debian bullseye which only supports VERY outdated system packages

We can install the latest version from Postgres' apt repo: https://www.postgresql.org/download/linux/debian/

We can install the latest version from Postgres' apt repo

Yes this is our current work-around, see https://github.com/neondatabase/neon/blob/859f01918529d5e6547ac4ff8e05a4e5775520a2/.github/workflows/benchmarking.yml#L469

It is a bit complicated because we run in container without sudo privileges so we can not "install" the postgres packages from the apt repo

We can add it to build-tools image

@Bodobolero @bayandin is it still a problem? Or we use some workaround?

It is still a problem that

postgreSQL uses openssl 1.x train
openssl is not thread safe when built statically
pgbench is multithreaded
pgbench when built multithreaded with static library will fail

We have the following workaround for our pgvector benchmark:
https://github.com/neondatabase/neon/blob/e51cf6157b2a25907dd5b7c442f838af5cdbf54a/.github/workflows/benchmarking.yml#L561
TLDR: we build pgbench ourselves from postgres sources in the benchmarking workflow instead of using pgbench from Neon artifacts

We found a workaround (install pgbench from deb packages), but it complicated the workflow. Also, we can't stay on openssl1.1 forever, so I think we need to find a proper solution for this.

OK, thanks for the replies. Since the issue is with the upstream library -- openssl, we currently do not have plans or the capacity to work on it. I'm still moving it to Selected instead of Backlog because it seems to be a good item to contribute, but just want to make it explicit that it's not a team priority at this moment


Fix/zone aware client lockout

client lockout policy was not zone aware, so clients with the same client id across zones would share lockout counters and times. This pull request fixes it.
To replicate: checkout master, start uaa, add 2 identity zones. Attempt to get admin token 5 times in zone 1 with wrong credentials, get locked out of admin client. target zone 2, attempt to get admin token with correct credentials, admin will still be locked out.

@6palace Please also ensure that you are working off the latest develop branch. For some reason Travis shows that you are still supplying old .travis.yml indicating that you're working on an out of date branch
https://travis-ci.org/cloudfoundry/uaa/builds/195966964

@6palace Can you please also follow these instructions
https://help.github.com/articles/publicizing-or-hiding-organization-membership/
so that we can know that you're contributing this as part of your organization (using the organization CLA on file)

Alright, changes sound good. About the 2 commit system, I do have separate test and implementation commits, is your point that you want me to push them one by one instead of together so the tests run twice?

@6palace the first commit must compile and the test be runnable. So if there is an interface change, that would go in the first commit. Otherwise I can't run a test and ensure it fails.

@6palace here is how I would go about pulling in this PR

I cherry pick the first commit, run the tests and ensure the test I expect to fail actually fails
I cherry pick the second commit, now all tests should pass

Hope this helps

Coverage decreased (-20.09%) to 65.699% when pulling b3aaab6e86de14114c7ccf6d0b978a01d7edc496 on GESoftware-CF:fix/zone_aware_client_lockout into d0872894e4d899445696226c1a9e05f7db69ccbf on cloudfoundry:develop.

Coverage decreased (-20.09%) to 65.699% when pulling b3aaab6e86de14114c7ccf6d0b978a01d7edc496 on GESoftware-CF:fix/zone_aware_client_lockout into d0872894e4d899445696226c1a9e05f7db69ccbf on cloudfoundry:develop.

Coverage decreased (-20.09%) to 65.699% when pulling b3aaab6e86de14114c7ccf6d0b978a01d7edc496 on GESoftware-CF:fix/zone_aware_client_lockout into d0872894e4d899445696226c1a9e05f7db69ccbf on cloudfoundry:develop.

Coverage decreased (-20.09%) to 65.699% when pulling b3aaab6e86de14114c7ccf6d0b978a01d7edc496 on GESoftware-CF:fix/zone_aware_client_lockout into d0872894e4d899445696226c1a9e05f7db69ccbf on cloudfoundry:develop.

Coverage decreased (-0.2%) to 85.571% when pulling 1ee25098a3a0b33a5268e8fec2c694464641b21b on GESoftware-CF:fix/zone_aware_client_lockout into d0872894e4d899445696226c1a9e05f7db69ccbf on cloudfoundry:develop.

Coverage decreased (-0.2%) to 85.571% when pulling 1ee25098a3a0b33a5268e8fec2c694464641b21b on GESoftware-CF:fix/zone_aware_client_lockout into d0872894e4d899445696226c1a9e05f7db69ccbf on cloudfoundry:develop.

Coverage decreased (-20.1%) to 65.686% when pulling 6ac32f80b4b6de3fffa2186005dd9f88b51a2b23 on GESoftware-CF:fix/zone_aware_client_lockout into 5bfe94b24b3b58e6f85ddf3ae69bdf3bd61befef on cloudfoundry:develop.

Coverage decreased (-20.1%) to 65.686% when pulling 6ac32f80b4b6de3fffa2186005dd9f88b51a2b23 on GESoftware-CF:fix/zone_aware_client_lockout into 5bfe94b24b3b58e6f85ddf3ae69bdf3bd61befef on cloudfoundry:develop.

Coverage decreased (-20.1%) to 65.686% when pulling 6ac32f80b4b6de3fffa2186005dd9f88b51a2b23 on GESoftware-CF:fix/zone_aware_client_lockout into 5bfe94b24b3b58e6f85ddf3ae69bdf3bd61befef on cloudfoundry:develop.

Coverage decreased (-0.004%) to 85.794% when pulling fb1bb5641a3ad1c6ce756f3d3b197d1889cb9812 on GESoftware-CF:fix/zone_aware_client_lockout into 5bfe94b24b3b58e6f85ddf3ae69bdf3bd61befef on cloudfoundry:develop.

Coverage decreased (-0.004%) to 85.794% when pulling fb1bb5641a3ad1c6ce756f3d3b197d1889cb9812 on GESoftware-CF:fix/zone_aware_client_lockout into 5bfe94b24b3b58e6f85ddf3ae69bdf3bd61befef on cloudfoundry:develop.

Coverage decreased (-0.004%) to 85.794% when pulling fb1bb5641a3ad1c6ce756f3d3b197d1889cb9812 on GESoftware-CF:fix/zone_aware_client_lockout into 5bfe94b24b3b58e6f85ddf3ae69bdf3bd61befef on cloudfoundry:develop.

Coverage decreased (-0.004%) to 85.794% when pulling fb1bb5641a3ad1c6ce756f3d3b197d1889cb9812 on GESoftware-CF:fix/zone_aware_client_lockout into 5bfe94b24b3b58e6f85ddf3ae69bdf3bd61befef on cloudfoundry:develop.


Grains

Hey, when mentoring Grains (https://exercism.org/tracks/go/exercises/grains) I was asked, why the person must iteration from 0 to 65 and why this works:
func Total() uint64 {
	var total uint64 = 0
	for i := 0; i <= 65; i++ {
		total += uint64(math.Pow(float64(2), float64(i)))
	}
	return total
}

After a bit of debugging I found out, that this is caused by an overflow:
2^62=4611686018427387904     new sum:<PHONE_NUMBER>854775807
2^63=9223372036854775808     new sum:<PHONE_NUMBER>3709551615
2^64=9223372036854775808     new sum:<PHONE_NUMBER>854775807  <-- overflow
2^65=9223372036854775808     new sum:<PHONE_NUMBER>3709551615

When adding 2^65 after the overflow the result is the result that was expected and all tests pass. Is there anything we could do, to detect this, as this is not the expected behaviour as this would be:
func Total() uint64 {
	var total uint64 = 0
	for i := 0; i <= 63; i++ {
		total += uint64(math.Pow(float64(2), float64(i)))
	}
	return total
}

That's a good catch. I'm not sure there is really a good way to test for this or even if it's something we want to test.
A possible way to detect this overflow (at least the basic cases) would be to parse the AST of the solution and try to detect loops or shift operations that would cause an overflow, but this is probably something that the analyzer should do and not the tests for the exercise.
However, I'm fine with leaving this sort of overflow discussion to mentoring sessions. It's something that deserves a proper explanation from a mentor, as the student still might be confused and frustrated with a failing test they possibly don't understand. Mentors can also point this out, even if the students don't ask explicitly. We can also mention this in the mentor notes. I'm drafting some things to include in mentor notes for exercises - I made a note to include this for the grains exercise.

Do you want me to summarize the problem for the mentor nodes?

@eklatzer That would be great! Feel free to message me on slack so we can exchange some notes :)

@eklatzer The mentor notes live in this repository/folder: https://github.com/exercism/website-copy/tree/main/tracks/go/exercises
It would be great if you could create a PR there. If you feel like it, you can create "full" mentor notes for grains like we have for hamming https://github.com/exercism/website-copy/blob/main/tracks/go/exercises/hamming/mentoring.md. Otherwise, you can also just add the usual headers and write TODO below those and then add your content in some section called Integer Overflow or similar.
When transferring the content, I don't think you need to include the part about how binary works. I think we can assume that mentors and even most students know that.

Yes, I forgot to link the issue before merging. Thanks for the reminder.


feat: add [Parameter] to/in DataGrid TemplateColumn SortBy

Is it possible to update DataGrid TemplateColumn SortBy to accept some parameters?
For some dynamic situations,
            @foreach (var key in DicKeys)
            {
                <TemplateColumn<EMAIL_ADDRESS><EMAIL_ADDRESS>Style="width:100%"
                        Tooltip=true SortBy="@(() => sortBy(key))">
                    <ChildContent>
                        ......
                    </ChildContent>
                </TemplateColumn>
            }

You can already do that, just not directly in the parameter (example comes from the demosite):
@inject DataSource Data

<FluentDataGrid<EMAIL_ADDRESS>style="width: 600px;">
    <TemplateColumn Title="Person" SortBy="@sortByName">

            <nobr>
<EMAIL_ADDRESS>@context.FirstName
            </nobr>

    </TemplateColumn>
    <TemplateColumn Title="Bonus">
        <FluentButton Appearance="Appearance.Accent" @onclick="@(() => Bonus(context))">Regular</FluentButton>
        <FluentButton Appearance="Appearance.Accent" @onclick="@(() => DoubleBonus(context))">Double</FluentButton>
    </TemplateColumn>
</FluentDataGrid>

@message

@code {
    string message = string.Empty;

    GridSort<Person> sortByName = GridSort<Person>
        .ByAscending(p => p.LastName)
        .ThenAscending(p => p.FirstName);

    void Bonus(Person p) => message = $"You want to give {p.FirstName} {p.LastName} a regular bonus";

    void DoubleBonus(Person p) => message = $"You want to give {p.FirstName} {p.LastName} a double bonus";
}

What are you missing?

My situation is the TemplateColumn created by foreach loop, it's dynamically created. Each TemplateColumn has different parameter for sorting. For example, we have dynamic object, the properties is not known until runtime, I need  to pass each property to specific TemplateColumn  for sorting, same as to have DataGrid context of List of key-value Dictionary.

I think you can do that with a method that returns a GridSort result. You kan use the @key as a parameter for that method.

I think you can do that with a method that returns a GridSort result. You kan use the @key as a parameter for that method.

The TemplateColumn  has no onClick event before sort, cannot pass the current @key to the method which return GridSort.

The @key comes from the foreach loop in your example. Passing that to a method does exactly the same as using the inline variant that you are suggesting

The @key comes from the foreach loop in your example. Passing that to a method does exactly the same as using the inline variant that you are suggesting

Thanks. It works.
I have another question, when I add sortBy, the header row will add button, how to change the background-color of the button?
The XPath:
//*[@id="fdb48c27"]/fluent-data-grid/fluent-data-grid-row[1]/fluent-data-grid-cell[2]/fluent-button//button
The button is a shadow element, cannot easy to add css style for it.

This is possible but goes directly against the purpose of this library: supplying components leveraging the Fluent UI design system.
You can target the component with CSS by using the ::deep selector and then specifying which part of the shadow DOM you want to target by using the standard ::partselector. Something like:
::deep > fluent-button::part(control){
...your css...
}


Add done() function to concurrent to check if the thread is finished

I used done() and made it a function instead of property because that's how it looks in Futures, but I'm not sure I like that name and if there are other preferences I can change it.

Yes, let's follow the Futures pattern, as with result().


Don't log stats auth failures

Its just too verbose with the UI is hitting stats with an expired token.

LGTM


[SPARK-6154][streaming] Add Kafka modules to the 2.11 build.

This is somewhat related to SPARK-6154, though it only touches Kafka, not the jline dependency for thriftserver.
I tested this locally on 2.11 (./run-tests) and everything looked good (I had to disable mima, because MimaBuild harcodes 2.10 for the previous version -- that's another PR).

(changed the title to mention the ticket, though it doesn't fix all the issues mentioned there)

Can one of the admins verify this patch?

@pwendell Do you think we could still include this in 1.4? It's only adding the kafka modules to the 2.11 build, tests pass and no code changes were necessary.

Jenkins, test this please.

@dragos yeah I think it's fine - let's see if tests pass and I will merge it.

Merged build triggered.

Merged build started.

Test build #32838 has started for   PR 6149 at commit aa15d99.

Test build #32838 has finished for   PR 6149 at commit aa15d99.

This patch fails MiMa tests.
This patch merges cleanly.
This patch adds no public classes.

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

Merged build finished. Test FAILed.

Failed download during mima check... could this be a transient network issue? I can download from https://repo1.maven.org/maven2/org/apache/spark/spark-streaming-zeromq_2.10/1.2.0/spark-streaming-zeromq_2.10-1.2.0.jar without problems...
[info] 	[SUCCESSFUL ] org.apache.spark#spark-streaming-mqtt_2.10;1.2.0!spark-streaming-mqtt_2.10.jar (221ms)
[info] downloading https://repo1.maven.org/maven2/org/apache/spark/spark-streaming-zeromq_2.10/1.2.0/spark-streaming-zeromq_2.10-1.2.0.jar ...
[warn] 	[FAILED     ] org.apache.spark#spark-streaming-zeromq_2.10;1.2.0!spark-streaming-zeromq_2.10.jar: /home/jenkins/.ivy2/cache/org.apache.spark/spark-streaming-zeromq_2.10/jars/spark-streaming-zeromq_2.10-1.2.0.jar.part (No such file or directory) (221ms)
[warn] 	[FAILED     ] org.apache.spark#spark-streaming-zeromq_2.10;1.2.0!spark-streaming-zeromq_2.10.jar: /home/jenkins/.ivy2/cache/org.apache.spark/spark-streaming-zeromq_2.10/jars/spark-streaming-zeromq_2.10-1.2.0.jar.part (No such file or directory) (221ms)
[warn] ==== public: tried
[warn]   https://repo1.maven.org/maven2/org/apache/spark/spark-streaming-zeromq_2.10/1.2.0/spark-streaming-zeromq_2.10-1.2.0.jar
[info] downloading https://repo1.maven.org/maven2/org/apache/spark/spark-streaming-flume_2.10/1.2.0/spark-streaming-flume_2.10-1.2.0.jar ...
[info] 	[SUCCESSFUL ] org.apache.spark#spark-streaming-flume_2.10;1.2.0!spark-streaming-flume_2.10.jar (307ms)
[info] downloading https://repo1.maven.org/maven2/org/apache/spark/spark-streaming-kafka_2.10/1.2.0/spark-streaming-kafka_2.10-1.2.0.jar ...
[info] 	[SUCCESSFUL ] org.apache.spark#spark-streaming-kafka_2.10;1.2.0!spark-streaming-kafka_2.10.jar (232ms)
[info] downloading https://repo1.maven.org/maven2/org/apache/spark/spark-streaming-twitter_2.10/1.2.0/spark-streaming-twitter_2.10-1.2.0.jar ...
[info] 	[SUCCESSFUL ] org.apache.spark#spark-streaming-twitter_2.10;1.2.0!spark-streaming-twitter_2.10.jar (228ms)
[info] downloading https://repo1.maven.org/maven2/org/apache/spark/spark-streaming_2.10/1.2.0/spark-streaming_2.10-1.2.0.jar ...
[info] 	[SUCCESSFUL ] org.apache.spark#spark-streaming_2.10;1.2.0!spark-streaming_2.10.jar (463ms)
[info] downloading https://repo1.maven.org/maven2/org/apache/spark/spark-mllib_2.10/1.2.0/spark-mllib_2.10-1.2.0.jar ...
[info] 	[SUCCESSFUL ] org.apache.spark#spark-mllib_2.10;1.2.0!spark-mllib_2.10.jar (440ms)
[info] downloading https://repo1.maven.org/maven2/org/apache/spark/spark-bagel_2.10/1.2.0/spark-bagel_2.10-1.2.0.jar ...
[info] 	[SUCCESSFUL ] org.apache.spark#spark-bagel_2.10;1.2.0!spark-bagel_2.10.jar (231ms)
[info] downloading https://repo1.maven.org/maven2/org/apache/spark/spark-graphx_2.10/1.2.0/spark-graphx_2.10-1.2.0.jar ...
[info] 	[SUCCESSFUL ] org.apache.spark#spark-graphx_2.10;1.2.0!spark-graphx_2.10.jar (285ms)
[info] downloading https://repo1.maven.org/maven2/org/apache/spark/spark-core_2.10/1.2.0/spark-core_2.10-1.2.0.jar ...
[info] 	[SUCCESSFUL ] org.apache.spark#spark-core_2.10;1.2.0!spark-core_2.10.jar (851ms)
[warn] 	::::::::::::::::::::::::::::::::::::::::::::::
[warn] 	::              FAILED DOWNLOADS            ::
[warn] 	:: ^ see resolution messages for details  ^ ::
[warn] 	::::::::::::::::::::::::::::::::::::::::::::::
[warn] 	:: org.apache.spark#spark-streaming-zeromq_2.10;1.2.0!spark-streaming-zeromq_2.10.jar
[warn] 	::::::::::::::::::::::::::::::::::::::::::::::
sbt.ResolveException: download failed: org.apache.spark#spark-streaming-zeromq_2.10;1.2.0!spark-streaming-zeromq_2.10.jar
	at sbt.IvyActions$.sbt$IvyActions$$resolve(IvyActions.scala:278)
	at sbt.IvyActions$$anonfun$updateEither$1.apply(IvyActions.scala:175)
	at sbt.IvyActions$$anonfun$updateEither$1.apply(IvyActions.scala:157)
	at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:151)
	at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:151)
	at sbt.IvySbt$$anonfun$withIvy$1.apply(Ivy.scala:128)
	at sbt.IvySbt.sbt$IvySbt$$action$1(Ivy.scala:56)
	at sbt.IvySbt$$anon$4.call(Ivy.scala:64)
	at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:93)
	at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1(Locks.scala:78)
	at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:97)
	at xsbt.boot.Using$.withResource(Using.scala:10)
	at xsbt.boot.Using$.apply(Using.scala:9)
	at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:58)
	at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:48)
	at xsbt.boot.Locks$.apply0(Locks.scala:31)
	at xsbt.boot.Locks$.apply(Locks.scala:28)
	at sbt.IvySbt.withDefaultLogger(Ivy.scala:64)
	at sbt.IvySbt.withIvy(Ivy.scala:123)
	at sbt.IvySbt.withIvy(Ivy.scala:120)
	at sbt.IvySbt$Module.withModule(Ivy.scala:151)
	at sbt.IvyActions$.updateEither(IvyActions.scala:157)
	at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1318)
	at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1315)
	at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$85.apply(Defaults.scala:1345)
	at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$85.apply(Defaults.scala:1343)
	at sbt.Tracked$$anonfun$lastOutput$1.apply(Tracked.scala:35)
	at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1348)
	at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1342)
	at sbt.Tracked$$anonfun$inputChanged$1.apply(Tracked.scala:45)
	at sbt.Classpaths$.cachedUpdate(Defaults.scala:1360)
	at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1300)
	at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1275)
	at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
	at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
	at sbt.std.Transform$$anon$4.work(System.scala:63)
	at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
	at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
	at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
	at sbt.Execute.work(Execute.scala:235)
	at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
	at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
	at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
	at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)

Jenkins, retest this please.

Merged build triggered.

Merged build started.

Test build #32846 has started for   PR 6149 at commit aa15d99.

Test build #32846 has finished for   PR 6149 at commit aa15d99.

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

Merged build finished. Test PASSed.

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

If we now support Kafka in 2.11, we should update the "Builds Spark for 2.11" instructions to reflect this: https://spark.apache.org/docs/latest/building-spark.html#building-for-scala-211.  Would be great to get an update in for 1.4.


added quantapack and started metapack

Generally, I'd like packs to have completed art when PRed, and one pack per PR is also preferred.
I'll wait with merging until you've added the art unless it contains mechanics important for other packs.

Added missing art.

All changes up.


Error saving to DropBox restricted

Recently saving or fails either takes a lot of times. I recreated account in KeeAnywere settings, but it didn't help.

Dropbox itself is accessible via browser.

cannot reproduce.


Try to bump dmc

Context: https://github.com/mckinsey/vizro/issues/901#issuecomment-2505980839. dmc is now at 0.15. Let's consider unpinning:

Higher priority: see if we can get same datepicker behaviour as now but hopefully with fewer bugs (maybe helps with dynamic filter @petar-qb?). Initially we just need to check feasibility of this and whether it's something we can do quickly and easily or whether it's a huge piece of work.
Lower priority/separate ticket: consider #308 and how we might like to integrate timepicker into vizro.

After https://github.com/mckinsey/vizro/pull/895 I think the only dmc components we have left are dmc.Switch and dmc.DateRangePicker/dmc.DatePicker.
@huong-li-nguyen are there plans to replace dmc.Switch with dbc?

Yes, the dmc.Switch will be replaced with the dbc.Checklist next 👍 To convert the DatePicker could be a bit more complex as the API has changed.

This issue depends a bit on fixing the dash persistence bug. We can start working on this ticket, but the date_picker persistence will be harder to implement.
P.S. The date_picker persistence already doesn't work.

Hi Vizro Team,
I’m glad to hear that you’re considering upgrading to the latest version of dash-mantine-components. As the primary maintainer of DMC, I’m happy to assist if you decide to move forward with this project.
Upgrading from version 0.12 to the latest release does involve significant changes. In large apps, this can be quite time-consuming; however, in Vizro, it’s relatively straightforward since only one component is in use. To help, I’ve prepared a draft PR #924 for you to review.
The current DMC version offers many benefits: enhanced stability, more features, and critical bug fixes, all thanks to its foundation on Mantine V7. You can find more details in our Roadmap.
We’ve been making rapid progress on DMC, releasing updates approximately every two weeks. You can see recent release announcements in our GitHub Discussions.

Benefits of Upgrading DMC in Vizro
As Antony mentioned in this comment, version 0.12 remains relatively popular. However, I anticipate its usage will decline as new projects adopt the latest version.
I understand the desire to minimize dependencies, but upgrading DMC offers significant advantages for Vizro, including:

Higher-Quality Date Pickers: The DMC date pickers in versions >=0.14 eliminate the need for workarounds currently included in Vizro.
Access to ALL DMC components:  This upgrade allows Vizro users to include any DMC component as custom components. Many of these components are not available in Dash Bootstrap Components or other Plotly libraries.

This upgrade would address Issue #901, enabling  the addition of dmc.DateTimePicker.
The dmc.Stepper could be a solution for the "Multi-step Wizard" as requested in #888 .

The MantineProvider makes it straightforward to style all Mantine components with a Vizro theme, which could help address  Brand Identity Management as outlined in Issue #887

Draft Pull Request Summary
I’ve drafted a PR to upgrade Vizro to use DMC version 0.15.1. Here’s a summary of the changes:

Mantine V7 requires React 18, which will be the default in Dash 3.0. For now, React 18 needs to be explicitly set in the app or via an environment variable.
Some components (e.g., date pickers) require extra CSS files. These are included as an external stylesheet in the PR, but it might make sense to move them to Vizro’s CSS folder.
The app layout needs to be wrapped in a dmc.MantineProvider.
Replaced the outdated date picker components with the new DatePickerInput. Eliminated all the workarounds for bugs in 0.12
Updated the JavaScript function to update both the Bootstrap and Mantine themes when switching.

Next Steps
I haven’t updated any tests yet, but I’ve verified functionality by running the example app in the dev folder. Here’s the command I used:
hatch run examples:example dev

The app works with all components and the theme switcher, and it’s ready for further testing.

This issue depends a bit on fixing the dash persistence bug. We can start working on this ticket, but the date_picker persistence will be harder to implement. P.S. The date_picker persistence already doesn't work.

Can you say more about this bug? Is this a Vizro issue or can it be fixed in either Dash or DMC?   I can't access the internal issue.

Hi @petar-qb
Good to know that you are perusing the Dash issue.  It would be nice to have the option to persist values that are updated in callbacks.
I see that the DatePicker is not persistent in the Vizro app I ran in my PR, however, the dmc.DatePickerInput persistence does work in a regular Dash app - you can see it on this sample app on PyCafe.  User values are maintained after a browser refresh.

I see that the DatePicker is not persistent in the Vizro app I ran in my PR

Correct. That's a well known Vizro issue we also plan to address soon.


Symfony 4 compatibility

Ping!

When will this be accepted?

please also update gedmo extensions to ^2.4

@zolex The constraint is ^2.3.1 which is just another way of saying >= 2.3.1 <3.0.0 so 2.4 is already included.

@iluuu1994 ah okay, I assumed it was a regexp like notation.

Oh please merge this!

ping

closing as I merged #358


”Isvoarele” is listed in the drop-down menu

Description:
"Isvoarele" is listed in the drop-down menu alongside its corresponding county and commune, according to the law.
Precondition:
The website is up an running.

Step 1
Type "Isvoarele" in the search bar.

Expected results
The location is listed in the drop-down menu as "Comuna Isvoarele, GIURGIU".


If an engineConn's lib dir have subdir then not all the jar could be up load to engineConnPublickDir

linkis 1.0.2 , Hdp3.1.4
In hdp env hive will default use atlas to save lineage , atlas's hive hook Impl jars is in a subdir, In this situation , the default behavior of linkis will got Exception

https://github.com/apache/incubator-linkis/pull/1045


Roads, layouts?

I have had no roads or building layouts load. Seen a few people ask about this and I have tried the solutions mentioned. Nothing seems to be working. Any help would be appreciated!

Overpass API SLL certificate has expired

@orangeadam3 @shejan0 After setting back the system time, terrain will not generate, I think some resource provider has newer CA cert, so the game won't accept future certificates.
This really needs a fix, normal generation is not possible now.
I am not sure about others, but for me it doesn't generate.


As I developer, I want to investigate mono-repo capabilities within Azure Devops

As a:
Developer
I want:
To investigate the ins and out of structuring multiple services within a single mono-repository
So that:
I can better accommodate situations in which a team manages multiple docker container images/services from a single git repository
Describe the solution you'd like:
A spike/investigatory sprint to identify how we Azure DevOps behaves when only a single git repository can be used for multiple application source/services
Describe alternatives you've considered:
The status quo, at present, is to utilize a unique git repository for every service deployed to the cluster.
Additional context:
Customer teams have approached us with the need to deploy multiple services from a single source repository to a cluster. Presently, we do not accommodate this, but we should be able to.
Does this require updates to documentation?:
Yes

I've updated an example mono-repo here. The take away is that when someone changes a "service":

An image will be built and pushed to ACR. This is the "build" stage.
The next stage is a the "release" stage (which I didn't build out). This release stage is just making a PR to a HLD repo that updates the image tag. Using this method we will always have the latest image tags for image that weren't built in a particular run.

The service specific azure-pipelines.yaml files might be useful when thinking about building the service creation.
The in snippet below I've had to hard code the service name (which is also the directory name). We need to generate this in the service creation code:

trigger:
  branches:
    include:
    - master
  paths:
    include:
    #Can't use a variable since they are evaluated at runtime, not at trigger time.
    #Hardcoding for now
    - '/service-A/*'

I've also bolded the fact that the build is only triggered on master branch. If we want a trigger on other branch patterns we should add them.
cc @mtarng @bnookala @evanlouie

@andrebriggs I actually already templatized a bit of your starter yaml. The current implementation defaults to triggering on master and will swap out service-a to the appropriate directory:
If you ran spk project init in my-standard-repo:

my-standard-repo/

azure-pipelines.yaml // paths will be './'

If you ran spk project init --mono-repo --packages-dir packages in my-mono-repo:

my-mono-repo/

packages/

service-a/

azure-pipelines.yaml // paths will be './packages/service-a/'

service-b/

azure-pipelines.yaml // paths will be './packages/service-b/'

service-c/

azure-pipelines.yaml // paths will be './packages/service-c/'

Awesome @evanlouie

@andrebriggs @jred55 @evanlouie @bnookala closing this ticket as the work we've done with spk supports using a mono-repository.


Mathf.log is logₑ unless you specific a 2nd argument

https://github.com/marian42/wavefunctioncollapse/blob/26e3e925d76d8efbe48f2da93e35938bd5260472/Assets/Code/WaveFunctionCollapse/Module.cs#L32
I am no mathematician by any means, but I did notice your Shannon Entropy equation might be slightly off. I believe it should be log₂ not logₑ so Mathf.Log(foo, 2). Unity defaults to logₑ when there's no 2nd parameter.
Someone please correct me if I'm wrong. 😅
[Btw this codebase has been super useful for learning, thanks!]

Thank you, it's nice to hear that people are reading my code and finding it useful!
According to Wikipedia, "the choice of base varies between different applications". In my case, the choice of base only changes all entropy values by a constant factor. Since the entropy is only used to determine the slot with the smallest entropy, multiplying them all with a constant factor would make no difference. However, now that I'm thinking about it, it might be worth checking if Math.Log is faster with any particular base.

Ahh I see, that makes sense! 😄


Fixed heroku generator when deploying project with multiple apps

The current heroku_install bin wasn't able to deploy multiple apps at the same time.
The cd inside the loop was working for the first app since we were inside the project root but the second one was failing because it was trying to cd from the directory of the first app.

Oh sure, that was just for clarity sake.

@seanpdoyle Updated my PR with your proposition.

Merged in https://github.com/thoughtbot/ember-cli-rails/commit/0482a4650af688291b40f1debf6091fb8db3e457.
Thanks!


360 degree scene

Hello, I tried to run your model to generate a 360 degree scene, but I faced with a problem. After 850 epochs, the following error appears
Epoch 851
lr0 =  0.02
lr1 =  0.001
1%|█▍                                                                                | 1/103 [00:00<01:27,  1.16it/s]
Traceback (most recent call last):
File "/workspace/t2n_docker_conda/Text2NeRF/text2nerf_main.py", line 672, in
reconstruction(args)
File "/workspace/t2n_docker_conda/Text2NeRF/text2nerf_main.py", line 556, in reconstruction
rgb_map, alphas_map, depth_map, weights, z_vals = renderer(rays_train, tensorf, chunk=args.batch_size,
File "/workspace/t2n_docker_conda/Text2NeRF/renderer.py", line 42, in OctreeRender_trilinear_fast
return torch.cat(rgbs), None, torch.cat(depth_maps), torch.cat(weights), torch.cat(z_val)
RuntimeError: torch.cat(): expected a non-empty list of Tensors

I got the same error.

Sorry for the inconvenience. Please change the 'pose_traj=circle0' to 'pose_traj=circle'. Here,  'circle0' was used for early code testing and has been discarded.


smtp virtual_dns_lookup

I've never seen this type of logging. Can you specify the postfix version and the circumstances that generate this kind of logging? How did you set up postfix? Do you have a complete smtp transaction with this log line included, so I can understand the context?

I've never seen this type of logging. Can you specify the postfix version and the circumstances that generate this kind of logging? How did you set up postfix? Do you have a complete smtp transaction with this log line included, so I can understand the context?

Let's wipe this PR. This is probably a VadeSecure stuff.


[Bug] [Module Name] Bug title

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
add jar files in Registration Center-Jar Management, then refresh the jar file list, some times has result sometimes is empty

and in Data Studio, I have created a flink jar task and want to select the jar which uploaded in Registration Center-Jar Management , but the jar file list is empty.
What you expected to happen
The jar list is correct, and in Data Studio can select if the jar file is enabled.
How to reproduce
Create a new Tenant
login and select new Tenant
Add jar in Registration Center-Jar Management

refresh the list of jar

not 100 % occur and refresh list some times may occurs
Anything else
Check the source code,

the URI of /api/jar not interceptor by the TenantInterceptor and use Tenant last set in the thread. so the jar file may be belong to other tenants. And also others, like /api/catalogue etc. has the same problem.
Version
0.7.4
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

use dinky 1.0.0

use dinky 1.0.0

ok


Manual creation of Doors cause issues

Hi,
I'm trying to build a simple room and corridor, where I have created one single square room and add only one door tile at each side  of the room, and create another corridor template and specify one time at each end of the corridor.
Now when I run the level generator I got the below error, please advise how to fix this:
InvalidOperationException: Timeout was reached when generating level
ProceduralLevelGenerator.Unity.Generators.DungeonGenerator.PipelineTasks.DungeonGeneratorTask1+<Process>d__2[TPayload].MoveNext () (at Assets/ProceduralLevelGenerator/Runtime/Generators/DungeonGenerator/PipelineTasks/DungeonGeneratorTask.cs:86) ProceduralLevelGenerator.Unity.Pipeline.PipelineRunner1+d__1[TPayload].MoveNext () (at Assets/ProceduralLevelGenerator/Runtime/Pipeline/PipelineRunner.cs:29)
ProceduralLevelGenerator.Unity.Pipeline.PipelineRunner1[TPayload].Run (System.Collections.Generic.IEnumerable1[T] pipelineTasks, TPayload payload) (at Assets/ProceduralLevelGenerator/Runtime/Pipeline/PipelineRunner.cs:16)
ProceduralLevelGenerator.Unity.Generators.Common.LevelGeneratorBase`1[TPayload].Generate () (at Assets/ProceduralLevelGenerator/Runtime/Generators/Common/LevelGeneratorBase.cs:41)
ProceduralLevelGenerator.Unity.Editor.LevelGenerators.DungeonGeneratorInspector.OnInspectorGUI () (at Assets/ProceduralLevelGenerator/Editor/LevelGenerators/DungeonGeneratorInspector.cs:65)
UnityEditor.UIElements.InspectorElement+<>c__DisplayClass55_0.b__0 () (at <90d4bcb003fb405fb09241aed2f178aa>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

Hey!
The timeout error usually that there's something wrong with your room templates. For example, the generator might be unable to produce a level if there's no way to connect two neighbouring rooms. That can be caused for example if you accidentally use different lengths of doors.
Please do the following: There is an "Advanced" section in the Dungeon Generator component and there should be an "Export map description" button. Click the button and it should create a file called "exportedMapDescription.json" in the root folder of your project. Please send me this file - it contains information about the shapes of your rooms. (In order to attach the file to this issue, you have to convert it to a txt file). I'll look into that file so we can solve the issue.

Hi Onder,
and thanks for the quick reply, here is the content of the file:
exportedMapDescription.txt

From the file that you sent me, it seems to me that you only have a single corridor room template. If I'm reading the file properly, the corridor room template is vertical - it can connect two rooms if one of the rooms is above the other room. The problem is that your level graph seems to be a cycle which is impossible to generate using only vertical corridors. Please create a second corridor room template so you can connect rooms both horizontally and vertically.
Let me know if it helps!

Yep that did the trick thank you :)


Option to store test case's subsequent snapshots as a diff between previous and next

Do you want to request a feature or report a bug?
feature
I am writing a test which covers some complex use cases in redux - sequences of various actions and subsequent state shapes.
I use Jest snapshots to dump each state in a sequence of actions. Each state slightly  differs from previous state.
I used to look at snapshot files and inspect if any action caused right change in state.
As the test case grows, each snapshot becomes bigger and bigger and it is hard to me to spot the change.
If there would be an option like 'store snapshots of the same test case as diffs' - I would be easy to track changes in snapshots - I could just look at changes in more natural form - diffs.
Example test:
let state = undefined;

state = rootReducer(state, actions.collectionCreate('vegetables', {info: 'collection 1'}));
snapshot('vegetables collection created', state);

state = rootReducer(state, actions.collectionCreate('fruits', {info: 'collection 2'}));
snapshot('fruits collection created', state);

// on collection 2

state = rootReducer(state, actions.viewMounted('fruits', 'table', createViewParams(0, 100)));
snapshot('user opened fruits table', state);

state = rootReducer(state, actions.viewChanged('fruits', 'table', {offset: 100}));
snapshot('user navigated to second page of fruits table', state);

state = rootReducer(state, actions.viewChanged('fruits', 'table', {offset: 0}));
snapshot('user navigated back to first page of fruits table', state);

// on collection 1

state = rootReducer(state, actions.viewMounted('vegetables', 'table', createViewParams(100, 100)));
snapshot('user opened vegetables table on second page', state);

state = rootReducer(state, actions.viewChanged('vegetables', 'table', {offset: 0}));
snapshot('user navigated to first page of vegetables table', state);

state = rootReducer(state, actions.viewChanged('vegetables', 'table', {offset: 100}));
snapshot('user navigated back to second page of vegetables table', state);

It's not there yet in Jest, but you can use this package: https://github.com/thymikee/snapshot-diff
If it gets popular enough, we can maybe merge it to jest core someday :)


Segfault after 5 minutes of no events

Running on a low activity test debian 10 system, with a filter for just process creates, and sysmon crashed after 5 minutes of not receiving any events.
Oct 14 20:39:16 lsys sysmon[1641]: Event timeout occurred (no event for 300 seconds). Reloading eBPF...
Oct 14 20:39:17 lsys sysmon[1641]: sedsid() failed.
Oct 14 20:39:17 lsys sysmon[1641]: Could not automatically discover kernel offsets.
Oct 14 20:39:17 lsys sysmon[1641]: Build and run the get_offsets module to generate the offsets config file:
Oct 14 20:39:17 lsys sysmon[1641]: /opt/sysinternalsEBPF/sysinternalsEBPF_offsets.conf
Oct 14 20:39:17 lsys sysmon[1641]: Reloaded eBPF due to event timeout
Oct 14 20:39:17 lsys kernel: [ 3109.759945] sysmon[1672]: segfault at 40 ip 00007fe5c2f867f3 sp 00007ffd73847fc0 error 4 in libsysinternalsEBPF.so[7fe5c2f64000+40000]
Oct 14 20:39:17 lsys systemd[1]: sysmon.service: Main process exited, code=killed, status=11/SEGV
Oct 14 20:39:17 lsys systemd[1]: sysmon.service: Failed with result 'signal'.

Here's my sysmon config for reference
<Sysmon schemaversion="4.70">
        <EventFiltering>
                <RuleGroup name="" groupRelation="or">
                        <ProcessCreate onmatch="exclude"/>
                </RuleGroup>
        </EventFiltering>
</Sysmon>

Sysmon couldn't find the offsets (3rd/4th line of your output). It should have exited at that point but appears to have tried running. After 5 minutes of no events it reloads the eBPF programs and that appears to be the cause of the crash. I will check how that happened, but if you simply make the offsets file as described (/opt/sysinternalsEBPF/getOffsets) then this might solve your problem.

Hello. I've just built from source on a fresh Debian 10 system and it seems fine. I'll produce new debs and rpms when I've fixed a few more things.
Can you let me know if you built from source or installed from the debs?
Thanks

Sorry, thought I said in my original post, I had installed the debs.
I generated the config and that does seem to have fixed the problem, though I did have to install the kernel headers and libelf-dev in addition to the other requirements mentioned in the README.md in /opt/sysinternalsEBPF/getOffsets.


[Keyvault] az keyvault key rotation-policy update: Support both camel case and snake case json for --value

Description

Previously, az keyvault key rotation-policy update only accept policy like this:
{
  "lifetime_actions": [
    {
      "trigger": {
        "time_after_create": "P15D",
        "time_before_expiry" : null
      },
      "action": {
        "type": "Rotate"
      }
    },
    {
      "trigger": {
        "time_before_expiry" : "P7D"
      },
      "action": {
        "type": "Notify"
      }
    }
  ],
  "attributes": {
    "expires_in": "P30D"
  }
}

This PR add support for policy json used by ARM template:
{
  "lifetimeActions":[
	{
  	  "trigger":{"timeAfterCreate":"P18M"},
 	  "action":{"type":"rotate"}
	},
	{
	  "trigger":{"timeBeforeExpiry":"P30D"},
	  "action":{"type":"notify"}
	}
  ],
  "attributes":{
	"expiryTime":"P2Y"
  },
}

and policy json returned by Python SDK:
{
  "expiresIn": "P2Y",
  "lifetimeActions": [
    {
      "action": "Rotate",
      "timeAfterCreate": "P18M",
      "timeBeforeExpiry": null
    },
    {
      "action": "Notify",
      "timeAfterCreate": null,
      "timeBeforeExpiry": "P30D"
    }
  ]
}

Testing Guide

az keyvault key rotation-policy --value /path/to/policy.json --name key_name --vault-name vault_name

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Keyvault