wasm-bindgen failed to build : version mismatch

This issue is reporting a bug in the code of Perseus. Details of the scope will be available in issue labels.
The author described their issue as follows:

wasm-bindgen failed to build: version mismatch

The steps to reproduce this issue are as follows:

while testing the example at: https://github.com/arctic-hen7/perseus/tree/main/examples/demos/auth
I had an error while calling perseus serve
Trying to upgrade/downgrade web-sys or wasm-bindgen didnt' help.
The error seems to happen from the global_state while trying to use web_sys

The details of the log report is as follow
 perseus serve
  [1/4] 🔨 Generating your app...✅
  [2/4] 🏗  Building your app to Wasm...❌
  [3/4] 📡 Building server...✅
error:

it looks like the Rust project used to create this wasm file was linked against
version of wasm-bindgen that uses a different bindgen format than this binary:

  rust wasm file schema version: 0.2.82
     this binary schema version: 0.2.81 (062aa5f70)

Currently the bindgen format is unstable enough that these two schema versions
must exactly match. You can accomplish this by either updating the wasm-bindgen
dependency or this binary.

You should be able to update the wasm-bindgen dependency with:

    cargo update -p wasm-bindgen

or you can update the binary with

    cargo install -f wasm-bindgen-cli

if this warning fails to go away though and you're not sure what to do feel free
to open an issue at https://github.com/rustwasm/wasm-bindgen/issues!

A minimum reproducible example is available at <>.

Hydration-related: false
The author is willing to attempt a fix: false

Tribble internal data
dHJpYmJsZS1yZXBvcnRlZCxDLWJ1ZyxBLWNsaQ==

Try setting wasm-bindgen as a dependency with version 0.2.82 in your Cargo.toml, then run perseus clean and perseus build. That should fix the version mismatch. I'll be sure to add this to the docs.

I followed the procedure, the error persists after perseus clean and build, I specified either wasm-bindgen = "0.2.81" or wasm-bindgen = "0.2.82"

Here is my current manifest
[package]
name = "authweb"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
perseus = { version = "0.4.0-beta.5", features = ["hydrate"] }
sycamore = "=0.8.0-beta.7"
serde = { version = "1", features = ["derive"] }
serde_json = "1.0.81"
lazy_static = "1.4.0"
derive_more = "0.99.17"
futures = "0.3.21"
chrono = "0.4.19"
walkdir = "2.3.2"
dotenv = "0.15.0"
config = "0.13.1"
web-sys = { version = "0.3", features = [ "Storage" ] }
wasm-bindgen = "0.2.82"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
tokio = { version = "1", features = [ "macros", "rt", "rt-multi-thread" ] }
perseus-actix-web = { version = "=0.4.0-beta.5", features = [ "dflt-server" ] }
reqwest = "0.11"

[target.'cfg(target_arch = "wasm32")'.dependencies]
# web-sys = { version = "0.3", features = [ "Storage" ] }
# wasm-bindgen = "0.2.82"
reqwasm = "0.4"
rexie = "0.4.2"

What does perseus --version give you? Also, what OS are you running?

perseus-cli 0.4.0-beta.5
I'm using Debian GNU/Linux 10 (buster) running on wsl2

perseus build --wasm-bindgen-version 0.2.82 should fix this, for you and future users (substitute the latest version). Be warned that something like this will happen every time there's a new wasm-bindgen version released unless you pin your dependency to a specific version (e.g. 0.2.81), since Cargo might automatically update, leaving the installed CLI (installed behind the scenes for you) outdated.

I'll update the docs to reflect his requirement. Unfortunately I don't see any way of getting around pinning the version explicitly in Cargo.toml.

The way trunk does this, and which seems to work pretty well, is to just get the wasm-bindgen version from the Cargo.toml and automatically install the right wasm-bindgen version. Might be worth looking at their code and doing something similar.

Yes, that's on my to-do list! I wanted to get a functional system for installing the tools in the first place out, and then that's very much on the roadmap.

Thanks,

if I understand, while wasm-bindgen version is in manifest, I still have to execute perseus build --wasm-bindgen-version 0.2.82.  Do we build this before running perseus serve ?

No no, you only have to do this once. Behind the scenes, Perseus installs things like wasm-bindgen in a system-wide cache. After running that command, you have the new version installed, and you don't have to worry about it again. In deployment, the tools will be correctly installed automatically in most setups.

ok, thanks

I've now built in support for automatically detecting the versions of tools from Cargo.lock, as wasm-pack does, which should avoid issues like this cropping up in the future. (More accurately, if you modify your Cargo.toml, this issue might appear in some cases, but a re-run of the command will have fixed it already.)

Thanks a lot for the great works.


Select Smarter Lags for Time Series

Pull Request Description
Fixes #2733

After creating the pull request: in order to pass the release_notes_updated check you will need to update the "Future Release" section of docs/source/release_notes.rst to include this pull request by adding :pr:123.

@bchen1116 Added details on the algorithm to the component docstring and added a link from the user guide to the component reference since I didn't want to jump deep into the specifics of a component in the user guide. Thanks for the feedback though, the documentation definitely needed improvement.


fix: remove non-null assertions for primitive types

Long story is that in Assembly script 0,null, false all will be represented the same way aka 0 byte but the conversion we did today. In GraphQL type system we can represent a nullable primitive type (i.e. a boolean or a int32) that when translated to TS we are asserting that it is not nullable which is false assumption because it will crash. So in this change we are removing that assertion and instead checking if it is null or not.
Better and long term solution is disallowing users to have nullable primitive types but that can mean a larger refactor and potential to handle more edge cases. So better to come back to it in future if we get any complaints.
Closes #1196

@saihaj now there is a different issue.
the subgraphs fail to compile with errors like

   get test(): boolean | null {
               ~~~~~~~
 in generated/schema.ts(90,15)

ERROR AS204: Type 'boolean' cannot be nullable.

   set test(value: boolean | null) {
                   ~~~~~~~
 in generated/schema.ts(99,19)

WARNING AS226: Expression resolves to unusual type 'usize'.

       return null;
              ~~~~
 in generated/schema.ts(93,14)

ERROR AS200: Conversion from type 'usize' to 'bool' requires an explicit cast.

       return null;
              ~~~~
 in generated/schema.ts(93,14)

WARNING AS201: Conversion from type 'usize' to 'bool' will require an explicit cast when switching between 32/64-bit.

       return null;
              ~~~~
 in generated/schema.ts(93,14)

You can reproduce from this repo https://github.com/balancer/balancer-subgraph-v2
Branch is swapEnabled just run yarn install && yarn codegen && yarn build

superseded by #1253


Enabled path-keys-no-trailing-slash

Updated our resolver with some changes to oas-linter (as hopefully one day they will merge).
This specific change allows us to enable a rule that's been disabled for a while.

That fixed it all up, thanks @MikeRalphson!
#/paths/~1pet~1  R: path-keys-no-trailing-slash  D: paths should not end with a slash
expected '/pet/' not to end with '/' (false negative fail)

More information: https://speccy.io/rules/#path-keys-no-trailing-slash

Coverage decreased (-0.5%) to 86.376% when pulling c7b2a1a4c587d5d6d5bfc204db82990df10313f6 on enable-path-keys-rule into a6ef29f19887632496d1f34688f298f1fea4d025 on release/0.8.0.

Coverage decreased (-0.5%) to 86.376% when pulling c7b2a1a4c587d5d6d5bfc204db82990df10313f6 on enable-path-keys-rule into a6ef29f19887632496d1f34688f298f1fea4d025 on release/0.8.0.

Coverage decreased (-0.5%) to 86.376% when pulling c7b2a1a4c587d5d6d5bfc204db82990df10313f6 on enable-path-keys-rule into a6ef29f19887632496d1f34688f298f1fea4d025 on release/0.8.0.

Coverage decreased (-0.5%) to 86.376% when pulling c7b2a1a4c587d5d6d5bfc204db82990df10313f6 on enable-path-keys-rule into a6ef29f19887632496d1f34688f298f1fea4d025 on release/0.8.0.


Caffe Successful but not Caffe-distri

Hi,
i have the following maven error:
[exec] g++ src/main/cpp/jni/JniMatVector.cpp -MMD -MP -pthread -fPIC -DNDEBUG -O2 -I/usr/include/python2.7 -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/local/include -I/usr/include/hdf5/serial/ -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/java-7-oracle/include -I.build_release/src -I./include -I../caffe-public/distribute/include -I../caffe-public/src -I/usr/local/cuda/include -I/usr/lib/jvm/java-7-oracle/include/linux -Wall -Wno-sign-compare -c -o .build_release/src/main/cpp/jni/JniMatVector.o 2> .build_release/src/main/cpp/jni/JniMatVector.o.warnings.txt
[exec] 	|| (cat .build_release/src/main/cpp/jni/JniMatVector.o.warnings.txt; exit 1)
[exec] CXX src/main/cpp/jni/JniFloatDataTransformer.cpp
[exec] g++ src/main/cpp/jni/JniFloatDataTransformer.cpp -MMD -MP -pthread -fPIC -DNDEBUG -O2 -I/usr/include/python2.7 -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/local/include -I/usr/include/hdf5/serial/ -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/java-7-oracle/include -I.build_release/src -I./include -I../caffe-public/distribute/include -I../caffe-public/src -I/usr/local/cuda/include -I/usr/lib/jvm/java-7-oracle/include/linux -Wall -Wno-sign-compare -c -o .build_release/src/main/cpp/jni/JniFloatDataTransformer.o 2> .build_release/src/main/cpp/jni/JniFloatDataTransformer.o.warnings.txt
[exec] 	|| (cat .build_release/src/main/cpp/jni/JniFloatDataTransformer.o.warnings.txt; exit 1)
[exec] make[1]: *** [.build_release/src/main/cpp/jni/JniFloatDataTransformer.o] Error 1
[exec] src/main/cpp/jni/JniFloatDataTransformer.cpp: In function ‘void Java_com_yahoo_ml_jcaffe_FloatDataTransformer_transform(JNIEnv*, jobject, jobject, jobject)’:
[exec] src/main/cpp/jni/JniFloatDataTransformer.cpp:69:52: error: no matching function for call to ‘caffe::DataTransformer::Transform(std::vectorcv::Mat&, caffe::Blob&)’
[exec]      xformer->Transform(( mat_vector_ptr), blob_ptr);
[exec]                                                     ^
[exec] src/main/cpp/jni/JniFloatDataTransformer.cpp:69:52: note: candidates are:
[exec] In file included from src/main/cpp/jni/JniFloatDataTransformer.cpp:8:0:
[exec] ../caffe-public/distribute/include/caffe/data_transformer.hpp:38:8: note: void caffe::DataTransformer::Transform(const caffe::Datum&, caffe::Blob) [with Dtype = float]
[exec]    void Transform(const Datum& datum, Blob transformed_blob);
[exec]         ^
[exec] ../caffe-public/distribute/include/caffe/data_transformer.hpp:38:8: note:   no known conversion for argument 1 from ‘std::vectorcv::Mat’ to ‘const caffe::Datum&’
[exec] ../caffe-public/distribute/include/caffe/data_transformer.hpp:50:8: note: void caffe::DataTransformer::Transform(const std::vectorcaffe::Datum&, caffe::Blob) [with Dtype = float]
[exec]    void Transform(const vector & datum_vector,
[exec]         ^
[exec] ../caffe-public/distribute/include/caffe/data_transformer.hpp:50:8: note:   no known conversion for argument 1 from ‘std::vectorcv::Mat’ to ‘const std::vectorcaffe::Datum&’
[exec] ../caffe-public/distribute/include/caffe/data_transformer.hpp:91:8: note: void caffe::DataTransformer::Transform(caffe::Blob, caffe::Blob) [with Dtype = float]
[exec]    void Transform(Blob input_blob, Blob* transformed_blob);
[exec]         ^
[exec] ../caffe-public/distribute/include/caffe/data_transformer.hpp:91:8: note:   no known conversion for argument 1 from ‘std::vectorcv::Mat’ to ‘caffe::Blob’
[exec] ../caffe-public/distribute/include/caffe/data_transformer.hpp:141:8: note: void caffe::DataTransformer::Transform(const caffe::Datum&, Dtype) [with Dtype = float]
[exec]    void Transform(const Datum& datum, Dtype* transformed_data);
[exec]         ^
[exec] ../caffe-public/distribute/include/caffe/data_transformer.hpp:141:8: note:   no known conversion for argument 1 from ‘std::vectorcv::Mat’ to ‘const caffe::Datum&’
[exec] Makefile:413: recipe for target '.build_release/src/main/cpp/jni/JniFloatDataTransformer.o' failed
[exec] make[1]: Leaving directory '/opt/CaffeOnSpark/caffe-distri'
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] caffe ............................................. SUCCESS [0.001s]
[INFO] caffe-distri ...................................... FAILURE [53.341s]
[INFO] caffe-grid ........................................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 53.811s
[INFO] Finished at: Mon May 09 17:21:45 CEST 2016
[INFO] Final Memory: 16M/340M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (make) on project caffe-distri: An Ant BuildException has occured: exec returned: 2
[ERROR] around Ant part ...... @ 5:83 in /opt/CaffeOnSpark/caffe-distri/target/antrun/build-make.xml
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn  -rf :caffe-distri
Makefile:9: recipe for target 'build' failed
make: *** [build] Error 1
I am running Java version 1.7.0_80-b15, scala version 2.11.8, maven 3.0.5

Please make sure that you don't disable OPENCV.
caffe-public/Makefile.config should have the following one commented out.
USE_OPENCV := 0
If you look at caffe-public/distribute/include/caffe/data_transformer.hpp,
you will see the following signature for Transformer:
#ifdef USE_OPENCV
...
/**

@brief Applies the transformation defined in the data layer's
transform_param block to a cv::Mat

@param cv_img
cv::Mat containing the data to be transformed.
@param transformed_blob
This is destination blob. It can be part of top blob's data if
set_cpu_data() is used. See image_data_layer.cpp for an example.
/
void Transform(const cv::Mat& cv_img, Blob transformed_blob);
#endif  // USE_OPENCV

Andy
On Mon, May 9, 2016 at 8:38 AM, TheSwaine<EMAIL_ADDRESS>wrote:

Hi,
i have the following maven error:
[exec] g++ src/main/cpp/jni/JniMatVector.cpp -MMD -MP -pthread -fPIC
-DNDEBUG -O2 -I/usr/include/python2.7
-I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/local/include
-I/usr/include/hdf5/serial/ -I/usr/lib/jvm/default-java/include
-I/usr/lib/jvm/java-7-oracle/include -I.build_release/src -I./include
-I../caffe-public/distribute/include -I../caffe-public/src
-I/usr/local/cuda/include -I/usr/lib/jvm/java-7-oracle/include/linux -Wall
-Wno-sign-compare -c -o .build_release/src/main/cpp/jni/JniMatVector.o 2>
.build_release/src/main/cpp/jni/JniMatVector.o.warnings.txt
[exec] || (cat
.build_release/src/main/cpp/jni/JniMatVector.o.warnings.txt; exit 1)
[exec] CXX src/main/cpp/jni/JniFloatDataTransformer.cpp
[exec] g++ src/main/cpp/jni/JniFloatDataTransformer.cpp -MMD -MP -pthread
-fPIC -DNDEBUG -O2 -I/usr/include/python2.7
-I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/local/include
-I/usr/include/hdf5/serial/ -I/usr/lib/jvm/default-java/include
-I/usr/lib/jvm/java-7-oracle/include -I.build_release/src -I./include
-I../caffe-public/distribute/include -I../caffe-public/src
-I/usr/local/cuda/include -I/usr/lib/jvm/java-7-oracle/include/linux -Wall
-Wno-sign-compare -c -o
.build_release/src/main/cpp/jni/JniFloatDataTransformer.o 2>
.build_release/src/main/cpp/jni/JniFloatDataTransformer.o.warnings.txt
[exec] || (cat
.build_release/src/main/cpp/jni/JniFloatDataTransformer.o.warnings.txt;
exit 1)
[exec] make[1]: ***
[.build_release/src/main/cpp/jni/JniFloatDataTransformer.o] Error 1
[exec] src/main/cpp/jni/JniFloatDataTransformer.cpp: In function ‘void
Java_com_yahoo_ml_jcaffe_FloatDataTransformer_transform(JNIEnv
, jobject, jobject, jobject)’: [exec]
src/main/cpp/jni/JniFloatDataTransformer.cpp:69:52: error: no matching
function for call to
‘caffe::DataTransformer::Transform(std::vectorcv::Mat&, caffe::Blob&)’
[exec] xformer->Transform((* mat_vector_ptr), blob_ptr);
[exec] ^
[exec] src/main/cpp/jni/JniFloatDataTransformer.cpp:69:52: note:
candidates are:
[exec] In file included from
src/main/cpp/jni/JniFloatDataTransformer.cpp:8:0:
[exec] ../caffe-public/distribute/include/caffe/data_transformer.hpp:38:8:
note: void caffe::DataTransformer::Transform(const caffe::Datum&,
caffe::Blob
) [with Dtype = float] [exec] void Transform(const Datum& datum, Blob
transformed_blob);
[exec] ^
[exec] ../caffe-public/distribute/include/caffe/data_transformer.hpp:38:8:
note: no known conversion for argument 1 from ‘std::vectorcv::Mat’ to
‘const caffe::Datum&’
[exec] ../caffe-public/distribute/include/caffe/data_transformer.hpp:50:8:
note: void caffe::DataTransformer::Transform(const
std::vectorcaffe::Datum&, caffe::Blob
) [with Dtype = float] [exec] void Transform(const vector & datum_vector,
[exec] ^ [exec]
../caffe-public/distribute/include/caffe/data_transformer.hpp:50:8: note:
no known conversion for argument 1 from ‘std::vectorcv::Mat’ to ‘const
std::vectorcaffe::Datum&’ [exec]
../caffe-public/distribute/include/caffe/data_transformer.hpp:91:8: note:
void caffe::DataTransformer::Transform(caffe::Blob, caffe::Blob
) [with Dtype = float] [exec] void Transform(Blob input_blob, Blob*
transformed_blob);
[exec] ^
[exec] ../caffe-public/distribute/include/caffe/data_transformer.hpp:91:8:
note: no known conversion for argument 1 from ‘std::vectorcv::Mat’ to
‘caffe::Blob
’ [exec]
../caffe-public/distribute/include/caffe/data_transformer.hpp:141:8: note:
void caffe::DataTransformer::Transform(const caffe::Datum&, Dtype) [with
Dtype = float]
[exec] void Transform(const Datum& datum, Dtype* transformed_data);
[exec] ^
[exec]
../caffe-public/distribute/include/caffe/data_transformer.hpp:141:8: note:
no known conversion for argument 1 from ‘std::vectorcv::Mat’ to ‘const
caffe::Datum&’
[exec] Makefile:413: recipe for target
'.build_release/src/main/cpp/jni/JniFloatDataTransformer.o' failed
[exec] make[1]: Leaving directory '/opt/CaffeOnSpark/caffe-distri'
[INFO]
[INFO] Reactor Summary:
[INFO]
[INFO] caffe ............................................. SUCCESS [0.001s]
[INFO] caffe-distri ...................................... FAILURE
[53.341s]
[INFO] caffe-grid ........................................ SKIPPED
[INFO]
[INFO] BUILD FAILURE
[INFO]
[INFO] Total time: 53.811s
[INFO] Finished at: Mon May 09 17:21:45 CEST 2016
[INFO] Final Memory: 16M/340M
[INFO]
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-antrun-plugin:1.7:run (make) on project
caffe-distri: An Ant BuildException has occured: exec returned: 2
[ERROR] around Ant part ...... @ 5:83 in
/opt/CaffeOnSpark/caffe-distri/target/antrun/build-make.xml
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the
-e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions,
please read the following articles:
[ERROR] [Help 1]
http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the
command
[ERROR] mvn -rf :caffe-distri
Makefile:9: recipe for target 'build' failed
make: *** [build] Error 1
I am running Java version 1.7.0_80-b15, scala version 2.11.8, maven 3.0.5
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/yahoo/CaffeOnSpark/issues/65

Hi and Thanks for the quick answer, but it still fails.
exec] g++ -shared -o .build_release/lib/libcaffedistri.so .build_release/src/main/cpp/common.o .build_release/src/main/cpp/CaffeNet.o .build_release/src/main/cpp/util/socket_sync.o .build_release/src/main/cpp/util/blocking_queue_extra.o .build_release/src/main/cpp/util/MemoryInputAdapter.o .build_release/src/main/cpp/util/socket_sync_cpu.o .build_release/src/main/cpp/util/socket.o .build_release/src/main/cpp/util/InputAdapter.o .build_release/src/main/cpp/util/parallel_cpu.o .build_release/src/main/cpp/util/rdma.o .build_release/src/main/cpp/util/mini_cluster.o .build_release/src/main/cpp/util/rdma_sync.o .build_release/src/main/cpp/jni/JniMatVector.o .build_release/src/main/cpp/jni/JniFloatDataTransformer.o .build_release/src/main/cpp/jni/JniMat.o .build_release/src/main/cpp/jni/JniFloatArray.o .build_release/src/main/cpp/jni/JniCaffeNet.o .build_release/src/main/cpp/jni/JniFloatBlob.o -pthread -fPIC -DNDEBUG -O2 -DUSE_OPENCV -I/usr/include/python2.7 -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/local/include -I/usr/include/hdf5/serial/ -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/java-7-oracle/include -I.build_release/src -I./include -I../caffe-public/distribute/include -I../caffe-public/src -I/usr/local/cuda/include -I/usr/lib/jvm/java-7-oracle/include/linux -Wall -Wno-sign-compare -L/usr/lib -L/usr/local/lib -L/usr/lib -L/usr/lib/x86_64-linux-gnu/hdf5/serial/ -L../caffe-public/distribute/lib -L/usr/local/cuda/lib64 -L/usr/local/cuda/lib -L.build_release/lib  -lcudart -lcublas -lcurand -lglog -lgflags -lprotobuf -lboost_system -lm -lcaffe -lhdf5_hl -lhdf5 -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs -lboost_thread -lstdc++ -lcblas -latlas
[exec] CXX/LD -o .build_release/src/main/cpp/tools/caffe_mini_cluster.bin
[exec] g++ .build_release/src/main/cpp/tools/caffe_mini_cluster.o -o .build_release/src/main/cpp/tools/caffe_mini_cluster.bin -pthread -fPIC -DNDEBUG -O2 -DUSE_OPENCV -I/usr/include/python2.7 -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/local/include -I/usr/include/hdf5/serial/ -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/java-7-oracle/include -I.build_release/src -I./include -I../caffe-public/distribute/include -I../caffe-public/src -I/usr/local/cuda/include -I/usr/lib/jvm/java-7-oracle/include/linux -Wall -Wno-sign-compare -lcaffedistri -L/usr/lib -L/usr/local/lib -L/usr/lib -L/usr/lib/x86_64-linux-gnu/hdf5/serial/ -L../caffe-public/distribute/lib -L/usr/local/cuda/lib64 -L/usr/local/cuda/lib -L.build_release/lib  -lcudart -lcublas -lcurand -lglog -lgflags -lprotobuf -lboost_system -lm -lcaffe -lhdf5_hl -lhdf5 -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs -lboost_thread -lstdc++ -lcblas -latlas
[exec] 	-Wl,-rpath,$ORIGIN/../lib
[exec] .build_release/lib/libcaffedistri.so: Nicht definierter Verweis auf `caffe::DataTransformer::Transform(std::vector<cv::Mat, std::allocatorcv::Mat > const&, caffe::Blob*)'
[exec] collect2: error: ld returned 1 exit status
[exec] make[1]: *** [.build_release/src/main/cpp/tools/caffe_mini_cluster.bin] Error 1
[exec] Makefile:423: recipe for target '.build_release/src/main/cpp/tools/caffe_mini_cluster.bin' failed
[exec] make[1]: Leaving directory '/opt/CaffeOnSpark/caffe-distri'
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] caffe ............................................. SUCCESS [0.002s]
[INFO] caffe-distri ...................................... FAILURE [56.000s]
[INFO] caffe-grid ........................................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
My OpenCV version is 3.1
Refer to http://caffe.berkeleyvision.org/installation.html
Contributions simplifying and improving our build system are welcome!
cuDNN acceleration switch (uncomment to build with cuDNN).
USE_CUDNN := 1
CPU-only switch (uncomment to build without GPU support).
CPU_ONLY := 1
Parallelization over InfiniBand or RoCE
INFINIBAND := 1
uncomment to disable IO dependencies and corresponding data layers
USE_OPENCV := 0
SE_LEVELDB := 0
USE_LMDB := 0
uncomment to allow MDB_NOLOCK when reading LMDB files (only if necessary)
You should not set this flag if you will be reading LMDBs with any
possibility of simultaneous read and write
ALLOW_LMDB_NOLOCK := 1
Uncomment if you're using OpenCV 3
OPENCV_VERSION := 3
To customize your choice of compiler, uncomment and set the following.
N.B. the default for Linux is g++ and the default for OSX is clang++
CUSTOM_CXX := g++
CUDA directory contains bin/ and lib/ directories that we need.
CUDA_DIR := /usr/local/cuda
On Ubuntu 14.04, if cuda tools are installed via
"sudo apt-get install nvidia-cuda-toolkit" then use this instead:
CUDA_DIR := /usr
CUDA architecture setting: going with all of them.
For CUDA < 6.0, comment the *_50 lines for compatibility.
CUDA_ARCH := -gencode arch=compute_20,code=sm_20
-gencode arch=compute_20,code=sm_21
-gencode arch=compute_30,code=sm_30
-gencode arch=compute_35,code=sm_35
-gencode arch=compute_50,code=sm_50
-gencode arch=compute_50,code=compute_50
BLAS choice:
atlas for ATLAS (default)
mkl for MKL
open for OpenBlas
BLAS := atlas
Custom (MKL/ATLAS/OpenBLAS) include and lib directories.
Leave commented to accept the defaults for your choice of BLAS
(which should work)!
BLAS_INCLUDE := /path/to/your/blas
BLAS_LIB := /path/to/your/blas
Homebrew puts openblas in a directory that is not on the standard search path
BLAS_INCLUDE := $(shell brew --prefix openblas)/include
BLAS_LIB := $(shell brew --prefix openblas)/lib
This is required only if you will compile the matlab interface.
MATLAB directory should contain the mex binary in /bin.
MATLAB_DIR := /usr/local
MATLAB_DIR := /Applications/MATLAB_R2012b.app
NOTE: this is required only if you will compile the python interface.
We need to be able to find Python.h and numpy/arrayobject.h.
PYTHON_INCLUDE := /usr/include/python2.7
/usr/lib/python2.7/dist-packages/numpy/core/include
Anaconda Python distribution is quite popular. Include path:
Verify anaconda location, sometimes it's in root.
ANACONDA_HOME := $(HOME)/anaconda
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
	# $(ANACONDA_HOME)/include/python2.7 \
	# $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \

Uncomment to use Python 3 (default is Python 2)
PYTHON_LIBRARIES := boost_python3 python3.5m
PYTHON_INCLUDE := /usr/include/python3.5m \
/usr/lib/python3.5/dist-packages/numpy/core/include
We need to be able to find libpythonX.X.so or .dylib.
PYTHON_LIB := /usr/lib
PYTHON_LIB := $(ANACONDA_HOME)/lib
Homebrew installs numpy in a non standard path (keg only)
PYTHON_INCLUDE += $(dir $(shell python -c 'import numpy.core; print(numpy.core.file)'))/include
PYTHON_LIB += $(shell brew --prefix numpy)/lib
Uncomment to support layers written in Python (will link against Python libs)
WITH_PYTHON_LAYER := 1
Whatever else you find you need goes here.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/
If Homebrew is installed at a non standard location (for example your home directory) and you use it for general dependencies
INCLUDE_DIRS += $(shell brew --prefix)/include
LIBRARY_DIRS += $(shell brew --prefix)/lib
Uncomment to use pkg-config to specify OpenCV library paths.
(Usually not necessary -- OpenCV libraries are normally installed in one of the above $LIBRARY_DIRS.)
USE_PKG_CONFIG := 1
BUILD_DIR := build
DISTRIBUTE_DIR := distribute
Uncomment for debugging. Does not work on OSX due to https://github.com/BVLC/caffe/issues/171
DEBUG := 1
The ID of the GPU that 'make runtest' will use to run unit tests.
TEST_GPUID := 0
enable pretty build (comment to see full commands)
Q ?= @
INCLUDE_DIRS += /usr/lib/jvm/default-java/include

make clean
make build

Please do a clean build. That method is defined in caffe-public/src/caffe/data_transformer.cpp.
template
void DataTransformer::Transform(const vectorcv::Mat & mat_vector,
Blob* transformed_blob);

Which OpenCV version did you guys use to build it?


Rc/7.12.1

Release severity: Normal
Release notes:
Improvements for Avail AVAIL Staking
Improvements  for Vara VARA Staking


D3 v4.x support, no globals, AMD support

Hello, this is a really nice graph, do you have a plan to rewrite this for D3 v4.x API (layout/nodes etc.), without using d3 global, and supporting AMD, e.g. the way d3-tip does it?
https://github.com/Caged/d3-tip/blob/master/index.js
;(function(root, factory) {
  if (typeof define === 'function' && define.amd) {
    // AMD. Register as an anonymous module with d3 as a dependency.
    define([
      'd3-collection',
      'd3-selection'
    ], factory)
  } else if (typeof module === 'object' && module.exports) {
    /* eslint-disable global-require */
    // CommonJS
    var d3Collection = require('d3-collection'),
        d3Selection = require('d3-selection')
    module.exports = factory(d3Collection, d3Selection)
    /* eslint-enable global-require */
  } else {
    // Browser global.
    var d3 = root.d3
    // eslint-disable-next-line no-param-reassign
    root.d3.tip = factory(d3, d3)
  }
}(this, function(d3Collection, d3Selection) {

Thank you.

Thanks!
No plans to rewrite the plugin in its current form for D3 v4 - but happy to take in contributions if you want to add support!
I'm currently using this plugin in a webpack/ES6/babel/React project and integration in its current form is not great. As a next iteration I am planning to design it as a React component using D3 v4 under the hood - that will be a separate project.

I've pushed your PR to the d3-v4 branch and released version 0.4.2-alpha on npm.
I decided not to release under a future version number (e.g. v4.0.0-alpha) because that would have caused problems in case I need to do any backwards incompatible change on the current form and need to bump up the major version. The reason it's 0.4.__2__-alpha and not 0.4.0-alpha is because I took out the UMD wrapper in the .babelrc and released, then I figured out what it was for and put it back. 😄
Let me know if it works for you and if I can help with anything else.


[Feature Request] Customize ctimer.db location (in case of sharedrive)

Is your feature request related to a problem?
Now the ctimer is located within the package itself and cannot be share between different computers. If we allows users to store the files by their choice, they can save it on a cloud folder which automatically updates. In this case, the database can be shared amount different devices of the same users (or even shared between team members).
Describe the solution you'd like
Customize ctimer.db saving path. Next time, the program should find back this parameter.
(The parameter of path route could be save in a txt file as a path in computer's home folder .ctimer or so.)
Describe alternatives you've considered

Per discussion, we may use symbolic links to achieve synchronizing. So what we need to do is only adding one more extra argument to customize the db path.

As @tai271828 suggested. This could be done outside of the ctimer codebase. Step to achieve this:

go to your share drive location. cd <drive_location_for_ctimer.db>
ln -s <original_location_for_ctimer.db> .

The user can now define database path and the path will be access in next login. commit:49a18c496e7861d385b7650d49ef87523ae13aca


additional issues to fix

I overlooked these before. Breaking this out from issue #136.

I have attached a document listing specific issues related to your manuscript

The following need to be addressed, and an author response put in the pdf:

[x] Please note that the measure of centre for the error bars needs to be defined in the legends of extended data figures 4, 5.
[ ] Please indicate the statistical test used for data analysis and where appropriate, please specify whether it was one-sided or two-sided and whether adjustments were made for multiple comparisons, in the legends of figure 3, extended data figures 6, 7, supplementary table 1.
[ ] Please ensure that datasets deposited in public repositories are now publicly accessible, and that accession codes or DOI are provided in the "Data Availability" section. As long as these datasets are not public, we cannot proceed with the acceptance of your paper. For data that have been obtained from publicly available sources, please provide a URL and the specific data product name in the data availability statement. Data with a DOI should be further cited in the methods reference section. (issue #149 )

Please note that the measure of centre for the error bars needs to be defined in the legends of extended data figures 4, 5.

Albert and I decided: "The 95% credible intervals are represented by bands centered on the posterior mean for each year." solved this issue

Please ensure that datasets deposited in public repositories are now publicly accessible, and that accession codes or DOI are provided in the "Data Availability" section. As long as these datasets are not public, we cannot proceed with the acceptance of your paper. For data that have been obtained from publicly available sources, please provide a URL and the specific data product name in the data availability statement. Data with a DOI should be further cited in the methods reference section.

They want the DOI for each of our chronologies? We can copy and paste from the chronology table?

They want the DOI for each of our chronologies? We can copy and paste from the chronology table?

That seems excessive. I think what we have is fine, but we have to solve #149, and check that this requirement is met for all other data .

I'm going to call this done.


It is not working properly.

The bot is online but does not respond to any command.

I'm having the same problem

same

As well. Discord server is in US. I don't know if this helps; I've moved around the different US regions (South, East) and seen no change in behavior.

Can confirm. Unresponsive on multiple servers here as well.

Same problem: we played for two hours in a row and I handled the (luckily few) rolls needed by rolling actual dice - I am the GM and my players trust me.
At the very start of each session I always do a couple of rolls just to be sure that the Macros we created did not expire (happened once months ago) and noticed that no matter what, the bot was basically dead: no error message, no output of any kind. Tried macros and normal rolls, tried to re-invite it.


Distribution neutral packaging of OpenSearch core

I'm raising this issue to track a longer term refactoring/improvement of the build process for OpenSearch. The immediate impact that motivated #2571 has been mitigated. However, the existing build process involves building distribution-specific opensearch-min artifacts (such as an RPM), which are subsequently extracted, modified, then repackaged for the full distribution. This seems to be a bit of a roundabout mechanism and has led to problems in the past (see #2517). A better solution might be to have the targets in OpenSearch core to build distribution neutral artifacts that can be used by the downstream steps in the build/packaging process without having to do extra work like extracting an RPM.
The specific question I have related to the proposed solution in #2571...since a downstream step needs to build an RPM anyway, should OpenSearch core have logic for building an RPM at all? opensearch-build needs to build an RPM in any case, so can we remove the RPM-building logic from core and instead just create the artifacts needed by opensearch-build.

@bbarani , @peterzhuamazon thoughts on this?


Implementation for nested algorithm

Hi,
I'm trying to implement a DCOP algorithm, heist. Heist runs maxsum at each cycle and then update values appropriately (based on maxsum's answer). Im having trouble running and calling maxsum within heist without running into errors. Do you have any recommendations on how I can implement a nested algorithm (an algorithm that requires the answer of another algorithm for each cycle)? I've attached the paper the algorithm comes from. Heist is based from Algorithm 3 and 4 in the paper.
mab_dcops.pdf

Although the framework is currently not really designed for that kind of use case (but that's something I would love to do!)  I've done something similar for the computations' replication.
The idea is to have one main computation that handles the global logic of your algorithm and  launch the computation of your nested algorithm from there. Not straightforward but definitively doable.


forge coverage should allow excluding contracts

Component
Forge
Describe the feature you would like
Running forge coverage automatically includes scripts and test utils that are contracts, which adds noise to the coverage report. It would be helpful if there was a way to exclude these from the reports
Additional context
No response

+1 on this feature, it would be helpful to be able to exclude certain folders too, given that the library coverage is not supported yet, it will make it easier for teams to build robust CICD pipelines if we can avoid the known issues 🙏

+1, absolutely necessary for custom directory layouts and for CICD scripts to rely on forge coverage

Looks like @onbjerg suggested that this might be done natively in #1576, but coverage always seems to include .t.sol files.
The build command supports a --skip test option, which excludes .t.sol files, but coverage seems to kickoff a full rebuild.

Is there any updates on an option to exclude certain contracts from coverage?

A workaround for this is to retroactively remove unwanted files from the lcov report using the lcov package.
Example CI:

forge coverage --report lcov (this generates a ./lcov.info file)
sudo apt-get install lcov
lcov --remove ./lcov.info -o ./lcov.info.pruned 'exclusion/path/1' 'exclusion/path/2'
Run coverage check on ./lcov.info.pruned

This would definitely be handy

@alexroan how do you re-run the coverage check in step 4 on  ./lcov.info.pruned ?

@alexroan how do you re-run the coverage check in step 4 on ./lcov.info.pruned ?

I do not see a way to do this from forge, but you can generate an HTML report using lcov:
genhtml ./lcov.info.pruned -o report --branch-coverage && firefox report/index.html

@alexroan how do you re-run the coverage check in step 4 on ./lcov.info.pruned ?

you pass it to the coverage reporter
      - name: Report coverage
        uses<EMAIL_ADDRESS>        with:
          lcov-file: lcov.info.pruned
          github-token: ${{ secrets.GITHUB_TOKEN }}

As discussed in #1961, another workaround for this (if you'd prefer not to use @alexroan's solution) if you're using Codecov to track coverage is to ignore the test directory using a Codecov config file codecov.yml:
ignore:
    - "test"

One other way to bypass (get excluded by the report) it is to add a function prefixed with test in the contract. That way forge thinks it's a test contract and don't have it on the list.

// add this to be excluded from coverage report
function test() public {}

Works for me for those mocks or tester contracts I don't really care.

some of you might find this useful, especially if you are working with hardhat hybrid and node_modules deps https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/main/solidity/coverage.sh

Permalink: https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/e91c3100c29d2913d175df4b3d1790d6a057d36e/solidity/coverage.sh
(Links with main in them may get outdated)


Raspberry Pi Pico - ssd1306 display attempts to initialize before i2c bus is ready for communication

Describe the bug
Hi, I am working on a Raspberry Pi Pico connected to a ssd1306 based o-led display: https://www.adafruit.com/product/938
I used zephyr/boards/shields/ssd1306/ssd1306_128x32.overlay as a basis:
&i2c0 {
	status = "okay";

	ssd1306_ssd1306_128x64: ssd1306@3c {
		compatible = "solomon,ssd1306fb";
		reg = <0x3d>;
		width = <128>;
		height = <64>;
		segment-offset = <0>;
		page-offset = <0>;
		display-offset = <0>;
		multiplex-ratio = <31>;
		segment-remap;
		com-invdir;
		com-sequential;
		prechargep = <0x22>;
	};
};

When I run any of the display sample applications (e.g. zephyr/samples/subsys/display/cfb), the application will just work (as the device is just soft-resets before running the code and not disconnected from power). However, I noticed that when I unplug the RPI Pico and re-plug it again, the display stays black.
To me it appears, that the i2c is not immediately ready after power-on to actually be usable for the communication to the display IC when Zypher tries to initialize it. If I add a delay of about 170ms in the ssd1306_init_device function the app works correctly and the display is initialized. (Please note that there is no other modification of the sample code. I just attempted to flash the sample using the SHIELD define on a stock Raspberry Pi Pico.)
Also the console prints that node ssd1306@3c is not ready, before even initializing i2c.
To Reproduce
Steps to reproduce the behavior:

build cfb sample
flash on a rpi_pico with a ssd1306 display connected
See black display

Expected behavior
See application working as expected.
Impact
Delaying the initialization works for me but this might have other effects too.
Logs and console output
Device ssd1306@3c not ready
[00:00:00.000,000] <inf> i2c_dw: I2C: i2c_dw_initialize > start        # dbg output added by me
[00:00:00.000,000] <inf> i2c_dw: I2C: i2c_dw_runtime_configure > 1        # dbg output added by me
[00:00:00.000,000] <inf> i2c_dw: I2C: i2c_dw_runtime_configure > 2        # dbg output added by me
[00:00:00.000,000] <inf> i2c_dw: I2C: i2c_dw_initialize > end        # dbg output added by me
[00:00:00.000,000] <inf> i2c_dw: I2C: i2c_dw_initialize > start         # dbg output added by me
[00:00:00.000,000] <inf> i2c_dw: I2C: i2c_dw_runtime_configure > 1         # dbg output added by me
[00:00:00.000,000] <inf> i2c_dw: I2C: i2c_dw_runtime_configure > 2         # dbg output added by me
[00:00:00.000,000] <inf> i2c_dw: I2C: i2c_dw_initialize > end         # dbg output added by me
[00:00:00.000,000] <inf> ssd1306: ssd1306_init > start         # dbg output added by me
[00:00:00.001,000] <err> ssd1306: Failed to initialize device!
*** Booting Zephyr OS build zephyr-v3.2.0-3446-g2017ed50bf9a ***

Environment (please complete the following information):

OS: Arch Linux
Toolchain: Zephyr SDK
master

Additional context

Maybe someone has a similar ssd1306 display to re-run this example on a rpi_pico, in case this is connected to the particular shield I am using for this testing as this might require more boot-up time. Unfortunately I don't have the equipment at hand to verify the bus communication / voltage level.

cfb is outputting the error using printf which is likely bypassing the logging system, hence why you see it first, but in actuality the i2c errors are probably being emitted first.

If I add a delay of about 170ms in the ssd1306_init_device function the app works correctly and the display is initialized

This sums it up, you are trying to configure your display before the display itself is ready, which will fail.

Both the I2C and SSD1306 are initialized in the POST_KERNEL phase with CONFIG_I2C_INIT_PRIORITY and CONFIG_DISPLAY_INIT_PRIORITY respectively, so I would guess that the display's init priority defaults to a higher priority. I would suggest that you try changing those defaults in your prj.conf.
If that solves your issue then this is not a problem with the Pico. Maybe the default value for the display is too high and should be fixed, but that's should go through the display maintainers.

@doctorseus Has this been resolved?

@doctorseus Has this been resolved?

No, this is still broken, I didn't get to it yet (free time project). Before even posting it I put the display on APPLICATION priority (which is last I believe) and it still failed, I haven't mentioned this initially. So I assume changing priorities alone wouldn't help but haven't verified yet so I didn't comment.
On the same (display) front this https://github.com/zephyrproject-rtos/zephyr/issues/46446 is still broken too and I ran into it right after this here, unfortunately it got closed automatically. I kinda want to look into both if possible.

I guess a question for @galak or maybe @JordanYates is how can this be solved, assuming that a micro starts up in (making numbers up here) 15ms and a driver attached to it takes 50ms before it can be communicated with - how can we have a generic way of specifying this or delaying specific driver initialisation until a specified period has elapsed after the micro has booted? I have the same issue with a display module whereby because it is slow to start, I need to delay the driver initialising for a period of time, and I've put the delay in the driver itself (which in my mind is the wrong place to have it)

I guess a question for @galak or maybe @JordanYates is how can this be solved, assuming that a micro starts up in (making numbers up here) 15ms and a driver attached to it takes 50ms before it can be communicated with - how can we have a generic way of specifying this or delaying specific driver initialisation until a specified period has elapsed after the micro has booted? I have the same issue with a display module whereby because it is slow to start, I need to delay the driver initialising for a period of time, and I've put the delay in the driver itself (which in my mind is the wrong place to have it)

For power domains there is a startup delay parameter which can be used to specify at the domain level how long to wait after turning it on before you can talk to anything. This is more aimed at supply stability than the delays of attached devices, but it can be used (abused) for that.
https://github.com/zephyrproject-rtos/zephyr/blob/7e20b819541a028b7b298261e053cb000f2a8571/drivers/power_domain/power_domain_gpio.c#L66-L69
For a more generic solution at the device level, I would look at reviving #49318 and #50519 to enable #22545.
If you have an ordered tree of dependencies and a method of shuffling the init order (via the arrays), you could order the tree init such that devices with a time delay are only run after devices without a delay are initialized. If that is the case, the driver can do k_sleep(K_TIMEOUT_ABS_MS(delay)) in the init function without downsides, as any other device that could do useful work has already run.

I would like to have the stale label removed to avoid loosing this again to eternity.

Still not resolved and relevant, so please remove the Stale label once again (and in general I think 60/14 days is quite short).

Could repro locally, propsing exactly what @JordanYates suggested in https://github.com/zephyrproject-rtos/zephyr/pull/62049


(PoC) Stackable AI for Docs: AI which can be asked about things you would look up in our documentation

This List is not exhaustive, just a collection of things we can think about right now:

[ ] Pipeline based on Haystack
[ ] Switch from elastic to opensearch
[ ] Change the scraper from the documents to scrape our docs
[ ] Check if and how we want to use OpenAI's ChatGPT or switch to data sovereign models (like those hosted at IONOS)

I guess it is about a week to have a PoC. I would really love it.

Ultimately we can't prevent people from getting bad advice from ChatGPT and its ilk themselves, but we should at the very least not encourage them to do so, or make said bad advice seem official.

We have tested Inkeep out of curiousity and it can give some useful responses, but also misleading information in some cases.


support descheduling framework

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: TheBeatles1994:x: LiwlingYou have signed the CLA already but the status is still pending? Let us recheck it.

这块有计划合并master吗？

这块有计划合并master吗？

架构设计可能会改，暂时没计划合并

暂时先搁置，之后打开


absolutely tanks fps

Same here, as soon as the mod activates it brings down the fps to about 50 from 300+

No description provided.

more information is available, which version of the mod, which version of the game, where the server or client is used

Same here, as soon as the mod activates it brings down the fps to about 50 from 300+

heres too, i need more information for fix issue
which version of the mod, which version of the game, where the server or client is used


Unable to connect to the destination mentioned in the KeyVault URL

I am trying to use the Dynamics 365 Data export service to connect with my Azure SQL with Azure AD connection.
When following this tutorial : https://www.youtube.com/watch?v=txms2Yvn6Vc and many more; i figured out how to export my D365 data export service but this tutorial is based on my SQL user. When I try to use a Azure AD user to do the authentication I keep getting the error "Unable to connect to the destination mentioned in the keyvaul URL error"
What I did ATM is , used the D365 Powershell script like the tutorial mentioned to create a keyvault with the connection string and paste the keyvault url inside my D365 settings to validate.
This works if i use the second connection string in the pic below
[Sample of the location I retrieved my connection string][1

]
But when I do the exact same thing with an Active directory connection string (second connection string in picture) This does not work !!
Inside the SQL server I ensured that my Azure AD user has active directory admin roles. And the userID I use inside my connection string has all the rights inside the server and database to do the minimum for D365 Export service (create, insert table, ....)
But still i got a fail inside my D365 . Tried everything ATM don't know where to look. Any body who had the same issues as me ? OR know which step I am missing ?

@Crazyabout Thanks for contacting us. Unfortunately, we're unable to handle support requests for the product here. To contact Microsoft Support, go to https://docs.microsoft.com/dynamics365/get-started/support/.
Closing this issue.


[Bug] reused type is generated duplicately in clone mode

Bug Report
It regenerates the same type as many times as it is reused.
Summary
/** Actual behavior in Test case `clone-type-create-duplicate` */
export namespace Exception {
  /** Expected behavior */
  export type Unauthorized = {
    code: "UNAUTHORIZED";
    message: string;
  };

  export namespace Unauthorized {
   /** Unexpected behavior */
    export type o1 = {
      code: "UNAUTHORIZED";
      message: string;
    };
  }
}

This bug occurs in both Swagger build mode and SDK build mode.
It happens when you define a TypeScript type A to use as a DTO, and then create another type B that includes type A and use it as a DTO.
The type A included in type B is not recognized as the same as the original type A, resulting in a new schema being generated with suffixes like .o1, .o2, and so on.
This issue is more likely to occur as the reuse of types increases.
Particularly, when using union types or similar constructs, there is a high chance that types will be frequently duplicated.
I have created a reproducible environment in the latest Nestia repo. I will submit this as a PR.
The test code included in the test case may be insufficient, but I have confirmed that the issue occurs.

#1017 this pr about the issue.

This problem is caused by TypeScript compiler, and the TypeScript compiler is actually building duplicated types.
To solve this problem, I have to change typia's logic, and may need lots of time.
Until that, just ensure it or hope to avoiding the clone mode.

Currently, typia's MetadataCollection.getName adds a .o{number} suffix when type names are duplicated, which appears rather unnatural. Here's a proposed improvement:
By default, treat duplicate DTO names as the same DTO
If different DTOs are needed, explicitly specify a unique name using a comment tag
This approach prevents unpredictable automatic naming while allowing developers to have explicit control over DTO names.
// in a.ts
interface DTO {
 a: string;
}
// b.ts
/** @name {CustomDTOName} */
interface DTO {
 b: string;
}

If you agree with my suggestion, would you like me to submit a PR to modify the suffix addition code?

Looked at your PR, and such hard coding cannot avoid this problem.
Rather, this issue and PR are unacceptable because the typia core logic is broken due to side effects.

Thank you for your feedback.


Fix Makefile to depend on / build libs correctly

Pretty sure this works, I tested it a reasonable amount, but plane landing and gtg

Merged manually.


Start Licensing page

Which licence, how to avoid unnecessary bloat and best practices on maintaining and licensing a library might be part of this page.
Some pointers:

https://github.com/belle2/basf2
https://www.gnu.org/licenses/gpl-faq.html#NoticeInSourceFile
https://spdx.dev/ids/
https://manifest.fm/10
History log of licences as pytorch does: https://github.com/pytorch/pytorch/blob/master/LICENSE
Have LICENSES_bundled.txt as https://github.com/numpy/numpy/blob/main/LICENSES_bundled.txt
Have General licence and licence each file adding " Copyright (c) MONAI Consortium" as https://github.com/Project-MONAI/MONAI
Have one general license as Scikit-Surgery libraries which are under BSD

Since this is not Python specific, but applies to software writting in any language, I'm going to close out of scope. I do think it's all useful information, so perhaps a similar effort on sharing information on licensing might be helpful!


Wrong title auto-silent

At the action bar, it says "auto-silent", while it should say "auto-stil"


Prince warning caused by WaveDrom generated SVG

An SVG generated by WaveDrom produces the following warning in Prince:
warning: unsupported properties: enable-background
The workaround was to open the SVG in a text editor and delete all 5 instances of  enable-background:accumulate

I'm going to resuscitate this issues page with some images to corroborate Jeff's gripes here. The figure below shows what happens in .pdf output when you remove those background-accumulate. Although this seems to be a prince problem vs. a wavedrom problem, it would be nice to have a workaround for the time being.

I will fix it.


AccessKeyHandler now internal and eats alt presses

It's not obvious that the reason of alt presses not coming to event handlers is AccessKeyHandler.
It's subscribing to global key events and setting e.Handled = true on alt up.
We've spent a day investigating this issue a 1+ year ago. Our fix was to Set MainMenu to null on app start to disable this.
Now because it's internal in 11.0 - we've decided to not use AccessText at all. And still I think it will eat alt presses to open menu. will test this later.
I think there can be or should be a possibility to write code that not making e.Handled=true, or add an ability to disable this handler.

Definitely sounds like a bug. I wasn't aware of this; the hack shouldn't be needed I don't think.


fix(docs): onload readme files

@yinonov @rachelbt What do you think about the loading of the page now? I think that it looks better.

@yinonov @rachelbt What do you think about the loading of the page now? I think that it looks better.

it still a bit jumpy but much better!!


Add utils script

We need several repository utils scripts:

get-version: formats version for all languages (they aren't formatted the same way, e.g. 0.1.0-alpha.1 for NodeJS and 0.1.0a1 for Python, no alpha/etc for Rust), to be used in other scripts
bump-version: this script bumps the version in all subpackages / projects (una-core, and bindings una-js, una-python), updates CHANGELOG, commits and tags the release
Other TBD

Progress tracker:

[ ] bump-version
[ ] get-version

After thinking about it a bit, it might be better to just not release dev version (alpha, beta, rc, etc) as Cargo doesn't support them.


session.VirtualAddresses() failed to parse json response if RouteAdvertisement is "selective"

Issue:
Calling session.VirtualAddresses() with a VIP's RouteAdvertisement set to "selective" caused this error
Getting error: 2020-08-10_20:32:31.10538 I0810 20:32:31.105345 9459 tim_f5_ingestor.go:301] Polling failed (failed to list virtual addresses on F5 5f31ac7d497d4f723ca20dff: Unknown boolean conversion for RouteAdvertisement: selective)

This happens after upgrading big-ip to 13.0.
Analysis:
It appears the json declaration for virtualAddressDTO still uses the old value "enabled" for RouteAdvertisement
https://github.com/f5devcentral/go-bigip/blob/master/ltm.go#L596
This is a knowledge base article about the change of "enabled" to "selective" for RouteAdvertisement
https://support.f5.com/csp/article/K85543242
Proposed fix:
diff --git a/golang/src/vendor/github.com/f5devcentral/go-bigip/ltm.go b/golang/src/vendor/github.com/f5devcentral/go-bigip/ltm.go
index eb78ec6cbcf..a79d5266863 100644
--- a/golang/src/vendor/github.com/f5devcentral/go-bigip/ltm.go
+++ b/golang/src/vendor/github.com/f5devcentral/go-bigip/ltm.go
@@ -567,7 +567,7 @@ type virtualAddressDTO struct {
        ICMPEcho              string `json:"icmpEcho,omitempty" bool:"enabled"`
        InheritedTrafficGroup string `json:"inheritedTrafficGroup,omitempty" bool:"yes"`
        Mask                  string `json:"mask,omitempty"`
-       RouteAdvertisement    string `json:"routeAdvertisement,omitempty" bool:"enabled"`
+       RouteAdvertisement    string `json:"routeAdvertisement,omitempty" bool:"selective"`
        ServerScope           string `json:"serverScope,omitempty"`
        TrafficGroup          string `json:"trafficGroup,omitempty"`
        Unit                  int    `json:"unit,omitempty"`

The proposed fix in previous comment will not work as RouteAdvertisement is an enum (disabled, enabled, selective, always, all, any). This change in bigip rest api >=13.0 does not consider backward compatibility for go client.


refactor: extract commonly used structs, traits and impls into separate crate

What should we do with ElementType from core/src/elements/types.rs?
Should we move them into commons as well?

ElementType should be renamed to BlockType, but not in this PR.
After restructuring config, there is no dependency on ElementType anymore, so we can keep it in core.


/usr/include/c++/4.9/bits/shared_ptr.h:66:5: note:   template argument deduction/substitution failed:
In file included from /home/camponez/devel/bitshares/libraries/fc/include/fc/crypto/elliptic.hpp:3:0,
                 from /home/camponez/devel/bitshares/libraries/blockchain/include/bts/blockchain/types.hpp:5,
                 from /home/camponez/devel/bitshares/libraries/blockchain/include/bts/blockchain/asset.hpp:3,
                 from /home/camponez/devel/bitshares/libraries/blockchain/include/bts/blockchain/account_record.hpp:3,
                 from /home/camponez/devel/bitshares/libraries/blockchain/account_record.cpp:1:
/home/camponez/devel/bitshares/libraries/fc/include/fc/crypto/sha256.hpp:28:9: note:   ‘fc::sha256::encoder’ is not derived from ‘std::basic_ostream<_CharT, _Traits>’
       e << t;
         ^
In file included from /usr/include/c++/4.9/string:52:0,
                 from /home/camponez/devel/bitshares/libraries/fc/include/fc/crypto/base64.hpp:2,
                 from /home/camponez/devel/bitshares/libraries/fc/include/fc/array.hpp:2,
                 from /home/camponez/devel/bitshares/libraries/blockchain/include/bts/blockchain/pts_address.hpp:3,
                 from /home/camponez/devel/bitshares/libraries/blockchain/include/bts/blockchain/address.hpp:4,
                 from /home/camponez/devel/bitshares/libraries/blockchain/include/bts/blockchain/types.hpp:3,
                 from /home/camponez/devel/bitshares/libraries/blockchain/include/bts/blockchain/asset.hpp:3,
                 from /home/camponez/devel/bitshares/libraries/blockchain/include/bts/blockchain/account_record.hpp:3,
                 from /home/camponez/devel/bitshares/libraries/blockchain/account_record.cpp:1:
/usr/include/c++/4.9/bits/basic_string.h:2772:5: note: template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&)
     operator<<(basic_ostream<_CharT, _Traits>& __os,
     ^
/usr/include/c++/4.9/bits/basic_string.h:2772:5: note:   template argument deduction/substitution failed:
In file included from /home/camponez/devel/bitshares/libraries/fc/include/fc/crypto/elliptic.hpp:3:0,
                 from /home/camponez/devel/bitshares/libraries/blockchain/include/bts/blockchain/types.hpp:5,
                 from /home/camponez/devel/bitshares/libraries/blockchain/include/bts/blockchain/asset.hpp:3,
                 from /home/camponez/devel/bitshares/libraries/blockchain/include/bts/blockchain/account_record.hpp:3,
                 from /home/camponez/devel/bitshares/libraries/blockchain/account_record.cpp:1:
/home/camponez/devel/bitshares/libraries/fc/include/fc/crypto/sha256.hpp:28:9: note:   ‘fc::sha256::encoder’ is not derived from ‘std::basic_ostream<_CharT, _Traits>’
       e << t;
         ^
libraries/blockchain/CMakeFiles/bts_blockchain.dir/build.make:248: recipe for target 'libraries/blockchain/CMakeFiles/bts_blockchain.dir/account_record.cpp.o' failed
make[2]: *** [libraries/blockchain/CMakeFiles/bts_blockchain.dir/account_record.cpp.o] Error 1
libraries/blockchain/CMakeFiles/bts_blockchain.dir/build.make:202: recipe for target 'libraries/blockchain/CMakeFiles/bts_blockchain.dir/transaction_creation_state.cpp.o' failed
make[2]: *** [libraries/blockchain/CMakeFiles/bts_blockchain.dir/transaction_creation_state.cpp.o] Error 1
CMakeFiles/Makefile2:721: recipe for target 'libraries/blockchain/CMakeFiles/bts_blockchain.dir/all' failed
make[1]: *** [libraries/blockchain/CMakeFiles/bts_blockchain.dir/all] Error 2
Makefile:103: recipe for target 'all' failed
make: *** [all] Error 2

I think you're using an outdated version of libraries/fc.
Please delete the project tree, check out a new version and do the usual git submodule init / git submodule update.

Thanks!
git submodule update did the trick. I'll remember to do this next time.
But I still get this error:
[ 96%] Built target buildweb
make[2]: *** No rule to make target 'programs/qt_wallet/htdocs/locale-ko.json', needed by 'programs/qt_wallet/qrc_htdocs.cpp'.  Stop.
CMakeFiles/Makefile2:2163: recipe for target 'programs/qt_wallet/CMakeFiles/BitShares.dir/all' failed
make[1]: *** [programs/qt_wallet/CMakeFiles/BitShares.dir/all] Error 2
Makefile:103: recipe for target 'all' failed
make: *** [all] Error 2

try "make forcebuildweb" instead of "make buildweb"

It works. Thanks!


Store.stats is not thread safe

Describe the problem.
I get an 'dictionary size changed during iteration' error when using function statistics from a multi-threaded app.
...
  File "/lus/theta-fs0/projects/CSC249ADCD08/fast-finedtuned-forcefields/env-cpu/lib/python3.10/site-packages/colmena/proxy.py", line 169, in store_proxy_stats
    stats = store.stats(proxy)
  File "/lus/theta-fs0/projects/CSC249ADCD08/fast-finedtuned-forcefields/env-cpu/lib/python3.10/site-packages/proxystore/store/base.py", line 693, in stats
    for event in self._stats:
RuntimeError: dictionary changed size during iteration

How did you install ProxyStore?
pip install proxystore

ProxyStore Version
0.4.0
Python Version
3.10
OS and Platform
x86 Linux

It looks like the underlying FunctionEventStats object is fine. It's just the use of it in store that's a problem. I'll propose a fix that I'm currently testing.


Add OCR section

This PR adds a readme for the OCR task, with information on:

data annotation
tools/methods (including OCR post-correction)
evaluation

Wonderful, thank you! I looked at it and didn't see any urgent issues to fix.


guid problem with defaultProblem message when opening Terminal after update to 0.11.1121.0

After updating to version 0.11.1121.0 I get the following error message after opening the terminal:

It complains that the guid of the defaultProfile is not found in the profiles.
The guid of the defaultProfile is 574e775e-4f2a-5b96-ac1e-a2962a402336 and I have exactly one profile with this guid and it's PowerShell 7.
I remove the line "defaultProfile" : "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
and closed and reopen the terminal and the same message occurs.

Thanks for the report! Can you share a copy of your settings.json file?

If your defaultProfile is inside the globals, section, you're hitting #5458

If your defaultProfile is inside the globals, section, you're hitting #5458

Yes, I have this configuration, I will change it and see if it solves it.

Solved, thank you very much for the fast help.


gparyani: Blacklist ^no\W*one$

gparyani requests the blacklist of the username ^no\W*one$. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

^no\W*one$ has been seen in 10 true positives, 5 false positives, and 3 NAAs.

Seen in the following spam/troll posts:

https://meta.stackexchange.com/questions/350068/why-is-my-account-being-constantly-destroyed-without-explaination
https://meta.stackexchange.com/questions/350067/why-is-my-account-constantly-getting-destroyed-without-explanation
https://meta.stackexchange.com/questions/350066/why-is-my-account-constantly-getting-destroyed
https://meta.stackexchange.com/questions/350065/is-the-python-newbie-troll-gone-now
https://meta.stackexchange.com/questions/350058/i-used-to-troll-when-i-was-below-13-i-need-records-containing-my-name-removed

There are way too many existing users with matches to this.


Login problems

Hi!
I want to report some problems I'm having during the authentication process:

when using the wrong credentials it doesn't show me the message "Wrong username or password" but this:

I wrote a checkUserByGroup function, if my account is a member of the correct groups everything goes right, on the other hand, if I'm not member of the group it doesn't show the message "You are not authorize to use this page.", but it gives me the same error I reported above, can you help me to solve this?
def checkUserByGroup(conn: Optional[Connection], user: UserInfos):
        groups = ["GROUP1","GROUP2"]
        for group in groups:
            for user_group in user["memberOf"]:
                if group in user_group: return True

        return f"You are not authorize to use this page."

user = auth.login(checkUserByGroup)

Thank you

Actually your function need to add an additional validation on the conn and user parameter and return True to let authenticator class assume additional check step is successful and continue on the password checking logic after.
`
def checkUserByGroup(conn: Optional[Connection], user: UserInfos):
groups = ["GROUP1","GROUP2"]
if conn is None or user is None:
return True
for group in groups:
for user_group in user["memberOf"]:
if group in user_group: return True
    return f"You are not authorize to use this page."

`


losslesscut-bin: init at 3.33.1

Add binary package for

Linux (AppImage)
Mac (dmg, x86_64 version)
Windows (zip)

Motivation for this change
If applied, LosslessCut -- a convenient video editor -- will be available in nixpkgs for Linux, Mac and Windows users.
Things done

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

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

Thanks for review and reply.

I wonder; is there a reason as to not build the electron app from source?

It would be wonderful to build from source, and that's what I have tried at first (#91683).
Firstly, I personally have never succeeded in the source-build of any electron project.
They requires development dependencies to work, which means an electron node package will be downloaded and installed by the package manager. The problem is that it always want to download something at build phase as part of the "installation" of the electron package.
Secondly, the author of LosslessCut decided to bundle statically-build ffmpeg and ffprobe libreary instead of relying on the one provided by the package manager ar the environment, and the bundle will be downloaded during installation. We need to hack on the code to make it use the one downloaded by fetchurl or the one linked from the nixpkgs derivation.
It would be great to get some advice on how to build them.

Thanks for review and reply.

I wonder; is there a reason as to not build the electron app from source?

It would be wonderful to build from source, and that's what I have tried at first (#91683).
Firstly, I personally have never succeeded in the source-build of any electron project.
They requires development dependencies to work, which means an electron node package will be downloaded and installed by the package manager. The problem is that it always want to download something at build phase as part of the "installation" of the electron package.
Secondly, the author of LosslessCut decided to bundle statically-build ffmpeg and ffprobe libreary instead of relying on the one provided by the package manager ar the environment, and the bundle will be downloaded during installation. We need to hack on the code to make it use the one downloaded by fetchurl or the one linked from the nixpkgs derivation.
It would be great to get some advice on how to build them.

I understand. I've never built an electron package before, so I can't really give any guidance on that.
IMO this can be merged (I don't have commit rights).

I understand. I've never built an electron package before, so I can't really give any guidance on that.
IMO this can be merged (I don't have commit rights).

Some modifications:

Use lib instead of stdenv.lib to fit #108938.
Bug fix on the source URL. I had forgotten to change the owner name when copy-paste the expression from another work of mine.

Some modifications:

Use lib instead of stdenv.lib to fit #108938.
Bug fix on the source URL. I had forgotten to change the owner name when copy-paste the expression from another work of mine.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/480

Rebase onto recent Nixpkgs master and upgrade to 3.33.1

No idea if this is a bit overengineered.

No idea if this is a bit overengineered.

I think it could use some refactoring, but I would not say it's terribly complicated.

Also, why do you call the package "lossless-cut" if its "losslesscut"

e.g. https://aur.archlinux.org/packages/losslesscut-bin/

Also, why do you call the package "lossless-cut" if its "losslesscut"

It's just because the source repo is named "lossless-cut", and the manual suggests that the attribute be identical to the project name. (or do I misunderstand something?)
losslesscut sounds better, and is also the name of the command to get it start.

Apply the suggestions and rename

Seems like calling the per-platform files in a let-expression makes them impossible to override (AFAIK).

Seems like calling the per-platform files in a let-expression makes them impossible to override (AFAIK).

@ryneeverett Would it be better for the three of them be visible in all-packages.nix or should I put them in the passthru?

@ShamrockLee I'm not the person to ask but I would think passthru would be acceptable.


Looks like Growatt changed/ depreciated their API URL

I'm sure you already know about the HA integration with the same issue
But adding this issue here since its similarly affected.
Log from /opt/logs/latest
2023-09-27 00:05:22 ERROR: Please check your configuration values also e.g. you've updated the default values
2023-09-27 00:05:22 ERROR: 405 Client Error: Not Allowed for url: https://server-api.growatt.com/newTwoLoginAPI.do

never mind had to do
muppet3000/growatt-charger instead of just growatt-charger

I do not envy you, shame Growatt couldn't give you a heads up


Improve description of model-name arg

Actually that is not quite right either. Will close and submit a new PR


Support for Swagger 3.x

Subject of the issue
Does wskdeploy support using Swagger 3.x file?
Is OpenWhisk compatible with this OAS?
Your environment
Local computer where trying to deploy:
OpenWhisk CLI 1.0.0
wskdeploy 1.0.0
go version go1.14.7 linux/amd64
Host:
Ubuntu 18.04.4 LTS (GNU/Linux 5.3.0-1032-aws x86_64)
Kubernetes Version 1.18.6
Helm version v3.2.4
Steps to reproduce
I'm using the following OAS:
open_api3_spec.yaml
openapi: '3.0.0'
info:
  version: '1.0'
  title: Hello World API
servers:
  - url: 'https://<my_ip>/api'
    description: Development server

paths:
  /hello/world:
    get:
      summary: Returns greeting
      description: Returns a greeting to the user!
      parameters:
        - in: query
          name: name
          description: The name of the user
          schema:
            type: string
        - in: query
          name: place
          description: The place where the user is at
          schema:
            type: string
      responses:
        '200':
          description: Returns the greeting.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GreetingResponse'
      operationId: getHello
      x-openwhisk:
        namespace: itio
        action: hello_world
        package: devops
        url: 'https://<my_ip>/api/v1/web/itio/devops/hello_world.json'

components:
  schemas:
    GreetingResponse:
      type: object
      properties:
        greeting:
          type: string
          description: Greeting response

x-ibm-configuration:
  assembly:
    execute:
      - operation-switch:
          title: whisk-invoke
          case:
            - operations:
                - getHello
              execute:
                - invoke:
                    target-url: 'https://<my_ip>/api/v1/web/itio/devops/hello_world.json'
                    verb: keep
          otherwise: []

manifest.json
project:
  config: 'open_api3_spec.yaml'
  packages:
    devops:
      version: 1.0
      license: Apache-2.0
      actions:
        hello_world:
          function: src/hello.js
          annotations:
            web-export: true

Then executing wskdeploy with these files.
Expected behaviour
API to be created with the OAS.
Actual behaviour
Error: manifestreader.go [118]: [ERROR_YAML_FILE_FORMAT_ERROR]: File: [manifest.yaml]:
==> Unable to parse swagger file: {{.err}}

Also tried exporting a Swagger 3.0 file from Swagger Hub:
swagger-export.yaml
openapi: 3.0.0
info:
  title: OpenAPIv3
  version: '1.0'
servers:
  - url: 'http://<my_ip>/api'
paths:
  /users:
    get:
      summary: Get Users
      tags: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/User'
      operationId: get-users
components:
  schemas:
    User:
      title: User
      type: object
      properties:
        id:
          type: string
        name:
          type: string

Error changed to:
error: Unable to parse swagger file: Swagger file is invalid (missing basePath, info, paths, or swagger fields)

From the error message, it says missing basePath, but this requirement is obsolete in OpenAPI 3.0.

My guess is there are a few schema alignments necessary both in the cli/go client and in the route management package in the openwhisk repo.
Are you interested in submitting a pull request to support openapi?


[BUG] EventHubListener causes message lost in shutdown

Library name and version
Microsoft.Azure.WebJobs.Extensions.EventHubs 6.0.2 and 5.5.0
Describe the bug
EventHubListener.PartitionProcessor progresses the checkpoint even when the application is shutting down (for example, configuration change, scaling, etc.). It causes message lost.
Note that I found that this issue is occurred occasionally.
I and my colleague guess that this issue should be fixed #36432, but reintroduced with #38067 as following out investigation results.
Our investigation results
In this situation, while _functionExecutionToken.IsCancellationRequested became true, linkedCts.IsCancellationRequested had not become true. So, the checkpoint was progressed even if the application execution had been cancelled.
By LinkedCancellationTokenSource source code, the following facts were found:

LinkdedCancellationTokenSource (linkedCts) is cancelled via callback of "linked" cancellation token (_functionExecutionToken's source).
The callback chain is invoked LIFO order.
The callback is also used in many places such as Task.Delay(CancellationToken) implementation.

By watching the callstack in the checkpointing, following sequence was occurred:

WebHost calls listener's StopAsync()
The listener calls CancellationTokenSource.Cancel() (source of _functionExecutionToken)
The application cancellation is occurred as continuation of async / await, then awaits in function runtimes are finished as part of registered callback execution. Note that this callback should be occurred before setting linkedCts.IsCancellationRequested to true as described above. So, the checkpoint is progressed because linkedCts.IsCancellationRequested has not been true yet.

Expected behavior
The checkpoint is never progressed when application process is shutting down ( _functionExecutionToken is cancelled).
Actual behavior
The checkpoint is progressed occasionally.
Reproduction Steps

Use event hub trigger with following in local.
After Recieve method started, press Ctrl + C to shutdown process.
The checkpoint should be progressed. You can investigate linkedCts and _functionExecutionToken states with break point in the checkpointing.

[FunctionName("Receive")]
[ExponentialBackoffRetry(5, "00:00:10", "00:10:00")]
public async Task Receive(
    [EventHubTrigger("%EventHubName%", Connection = "EventHubConnectionString")] EventData[] events,
    CancellationToken cancellationToken)
{
    await Task.Delay(TimeSpan.FromMinutes(3), cancellationToken);
}

Environment

Platform: Windows (Functions runtime v3 and v4, Azure App Service)

We reproduced in local environment, but message lost was occurred in production Azure environment multiple times.

@JoshLove-msft:  Would you please advise on whether this is related to the ask on the Functions team to expose whether an execution would be retried if the host is not shutting down?   If so, please transfer to the Functions host repo.

Thank you for your feedback.  Tagging and routing to the team member best able to assist.

@yfujiwara-sansan, I couldn't reproduce having _functionExecutionToken be canceled with linkedCts still not being cancelled. That said, it looks like you are correct that cancellation is not atomic when it comes to linked token sources, so it is possible that one of the sources can be canceled while the linked source is still not canceled. I will make a fix to explicitly check each of the token sources when making the checkpointing decision.

@JoshLove-msft Thank you for your work! I guess that the repro code sometimes fails to repro due to scheduling of continuations.
By the way, as far as I read #38067 again, it looks that lInkedCts now can be passed to TryExecute bacause it is not lInked to the token which is cancelled In drain mode. I think there is a better option to pass linkedCts to TryExecute, because the app should be cancelled when the load balancer detects ownership lost.

I think there is a better option to pass linkedCts to TryExecute, because the app should be cancelled when the load balancer detects ownership lost.

The semantics of the token passed to the function are that it is signaled only when shutting down in a way that is not guaranteed to allow the function to complete execution. In terms of whether it makes sense to also cancel this token when partition ownership is lost, I would have to defer to @jsquire on that.

I understand the semantics of the token passeed to the app. The cancellation behavior for ownership lost should be discussed as a different issue because it is intentional behavior.
Thank you for your answer!  I and my colleagues are waiting for fixking the race condition.

I think there is a better option to pass linkedCts to TryExecute, because the app should be cancelled when the load balancer detects ownership lost.

The semantics of the token passed to the function are that it is signaled only when shutting down in a way that is not guaranteed to allow the function to complete execution. In terms of whether it makes sense to also cancel this token when partition ownership is lost, I would have to defer to @jsquire on that.

@JoshLove-msft : The token that the processor passes to OnProcessingEventBatch will get canceled when partition ownership is lost.  I would assume that we're flowing that token into the Executor so that the Function is notified.  Is that not the case?

I don't think there was a good reason - it may have just been an oversight. Updated the PR to pass linkedCts token to TryExecute.

@JoshLove-msft
Thank you for fix, but let me confirm just in case.
Is it intentional to fix only single dispatch path? It looks following arguments should be fixed, too:

https://github.com/JoshLove-msft/azure-sdk-for-net/blob/4a51f3567f5da030a964494807aa25e1aba888aa/sdk/eventhub/Microsoft.Azure.WebJobs.Extensions.EventHubs/src/Listeners/EventHubListener.PartitionProcessor.cs#L176C78-L176C101
https://github.com/JoshLove-msft/azure-sdk-for-net/blob/4a51f3567f5da030a964494807aa25e1aba888aa/sdk/eventhub/Microsoft.Azure.WebJobs.Extensions.EventHubs/src/Listeners/EventHubListener.PartitionProcessor.cs#L210C63-L210C86

You are right again. Apologies for the oversight. I will add these updates in.

I think this instance also needs updating - https://github.com/JoshLove-msft/azure-sdk-for-net/blob/4a51f3567f5da030a964494807aa25e1aba888aa/sdk/eventhub/Microsoft.Azure.WebJobs.Extensions.EventHubs/src/Listeners/EventHubListener.PartitionProcessor.cs#L289


Fixes #2305 Django Management Console error

Fixes #2305 Django Management Console error
Skips resetting configuration based on project for custom commands.

👍


How to run this project in Pycharm?

Hi
My OS is Windows 10.
I was able to run it successful in cmd by following those instruction. I am wondering how to run it in Pycharm?
Thank you.

Hello,
I don't use use Pycharm myself, so I've never done it before.
I think this is what you're looking for:
http://flask.pocoo.org/docs/dev/cli/#pycharm-integration
https://stackoverflow.com/questions/45741800/how-to-run-flask-app-as-a-package-in-pycharm


Filter torrent widget displayed items based on category

Description
I'd like to be able to filter the displayed items of my qBittorrent widget, so only those are displayed that has either "tv-sonarr" or "movies" as an assigned category. I use my torrent client for torrents other than my home media server shared with friends and family, but I don't want to display other downloaded content that are outside of that ecosystem
Priority
Medium (Would be very useful)

So the solution would be to have some sort of Multi-select where we allow you to write the name of categories to include ? Like when you write tags and separate them with a comma
do you have another idea as to how to solve this issue UI-wise ?

Since I's use it to prevent users from seeing specific tag, I think it would make sense to put it in the setup of the torrent widget. If possible, pull available options with an api. I imagine selectiong to be the easyest if you'd be able to use either combo-box or checkbox system.

I added this indicator, if the filters hide items:

I will open a PR soon.


Task 6

Evaluation criteria
Reviewers should verify the lambda functions, SQS and SNS topic and subscription in PR.

[x] 1 - File serverless.yml contains configuration for catalogBatchProcess function
[x] 2 - File serverless.yml contains policies to allow lambda catalogBatchProcess function to interact with SNS and SQS
[x] 3 - File serverless.yml contains configuration for SQS catalogItemsQueue
[x] 4 - File serverless.yml contains configuration for SNS Topic createProductTopic and email subscription

Additional (optional) tasks

[x] +1 - catalogBatchProcess lambda is covered by unit tests
[x] +1 - set a Filter Policy for SNS createProductTopic in serverless.yml (Create an additional email subscription and distribute messages to different emails depending on the filter for any product attribute)

Do you need empty import-service/services/catalog-batch-process/catalogBatchProcess.service.ts ?

thanks, removed it

4/6 points? Will +1 when unit tests are done. Will +1 when Filter Policy is used.

Added tests and filter policy, check again, please

4/6 points? Will +1 when unit tests are done. Will +1 when Filter Policy is used.

Added tests and filter policy, check again, please

Well done! 👍  6/6

4/6 points? Will +1 when unit tests are done. Will +1 when Filter Policy is used.

Added tests and filter policy, check again, please

Well done! 👍 6/6

Thanks for Your time!

Completed successfully! 6/6


Fuzz test failing for IB validatePositionContract

Fuzz test failing for IB validatePositionContract when comparing position's contract multiplier to contract multiplier.

Resolved in 587fefc25bb82f908fc9b9ff6cbf750d6f40f342.


Remove TemplateRetriever error from cache

This PR was successfully deployed to production by CircleCI build 500 at 2018-07-30 11:10 BST.


Add drag and drop element method

Old implementation of this method:
ExtendedWebElement reorderButton = reorderByFoodNameButton.format(foodName);
        ExtendedWebElement meals = mealsTypePlate.format(mealsType.getType());
        Point start = reorderButton.getLocation();
        Point destination = meals.getLocation();
        try {
            @SuppressWarnings("rawtypes")
            TouchAction<?> tAction = new TouchAction(new XcrunService().getIOSDriver());
            PointOption<?> startPoint = PointOption.point(start.x + reorderButton.getSize().width / 2, start.y + reorderButton.getSize().height / 2);
            PointOption<?> endPoint = PointOption.point(destination.x + reorderButton.getSize().width / 2, destination.y + meals.getSize().height);
            WaitOptions waitOptions = WaitOptions.waitOptions(Duration.ofMillis(MID_SPEED));
            tAction.longPress(startPoint).waitAction(waitOptions).moveTo(endPoint).release();
            tAction.perform();
        } catch (Exception e) {
            LOGGER.error("Error: " + e);
            throw new UnsupportedOperationException("Can't drag element!");
        }

Starting from Carina version 8.0.3 this option doesn't work, an alternative is needed

assigned to @dmtgrinevich

will be tested in automation test job in carina-demo


dcos package describe produces incorrect result

Please answer the following questions before submitting your issue. Thanks!
What version of DC/OS + DC/OS CLI are you using (dcos --version)?
If DC/OS CLI version < 0.4.5, DC/OS version can be found at http://dcos_url/dcos-metada/dcos-version.json
> dcos --version
dcoscli.version=SNAPSHOT
dcos.version=1.8-dev
dcos.commit=ef83e6e87d55f64ff847773d020379fea0d16402
dcos.bootstrap-id=817ce8f4c1248102a7733ba50d76b7a42209d5cb

What operating system and version are you using?
> uname -a
Linux mg-mesos 4.2.0-36-generic #42-Ubuntu SMP Thu May 12 22:05:35 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

What did you do?
If possible please provide a recipe for reproducing.
> dcos package describe spark
{
  "description": "Spark is a fast and general cluster computing system for Big Data.  Documentation: https://docs.mesosphere.com/usage/managing-services/spark/",
  "framework": null,
  "licenses": [
    {
      "name": "Apache License Version 2.0",
      "url": "https://raw.githubusercontent.com/apache/spark/master/LICENSE"
    }
  ],
  "maintainer"<EMAIL_ADDRESS>  "name": "spark",
  "packagingVersion": "2.0",
  "postInstallNotes": "DC/OS Spark is being installed!\n\n\tDocumentation: https://docs.mesosphere.com/usage/services/spark/\n\tIssues: https://docs.mesosphere.com/support/",
  "postUninstallNotes": "The Apache Spark DC/OS Service has been uninstalled and will no longer run.\nPlease follow the instructions at http://docs.mesosphere.com/services/spark/#uninstall to clean up any persisted state.",
  "preInstallNotes": null,
  "scm": "https://github.com/apache/spark.git",
  "selected": true,
  "tags": [
    "bigdata",
    "mapreduce",
    "batch",
    "analytics"
  ],
  "versions": [
    "1.6.0",
    "1.0.0-1.6.1-2",
    "1.5.0-multi-roles-v2"
  ],
  "website": "https://docs.mesosphere.com/usage/managing-services/spark/"
}

What did you expect to see?
A single version in the versions field.
What did you see instead?
Multiple versions.  It doesn't make sense to project multiple versions into a single package.json.  They all have different package.jsons.

this was a universe issue. @mgummelt feel free to open if you don't agree.

What was the universe issue?  Is it resolved now?

according to @BenWhitehead you had some issue with universe yesterday.
But re-reading, yes I see your point. We need to clean up the package describe call in general, it's confusing.

Apologies I misread the expectation block as not having all the expected versions (instead of just one).


Find/Replace does not accept empty input

Godot version:
3.1.1 official
OS/device including version:
Windows 10 64 bit
Issue description:
You cannot use Find/Replace to mass-erase text. The "Replace All" button is simply grayed out if no replacement text is provided. Likewise if only space characters are given.

Unable to reproduce the issue on 3.1.1 on Linux. Before:

After:

Uhhh... what I'm seeing looks different.

I simply pressed Ctrl+R to open the Find/Replace bar in the editor.
It seems that you're using the "Find in files" menu, but I don't see a way to replace in there...

@aaronfranke Use the Replace button in the Find in Files dialog :slightly_smiling_face:

I didn't realize Ctrl+R was a thing! 😬 But can confirm the problem doesn't happen there.


Facing issue while creating external table

Hi,
If I use below command, there is an error

Invalid configuration value detected for fs.azure.account.key'

CREATE DATABASE SCOPED CREDENTIAL ADL_User
WITH
IDENTITY =<EMAIL_ADDRESS>SECRET = ''
;
but if I use Storage account name (for identity) and primary key (as secret) its working.
There is a backward slash after "client_id@". Is that required?

@sidtandon2014 -- thank you for your question.  Please provide a link to the docs.microsoft.com article you're reading, or provide more context around your task.


python310Packages.logging-journald: 0.6.4 -> 0.6.5

Diff: https://github.com/mosquito/logging-journald/compare/refs/tags/0.6.4...0.6.5
Description of changes

Things done

Built on platform(s)

[ ] 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/)
23.05 Release Notes (or backporting 22.11 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

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 231928 run on x86_64-linux 1

17 packages built:

home-assistant-component-tests.bmw_connected_drive
python310Packages.aio-pika
python310Packages.aiofile
python310Packages.aiomisc
python310Packages.aiomisc-pytest
python310Packages.aiormq
python310Packages.bimmer-connected
python310Packages.caio
python310Packages.logging-journald
python311Packages.aio-pika
python311Packages.aiofile
python311Packages.aiomisc
python311Packages.aiomisc-pytest
python311Packages.aiormq
python311Packages.bimmer-connected
python311Packages.caio
python311Packages.logging-journald


Parse packets based on channel caps instead of channel number

Fixes #103
Fixes #104

As much as possible, parse packets based on the channel capabilities instead of the channel number.
Fixes a bug where digital in and serial in events were not being interpreted
Fixes a bug where digital and serial data couldn't be above 6
Fixes a bug where events (spikes, digital, and serial) were skipped if they came in packets between the calls to InitTrialData and GetTrialData. Note that user memory allocation occurs between these calls so this is a non-trivial amount of time.
Updates Python wrapper with above changes.
Python wrapper also updated to not reset the clock by default, even if the buffer is reset. I only did this where event data were involved. It might be true for continuous data too but I won't be able to test continuous data for a while.

After this gets merged I'll tag a release and add some binaries. Until then, here's the py3.6 win64 wheel.
cerebus-0.0.3-cp36-cp36m-win_amd64.zip

All modifications made except for the lack of constant for 128. I'd rather not define a constant for a single-use, especially if there's a reasonable plan to get rid of it in the not too distant future.


Make flake8 pipeline run on examples

Checklist

[x] I have run nox and all the pipelines have passed.
[x] I have made unittests according to the code I have added/modified/deleted.

We should do mypy also.

@nekokatt done :+1:


Converted the project into a cabal project

Using the new project structure, one can easily build, package, and install cubicaltt, even in a cabal sandbox (or using stack I guess, although I haven't tried):
$ cabal install alex happy bnfc
$ cabal install

Will Setup.hs rerun bnfc if Exp.cf changes? I made a hack to do this for cubical:
https://github.com/simhu/cubical/blob/master/Setup.hs
It would be nice if it can be done without any hacks...

Maybe bnfc should be added to the list of build-tools in the cabal file?

It runs bnfc every time you run cabal build (or whatever your haskell package build tool of choice is). bnfc, in turn, seems to only overwrite files that actually changed. However, I'm not sure cabal will automatically detect all resulting changes in the Exp.* modules, except for those listed in other-modules. So I'll list everything we need in other-modules to fix that in just a second.
bnfc is listed in build-tools...

Oops, I was looking at the old cubical.cabal file where we had forgotten to put bnfc in the build-tools list and got confused. My bad!

If we can purge the Makefile, we can clean up a few things, like automatically updating the version in Main.hs using Paths_cubicaltt.hs (which is generated by cabal).

I don't want to get rid of the Makefile for now. I think the system is far too experimental to be close to a release anytime soon, so automatically updating version numbers is not high on the priority list. However having a cabal build system is nice so I'll merge this now.

Yes, I agree, and that's why I did not include those changes just yet.


regarding controller after screen sharing

hii,
can you help in the context like,
after sharing the screen from laptop to mobile........from mobile can we have controller to operate the laptop screen???

Hi, in the demo, I connect the Xbox controller to my PC.
The mobile phone only mirrors the screen display.

Can you give some idea to integrate controller through mobile with your
screen mirroring.....
On Fri, Apr 17, 2020, 13:00 Adam Jordan<EMAIL_ADDRESS>wrote:

Hi, in the demo, I connect the Xbox controller to my PC.
The mobile phone only mirrors the screen display.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/adamyordan/laplace/issues/2#issuecomment-615090912,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AII27LCA2JGRKGEQMDD67U3RNAASNANCNFSM4MF66E3Q
.

As far as I know, it's not possible to do that since my screen sharing project relies heavily on the client's Browser API. And there is no Browser API that supports input control (including controller DirectInput).
Another alternative approach that is possible is: by creating a standalone app, and have the client install and execute the app. Installed apps will have system permission to control inputs.

Okay.... Thank you
On Fri, Apr 17, 2020, 13:06 Adam Jordan<EMAIL_ADDRESS>wrote:

As far as I know, it's not possible to do that since my screen sharing
project relies heavily on the client's Browser API. And there is no Browser
API that supports input control (including controller DirectInput).
Another alternative approach that is possible is: by creating a standalone
app, and have the client install and execute the app. Installed apps will
have system permission to control inputs.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/adamyordan/laplace/issues/2#issuecomment-615093499,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AII27LFTNUGVUAEYYYFPNVTRNABJXANCNFSM4MF66E3Q
.


Broken on .NET 5 nightly - Windows

See https://github.com/dotnet/runtime/issues/37877

This appears to have been fixed with 5.0.100-preview.7.20317.1 - See https://github.com/dotnet/installer#installers-and-binaries.


django admin is inaccessible (500 error)

as of 3.0 release; looks like some kind of template error; hopefully will be resolved when we remove mezzanine and grappelli

confirmed resolved by #259