[LAB-650] tool not found error when running custom tools

When running a basic pre-configured tool on a remote server, such as this example below:
from plex import CoreTools, plex_init
from plex import plex_run
from plex import plex_mint
import os

os.environ["RECIPIENT_WALLET"] = "0xA5B68dbA49cE48d0c1e0f29EA45885b5f83A0BD4"

fasta_local_filepaths = ["data/1_interim/target_sequence/af_reference_sequence.fasta"]

initial_io_cid = plex_init(
    CoreTools.COLABFOLD_MINI.value,
    sequence=fasta_local_filepaths
)

# run plex
completed_io_cid, completed_io_filepath = plex_run(initial_io_cid)

# print results
print("DAG filepath", completed_io_filepath)
print("DAG location", completed_io_cid)

# using the autotask webhook enables gasless minting
os.environ["AUTOTASK_WEBHOOK"] = "https://api.defender.openzeppelin.com/autotasks/e15b3f39-28f8-4d30-9bf3-5d569bdf2e78/runs/webhook/8315d17c-c493-4d04-a257-79209f95bb64/2gmqi9SRRAQMoy1SRdktai"
plex_mint(completed_io_cid)

I receive the expected output
ubuntu@ip-172-31-47-185:$ python src/leahlabs/basic.py
plex init -t QmcRH74qfqDBJFku3mEDGxkAf6CSpaHTpdbe1pMkHnbcZD -i {"sequence": ["/home/ubuntu/leahlabs/data/1_interim/target_sequence/af_reference_sequence.fasta"]} --scatteringMethod=dotProduct --autoRun=false
The version of plex you are running (v0.10.3) is outdated.
We highly recommend running `plex upgrade`
Pinned IO JSON CID: QmeXwojbB4KmUwRwnrkT1T6Jrzp71nPTL4jxqRRRporyk4
The version of plex you are running (v0.10.3) is outdated.
We highly recommend running `plex upgrade`
Created working directory:  /home/ubuntu/jobs/d3d3a93f-2c05-4dbd-8126-313918cfa825
Initialized IO file at:  /home/ubuntu/jobs/d3d3a93f-2c05-4dbd-8126-313918cfa825/io.json
Processing IO Entries
Starting to process IO entry 0
Job running...
Bacalhau job id: 05410e0b-8589-4ac2-8a2b-f2652e7048a2

Computing default go-libp2p Resource Manager limits based on:
    - 'Swarm.ResourceMgr.MaxMemory': "8.4 GB"
    - 'Swarm.ResourceMgr.MaxFileDescriptors': 524288

Applying any user-supplied overrides on top.
Run 'ipfs swarm limit all' to see the resulting limits.

Success processing IO entry 0
Finished processing, results written to /home/ubuntu/jobs/d3d3a93f-2c05-4dbd-8126-313918cfa825/io.json
Completed IO JSON CID: QmbMbRnUPDraUezJNur7YmLArapXBdVsASbbNZhFaJrKGY
2023/10/03 11:16:59 failed to sufficiently increase receive buffer size (was: 208 kiB, wanted: 2048 kiB, got: 416 kiB). See https://github.com/quic-go/quic-go/wiki/UDP-Receive-Buffer-Size for details.
DAG filepath /home/ubuntu/jobs/d3d3a93f-2c05-4dbd-8126-313918cfa825/io.json
DAG location QmbMbRnUPDraUezJNur7YmLArapXBdVsASbbNZhFaJrKGY
The version of plex you are running (v0.10.3) is outdated.
We highly recommend running `plex upgrade`
Preparing NFT metadata...
Uploading NFT metadata to IPFS...
NFT metadata uploaded to IPFS: ipfs://QmU6bJG8VGn1zAmnhuabQxsU15Gur56VXu781UYVyKmJNf
Triggering minting process via Defender Autotask...
🌱🌱🌱🌱🌱
Minting process successful.
Thank you for making science more reproducible, open, and collaborative!
You can view your ProofOfScience NFT at https://testnets.opensea.io/account.
🌱🌱🌱🌱🌱

When running a script which uses a custom json tool manifest, however, such as this one:
from plex import CoreTools, plex_init
from plex import plex_run
from plex import plex_mint
import os

os.environ["RECIPIENT_WALLET"] = "0xA5B68dbA49cE48d0c1e0f29EA45885b5f83A0BD4"

tool_filepath = "tools/colabdesign/colabdesign.json"
pdb_path = "data/1_interim/target_conformation/6VJA_chain_D_extracted.pdb"
config_path = "tools/colabdesign/colabdesign.yaml"

initial_io_cid = plex_init(
    tool_path = tool_filepath,
    config = [config_path],
    protein = [pdb_path]
)

# run plex
completed_io_cid, completed_io_filepath = plex_run(initial_io_cid)

# print results
print("DAG filepath", completed_io_filepath)
print("DAG location", completed_io_cid)

# using the autotask webhook enables gasless minting
os.environ["AUTOTASK_WEBHOOK"] = "https://api.defender.openzeppelin.com/autotasks/e15b3f39-28f8-4d30-9bf3-5d569bdf2e78/runs/webhook/8315d17c-c493-4d04-a257-79209f95bb64/2gmqi9SRRAQMoy1SRdktai"
plex_mint(completed_io_cid)

I receive a tool not found error
ubuntu@ip-172-31-47-185: $ python src/leahlabs/advanced.py
plex init -t tools/colabdesign/colabdesign.json -i {"config": ["/home/ubuntu/leahlabs/tools/colabdesign/colabdesign.yaml"], "protein": ["/home/ubuntu/leahlabs/data/1_interim/target_conformation/6VJA_chain_D_extracted.pdb"]} --scatteringMethod=dotProduct --autoRun=false
The version of plex you are running (v0.10.3) is outdated.
We highly recommend running `plex upgrade`
2023/10/03 11:19:25 tool not found
Traceback (most recent call last):
  File "src/leahlabs/advanced.py", line 13, in <module>
    initial_io_cid = plex_init(
  File "/home/ubuntu/.local/share/virtualenvs/leahlabs-rMPYC1e7/lib/python3.8/site-packages/plex/__init__.py", line 73, in plex_init
    raise PlexError("Failed to initialize IO JSON CID")
plex.PlexError: Failed to initialize IO JSON CID
If this error persists, please submit an issue at https://github.com/labdao/plex/issues

I could not identify the issue right away in the repo.
From SyncLinear.com | LAB-648
From SyncLinear.com | LAB-649
LAB-650

My intuition is that the client does not automatically convert tool paths to absolute paths, while doing exactly this for file inputs. This causes an error on the golang level.

stale


DocsArchive-1.0.20034.2Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target_ddd5cbaf-45b1-46d2-a5e6-8983d6586657/pull/1 is merged into live branch.
Auto archive content to https://github.com/OPS-E2E-PPE/docs-archive-test-target_ddd5cbaf-45b1-46d2-a5e6-8983d6586657.git

Docs Build status updates of commit 11bc589:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error]

Cannot sync git repo to specified commit because branch Release_Archive_master_2020-02-03-10-28-11 has been deleted or has been force pushed: fatal: couldn't find remote ref refs/heads/Release_Archive_master_2020-02-03-10-28-11

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


[CT-3276] Remove usage of dbt.include.global_project in dbt/adapters

Closed by: https://github.com/dbt-labs/dbt-core/pull/8930


Ma/veg 1468 promt for auth

Added AuthorURL prompt to ZCLI generated app

Description
User is prompted to provide optional authorURL field on zcli apps:new
If user enters invalid URL, they are asked to try again or skip (enter)
If user provides valid URL, author.url will be populated in manifest.json,
If user skips, manifest will not contain an author.url parameter

Detail
When user enters whitespaces and then skips, manifest will not contain an author.url parameter

Risks
Low risk as far as I can tell, but perhaps removing authorURL parameter will break something down the line.. not too sure will need feedback here.

PR looks great and don't see any issues, I am merely just wondering if we should have leveraged typescript to address this


Search Editor: Keyboard Shortcuts for File to Include/Exclude not working

Type: Bug
I tried setting keybindings for:

"Search Editor: Focus Search Editor Files to Exclude" (search.action.focusFilesToExclude)
"Search Editor: Focus Search Editor Files to Include" (search.action.focusFilesToInclude)

but neither of them are working. I'm on macOS.
Issue https://github.com/microsoft/vscode/issues/153684 requested keyboard shortcuts for focusing on "files to include" and "files to exclude" and PR https://github.com/microsoft/vscode/pull/153954 implemented the request and was merged on 2022-07-08.

VS Code version: Code 1.85.1 (Universal) (0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2, 2023-12-13T09:48:06.308Z)
OS version: Darwin arm64 23.1.0
Modes:

System Info

Item
Value

CPUs
Apple M1 Max (10 x 24)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
3, 3, 3

Memory (System)
64.00GB (24.37GB free)

Process Argv
--crash-reporter-id a29b013e-4262-4a5a-92fe-85f5a0ce0152

Screen Reader
no

VM
0%

Extensions: none
A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscod805:30301674
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593:30376534
pythonvs932:30410667
py29gd2263:30899288
vscaac:30438847
vsclangdf:30486550
c4g48928:30535728
dsvsc012cf:30540253
azure-dev_surveyone:30548225
3biah626:30602489
89544117:30613380
showlangstatbar:30737416
fixshowwlkth:30771522
showindicator:30805244
pythongtdpath:30769146
i26e3531:30792625
welcomedialogc:30910334
pythonnosmt12:30797651
pythonidxpt:30866567
pythonnoceb:30805159
asynctok:30898717
dsvsc013:30795093
dsvsc014:30804076
dsvsc015:30845448
pythontestfixt:30902429
pyreplss1:30897532
pythonmypyd1:30879173
pythoncet0:30885854
h48ei257:30885898
pythontbext0:30879054
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
aa_t_chat:30882232
dsvsc019:30917259

cc @ssigwart, fyi

@jordan-brough, I did implement that. I have search.mode set to newEditor and it works there. These settings are named "Search Editor: Focus ...", which I think is intentional because they only work in the search editor. I think separate keyboard shortcuts would be needed for this. I did a quick project search and I'm guessing that if someone wanted to implement this for the side search, they could search for and copy the code for FocusNextInputActionId to make new actions for this.

^ This is correct, I would only expect these to only work on the search editor. I can make this a feature request candidate for similar commands for the search viewlet to see whether others would also want to see this.

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


Update Readme

Beginner
Description

Related Issue

Tasks

[ ] I have signed the CLA.
[ ] I have written tests and verified that they fail without my change.

Thanks for the attempt, but that doesn’t quite pull its weight (and I‘m not sure the wording is grammatically correct). 🙂
If you‘d like to join in for Squashtoberfest, please consider one of the open issues we have 🙂.


Zbus error when running under systemd

Hey all, I'm seeing some confusing behaviour when trying to run this as part of a systemd unit an not sure what I need to install to work correctly.
Basically I am able to call this Notification show as expected with
    Notification::new()
        .summary("Posture Watcher")
        .urgency(notify_rust::Urgency::Critical)
        .body(&format!(
            "Time to change to a {} position",
            next_state.as_ref()
        ))
        .show()?;

when i just run as a bin installed in $HOME/.cargo/bin/myprogram. However if I set up a systemd unit I get the error
Nov 12 23:46:21 blade posture-notifier[443468]: thread 'main' panicked at 'just work: Error { kind: Zbus(Io(Os { code: 2, kind: NotFound, message: "No such file or directory....

This seems kinda similar to https://github.com/hoodie/notify-rust/issues/140, but I think this is more so something to do with the user systemd runs under (which i'm pretty sure is just root in this case), but if the only dep is libdbus-1-dev i have a hard time believing that something that varies user to user on desktop linux.
Is there something I need to install under my systemd user? or what's the play here?

Looks like you are using the zbus dependency, so you don't even need libdbus-1-dev at all. You'd only need this if you built the notify-rust dependency with the d feature, but that is only there as a fallback.
I'm not a huge dbus expert, but I think you need to run as the same user to be able to send notifications. You are basically talking to your desktop-environment (kde/gnome/etc) and that might only accept requests from the same user.
Granted the "No such file or directory" message is confusing, I would assume that is because the underlying implementation uses some proc file (waves hands). But this sounds very similar to #54, so I would say the rule of thumb is "desktop notifications can only be sent by you own user".

Thanks for the tip @hoodie . I managed to get this working by running it with systemctl --user. So no problem with the crate, just my understanding of systemd.
Thanks again!
I'll close this issue now


Resolve duplication issue when configuring with Ninja and codevelop

This is a workaround to an error that occurs when configuring with codevelop and Ninja. See this BLT issue for more details https://github.com/LLNL/blt/issues/695

did we ever make an mfem issue to address the underlying cause of this problem?

did we ever make an mfem issue to address the underlying cause of this problem?
edit: maybe it's possible to avoid the issue in Sundials too by setting this: https://github.com/LLNL/sundials/blob/c28eaa3764a03705d61decb6025b409360e9d53f/CMakeLists.txt#L208-L212

Originally, I created an MFEM issue about it https://github.com/mfem/mfem/issues/4437. They mentioned it was to maintain consistency between gnu and CMake builds. I am not able to reproduce the issue in MFEM, since it's related to section of  BLT: https://github.com/LLNL/blt/blob/develop/SetupBLT.cmake#L158-L162 (MFEM doesn't use BLT)

I think we're talking about separate problems here, so let me put it another way: there's a lot of CMake projects out there that have a target named "ex1":
https://github.com/search?q="add_executable(ex1+"&type=code
Right now, the way mfem's CMake project is set up, if those projects tried to bring mfem into their CMake project with add_subdirectory (which is a common pattern), CMake will emit an error about duplicate target name. Even worse, the way mfem handles the flag MFEM_BUILD_EXAMPLES provides mfem's users no way to disable those targets from being registered, so there is no recourse to address the duplicate target error.
Of course the fix is simple: just change 2 lines in mfem's CMakeLists.txt and solve the problem described above (as well as #1218).
If no change is made to mfem, won't every other project that sets CMAKE_RUNTIME_OUTPUT_DIRECTORY (which is also common) hit this very same issue?


Add config setting for vapor

[x] Checked the codebase to ensure that your feature doesn't already exist.
[x] Checked the pull requests to ensure that another person hasn't already submitted the feature or fix.
[x] Adjusted the Documentation. (PR Pending in documentation repo)
[x] Added tests to ensure against regression.

Description of the Change
Added a setting to force deletion of the local temporary file when using a remote disk and queued chunked imports.
Why Should This Be Added?
When dealing with a multi server setup as above, it's possible for the clean up that occurs after entire queue has been run to only cleanup the server that the last AfterImportJob runs on. The rest of the server would still have the local temporary file stored on it. In this case your local storage limits can be exceeded and future imports won't be processed. To mitigate this you can set this config value to be true, so that after every queued chunk is processed the local temporary file is deleted on the server that processed it.
Benefits
Potential storage side effects can be mitigated. See the following issue for context and discussion of proposed changes https://github.com/Maatwebsite/Laravel-Excel/issues/2655
Possible Drawbacks
Fresh file will need to be downloaded locally for each chunk.
Verification Process
I have added a test for the proposed setting and ensured test was failing before implementing required changes, and ensured it and whole suite now passes.
Applicable Issues
https://github.com/Maatwebsite/Laravel-Excel/issues/2655

Thanks again!


Fix line numbers in lint script

Should fix Issue #42

Should I squash those 2 commits together or 2 commits would work ?

Should I squash those 2 commits together or 2 commits would work ?

It is fine as is. I can squash commits during merge.
Thanks for contributing! :tada:


🍒[cxx-interop] Make sure interop does not trigger TBD validation errors

Explanation: This disables TBD validation when C++ interop is enabled, unless an explicit -validate-tbd-against-ir= flag was passed. It works around the errors produced by TBD validation, which require further investigation.
Scope: Only has an effect when experimental C++ interop is enabled.
Risk: Low: C++ interop is an experimental feature that is not used in production.
Testing: Adjusted existing LIT tests.
rdar://83405989 / https://github.com/apple/swift/issues/56458
(cherry picked from commit 8f58eafbd3b3b013158d23c4428d7a7fbe36ceee)

@swift-ci please test

@swift-ci please test macOS


Javac : File not found

(sorry, I'm a Foreigner, Not good at English.)
OS: windows 10, 64bit
I compile java program with script, and is working.
But There is one problem. I want to compile java program build in Eclipse.
EXAMPLE - my Eclipse project path is D:\project\java_tutorials.
I open D:\project\java_tutorials\src\org\opentutorials\javatutorials\compare\EqualDemo.java .
because I make package "org.opentutorials.javatutorials.compare" and make Java class named "EqualDemo" at Eclipse.
`package org.opentutorials.javatutorials.compare;
public class EqualDemo {
public static void main(String[] args) {
	System.out.println(1 == 2); // false
	System.out.println(1 == 1); // true
	System.out.println("one" == "two"); // false
	System.out.println("one" == "one"); // true

}

}
`
But Error is appeared.

One Interest thing, When I make this sample in D:\project\java_tutorials, is working.

that means no PROBLEM in my environment variables.
Help me to solve this Error....PLEASE

Oh I solve

Packages aren't currently supported. See #1201 for support progress

hi @20031004 , may I know how do you solve the problem?  I have same issue. Thanks.


Integrate Spring REST Docs into MockMvc-based tests

@Priyata25 As discussed on Slack, this PR puts the fundamentals in place for using Spring REST Docs with your MockMvc-based tests.

Can we get this against develop?
Master is our current/latest stable release

I've rebased the branch and done a forced push, only to learn that GitHub doesn't let you change a pull request's target branch. I'll close this and open another.


[pt-pt] Add minimum required content for European Portuguese localization

Description
This pull request proposes adding Portuguese from Portugal (pt-pt) localization to the website of Kubernetes per stated Issue #45874. This will increase accessibility for Portuguese users and native speakers. Per community guidelines, it attempts to address and improve the specific differences between Brazilian Portuguese and Portugal's Portuguese, improving inclusivity of visitors and understanding for users from Portugal. I understand that this process ideally requires collaboration with native speakers and potentially expands based on community feedback and will be working to fulfil the requirements of https://kubernetes.io/docs/contribute/localization/
Tasks

[x] Home | https://kubernetes.io/docs/home/
[ ] Setup | https://kubernetes.io/docs/setup/
[ ] Tutorials | https://kubernetes.io/docs/tutorials/kubernetes-basics/, https://kubernetes.io/docs/tutorials/hello-minikube
[x] Site strings | All site strings in a new localized TOML file
[ ] Releases | https://kubernetes.io/releases (All heading and subheading URLs)
[ ] Content | Translated documents must reside in their own content/**/ subdirectory,

@ricardoamaro You may want to mark this as draft until you feel it's ready to get a review and merge in

Thank you so much for all your help here @sftim

/language pt

/remove-lifecycle stale

where are we now?  @ricardoamaro

/close
Closing due to inactivity for more than 30 days.
Feel free to reopen and resume this work.


android-deep-linking are not exist in sample project

android-deep-linking are not exist in sample project

Came here to say this too

2019 The same mistake is yet one day maybe we could find it

Still having issues with this.


it's fixed?

I have take a test for dirtycow, but i got this error:
[*] payload target: <IP_ADDRESS>:1234
[*] exploit: patch 1/2
Segmentation fault

So, i really want to know, does this have been fixed?

I'm afraid I can't guess what the bug is without further information. Could you at least compile the binary with debugging information (gcc -g), run the binary under GDB and provide a backtrace?
Thanks.

Thanks for reply!
And sorry for so less information i given.
I have tried to compile and run under GDB, but i did not get more information,
do i miss something, or i do something error?
(gdb) run
Starting program: /root/dirtycow-vdso/0xdeadbeef
warning: Error disabling address space randomization: Operation not permitted
[*] payload target: <IP_ADDRESS>:1234
[*] exploit: patch 1/2
During startup program terminated with signal SIGSEGV, Segmentation fault.
(gdb) bt
No stack.
(gdb)

Cause of new to use gdb, i did not find the rigth way to run the debugger.
After some learning, i got follows information:
root@091b5f64827a:~/dirtycow-vdso# gdb ./0xdeadbeef core.365
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
Copyright (C) 2014 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 "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://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 ./0xdeadbeef...(no debugging symbols found)...done.

warning: exec file is newer than core file.
[New LWP 365]
[New LWP 361]
[New LWP 364]
[New LWP 363]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/root/dirtycow-vdso/0xdeadbeef'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  buffered_vfprintf (s=s@entry=0x7fb2fcb9c1c0 <_IO_2_1_stderr_>, format=format@entry=0x7fb2fc95cd0d "%s: ", args=args@entry=0x605120 <child_stack+7648>) at vfprintf.c:2335
2335	vfprintf.c: No such file or directory.
(gdb) bt
#0  buffered_vfprintf (s=s@entry=0x7fb2fcb9c1c0 <_IO_2_1_stderr_>, format=format@entry=0x7fb2fc95cd0d "%s: ", args=args@entry=0x605120 <child_stack+7648>) at vfprintf.c:2335
#1  0x00007fb2fc823dfe in _IO_vfprintf_internal (s=0x7fb2fcb9c1c0 <_IO_2_1_stderr_>, format=0x7fb2fc95cd0d "%s: ", ap=ap@entry=0x605120 <child_stack+7648>) at vfprintf.c:1313
#2  0x00007fb2fc82e337 in __fprintf (stream=<optimized out>, format=format@entry=0x7fb2fc95cd0d "%s: ") at fprintf.c:32
#3  0x00007fb2fc8d46b6 in __GI_vwarn (format=0x4026c0 "madvise", ap=0x605240 <child_stack+7936>) at err.c:136
#4  0x00007fb2fc8d49be in __GI_verr (status=1, format=<optimized out>, ap=ap@entry=0x605240 <child_stack+7936>) at err.c:167
#5  0x00007fb2fc8d4a77 in err (status=<optimized out>, format=<optimized out>) at err.c:183
#6  0x0000000000401a1f in debuggee ()
#7  0x00007fb2fc8d7bed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Can you run the binary under gdb:
$ gdb -q ./0xdeadbeef

And give the output of the following commands (in gdb):
run
backtrace
info regs

Thanks.

As your steps, i get output like this:
root@091b5f64827a:~/dirtycow-vdso# gdb -q ./0xdeadbeef
Reading symbols from ./0xdeadbeef...(no debugging symbols found)...done.
(gdb) run
Starting program: /root/dirtycow-vdso/0xdeadbeef
warning: Error disabling address space randomization: Operation not permitted
[*] payload target: <IP_ADDRESS>:1234
[*] exploit: patch 1/2
During startup program terminated with signal SIGSEGV, Segmentation fault.
(gdb) backtrace
No stack.
(gdb) info regs
Undefined info command: "regs".  Try "help info".
(gdb)

Sorry, the correct gdb command is info reg.
I don't understand why you get the error: During startup program terminated with signal SIGSEGV, Segmentation fault. According to gdb manual it might be related to an unusual shell initialization file .
Also,  why do you run the binary as root? And what about this error: warning: Error disabling address space randomization? Do you use a ~/.gdbinit file? In that case, please run gdb with -nx option.
What are your distro, architecture and kernel version (uname -a)?


PR template: remove local 'brew man' step now that it's scheduled

[ ] Have you followed the guidelines in our Contributing document?
[ ] Have you checked to ensure there aren't other open Pull Requests for the same change?
[ ] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew style with your changes locally?
[ ] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

After https://github.com/Homebrew/brew/pull/10650, there isn't a need to locally run brew man anymore, so this PR removes it from the Pull Request template.

Review period will end on 2021-02-23 at 00:00:00 UTC.

We also need to remove the check from CI that fails if this isn't done.
https://github.com/Homebrew/brew/blob/cdaf5cca165c3edfc63074f5cd6ca04234bb3ef4/.github/workflows/tests.yml#L34

Review period ended.


MongoDB import indexing fails when using the json files from v1.3 rf2-to-json-conversion

The indexing of the json import content in MongoDB fails in the middle stopping the indexing resulting in the SNOMED browser to not function properly.
sct-snapshot-rest-api (latest release v2)
rf2-to-json-conversion (pre-release v1.3)
MongoDB (version 3.6.4)
OS: Windows 10
Error message:
2018-04-30T12:53:34.070-0400 I COMMAND  [conn37] command company-edition.$cmd appName: "MongoDB Shell" command: createIndexes { createIndexes: "v20180731tx", indexes: [ { key: { term: 1.0 }, name: "term_1" } ], $db: "company-edition" } exception: WiredTigerIndex::insert: key too large to index, failing  1031 { : "PAGOD syndrome is a severe developmental syndrome with characteristics of multiple congenital anomalies including cardiovascular defects, pulmonary hy..." } code:KeyTooLong numYields:0 reslen:294 locks:{ Global: { acquireCount: { r: 1, w: 1 } }, Database: { acquireCount: { W: 1 } }, Collection: { acquireCount: { w: 1 } } } protocol:op_msg 10454ms
This made me revert to
sct-snapshot-rest-api (previous release v1.1)
rf2-to-json-conversion (latest release v1.2)

After the latest pull request on rf2-to-json-conversion (pre-release v1.3.1), the import completed successfully, but it seems the SNOMED UI browser doesn't load parents, members etc (see the screenshot).

We realized that the backend of our SNOMED edition is v1. The following url change resolved the issue (including "/v1" in the url). We left the other urls in the index.html (of the SNOMED browser) unchanged, and it works.


az k8s-configuration flux create results in python error

Describe the bug
I run the command az k8s-configuration flux create ...  and get instantly an error instead of getting the configuration that I want.
Related command
az k8s-configuration flux create
Errors
The command failed with an unexpected error. Here is the traceback:
Cannot load native module 'Crypto.PublicKey._ec_ws': Not found '_ec_ws.cp311-win_amd64.pyd', Cannot load '_ec_ws.pyd': cannot load library 'C:\Users\xyz\.azure\cliextensions\k8s-configuration\Crypto\Util\..\PublicKey\_ec_ws.pyd': error 0xc1
Traceback (most recent call last):
  File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 233, in invoke
  File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 561, in execute
  File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/__init__.py", line 521, in load_arguments
  File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 318, in load_arguments
  File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/commands.py", line 104, in load_arguments
  File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/command_operation.py", line 125, in arguments_loader
  File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/command_operation.py", line 59, in get_op_handler
  File "importlib\__init__.py", line 126, in import_module
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "C:\Users\xyz\.azure\cliextensions\k8s-configuration\azext_k8s_configuration\providers\FluxConfigurationProvider.py", line 38, in <module>
    from ..validators import (
  File "C:\Users\xyz\.azure\cliextensions\k8s-configuration\azext_k8s_configuration\validators.py", line 18, in <module>
    from Crypto.PublicKey import RSA, ECC, DSA
  File "C:\Users\xyz\.azure\cliextensions\k8s-configuration\Crypto\PublicKey\ECC.py", line 57, in <module>
    _ec_lib = load_pycryptodome_raw_lib("Crypto.PublicKey._ec_ws", """
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\xyz\.azure\cliextensions\k8s-configuration\Crypto\Util\_raw_api.py", line 309, in load_pycryptodome_raw_lib
    raise OSError("Cannot load native module '%s': %s" % (name, ", ".join(attempts)))
OSError: Cannot load native module 'Crypto.PublicKey._ec_ws': Not found '_ec_ws.cp311-win_amd64.pyd', Cannot load '_ec_ws.pyd': cannot load library 'C:\Users\xyz\.azure\cliextensions\k8s-configuration\Crypto\Util\..\PublicKey\_ec_ws.pyd': error 0xc1

Issue script & Debug output
Script is like
az k8s-configuration flux create --cluster-name $clusterFqdn `
    --cluster-type 'managedClusters' `
    --name $clusterFqdn `
    --namespace 'flux-system' `
    --resource-group $clusterFqdn `
    --url 'abc' `
    --branch 'cba' `
    --kustomization name='flux' path='./flux' prune=true `
    --scope 'cluster' `
    --https-key $key `
    --https-user $user

The debug output is the error.
Expected behavior
I expected that a flux configuration would be created.
Environment Summary
azure-cli                         2.54.0
core                              2.54.0
telemetry                          1.1.0
Extensions:
aks-preview                      0.5.171
amg                                0.1.1
application-insights              0.1.16
azure-devops                      0.26.0
connectedk8s                      1.2.11
cosmosdb-preview                  0.14.0
k8s-configuration                  1.7.0
k8s-extension                      1.5.2
Dependencies:
msal                            1.24.0b2
azure-mgmt-resource             23.1.0b2
Python location 'C:\Program Files\Microsoft SDKs\Azure\CLI2\python.exe'
Extensions directory 'C:\Users\xyz.azure\cliextensions'
Python (Windows) 3.11.5 (tags/v3.11.5:cce6ba9, Aug 24 2023, 14:38:34) [MSC v.1936 64 bit (AMD64)]
Legal docs and information: aka.ms/AzureCliLegal
Your CLI is up-to-date.
Additional context
No response

Thank you for opening this issue, we will look into it.

Hi @DwCloudDabo Find similar issue #19562.
Issue title	az k8s-configuration show failure
Create time	2021-09-14
Comment number	7
Possible solution: As mentioned in that issue, the root cause of the problem is that the 'pycryptodome' dependency was not installed when the 'k8s-configuration' extension was installed. The fix for this issue will be rolled out on 12/07. In the meantime, you can try installing pycryptodome by directly installing it using "pip install". If possible, you can also try removing the extension and reinstalling it to see if that resolves the issue. We apologize for any inconvenience this may have caused and thank you for trying out our CLI extension.
Please confirm if this resolves your issue.

Unfortunately this does not work.

@bavneetsingh16 , can you pl. take a look at this?

The cause for the failure mentioned above. The new release should have fixed the issue.

@yonzhan, can you please close this issue as the issue is resolved.


Latest changes broke testing base URL

What happens?
With the recent releases, the testing functionality in the api-reference does not utilize the correct base-url anymore. In my case, it doesn't utilize the application port, even though it's displayed in the api-reference sample request.
Here you can see the sample request from the api-reference, correctly utilizing http://localhost:3000 as a base URL:

But when clicking on the "Test Request" button, it does not utilize that http://localhost:3000 base URL anymore:

When hovering over that pill in the URL, it gives me a tooltip saying "Variable not found"
I've searched through the docs, but I couldn't find any mention of such a variable that needs to be configured.
This used to work completely fine, until the most recent release, which I believe was yesterday.
Here's the HTML that I use for the api-reference:
<!DOCTYPE html>
            <html>
              <head>
                <title>{title}</title>
                <meta charset="utf-8" />
                <meta
                  name="viewport"
                  content="width=device-width, initial-scale=1" />
                <style>
                  body {{
                    margin: 0;
                  }}
                </style>
              </head>
              <body>
                <script
                  id="api-reference"></script>
                <script>
                  var configuration = {{
                    theme: 'default',
                    spec: {{
                        url: '{spec_url}'
                    }}
                  }}

                  var apiReference = document.getElementById('api-reference')
                  apiReference.dataset.configuration = JSON.stringify(configuration)
                </script>
                <script src="https://cdn.jsdelivr.net/npm/@scalar/api-reference"></script>
              </body>
            </html>

where the spec_url is a path to the local openapi doc, e.g. "/docs/private/api.json" (I'm using Rust btw and copied the configuration from the aide crate)
What did you expect to happen?
The request testing functionality should correctly utilize the base URL, that's also displayed in the sample request of the api-reference interface
How can we reproduce the issue?

Open the linked OpenAPI json in the newest api-reference version, that can be found under https://cdn.jsdelivr.net/npm/@scalar/api-reference
Notice the above described issue

OpenAPI Document
https://sandbox.scalar.com/e/jslqL

Same here - using the Elysia integration

i'll look into this this morning :) sorry about this bug!

fix in here! https://github.com/scalar/scalar/pull/2568


ci: handle base bundle size not available case

Current dependencies on/for this PR:

main

PR #153   👈

This stack of pull requests is managed by Graphite.


Avoid mmcv build error due to unspecified TORCH_CUDA_ARCH_LIST

Thank you for publishing this excellent paper implementation.
Avoid mmcv build error due to unspecified TORCH_CUDA_ARCH_LIST
If not specified, the following error is likely to occur when running docker-compose build or docker compose build.
#25 11.14 Traceback (most recent call last):
#25 11.14   File "/tmp/nms/setup.py", line 5, in <module>
#25 11.14     setup(
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/__init__.py", line 107, in setup
#25 11.14     return distutils.core.setup(**attrs)
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 185, in setup
#25 11.14     return run_commands(dist)
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
#25 11.14     dist.run_commands()
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
#25 11.14     self.run_command(cmd)
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/dist.py", line 1234, in run_command
#25 11.14     super().run_command(command)
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
#25 11.14     cmd_obj.run()
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/command/install.py", line 80, in run
#25 11.14     self.do_egg_install()
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/command/install.py", line 129, in do_egg_install
#25 11.14     self.run_command('bdist_egg')
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
#25 11.14     self.distribution.run_command(command)
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/dist.py", line 1234, in run_command
#25 11.14     super().run_command(command)
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
#25 11.14     cmd_obj.run()
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/command/bdist_egg.py", line 164, in run
#25 11.14     cmd = self.call_command('install_lib', warn_dir=0)
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/command/bdist_egg.py", line 150, in call_command
#25 11.14     self.run_command(cmdname)
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
#25 11.14     self.distribution.run_command(command)
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/dist.py", line 1234, in run_command
#25 11.14     super().run_command(command)
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
#25 11.14     cmd_obj.run()
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/command/install_lib.py", line 11, in run
#25 11.14     self.build()
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/_distutils/command/install_lib.py", line 111, in build
#25 11.14     self.run_command('build_ext')
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
#25 11.14     self.distribution.run_command(command)
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/dist.py", line 1234, in run_command
#25 11.14     super().run_command(command)
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
#25 11.14     cmd_obj.run()
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 84, in run
#25 11.14     _build_ext.run(self)
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 345, in run
#25 11.14     self.build_extensions()
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 765, in build_extensions
#25 11.14     build_ext.build_extensions(self)
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 467, in build_extensions
#25 11.14     self._build_extensions_serial()
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 493, in _build_extensions_serial
#25 11.14     self.build_extension(ext)
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 246, in build_extension
#25 11.14     _build_ext.build_extension(self, ext)
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/Cython/Distutils/build_ext.py", line 127, in build_extension
#25 11.14     super(build_ext, self).build_extension(ext)
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 548, in build_extension
#25 11.14     objects = self.compiler.compile(
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/setuptools/_distutils/ccompiler.py", line 600, in compile
#25 11.14     self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 513, in unix_wrap_single_compile
#25 11.14     cflags = unix_cuda_flags(cflags)
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 480, in unix_cuda_flags
#25 11.14     cflags + _get_cuda_arch_flags(cflags))
#25 11.14   File "/home/docker/.pyenv/versions/3.8.4/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1694, in _get_cuda_arch_flags
#25 11.14     arch_list[-1] += '+PTX'
#25 11.14 IndexError: list index out of range
------
failed to solve: rpc error: code = Unknown desc = process "/bin/sh -c python /tmp/nms/setup.py install" did not complete successfully: exit code: 1

This allows each developer to change the specification according to the Arch of GPU they have.
ARG TORCH_CUDA_ARCH_LIST=7.5;8.0;8.6

My environment.
$ nvcc --version

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0

$ nvidia-smi

Tue Jul 18 20:48:58 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.125.06   Driver Version: 525.125.06   CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0  On |                  N/A |
|  0%   52C    P8    21W / 220W |    770MiB /  8192MiB |     10%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1880      G   /usr/lib/xorg/Xorg                 53MiB |
|    0   N/A  N/A      2575      G   /usr/lib/xorg/Xorg                342MiB |
|    0   N/A  N/A      2745      G   /usr/bin/gnome-shell               52MiB |
|    0   N/A  N/A      6504      G   ...460863084046030754,262144      125MiB |
|    0   N/A  N/A     59001      G   ...veSuggestionsOnlyOnDemand       69MiB |
|    0   N/A  N/A    335275      G   ...RendererForSitePerProcess      113MiB |
+-----------------------------------------------------------------------------+

$ docker compose version

Docker Compose version v2.2.3

Inference results

Thanks for the PR!
Please let me check it on our environments.

It looks like the error above does not occur on mmcv installation but on nms module installation.
FYI:
https://github.com/hirotomusiker/CLRerNet/blob/main/docs/INSTALL.md#docker-compose
I'm currently checking whether nms installation gets successful with TORCH_CUDA_ARCH_LIST specified.

nms  is successfully installed by specifying TORCH_CUDA_ARCH_LIST. Thank you!

LGTM!


[Feature Request]: support volar.splitEditors.layout.(top | down)

In a vertical display, the left-right split can lead to a lack of space.

You can click this or use View: Toggle Layout of Split Editor in Group command.


Deno support

Please add this module to deno on deno.land/x

Don't know if it's a joke, but this is already available through NPM compatibility
import {flatten} from<EMAIL_ADDRESS>
const flattened = flatten({
    key1: {
        keyA: 'valueI'
    },
    key2: {
        keyB: 'valueII'
    },
    key3: { a: { b: { c: 2 } } }
});

console.log(flattened);
// {
//   'key1.keyA': 'valueI',
//   'key2.keyB': 'valueII',
//   'key3.a.b.c': 2
// }

There is currently no intention to publish this module directly for Deno (disregarding the fact someone already claimed flat). Like mentioned before this package can be loaded from any 3rd party CDN that uses the NPM registry.
That said, the next version will land extra bits to better support ES modules and TypeScript support. Which should help with Deno as well. Especially since Deno has recently announced compatibility with NPM.


CodeClimate Report: location/path must be set from repository root

Hi,
the code-climate report generated with -f codeclimate has an issue: The entry for location/path per issue must be set relative to the repository root. Currently this is set as an absolute path.
This is a problem for GitLab CI which sets an URL in its interface relative to this path in the repository. This is also stated in the GitLab CI documentation: https://docs.gitlab.com/ee/ci/testing/code_quality.html#implementing-a-custom-tool

location.path | The relative path to the file containing the code quality violation.

F.e.:
[
    {
        "type": "issue",
        "check_name": "Dependency violation",
        "description": "App\\GreetingService has uncovered dependency on App\\Greeting\\GreetingInterface (Interface)",
        "categories": [
            "Style",
            "Complexity"
        ],
        "severity": "major",
        "location": {
            "path": "\/builds\/group\/example\/src\/GreetingService.php",
            "lines": {
                "begin": 9
            }
        }
    },

which generates a URL in GitLab like https://gitlab.com/group/example/-/blob/9013bc9744e99436767e0ef57d0fbcf6a7f5//builds/group/example/src/GreetingService.php#L9
Possible solution: Cut everything from the path up to the working directory of deptrac or determine path based on paths in the deptrac config/option.

I might have some time this Friday (or maybe next one) to look into this. I think an additional option for the formatter might be a good idea. Something like relativePathBase and then we can just use Path::makeRelative() when its set. If you like, you can also create a PR, if you want to contribute the fix yourself.

@juagarc4 nobody is, feel free to pick it up. :slightly_smiling_face:


Issues while using vault behind proxy

Hi there,
We have vault running behind nginx proxy at /vault/ uri. Nginx is suppose to proxy_pass /vault/ requests to  http://localhost:8200 which works fine if we fire curl or vault cli commands. However, we are using https://github.com/TerryHowe/ansible-modules-hashivault module for vault interaction.
So when we specify url as "https://localhost/vault" in "hashivault_init" module, then final url is constructed as  https://localhost/v1/sys/init which results in 404 error.  I would expect it to be https://localhost/vault/v1/sys/init
This is due to urljoin function in /usr/lib/python2.7/site-packages/hvac/v1/init.py
I had posted issue on https://github.com/TerryHowe/ansible-modules-hashivault/issues/33 but Terry suggested to check with you.

@ianunruh - did you get a chance to look at this issue? Appreciate if you have any suggestion.

Hi @chetanagrawal can you provide any more details or context in order to repro? To me this almost sounds like a proxy misconfiguration....

@otakup0pe Please find the steps to reproduce this issue as below:

Install vault and configure it behind nginx proxy
location ~ ^/vault/(.*) {
set $url_full         '$1';
access_log  /var/log/nginx/vault.log upstreamlog;
proxy_http_version     1.1;
proxy_set_header       Cache-Control no-cache;
proxy_hide_header      Set-Cookie;
proxy_ignore_headers   "Set-Cookie";
proxy_buffering        off;
proxy_intercept_errors on;

resolver               <IP_ADDRESS> valid=300s;
resolver_timeout       10s;
proxy_pass             http://<IP_ADDRESS>:8200/$url_full;
}

Run the ansible playbook for Vault init

name: VAULT | Initialize vault
hashivault_init:
url: "http://localhost/vault"  #Note the "vault" uri here as its behind nginx
secret_shares: 1
secret_threshold: 1
verify: False

The above vault initilization fails because urljoin function removes /vault from the resulting URL and final url to reach vault is constructed as "https://localhost/v1/sys/init". In this case nginx is not configured to proxy_pass /v1 requests and hence we get 404 error. Ideally I would expect the resulting URL to be "https://localhost/vault/v1/sys/init"
Let me know if this helps.

Hi. Same here with Kong - getkong.org. Powered by Nginx too. Can't reproduce the problem with other programs like curl.

Fixed in v0.6.1.


feat(cli): add a disclaimer on how the manifest options will behave when published

What?
Improve the printed messages regarding options found in a manifest file and add a disclaimer on what to expect about the behavior of these options when the plugin gets attached to a Field.
Why?
It can be common for users to think that the option values (found in a manifest file) will be shared with a real Field when the plugin gets attached to it, but, it isn't the way it happens.
To avoid sensitive data from getting leaked with other users, all the option values reside accessible only during development time (through the Field Plugin Editor or the Sandbox), and as soon as the field plugin gets attached to a real Field, only the option names are fetched and listed to the user to fulfill.
JIRA: EXT-2170
Creation with no options:

Creation with options:

Update with no options:

Update with options:

I made the requested adjustments, @eunjae-lee 🙌
Let me know what do you think about them.


base.html examples in docs appears to contain broken HTML

The base.html example here:
http://jinja.pocoo.org/docs/dev/templates/#base-template
appears to contain some broken HTML in the form of a duplicated html tag:
<html lang="en">
<html xmlns="http://www.w3.org/1999/xhtml">

and no closing </html> tag either.

I just created a pull request (https://github.com/mitsuhiko/jinja2/pull/395) that should fix this.
This is my first time submitting a pull request to a major project. Please let me know if I did everything right.


stw: init at unstable-2022-02-04

Description of changes
A program for putting simple text widgets on X's root window.
https://github.com/sineemore/stw/
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

Thanks, @somasis !


Restyle example formatting for Style/RescueStandardError cop

Follow up of https://github.com/bbatsov/rubocop/pull/4880#issuecomment-338499947.
This commit is a change of document format for Style/RescueStandardError cop.

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[ ] Added tests.
[ ] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[x] Run rake default or rake parallel. It executes all tests and RuboCop for itself, and generates the documentation.

This change looks good! But do we have a convention on the location of our default configuration? Does it matter that the default is second and not first?

Thanks for your comment. Currently there seems to be no strict rule. It seems that there are many cases that it is the order of SupportedStyles listed in default.yml.
I have two ideas.

I think that the user is interested in the default setting in the initial setting, so I think that it is reasonable that it is easier to read if (default) is the first.
On the other hand, I think that there is the idea of mechanically arranging in alphabetical order (unfortunately it is not consistent like that at the currently) .

Alternatively, we can arrange them in alphabetical order and then set the default to the beginning.
There are advantages and disadvantages to each, so if you make this change we should consider beforehand.

In the current scope for re-style, I'm updating only the format, leaving the existing style order unchanged.


Make it easier to override display-test-app configuration.

Instead of terminating the app, setting new env vars, rebuilding the app, and restarting the app, just edit the overrides in frontend and hot-reload. Saves a lot of time.

@Mergifyio update


Prestige tree too small

http://prntscr.com/njvehc Im on Opera - Windows. But i MUST rescale the browser zoom to 67%. If not the game is cut in half cause my screen is 10 inches

yeah idk why that happens im now playing from chrome and see it just fine.

BTW.. trying to deduce the command to enter in console to edit DM im just tired to try to reach 140 for A7 haha LOL

closed beacause i will remove the canvas


(PUP-5909) Add Serializer and Deserializer and a JSON packer/unpacker

This PR adds what's needed to perform serialization/deserialization of primitives, arrays, hashes, and complex objects that are described using the Puppet Object type. The mechanism is designed to work on differnent protocols using an underlying abstract reader/writer. A reader/writer pair for JSON is included in this PR.

CLA signed by all contributors.

Pushed a commit that is rebased on master. It also contains a revised version of the packer_spec.rb where irrelevant copy pasted comments are removed and TimeFactory tests were rewritten.

AppVeyor was failing on what seems to be unrelated (non existing methods called by facter). Restarted the AppVeyor build job on this PR.


Fix swagger doc with correct parameters and routes for testing

Describe the bug
Unclear documentation
To Reproduce the bug
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Screenshots
If applicable, add screenshots to help explain your problem.
How do you intend to solve this bug?
Describe in clear and concise manner how you intend to approach fixing this bug.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

I can work on this @ruzor

it's yours

I already do this boss


Bzlmod support

Bzlmod support would be nice

I actually don't have much experience with bzlmod.  Would love to learn by reviewing a PR!


Unrecoverable syntax error / Brace

Hi all,
I encountered a issue when trying to parse the following code snipped:
function main() {
  return 'Hello, World!';
}
}
main();
Instead of reporting the '}', JSHint dies with an exception
"Unrecoverable syntax error. (82% scanned)."
Used version: 2.9.2
Default options (also happens in the demo on the website)

It is not possible for JSHint to recover from all invalid input because for a
given stream of text, there are many mutually-exclusive interpretations of the
developer's intention. Thats why, when supplied with invalid code, JSHint's
behavior is only loosely-specified. We expect it to report at least one error
(as opposed to a warning) and (in the case of the CLI) exit with a non-zero
exit code.
If JSHint was behaving this way when supplied with a valid program, that would
be another story. Another valid issue would be if JSHint were truly "dying",
e.g. crashing. As it stands though, the important thing is that JSHint reports
that the input is invalid (and ideally, the location it becomes invalid).
Beyond that, we have to rely on the developer to recognize the solution in
light of their own intentions.

In the absence of any further feedback, I'm going to close this report as "Not an issue."


BOSH says postgres not running after update; no helpful logs

Attempting to test that Routing API can communicate with postgresql over TLS. We have tested that without configuring databases.tls.certificate and databases.tls.private_key, the deployment succeeds. However, upon configuring these properties, BOSH/monit believes postgres fails to start.
Task 5458 | 19:32:02 | Updating instance singleton-database: singleton-database/f63ca082-5799-4b34-a9e3-58bd16c1cea0 (0) (canary) (00:11:02)
                     L Error: 'singleton-database/f63ca082-5799-4b34-a9e3-58bd16c1cea0 (0)' is not running after update. Review logs for failed jobs: postgres
Task 5458 | 19:43:05 | Error: 'singleton-database/f63ca082-5799-4b34-a9e3-58bd16c1cea0 (0)' is not running after update. Review logs for failed jobs: postgres

Process 'postgres'                  not monitored

The postgres logs don't have any errors in them: https://gist.github.com/shalako/7cd886afdb6ac9f8924e60f253553b78
We looked for a manifest property to increase the log level but couldn't find one. We ended up modifying /var/vcap/jobs/postgres/config/postgresql.conf by adding the following line and using monit to restart
log_min_messages = 'DEBUG5'

The logs didn't seems to change at all
We don't know how to troubleshoot the problem.

For what it is worth, we eventually found the logs in /var/vcap/store/postgres/postgres-9.6.4/pg_log/startup.log
2017-11-13 21:57:18.953 GMT: FATAL: could not load root certificate file "/var/vcap/jobs/postgres/config/certificates/server.ca_cert": no SSL error reported.

That file exists but is empty.
In the deployment, we provided databases.tls.certificate and databases.tls.private_key, but we did not specify databases.tls.ca because we did not need mTLS.
Adding a databases.tls.ca fixed the problem, but should not have been necessary. It looks like the release creates an empty server.ca_cert file and postgres won't start if this file is not a valid certificate.
It would be great to get some of that logging from /var/vcap/store/postgres/postgres-9.6.4/pg_log/startup.loginto something like /var/vcap/sys/log/postgres/startup.log.

Operators should only ever look for logs in /var/vcap/sys/log/

Fixed in v22.


Replace libjpeg with libjpeg-turbo v2.1.3

Let's see if this builds everywhere.
Fixes #2618
I am uncertain whether this is worth it, though, if we don't enable the SIMD flags…

Yeah, I don't want to be bothered with this… sorry :sweat_smile:

I mean, it works on Linux, but I don't have a Windows machine to test it, which is the main intended audience for this change, so I don't think I can maintain it if there are problems. #2619 is just a version update.

Yeah, I don't want to be bothered with this… sorry sweat_smile

Yeah no worries.  Getting stuff to work everywhere is a pain :sweat_smile: I'm pretty fine with saying people who want something better than this fallback should use whatever it is they want that is better for them.


Multistage Dockerfile build fails on Windows

As reported by @hclbaur building using the multistage Dockerfile build does not work on Windows due to carriage return versus line feed issues. See #44 .
Example of an error:
#13 196.1 [ERROR] Tests run: 10, Failures: 5, Errors: 0, Skipped: 0, Time elapsed: 56.805 s <<< FAILURE! - in io.axual.ksml.KSMLTopologyGeneratorBasicTest
#13 196.1 [ERROR] parseAndCheckOuput{int}[1]  Time elapsed: 55.643 s  <<< FAILURE!
#13 196.1 java.lang.AssertionError:
#13 196.1
#13 196.1 Expected: is "Topologies:\r\n   Sub-topology: 0\r\n    Source: sensor_stream (topics: [ksml_sensordata_avro])\r\n      --> for_each_001\r\n    Processor: for_each_001 (stores: [])\r\n      --> none\r\n      <-- sensor_stream\r\n\r\n"
#13 196.1      but: was "Topologies:\n   Sub-topology: 0\n    Source: sensor_stream (topics: [ksml_sensordata_avro])\n      --> for_each_001\n    Processor: for_each_001 (stores: [])\n      --> none\n      <-- sensor_stream\n\n"
#13 196.1       at io.axual.ksml.KSMLTopologyGeneratorBasicTest.parseAndCheckOuput(KSMLTopologyGeneratorBasicTest.java:76)

Your fix in https://github.com/axual/ksml/tree/45-fix-test  works fine.


Create Customer Model

Completed, made this asynchronous as well. Still need to get the authorization completed with this as well, but for now I will be able to use just simple validation for the time being.


PTH-rules should name pathlib

Currently, all PTH rules are phrased rather confusingly.
Code
import os

os.unlink("foo.bar")

What ruff does
$ ruff --select=PTH foo.py --isolated
foo.py:3:1: PTH108 `os.unlink` should be replaced by `.unlink()`
Found 1 error.

What ruff should do
Telling the user to move os.unlink to .unlink() is just not helpful. Something like this would be better:
$ ruff --select=PTH foo.py --isolated
foo.py:3:1: PTH108 `os.unlink(name)` should be replaced by `Path(name).unlink()`
Found 1 error.

I think this might even be auto-fixable.
Environment
$ python --version
Python 3.11.1

$ ruff --version
ruff 0.0.252

I can try to take this one!

E.g., we could change:
format!("`os.mkdir` should be replaced by `.mkdir()`")

...to:
format!("`os.mkdir(...)` should be replaced by `Path(...).mkdir()`")

(I think it's ok to literally use "..." as a placeholder rather than trying to replicate the input value.)


Add factory_bot dependency to pageflow-support

Ensure Factory Bot is loaded before Pageflow engine to make Pageflow
append its factory definitions path.

Coverage remained the same at 99.158% when pulling f3582efaa0b507f856aa3a011754dbfcd7e95af0 on tf:factory-bot-support into 58f6bcb5f40a5b68060df899c2a27aea32eebd7c on codevise:master.


services/horizon/internal/expingest: Log context cancelled errors using info level

PR Checklist
PR Structure

[x] This PR has reasonably narrow scope (if not, break it down into smaller PRs).
[x] This PR avoids mixing refactoring changes with feature changes (split into two PRs
otherwise).
[x] This PR's title starts with name of package that is most changed in the PR, ex.
services/friendbot, or all or doc if the changes are broad or impact many
packages.

Thoroughness

[ ] This PR adds tests for the most critical parts of the new functionality or fixes.
[ ] I've updated any docs (developer docs, .md
files, etc... affected by this change). Take a look in the docs folder for a given service,
like this one.

Release planning

[ ] I've updated the relevant CHANGELOG (here for Horizon) if
needed with deprecations, added features, breaking changes, and DB schema changes.
[ ] I've decided if this PR requires a new major/minor version according to
semver, or if it's mainly a patch change. The PR is targeted at the next
release branch if it's not a patch change.

What
Log context cancelled errors using info level in the ingestion package.
Why
These logs will help debug cases where ingestion is behaving unexpectedly.
Known limitations
[N/A]

We can probably merge it into master as previous PRs for this release (no breaking changes).


Catch java.lang.System.exit() call

Is there a way to catch java.lang.System.exit() call so that the process does not stop abruptly ?
I am using JPype in a Django application and the connected java app calls System.exit in several methods causing the django server to stop.

I have not tested this myself but I would assume the correct solution is to use a JProxy to implement a SecurityManager and prevent the System.exit().
See https://stackoverflow.com/questions/5549720/how-to-prevent-calls-to-system-exit-from-terminating-the-jvm

JProxy implements interfaces but SecurityManager is a class. How to implement a class in JPype.

It is not possible to Proxy a class.  Currently the only way to handle this is to create a java class and load it to override the methods.  At some point in the future we could create byte code to extend a class from withing python but this it on a long time scale.

This one remains stuck on enhancement #420 which is a long term goal.


Document Markers ("---" / "...") handling.

Hello.
I think i've found a small deviation from the YAML specs.
in  9.1.2. Document Markers
The spec says: Obviously, the actual content lines are therefore forbidden to begin with either of these markers.
Yet On the JS-YAML online demo the following sample is valid:
---
foo : 1
bar : 2
...foo : 3
---bar : 4
...

Additionally there seems to be limitations on the use of indentation with Document Markers.
A '---' marker cannot be preceded by indentation.
      --- #INVALID
foo : 1
bar : 2
...

And if a "..." marker is preceded by indentation it becomes parts of a multi line scalar.
---
foo : 1
bar : 2
  ...
# will output { foo: 1, bar: '2 ...' }

Is my understanding of the spec correct?

[206] 	c-forbidden 	::= 	/* Start of line */
( c-directives-end | c-document-end )
( b-char | s-white | /* End of file */ )

So to me it seems that JS-YAML behaviour is correct.

Is my understanding of the spec correct?

We're just implementers. I'd redirect this question to @ingydotnet

No spec questions please. Only bug reports with examples/proofs.
I'd recommend libyaml as reference implementation for compare.


Make SIMD support optional in favor of portability

The current Velox implementation uses SIMD instructions specific to Intel. We must make this use optional in favor of portability to other hardware such as the Mac M1 processors.

CC: @kgpai @wenleix @pedroerp @laithsakka @kevinwilfong

SIMD code should be guarded by hardware and OS check. Is this not the case?

+1. We had some chats with folks from TU Dresden who are developing a library to abstract SIMD usage called TVL. Pretty promising; this is the context:

http://cidrdb.org/cidr2020/papers/p28-ungethuem-cidr20.pdf

Here is the repo for TLV: https://github.com/MorphStore/TVLLib#welcome-to-the-template-vector-library-tvl

This can be closed, as simd is portable via xsimd.


401 Unauthorized on Frontend Part

I've integrated backend part +- successfully - I have nothing on /admin/, getting 404, but have created first Admin user and logged in on the backend site properly.
The problem is that I'm typing the same password on frontend part and getting Unauthorized response despite the fact the credentials are correct. Here is logs I'm receiving on backend part:
INFO:     <IP_ADDRESS>:46580 - "OPTIONS /admin/site HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:46580 - "GET /admin/site HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:46586 - "OPTIONS /admin/login HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:46586 - "POST /admin/login HTTP/1.1" 401 Unauthorized

How to overcome that? Maybe I'm doing something wrong? Did I miss something?
The total process of my installation is like that:

Mounted to existing project - I've added admin model and some models of my apps. Database integration succeed, as well as redis integration. And the creation of the initial user was succeed. I could even login through /admin/login page - but on /admin/ I see only 404 page.
Restful-admin frontend part - I've installed it using yarn and it works good, could even communicate to backend.

The thing is that you don't need frontend part. Everything is working out-of-the-box.
The problem was, as I expected, in__init__ file of my main package.
Remember - you should add imports of your resources and routers admin modules somewhere. Without that they won't be even included.
And, tbh, I think, that despite the fact this project is the one providing dashboard for fastapi, it is still VERY badly documented..

Hi @ftelnov!
Having the same problem currently. What imports did you add? Can you please send an example?

Hi @ftelnov!
Having the same problem currently. What imports did you add? Can you please send an example?

For example, my main module named app. So in init file of that module I have to place 'from app.core.admin import resources, router'. And that is all. You can see such init file in examples of this project.

Awesome! Thanks a lot!

@ftelnov  I'm sorry, I don't understand it very well. Can you explain it a little more?

I am having the same issue even as I have followed the examples to the dot.


Write annotations for notebook 07

Done, see finished notebook here: https://www.learnpytorch.io/07_pytorch_experiment_tracking/


switch return types to Result, update docs, update tests

switched over to Result from Option to be more consistent with other Tree methods.

@Drakulix there's not a whole lot of changes here, but I would still appreciate it if you could take a glance.

Looks good to me.


Fix ABAP-Doc warnings

Fix these warnings

thanks, the corresponding abaplint issue is https://github.com/abaplint/abaplint/issues/326

thanks, the corresponding abaplint issue is https://github.com/abaplint/abaplint/issues/326


Continuous CrashLoopBackOff: istio-statsd-prom-bridge pod

Continuous CrashLoopBackOff: istio-statsd-prom-bridge pod
NAME                                       READY     STATUS             RESTARTS   AGE
. . .
istio-statsd-prom-bridge-f8fcf6c74-jwjd6   0/1       CrashLoopBackOff   5          5m
. . .

The log is statsd_exporter: error: unknown short flag '-s', try --help
Version

kubernetes version

Client Version: version.Info{Major:"1", Minor:"7", GitVersion:"v1.7.6", GitCommit:"4bc5e7f9a6c25dc4c03d4d656f2cefd21540e28c", GitTreeState:"clean", BuildDate:"2017-09-14T06:55:55Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.0", GitCommit:"91e7b4fd31fcd3d5f436da26c980becec37ceefe", GitTreeState:"clean", BuildDate:"2018-06-27T20:08:34Z", GoVersion:"go1.10.2", Compiler:"gc", Platform:"linux/amd64"}

istioctl version

Version: 0.8.0
GitRevision: 6f9f420f0c7119ff4fa6a1966a6f6d89b1b4db84
User: root@48d5ddfd72da
Hub: docker.io/istio
GolangVersion: go1.10.1
BuildStatus: Clean

Installation
followed option two https://istio.io/docs/setup/kubernetes/helm-install/#option-2-install-with-helm-and-tiller-via-helm-install inorder to install istio.
Environment
kubernetes cluster in aws. The cluster was created using kops.
admission controllers are enabled in the cluster.
Cluster state
istio-dump.tar.gz

This is caused by the use of the latest tag in 0.8.0 for the statsd exporter.  statsd-exporter had breaking changes in the CLI API from 0.6.0 to 0.7.0.  A workaround is to add the following to the helm command line: --set mixer. prometheusStatsdExporter.tag=v0.6.0.
Istio 0.8.0 is no longer under LTS support; recommend upgrading to Istio 1.0.2 or later.
Since this is a KI with a workaround and Istio 0.8.0 is no longer under LTS support, I am closing this issue.  If you feel this is an error, please feel free to reopen the issue.
See https://github.com/istio/istio/issues/8293 and https://github.com/istio/istio/pull/8249 for more details.
Cheers
-steve


servedocs() with subfolder not named docs?

I've started working on a standalone documentation site with Documenter.jl and named the usually "docs" folder as "site". I've tried to use the servedocs function, but it expects a "docs" folder (as stated clearly in the documentation).
I started to put together a PR that adds a keyword to servedocs to change the name of the source folder, but now that I looked into the code, I see that the foldername is hardcoded in many places. So before I "rewrite" all the related functions, I though I ask if it is a desired functionality or should I search for a workaround?

Well it's desired by you :)
if you add a kwarg foldername="docs" to servedocs, scan_docs!, and servedocs_callback!  it should be good to go. If you can extend the tests so that it's tested that'd be great too.
Thanks Tamás!

As soon as I opened the issue, I started working on it, because in worst case, it stays in my fork ;)
Regarding to the implementation: my idea is to store in a const FOLDERNAME = Ref{String}("docs") variable, that is updated with the keyword and accessed in every related function (instead of passing it). Is it ok?

no I'd rather you passed this as an argument please

I've already done it here with global const 😄. But, then I'll make with function arguments.

Thanks! sorry yeah global consts should not be accessible from the outside and, generally, should be avoided (I know I'm guilty of doing both in Franklin but I try to reduce that to the strict necessary)
btw you are missed, now going to the other side, the Documenter land, with no new commands and clever table inputs 😢

Thanks! sorry yeah global consts should not be accessible from the outside and, generally, should be avoided (I know I'm guilty of doing both in Franklin but I try to reduce that to the strict necessary)

No worries, I only thought about performance, which should be ok with const, and didn't think of other design decisions.

btw you are missed, now going to the other side, the Documenter land, with no new commands and clever table inputs 😢

😢  I've chosen Documenter, because it's easy to generate a pdf, which is needed in this case. (My personal page stays Franklin with PlotlyJS 😉 )

Implemented in #100


Making I18N work

I got I18N working like this:
$('#EventStart, #EventEnd').fdatetimepicker({
	format: 'dd/mm/yyyy hh:ii',
	weekStart: 1,
	language: 'nl'
});

Then I included the language file:
<script src="js/vendor/foundation-datetimepicker/js/locales/bootstrap-datetimepicker.nl.js"></script>

In the file I had to rename
$.fn.datetimepicker.dates['nl']

to
$.fn.fdatetimepicker.dates['nl']

instructions in readme


chore: Target 70% for codecov

Signed-off-by: Chmouel Boudjnah<EMAIL_ADDRESS>

/retest

Codecov Report

Merging #355 (9e2238e) into main (e3327f0) will increase coverage by 0.31%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #355      +/-   ##
==========================================
+ Coverage   70.14%   70.45%   +0.31%
==========================================
  Files          50       50
  Lines        2539     2576      +37
==========================================
+ Hits         1781     1815      +34
- Misses        580      582       +2
- Partials      178      179       +1

Impacted Files
Coverage Δ

pkg/templates/templating.go
100.00% <0.00%> (ø)

pkg/resolve/resolve.go
88.88% <0.00%> (+0.15%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e3327f0...9e2238e. Read the comment docs.


ffmpeg's -movflags +faststart fails on gvfs

Checklist

[X] I'm reporting a broken site
[X] I've verified that I'm running yt-dlp version 2022.01.21. (update instructions)
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
France (maybe EU?)
Description
Trying to fetch https://www.france.tv/france-5/ernest-et-celestine/saison-1/3068333-pendant-que-l-orage-gronde.html with no particular CLI options, the downloaded file cannot be played with any of the players I have on my system. mpv notably reports
$ mpv Ernest\ et\ Célestine\ -\ Pendant\ que\ l\'orage\ gronde\ \[bc5bfd1c-2813-48d6-8c0e-524581bfce46\].mp4.old
[ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: moov atom not found
[lavf] avformat_open_input() failed
[ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: moov atom not found
[lavf] avformat_open_input() failed
Failed to recognize file format.

Exiting... (Errors when loading file)

Reverting back to yt-dlp==2021.10.22 allows the downloaded file to be played properly.
I tried diffing the files (my MPEG4 skills are rusty) and it looks like some chucks are missing at the very end of the file.
-rw-r--r-- 1 remi users 182480138 25 janv. 12:57 'Ernest et Célestine - Pendant que l'\''orage gronde [bc5bfd1c-2813-48d6-8c0e-524581bfce46].mp4'
-rw-r--r-- 1 remi users 182068891 25 janv. 12:57 'Ernest et Célestine - Pendant que l'\''orage gronde [bc5bfd1c-2813-48d6-8c0e-524581bfce46].mp4.2022.1.21'

In fact, the files are identical up to their common size. So really, the newer version of yt-dlp omits the end of the file, which probably include the index bits (is that what it's called? sorry if I get the terminology wrong)
$ dd bs=182068891 count=1 if=Ernest\ et\ Célestine\ -\ Pendant\ que\ l\'orage\ gronde\ \[bc5bfd1c-2813-48d6-8c0e-524581bfce46\].mp4 | sha256sum
1+0 enregistrements lus
1+0 enregistrements écrits
182068891 octets (182 MB, 174 MiB) copiés, 3,60738 s, 50,5 MB/s
cbdf4aa2343c555311c14e8ccb13122944ec381fc8cc9ca9649d4e2b9d7cb6a7  -
$ dd bs=182068891 count=1 if=Ernest\ et\ Célestine\ -\ Pendant\ que\ l\'orage\ gronde\ \[bc5bfd1c-2813-48d6-8c0e-524581bfce46\].mp4.2022.1.21 | sha256sum
1+0 enregistrements lus
1+0 enregistrements écrits
182068891 octets (182 MB, 174 MiB) copiés, 3,49349 s, 52,1 MB/s
cbdf4aa2343c555311c14e8ccb13122944ec381fc8cc9ca9649d4e2b9d7cb6a7  -

I'll try to bisect later, that's all I have for now.
Verbose log
$ yt-dlp -vU "https://www.france.tv/france-5/ernest-et-celestine/saison-1/3068333-pendant-que-l-orage-gronde.html"
[debug] Command-line config: ['-vU', 'https://www.france.tv/france-5/ernest-et-celestine/saison-1/3068333-pendant-que-l-orage-gronde.html']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, err utf-8, pref UTF-8
[debug] yt-dlp version 2022.01.21 [f20d607b0]
[debug] Python version 3.9.10 (CPython 64bit) -<EMAIL_ADDRESS>[debug] exe versions: ffmpeg 4.4.1 (setts), ffprobe 4.4.1
[debug] Optional libraries: Cryptodome, mutagen, sqlite, websockets
[debug] Proxy map: {}
Latest version: 2022.01.21, Current version: 2022.01.21
yt-dlp is up to date (2022.01.21)
[debug] [FranceTVSite] Extracting URL: https://www.france.tv/france-5/ernest-et-celestine/saison-1/3068333-pendant-que-l-orage-gronde.html
[FranceTVSite] 3068333-pendant-que-l-orage-gronde: Downloading webpage
[debug] [FranceTV] Extracting URL: francetv:bc5bfd1c-2813-48d6-8c0e-524581bfce46
[FranceTV] bc5bfd1c-2813-48d6-8c0e-524581bfce46: Downloading desktop video JSON
[FranceTV] bc5bfd1c-2813-48d6-8c0e-524581bfce46: Downloading mobile video JSON
[FranceTV] bc5bfd1c-2813-48d6-8c0e-524581bfce46: Downloading signed dash manifest URL
[FranceTV] bc5bfd1c-2813-48d6-8c0e-524581bfce46: Downloading MPD manifest
[FranceTV] bc5bfd1c-2813-48d6-8c0e-524581bfce46: Downloading signed hls manifest URL
[FranceTV] bc5bfd1c-2813-48d6-8c0e-524581bfce46: Downloading m3u8 information
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] bc5bfd1c-2813-48d6-8c0e-524581bfce46: Downloading 1 format(s): hls-2218+dash-audio_fre=96000
[debug] Invoking downloader on "https://cloudreplay.ftven.fr/11d11784efe16/1086049405_france-domtom_TA.ism/ZXhwPTE2NDM0MzI3MjV+YWNsPSUyZjExZDExNzg0ZWZlMTYlMmYxMDg2MDQ5NDA1X2ZyYW5jZS1kb210b21fVEEuaXNtKn5obWFjPWEwNDdiMzllZjZjM2IyZjJlY2ZjZTI0NzdkZjMyN2I2ZGZjZWI3ZmFhY2M2MzNmOGVjZjg3N2RiM2NjNDU4MjI=/1086049405_france-domtom_TA-video=2000000.m3u8"
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 91
[download] Destination: Ernest et Célestine - Pendant que l'orage gronde [bc5bfd1c-2813-48d6-8c0e-524581bfce46].fhls-2218.mp4
[download] 100% of 171.06MiB in 00:36
[debug] Invoking downloader on "https://cloudreplay.ftven.fr/11d11784efe16/1086049405_france-domtom_TA.ism/manifest.mpd?hdnea=ip=<IP_ADDRESS>~exp=1643411725~acl=%2f11d11784efe16%2f1086049405_france-domtom_TA.ism*~hmac=faf3bffd25fe71d0f1e38101506550299a8c5c092ccbc44bf14a8db0f3b9e46f"
[dashsegments] Total fragments: 365
[download] Destination: Ernest et Célestine - Pendant que l'orage gronde [bc5bfd1c-2813-48d6-8c0e-524581bfce46].fdash-audio_fre=96000.m4a
[download] 100% of 8.52MiB in 00:42
[Merger] Merging formats into "Ernest et Célestine - Pendant que l'orage gronde [bc5bfd1c-2813-48d6-8c0e-524581bfce46].mp4"
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -i 'file:Ernest et Célestine - Pendant que l'"'"'orage gronde [bc5bfd1c-2813-48d6-8c0e-524581bfce46].fhls-2218.mp4' -i 'file:Ernest et Célestine - Pendant que l'"'"'orage gronde [bc5bfd1c-2813-48d6-8c0e-524581bfce46].fdash-audio_fre=96000.m4a' -c copy -map 0:v:0 -map 1:a:0 -movflags +faststart 'file:Ernest et Célestine - Pendant que l'"'"'orage gronde [bc5bfd1c-2813-48d6-8c0e-524581bfce46].temp.mp4'
Deleting original file Ernest et Célestine - Pendant que l'orage gronde [bc5bfd1c-2813-48d6-8c0e-524581bfce46].fdash-audio_fre=96000.m4a (pass -k to keep)
Deleting original file Ernest et Célestine - Pendant que l'orage gronde [bc5bfd1c-2813-48d6-8c0e-524581bfce46].fhls-2218.mp4 (pass -k to keep)

I have the same output: everything seems to have been executed correctly.
In my case, sound file has the right size but seems corrupted after some time playing (about 6 minutes). The resulting merged mp4 is ok but with no sound after this time.
I didn't mention it but I already experienced this in the past with youtube-dl: sound only for the first seconds/minutes and then nothing. No error during download.

Since OP claims it is a regression, it would be helpful if someone could bisect b/w the two releases

Just tried the 2021.10.22 release.
It seems FranceTV change the repository content: for the video I tried to get, last time audio was "fhls-audio-aacl-96-Audio_Français-1.mp4" 64MB and now default audio is 'fdash-audio_qtz=96000.m4a" 128MB. It's "audio description" version that is downloaded by default, however sound file works.
So I tried with the last yt-dlp version and I get the standard sound file format "dash-audio_fre=96000". I tried with another video and I get the same result.
All seems now ok with the last version, not with the 2021.10.22 release which is considering "audio description" is the default audio.
For me, the problem is on FranceTV side as in my case, everything changes and I can't reproduce the sound error.

I think @illydone and I don't have the same bug at all. Their bug reminds me of one I had with the old youtube-dl which was fixed by using --hls-prefer-ffmpeg instead of the built-in HLS parsers/decoders. yt-dlp fixed that issue.
As for my own bug, I'll try to bisect ASAP.

I got a forbidden error 403
yt-dlp https://www.france.tv/france-3/faut-pas-rever/3076949-faut-pas-rever-en-picardie-la-grande-aventure.html
[FranceTVSite] 3076949-faut-pas-rever-en-picardie-la-grande-aventure: Downloading webpage
[FranceTV] 9b93d420-4d54-41cb-8e33-08ae37010c50: Downloading desktop video JSON
[FranceTV] 9b93d420-4d54-41cb-8e33-08ae37010c50: Downloading mobile video JSON
[FranceTV] 9b93d420-4d54-41cb-8e33-08ae37010c50: Downloading signed dash manifest URL
[FranceTV] 9b93d420-4d54-41cb-8e33-08ae37010c50: Downloading MPD manifest
WARNING: [FranceTV] Failed to download MPD manifest: HTTP Error 403: Forbidden
[FranceTV] 9b93d420-4d54-41cb-8e33-08ae37010c50: Downloading signed hls manifest URL
[FranceTV] 9b93d420-4d54-41cb-8e33-08ae37010c50: Downloading m3u8 information
WARNING: [FranceTV] Failed to download m3u8 information: HTTP Error 403: Forbidden
ERROR: [FranceTV] 9b93d420-4d54-41cb-8e33-08ae37010c50: Requested format is not available

I got a forbidden error 403

Does this video work in your browser?

This is not the place to dump all francetv related issues. OP's isue is specifically about this

the downloaded file cannot be played with any of the players I have on my system

If you have other problems, open an appropriate issue

Bisect is currently ongoing but here's (I think) a smoking gun I should have noticed earlier
--- <sans nom>
+++ <sans nom>
@@ -1,14 +1,14 @@
 $ yt-dlp -vU "https://www.france.tv/france-5/ernest-et-celestine/saison-1/3068333-pendant-que-l-orage-gronde.html"
 [debug] Command-line config: ['-vU', 'https://www.france.tv/france-5/ernest-et-celestine/saison-1/3068333-pendant-que-l-orage-gronde.html']
 [debug] Encodings: locale UTF-8, fs utf-8, out utf-8, err utf-8, pref UTF-8
-[debug] yt-dlp version 2021.12.01 [91f071af6]
+[debug] yt-dlp version 2021.12.27 [6223f67a8]
 [debug] Lazy loading extractors is disabled
 [debug] Plugins: ['SamplePluginIE', 'SamplePluginPP']
 [debug] Python version 3.9.10 (CPython 64bit) -<EMAIL_ADDRESS> [debug] exe versions: ffmpeg 4.4.1 (setts), ffprobe 4.4.1
 [debug] Optional libraries: Cryptodome, mutagen, sqlite, websockets
 [debug] Proxy map: {}
-Latest version: 2022.01.21, Current version: 2021.12.01
+Latest version: 2022.01.21, Current version: 2021.12.27
 ERROR: It looks like you installed yt-dlp with a package manager, pip, setup.py or a tarball; Use that to update
 [debug] [FranceTVSite] Extracting URL: https://www.france.tv/france-5/ernest-et-celestine/saison-1/3068333-pendant-que-l-orage-gronde.html
 [FranceTVSite] 3068333-pendant-que-l-orage-gronde: Downloading webpage
@@ -22,16 +22,16 @@
 [debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
 [debug] Default format spec: bestvideo*+bestaudio/best
 [info] bc5bfd1c-2813-48d6-8c0e-524581bfce46: Downloading 1 format(s): hls-2218+dash-audio_fre=96000
-[debug] Invoking downloader on "https://cloudreplay.ftven.fr/11d11784efe16/1086049405_france-domtom_TA.ism/ZXhwPTE2NDM4OTQ4MjZ+YWNsPSUyZjExZDExNzg0ZWZlMTYlMmYxMDg2MDQ5NDA1X2ZyYW5jZS1kb210b21fVEEuaXNtKn5obWFjPTkwZjZjODgyZWZjNWM1ZDhiYzgxZjBlMzU3ZjUzNWE1MjBiYzAzNDk5Y2JlMjkzYTgwNjk1NTU0OWFkNjU3MGU=/1086049405_france-domtom_TA-video=2000000.m3u8"
+[debug] Invoking downloader on "https://cloudreplay.ftven.fr/11d11784efe16/1086049405_france-domtom_TA.ism/ZXhwPTE2NDM4OTUxMDl+YWNsPSUyZjExZDExNzg0ZWZlMTYlMmYxMDg2MDQ5NDA1X2ZyYW5jZS1kb210b21fVEEuaXNtKn5obWFjPTdmOGQ1NmJlMTMyODcyNDE4Y2U3NjJiMGQ5MWYwNGZlYWEyYWY0NzgzMzAwYjU0NzgxMzRjYjM2MTQzNzEyOGY=/1086049405_france-domtom_TA-video=2000000.m3u8"
 [hlsnative] Downloading m3u8 manifest
 [hlsnative] Total fragments: 91
 [download] Destination: Ernest et Célestine - Pendant que l'orage gronde [bc5bfd1c-2813-48d6-8c0e-524581bfce46].fhls-2218.mp4
-[download] 100% of 171.06MiB in 00:38
-[debug] Invoking downloader on "https://cloudreplay.ftven.fr/11d11784efe16/1086049405_france-domtom_TA.ism/manifest.mpd?hdnea=ip=<IP_ADDRESS>~exp=1643873826~acl=%2f11d11784efe16%2f1086049405_france-domtom_TA.ism*~hmac=b3f06ec5c6eda09d2d77cd7cb612f4a11fa7dcc8036bc702a193c446959781f1"
+[download] 100% of 171.06MiB in 00:38
+[debug] Invoking downloader on "https://cloudreplay.ftven.fr/11d11784efe16/1086049405_france-domtom_TA.ism/manifest.mpd?hdnea=ip=<IP_ADDRESS>~exp=1643874109~acl=%2f11d11784efe16%2f1086049405_france-domtom_TA.ism*~hmac=97daaa4ce26b286285d84be1df7cac4c2d423399822bde2f84f27b0bc393fdae"
 [dashsegments] Total fragments: 365
 [download] Destination: Ernest et Célestine - Pendant que l'orage gronde [bc5bfd1c-2813-48d6-8c0e-524581bfce46].fdash-audio_fre=96000.m4a
-[download] 100% of 8.52MiB in 00:38
+[download] 100% of 8.52MiB in 00:39
 [Merger] Merging formats into "Ernest et Célestine - Pendant que l'orage gronde [bc5bfd1c-2813-48d6-8c0e-524581bfce46].mp4"
-[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -i 'file:Ernest et Célestine - Pendant que l'"'"'orage gronde [bc5bfd1c-2813-48d6-8c0e-524581bfce46].fhls-2218.mp4' -i 'file:Ernest et Célestine - Pendant que l'"'"'orage gronde [bc5bfd1c-2813-48d6-8c0e-524581bfce46].fdash-audio_fre=96000.m4a' -c copy -map 0:v:0 -map 1:a:0 'file:Ernest et Célestine - Pendant que l'"'"'orage gronde [bc5bfd1c-2813-48d6-8c0e-524581bfce46].temp.mp4'
+[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -i 'file:Ernest et Célestine - Pendant que l'"'"'orage gronde [bc5bfd1c-2813-48d6-8c0e-524581bfce46].fhls-2218.mp4' -i 'file:Ernest et Célestine - Pendant que l'"'"'orage gronde [bc5bfd1c-2813-48d6-8c0e-524581bfce46].fdash-audio_fre=96000.m4a' -c copy -map 0:v:0 -map 1:a:0 -movflags +faststart 'file:Ernest et Célestine - Pendant que l'"'"'orage gronde [bc5bfd1c-2813-48d6-8c0e-524581bfce46].temp.mp4'
 Deleting original file Ernest et Célestine - Pendant que l'orage gronde [bc5bfd1c-2813-48d6-8c0e-524581bfce46].fhls-2218.mp4 (pass -k to keep)
 Deleting original file Ernest et Célestine - Pendant que l'orage gronde [bc5bfd1c-2813-48d6-8c0e-524581bfce46].fdash-audio_fre=96000.m4a (pass -k to keep)

The final ffmpeg command line adds -movflags +faststart.
For now:

2021.12.01 good
2021.12.27 bad

I would be very surprised if faststart is the culprit!

Well, there it is :/
$ git bisect bad
ca5db158aecc36a3db41faa85a26e7d931b5d72b is the first bad commit
commit ca5db158aecc36a3db41faa85a26e7d931b5d72b
Author: pukkandan<EMAIL_ADDRESS>Date:   Mon Dec 20 08:26:03 2021 +0530

    [postprocessor/ffmpeg] Always add `faststart`
    Closes #1491

 yt_dlp/postprocessor/ffmpeg.py | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

However, I am downloading this video to an ssh/gvfs mounted directory. I tried downloading on the local disk and it just sailed smoothly.
So I guess, there's no bug in yt-dlp. There might not even be a bug in ffmpeg, but most likely in glib's gvfs… That's insane. Not quite sure what to make of that :sweat_smile:

Does this video work in your browser?

Yes except that I cannot watch it in Belgium due to geo location

So I guess, there's no bug in yt-dlp. There might not even be a bug in ffmpeg, but most likely in glib's gvfs… That's insane. Not quite sure what to make of that

Considering you were able to bisect the issue to one commit, that would be very weird. How could gvfs break the file only when faststart is added!?
Is the video very large? Would it be possible for you to upload the unmerged files so that I can take a look (not in gvfs)?

The ffmpeg-formats(1) manual page warns:

-movflags faststart
Run a second pass moving the index (moov atom) to the beginning of the file.  This operation can take a while, and will not work in various situations such as fragmented output, thus it is not enabled by default.

I would not be too surprised if this were a bug in that second pass; a common type of bug results from assumptions like ‘bytes_written < bytes_given if and only if there is no disk space left’ and ‘bytes_got < bytes_wanted if and only if EOF is reached’, which are usually true for regular files on local file systems, but not for more exotic file descriptors like sockets and remote mounts. Alternatively, it may be that gvfs’s random-access I/O implementation for SSHFTP is faulty.
But honestly, if you have SSH access to the machine, why not run yt-dlp on it directly?

Turns out I know the fella who wrote ffmpeg's faststart so he pointed me to the underlying implementation. It's fairly straightforward (once all the necessary checks are done): it opens a second file descriptor on the file and then cleverly reads a chunk from that second fd, buffers it and writes a previously read chunk on the original fd. The code that moves stuff around is here https://github.com/FFmpeg/FFmpeg/blob/d61240f8c95e9cf7a0aaef2bb4495960d3fec62c/libavformat/utils.c#L2038 for anyone interested.
In any case, this code works just fine on "normal" file systems and I'm very much inclined to lay the blame on gvfs' sftp handling (which had indeed caused me some trouble in the past). I'll just work around the issue by downloading locally and then copying the final file afterwards. Maybe I'll poke Gnome/GLib people about this but this is probably a very niche feature.

Downloading with yt-dlp to /run/user/1000/gvfs/sftp:host=ipofmynas/ corrupts the files moov atom not found learned the hard way don't use gvfs!

@RemiCardona it is not a niche feature. I was just using nautilus on the sftp folder and opened the terminal to run yt-dlp and all the files i downloaded from vimeo got corrupted with moov atom not found :( Did anyone report this to ffmpeg or gvfs?

Did anyone report this to gvfs?

I didn't. I just started downloading locally then moving files using gvfs. It was much faster that way, and worked around the present bug. I just don't have that particular itch anymore.


Remove duplicated code for decimal types

VELOX_DYNAMIC_TYPE_DISPATCH_IMPL macro already supports decimal types in https://github.com/facebookincubator/velox/pull/2307, so there is also no need to specialize decimal types in
VELOX_DYNAMIC_TYPE_DISPATCH_METHOD_ALL macro.

cc: @mbasmanova @majetideepak
https://github.com/facebookincubator/velox/pull/2215 was not approved by anyone. How did it get merged?
@lingbin Thanks for addressing this.


[vcpkg baseline][libao] Disable dlfcn check under windows

Describe the pull request
In an internal CI test, libao installation failed with following errors:
.././../src/1.2.2-d87489a217.clean/src/audio_out.c(291): error C2065: 'DIR': undeclared identifier
.././../src/1.2.2-d87489a217.clean/src/audio_out.c(291): error C2065: 'plugindir': undeclared identifier
.././../src/1.2.2-d87489a217.clean/src/audio_out.c(301): error C2037: left of 'd_name' specifies undefined struct/union 'dirent'
.././../src/1.2.2-d87489a217.clean/src/audio_out.c(301): error C2198: 'strlen': too few arguments for call
.././../src/1.2.2-d87489a217.clean/src/audio_out.c(301): error C2057: expected constant expression
.././../src/1.2.2-d87489a217.clean/src/audio_out.c(301): error C2466: cannot allocate an array of constant size 0

This issue only occurs when dlfcn-win32 installed before libao in Windows. Libao always check dlfcn.h and enable the macro HAVE_DLOPEN if dlfcn.h is exists, then the DIR struct will be compiled, in windows environment this will cause the above errors to appear.
For fixing this issue, I passed a cache variable to disable the search of dlfcn under windows
No feature need to be tested.

Does it need a patch, or could you just pass a corresponding cache vale (ac_cv_...=no or similar) to configure? (See config.log... for ac_cv_... variables resulting from detection.)

@dg0yt Thanks for your guidance!

@vicroms Please consider to merge this PR first.


Fix data race regarding server_quit in EditorExportPlatformWeb

Fixes https://github.com/godotengine/godot/issues/87995

Just for the records, if we had a time-outable semaphore wait function, this loop could be more similar to other ones we have in similar contexts across the codebase. As such, the exit flag could be a raw bool, as in the other cases.
Alternatively, if we had a Godotic relaxed atomic, it could have been used it, instead of SafeNumeric, which due to its acquire-release nature does more than is strictly needed here. The data race would be avoided just by ensuring the flag is read/written atomically, which generally would come for free at the assembly level.
All that said, and not being either the case, this PR does the right thing.
PS: Regarding docs, I hope to have some time at some point to write a few bullet points. Feel free to remind me in some time if I forget. 😃

Thanks!

I'm not sure this actually fixed the race condition.
The call to server->stop() might happen while the thread is inside ej->server->poll();. So AFAIU we should server_thread.wait_to_finish(); before calling server->stop().

The problem here was a data race: a thread reading from a memory location being written by another. That's not generically safe, so ensuring the reads and writes to that variable are atomic is enough.