Inference blocks indefinitely on GPU when Eager mode is enabled

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
I made small changes (use of opencv to capture images) to the object_detection_tutorial file.
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows 10
TensorFlow installed from (source or binary): python -m pip install tensorflow
TensorFlow version (use command below): v2.1.0-rc2-17-ge5bf8de410 2.1.0
Python version: 3.7
CUDA/cuDNN version: 10.1 / <IP_ADDRESS>
GPU model and memory: GTX 960M 2GB or RTX2070 Super 8 GB

Describe the current behavior
With GPU and Eager mode enabled, running inference blocks indefinitely after processing a few frames (<15).
If I then disable Eager mode, it runs fine.
When eager is disabled and I use a session to process the data, it also blocks indefinitely on GPU.
Everything works fine when only using the CPU
Describe the expected behavior
Being able to run inference on GPU without indefinite blocks with Eager mode enabled.
Code to reproduce the issue
import os
import pathlib
import cv2
import numpy as np
import tensorflow as tf

#from object_detection.utils import ops as utils_ops

def load_model(model_name):
    base_url = 'http://download.tensorflow.org/models/object_detection/'
    model_file = model_name + '.tar.gz'
    model_dir = tf.keras.utils.get_file(
        fname=model_name,
        origin=base_url + model_file,
        untar=True)
    model_dir = pathlib.Path(model_dir)/"saved_model"
    model = tf.saved_model.load(str(model_dir))
    model = model.signatures['serving_default']
    return model

def run_inference_for_single_image(model, image):
    image = np.asarray(image)
    input_tensor = tf.convert_to_tensor(image)
    input_tensor = input_tensor[tf.newaxis, ...]
    # Run inference
    print("Inference start")
    model(input_tensor)
    print("Inference end")

if "models" in pathlib.Path.cwd().parts:
    while "models" in pathlib.Path.cwd().parts:
        os.chdir('..')

#disable eager mode
#tf.compat.v1.disable_eager_execution()

MODELNAME = 'ssd_mobilenet_v1_coco_2017_11_17'
DETECTION_MODEL = load_model(MODELNAME)

#utils_ops.tf = tf.compat.v1
tf.gfile = tf.io.gfile

#IMGPATH = PATH_TO_IMAGE
IMAGE = np.zeros((640, 480, 3), np.uint8)

while True:
    run_inference_for_single_image(DETECTION_MODEL, IMAGE)

I ran this from the research\object_detection folder
Other info / logs
I am not sure how to support the claim of it being a bug. I tried it on different machines and the code is based on an example. I thought it was because there are no error or warning messages before hanging, it works fine when just using the CPU (with or without Eager mode), it works on GPU without Eager mode and it hangs in a library function.
I never did anything like this before. If i did something wrong or more information is required, please let me know.

@McSlay
I ran the code shared by you and face an error, please share all dependencies and complete stand alone code for us to help you.
Please find the gist for the same.

I updated the code. After updating it worked in the gist you linked. Is the gist using the GPU?
I am not sure why it works there but not on the 3 different machines I have tried. What should I do?

@McSlay
yes we can use GPU to do so, please select change runtime and select gpu then save, and run as normal.

It works with the GPU enabled in the gist.
How can I get it to work on my own machine aswell?

@McSlay
Could you please run the code in a virtual environment and check if you are facing the same issue

Thank you for the suggestion.
I installed tensorflow 2.1.0 (pip install tensorflow==2.1.0) and opencv (pip install opencv-contrib-python) in the virtual environment.
I put the cuDNN dll in the root of the env folder.
I made a python file with the code above, and also put it in the env folder.
It loads the required dll's for the GPU successfully but it still hangs afer a few frames (12 this time).
I am also unable to stop the execution with CTRL+C in the windows terminal.

I am not sure what else to try.
I tried a different python version 3.6.8 and a different cuDNN version <IP_ADDRESS>.
Both are within the accepted range for Tensorflow 2.0 as I understand.
Since Cuda is fixed at 10.1, I dont see any other tools I can try different versions of.
In earlier tests I also tried Tensorflow 1.15. This also blocks, but then when running the session.
I also tried the python virtual environment on a different windows machine, one with an RTX 2070 super. Here I only installed tensorflow 2.1.0. And this also blocks after a few frames.
The code itself works, and I am bound to windows. So there is no point in trying Linux.

i am able to replicate this, please find the gist here with disable eager mode and without

@McSlay I ran your code in Eager model with GPU. It was inferencing without any blocks. I added a counter to see how many inferences (with TF2.2 see below ), later I stopped execution. I tried both TF2.1 and TF2.2 and didn't face the issue. gist is same as @Saduf2019 shared above. Did you try similar images (640,480,3) or bigger images? Not sure what is the root-cause.

Inference start
Inference end
61256
Inference start
Inference end
61257
Inference start
Inference end
61258
Inference start
Inference end
61259
Inference start
---------------------------------------------------------------------------
KeyboardInterrupt                         Traceback (most recent call last)
<ipython-input-3-a5d4c7888742> in <module>()

@jvishnuvardhan I also tried larger images (1280 x 720 and 1920 x 1080). These resolutions might be too big (I dont know much about TensorFlow and AI in general). So for the test I tried a small resolution.
I have googled this problem allot, and it seems that I am the only one having this problem. I have tried this on 4 different windows machines, so I am probably installing it wrong.
What I do is:

Install python 3.7
Install tensorflow "pip install tensorflow==2.1"
install cuda toolkit version 10.1 update 2
download cuDNN version <IP_ADDRESS>, extract it and add it to the path variable
run the test code

I also tried

lower the tensorflow versions  (1.15 [changed the code to get it to work on CPU], 2.0)
CUDA toolkit update 1
older cuDNN version: <IP_ADDRESS>

I am not sure if I tried a different model source.
I also tried asking this question on the git page of the object detection. Today I got a reply that stated that the model I am using was not suitable for Tensorflow 2 (https://github.com/tensorflow/models/issues/8449). But the first line in the tutorial file that is included in the object_detection API is '!pip install -U --pre tensorflow=="2.*"' when I run it in jupyter notebook.
The code also did not work when I installed TensorFlow 1.15. And it also still hangs on GPU when I convert the code to work with session.run.

it hangs in a library function

Which library function?  A Python stack trace from a hung process will be very useful.
Also, can you attach the logs from a run that hung?
Finally, does this reproduce on TF 2.2?

@sanjoy it hangs in the function "model(input_tensor)".
I made a stack dump for the code that is supplied with the question
File: "test.py", line 77, in <module>  run_inference_for_single_image(DETECTION_MODEL, IMAGE)
File: "test.py", line 32, in run_inference_for_single_image  model(input_tensor)
File: \lib\site-packages\tensorflow\python\eager\function.py", line 1605, in __call__  return self._call_impl(args, kwargs)
File: \lib\site-packages\tensorflow\python\eager\function.py", line 1645, in _call_impl  return self._call_flat(args, self.captured_inputs, cancellation_manager)
File: \lib\site-packages\tensorflow\python\eager\function.py", line 1746, in _call_flat  ctx, args, cancellation_manager=cancellation_manager))
File: \lib\site-packages\tensorflow\python\eager\function.py", line 598, in call  ctx=ctx)
File: \lib\site-packages\tensorflow\python\eager\execute.py", line 60, in quick_execute  inputs, attrs, num_outputs)

This is the output of when it hangs. It shows the "inference start" print (is printed just before calling the model function), and then it stops. After the model function it should print "inference end"
2020-04-24 11:30:16.579805: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_101.dll
2020-04-24 11:30:18.916146: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library nvcuda.dll
2020-04-24 11:30:18.941805: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1555] Found device 0 with properties:
pciBusID: 0000:01:00.0 name: GeForce RTX 2070 SUPER computeCapability: 7.5
coreClock: 1.785GHz coreCount: 40 deviceMemorySize: 8.00GiB deviceMemoryBandwidth: 417.29GiB/s
2020-04-24 11:30:18.946134: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_101.dll
2020-04-24 11:30:18.951172: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cublas64_10.dll
2020-04-24 11:30:18.954809: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cufft64_10.dll
2020-04-24 11:30:18.957258: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library curand64_10.dll
2020-04-24 11:30:18.961662: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusolver64_10.dll
2020-04-24 11:30:18.965553: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusparse64_10.dll
2020-04-24 11:30:18.978671: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudnn64_7.dll
2020-04-24 11:30:18.980998: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1697] Adding visible gpu devices: 0
2020-04-24 11:30:18.982226: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
2020-04-24 11:30:18.984167: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1555] Found device 0 with properties:
pciBusID: 0000:01:00.0 name: GeForce RTX 2070 SUPER computeCapability: 7.5
coreClock: 1.785GHz coreCount: 40 deviceMemorySize: 8.00GiB deviceMemoryBandwidth: 417.29GiB/s
2020-04-24 11:30:18.987291: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_101.dll
2020-04-24 11:30:18.988809: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cublas64_10.dll
2020-04-24 11:30:18.990303: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cufft64_10.dll
2020-04-24 11:30:18.991792: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library curand64_10.dll
2020-04-24 11:30:18.993320: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusolver64_10.dll
2020-04-24 11:30:18.996960: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusparse64_10.dll
2020-04-24 11:30:18.998497: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudnn64_7.dll
2020-04-24 11:30:19.000191: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1697] Adding visible gpu devices: 0
2020-04-24 11:30:19.430864: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1096] Device interconnect StreamExecutor with strength 1 edge matrix:
2020-04-24 11:30:19.433076: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1102]      0
2020-04-24 11:30:19.434566: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] 0:   N
2020-04-24 11:30:19.436400: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1241] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 6281 MB memory) -> physical GPU (device: 0, name: GeForce RTX 2070 SUPER, pci bus id: 0000:01:00.0, compute capability: 7.5)
[<tf.Tensor 'image_tensor:0' shape=(None, None, None, 3) dtype=uint8>]
inference start
2020-04-24 11:30:24.728554: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudnn64_7.dll
2020-04-24 11:30:25.608426: W tensorflow/stream_executor/gpu/redzone_allocator.cc:312] Internal: Invoking GPU asm compilation is supported on Cuda non-Windows platforms only
Relying on driver to perform ptx compilation. This message will be only logged once.
2020-04-24 11:30:25.625904: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cublas64_10.dll

It also hangs in TF 2.2. This was used to create the stackdump in a virtual environment

Hi @McSlay
I believe this is the key line:
Relying on driver to perform ptx compilation. This message will be only logged once.

It means that TF is using the CUDA driver to JIT compiler PTX to SASS.  This takes a long time.
There is no easy way to out of this unfortunately.  TF ships with recompiled SASS for a specific set of compute capabilities, and if your GPU is not compatible with any of those we have to JIT compile.  The not-easy way out is to build TF from source and ask it to compile SASS for the compute capability for your GPU.

Hi @sanjoy
That's a shame, I will have to look into other solutions then.
Thank you for your help.


⚠ Jenkins Plugins Artifactory has degraded performance

In bcbc52d, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1258 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 6bee504 after 14 minutes.


ansible 2 sets pwd to the location of the playbook

use appropriate path name for ansible 1 vs 2

:+1:


board testing: not downloading

We built a NEO circuit board and tested no short in the step one in the page 16 in guide.pdf. I followed the instruction. but in step 4, I connect a 12 V adapter without plugging into a car. I also measured the 3.3V and 5.0 V test pins and all normal. When I hold on SW1, the voltage of BOOT0 change from 0 volt to 2 volts. However, I hold there for a long time, the red LED never flash. On the phone GUI, it say not board found. I did hold SW1 before I apply the power.
On the phone side, I ran it with and without the continue.sh. they is all the same. Could you tell me how long I shall hold on the sw1? I assume couple seconds shall be enough. What is other indicator I can use to check if the board is working?

Try testing the board without the 12V supply and just power over USB from a computer

hold down the button
with a USB extension cable, plug the board into the computer (while still holding down the button)
run 'lsusb' and you should see
Bus 001 Device 012: ID 0483:df11 STMicroelectronics STM Device in DFU Mode

This indicates that the microcontroller is live

Red LED flashing now. One of my college changed the manager.py, which caused the problem.
Do I need to enable the start_all env parameter?
Thanks,

No, the services should start when it detects that you start your car.

Can I sell about 1000pcs for eBay for people who are having trouble with neo board production?
If there are no legal problems, we will make neo boards and sell them at a reasonable price.

You certainly won't have legal problems from comma.ai, as the board is MIT licensed.

Wow. Reading about this form Europe. Before starting, are the instructions meant only for  Qualcomm / Snapdragon 820 chips or also for other vendors? E.g. Huawei / Kirin .
Which are constraints if to adapt? (not an electric engineer here).
@tsboost if it may be a business of yours, you might want to allow boards to communicate with other chipsets.

Board works with PC and other phones as well. 100% open source.
Adapting off 820 is pretty hard. You can get a OnePlus 3 in Europe.

@geohot Thank you for answer. Do you have a Neo Board update or upgrade plan?
@gg4u  Thanks. advice..


Unsure where to begin

Hi, I'm creating my first bot as a project and am a bit overwhelmed by the source code. I'm unsure where I should start with the bot. I was guessing that the examples are roughly what my bot would turn out to be, and my bot would just call the Hearthrock parts, but I'm still a bit confused on how to have the bot itself use Hearthrocks functions. I'm not looking for a full guide, don't worry, just a bit of direction is all so I have an idea where I should be looking.

To write your own bot, you can start form this example:
https://github.com/yangyuan/hearthrock/blob/master/examples/python/bots/bot.py
Just modify do_mulligan and do_play functions. If you know python it's easy to understand that currently the sample do_play just return random actions. Your bot should smartly choose the best one via the information in the scene.
The bots are working as Web services.


evolution of openstack blog post

Bios:
Walter Bentley – Rackspace Private Cloud Solutions Architect – Walter is a new Racker with a diverse background in Production Systems Administration and Solutions Architecture. He brings over 15 years of experience across numerous industries such as Online Marketing, Financial, Insurance, Aviation, Food Industry and Education. In the past, always being the requester, consumer and advisor to companies to use technologies such as OpenStack, now promoter of OpenStack technology and Cloud educator.
Twitter: @djstayflypro
LinkedIn: http://goo.gl/r2p21i
Github: wbentley15
Accept to allow redaction, editing or structure changes by technical writer staff desired date of publishing
Publish date: 03-02-2015

Happy weekend!  @catlook this article is ready for your "eyes" when you have time :+1:

on it!
-- Cat Lookabaugh, Information Developer
Rackspace Hosting - the #1 Managed Cloud Company
Developer Relations Group
Office:<PHONE_NUMBER>   Cell:<PHONE_NUMBER>
<EMAIL_ADDRESS>We should not write so that it is possible for the reader to understand us, but so that it is impossible for him to misunderstand us. - Quintilian, rhetorician (c. 35-100)
Harmony + Learner + Responsibility + Context + Intellection + Arranger + Consistency + Relator + Input + Analytical
From: Walter Bentley <notifications<EMAIL_ADDRESS>Reply-To: "rackerlabs/developer.rackspace.com" <reply<EMAIL_ADDRESS>Date: Sunday, March 1, 2015 11:21 AM
To: "rackerlabs/developer.rackspace.com" <developer.rackspace.com<EMAIL_ADDRESS>Cc: Cat Lookabaugh <cat.lookabaugh<EMAIL_ADDRESS>Subject: Re: [developer.rackspace.com] evolution of openstack blog post (#1080)
Happy weekend! @catlookhttps://github.com/catlook this article is ready for your "eyes" when you have time [:+1:]

Reply to this email directly or view it on GitHubhttps://github.com/rackerlabs/developer.rackspace.com/pull/1080#issuecomment-76615976.

@catlook thanks as always...edits completed. @rgbkrk this is ready to go!

Going to let @catlook merge (we're on vidyo)! :smile:

@wbentley15 this is done, and I see your article on the site.  Thanks for the contribution!

No, thank you for letting me take part.
Walter

On Mar 2, 2015, at 11:01 AM, Cat Lookabaugh<EMAIL_ADDRESS>wrote:
@wbentley15 this is done, and I see your article on the site. Thanks for the contribution!
—
Reply to this email directly or view it on GitHub.

hi walter,
good post for enterprise users. Btw, did the full slide available somewhere to download ? or can i request it from you?

Hello,
Here is a link directly to the whole deck.
https://speakerdeck.com/wbentley15/the-evolution-of-openstack-from-infancy-to-enterprise
Thanks
Walter
Thanks,
Walter Bentley
Cloud Solutions Architect - RPC
Rackspace - the #1 Managed Cloud Company
Mobile:<PHONE_NUMBER>
On Mar 4, 2015, at 5:54 AM, fenris <notifications<EMAIL_ADDRESS>wrote:
hi walter,
good post for enterprise users. Btw, did the full slide available somewhere to download ? or can i request it from you?
—
Reply to this email directly or view it on GitHubhttps://github.com/rackerlabs/developer.rackspace.com/pull/1080#issuecomment-77137416.

This guy...  thumbsup


Question about Router and Link

Hi,
I looked at "docs" for router and the crate documentation but didn't find an answer to below, so hopefully I didn't overlook something.
In "docs" folder, one example uses "Link" inside the router. I was able to make it work before reading the documentation but issue is that how to use "Link" outside the "Router" component?
For example, if all "Links" were to be displayed at top or in a menu then this approach is fine but in a regular SPA application we will need links (or navigation option) at many different places i.e. we will have a button on page or tab bar link athat will let us move from one component to another component. I cannot place them all as a "Link" component in "Router".
I tried to wrap "Link" with an empty "Router" component, so one Router component to define all the routes and another router component to stop application from panicking. That helped to stop runtime panic but "Link" in empty "Router" doesn't do anything. It will change the URL to that route but it will not load the "component" that we are supposed to load at a specific URL.
Using "Link" without "Router" gives below error:
panicked at 'Cannot call use_route outside the scope of a Router component
I am sure I am not the only one trying to build this so how did you guys handle it? I tried using "a" tag but it will refresh whole page. Tried using "prevent default" but not sure what to use in "click" event then. "use_router" panics at runtime as well and requires "Router" component.
If I missed some documentation or there is any solution to it then please share.
Thanks,

Hi!
You can render things inside Router, but outside any Routes. Then, they will be rendered unconditionally:
fn App(cx: Scope) -> Element {
    cx.render(rsx!(
        Router {
            header {
                Link { to: "/", div { "Go home" } },
                Link { to: "/blog", div { "Go blog" } },
                Link { to: "/contact", div { "Go contact" } },
            }

            Route { to: "/", div { "Homepage" } },
            Route { to: "/blog", div { "Blog here" } },
            Route { to: "/contact", div { "Contacts" } },
        }
    ))
}

@rMazeiks
Appreciate your quick feedback but my apologize if I didn't explain the issue well.
I should have included my working code in original post, sorry about that, but here it is and it is same as your code:
cx.render(rsx! {
        header {
            Router {
                Link{to: "/",
                    class: "text-3xl font-bold pl-4 py-2",
                 "My new Home"}

                Route { to: "/", home::home {}}
                Route { to: "/create-account", create_account::create_account{}}
            }
        }
    })

as you can see it is almost same as your code.
Issue:
This works fine if all my route definition and navigation is one place, e.g. a top level navbar or menu. But this won't work in below scenario:
Let's take your route example so I have a "Blog here" component or page loaded. That component has bunch of text (or other HTML elements, doesn't matter) and then there is a "link" or "button" that is supposed to take me to "Contacts" page. And then I may have another set of HTML tags or text.
How should I create this "Link" for a route in this situation? (i.e. at random place on page, to navigate to any route that I might have defined at start).
Oh and I am on version "0.2.4".

Hmm could you provide the code sample that doesn't work please?
Also please check if it works with the latest git version of Dioxus. There have been some bug fixes I think. Note that dioxus-desktop is a separate package there.

Sure, here is what is not working.

I created a "routes.rs" file, with below contents:

pub fn create_routes(cx: Scope) -> Element {
    cx.render(rsx! {
        Router {
            Route { to: "/", home::home {}}
            Route { to: "/create-account", create_account::create_account{}}
        }
    })
}

Idea here is that I have this rust file that will just define routes and nothing else.

I created a "navbar.rs", which will provide top navigation (menus etc.):

pub fn Navbar(cx: Scope) -> Element {
    cx.render(rsx! {
        header {
            h1 {
                class: "text-3xl font-bold pl-4 py-2 border-b-2 dark:border-slate-500",
                "To Do App!"
            }

            Lib_links{}
        }
    })
}

idea here is that it will draw the top navbar and any menu or links, in this case I am using "Lib_links" to create some links within navbar.

"Lib_links" is simple but it could be different options for top level navigation e.g. blogs, posts, admin etc.

pub fn Lib_links(cx: Scope) -> Element {
    cx.render(rsx! {
         Link{to: "/", "My new Home"}
    })
}

Then I add them to main app:

pub fn app(cx: Scope) -> Element {
    cx.render(rsx! {
        Navbar{}

        routes::create_routes{}
    })
}

and that is where the problem is. Since "Link" from "Lib_links" is inside "Navbar", which is not inside "Routes" so it website breaks with below error:
panicked at 'Cannot call use_route outside the scope of a Router component
so to make it work now I have to put "routes" inside "NavBar":
pub fn Navbar(cx: Scope) -> Element {
    cx.render(rsx! {
        header {
            Router {
                Link{to: "/",
                    class: "text-3xl font-bold pl-4 py-2",
                 "My new Home"}
                 div{
                    class: "border-b-2 dark:border-slate-500 pt-2"
                 }

                Route { to: "/", home::home {}}
                Route { to: "/create-account", create_account::create_account{}}
            }
        }
    })
}

this works now and at best I can keep "Router" inside NavBar while pulling in "Link" and "Route" from separate component.
One good thing from my test is that if I have a "Link" inside "create_account" component to go back to "home" then somehow it works fine (i.e. without "Router"). I am assuming it is working fine since "Route" is sending to "Create account" and "Link" is allowed in there.

How about doing the app like
pub fn app(cx: Scope) -> Element {
    cx.render(rsx! {
        Router { // moved Router here to wrap everything
            Navbar{}

            routes::create_routes{}
        }
    })
}

and then in routes like
pub fn create_routes(cx: Scope) -> Element {
    cx.render(rsx! {
        Route { to: "/", home::home {}}
        Route { to: "/create-account", create_account::create_account{}}
    })
}

I think that should make it work. You don't need to have Router as an immediate parent of routes, so you can wrap everything that will ever need to use it (or not) inside

@ghostnumber7  - thanks, that will do it and keep it cleaner. I was thinking to use same thing inside NavBar but your suggestion is cleaner and liked it better for code organization.
Appreciate help from both of you.


Assertion _targetImage!=null

Situation: After cropping, onCropped and onStatusChanged with status= ready were called. At this time the crop widget still shows the progress indicator for a while loading the cropped image
Following Exception when I start a new crop before the progress indicator has gone:
E/flutter (17760): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: 'package:crop_your_image/src/crop.dart': Failed assertion: line 412 pos 12: '_targetImage != null': is not true.
E/flutter (17760): #0      _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:51:61)
E/flutter (17760): #1      _AssertionError._throwNew (dart:core-patch/errors_patch.dart:40:5)
E/flutter (17760): #2      _CropEditorState._crop (package:crop_your_image/src/crop.dart:412:12)
E/flutter (17760): #3      CropController.crop (package:crop_your_image/src/controller.dart:11:34)
E/flutter (17760): #4      _BildausschnittRouteState._cropImage (package:xyz/route/BildausschnittRoute.dart:242:16)
E/flutter (17760): #5      _InkResponseState.handleTap (package:flutter/src/material/ink_well.dart:1072:21)
E/flutter (17760): #6      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:253:24)
E/flutter (17760): #7      TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:627:11)
E/flutter (17760): #8      BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:306:5)
E/flutter (17760): #9      BaseTapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:239:7)
E/flutter (17760): #10     PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:615:9)
E/flutter (17760): #11     PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:98:12)
E/flutter (17760): #12     PointerRouter._dispatchEventToRoutes. (package:flutter/src/gestures/pointer_router.dart:143:9)
E/flutter (17760): #13     _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:617:13)
E/flutter (17760): #14     PointerRouter._dispatchEventToRoutes (package:flutter/src/gestures/pointer_router.dart:141:18)
E/flutter (17760): #15     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:127:7)
E/flutter (17760): #16     GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:460:19)
E/flutter (17760): #17     GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:440:22)
E/flutter (17760): #18     RendererBinding.dispatchEvent (package:flutter/src/rendering/binding.dart:337:11)
E/flutter (17760): #19     GestureBinding._handlePointerEventImmediately (package:flutter/src/gestures/binding.dart:395:7)
E/flutter (17760): #20     GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:357:5)
E/flutter (17760): #21     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:314:7)
E/flutter (17760): #22     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:295:7)
E/flutter (17760): #23     _invoke1 (dart:ui/hooks.dart:167:13)
E/flutter (17760): #24     PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:341:7)
E/flutter (17760): #25     _dispatchPointerDataPacket (dart:ui/hooks.dart:94:31)
E/flutter (17760):
Is there a way to be informed when _target image is set, so I can block possibility for start new crop till this point?

@ChristophKe Thank you for the issue. I'll check.


Verify cosign (code) signature

Describe the feature
Currently, we are injecting Cosign into Connaisseur as by #107. In the spirit of supply chain security, we may want to verify the signature of the source code.
Optional: Implementation ideas
We currently clone the cosign repo here: https://github.com/sse-secure-systems/connaisseur/blob/feat/cosign/docker/Dockerfile#L15
Within each release, there is hash and signature included and we may be able to go by that: https://github.com/sigstore/cosign/releases/tag/v0.2.0

For improved build speed of connaisseur image and signature verification of cosign, it is advantageous to inject the prebuilt binaries of cosign releases. These are signed and could be verified. However, currently not binary for alpine images is exists so far which blocks this ticket.


Gibberish tax rate data

Garbage retainer tax rate data can be accepted by the server. Such data has apparently only come from Teamcraft. This is likely because of people using outdated versions of Teamcraft that have an opcode collision with the current game version, allowing garbage data to be parsed as a MarketTaxRate packet and sent to the server. The server has some validation that mitigates this in large part, but it doesn't catch tax rates between 0 and 5 percent, since those appear to be reasonable values.
This can probably be fixed by adding a version field to the tax rate packet and rejecting uploads that don't have it, or read outdated game version numbers.
This likely affects all upload data, so it's worth considering adding this field as a requirement on all uploads. As far as processes go, I think the field should be added to the upload applications first, before enforcing the change on the server.

Bumping this, given the api-server-restructuring branch exists.


Aiogram DI

Hi! Can you tell me more about how the library works? @sigranture48 my telegram

Hi! I can't find your telegram account by your username. Try writing to me @VladPiton999


Icon Request: toilet

I think Lucide needs an icon for toilet

Example of use case: showing that a rental room or cottage has access to its own restroom
Icon category: home and/or travel

Please resubmit via the icon request form.


Support for pagination and operators (lt, lte, gt, gte, limit, order)

start_after, end_before: limit the boundaries of the retrieved records
limit: limit the number of returned records (up to a 100)
lt: less than
lte: less than or equal
gt: greater than
gte: greater than or equal
order: ordering of result, e.g. "-id" returns a descending order for column "id"

API supports pagination and operators ; tests added in ubivar-node client 0.1.3-beta8.


Are Australian subscriptions allowed to add a number?

[Enter feedback here]

Document details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 8a5844e2-7e7e-a74f-86fb-67e49ccd873c
Version Independent ID: 0a1ee3c1-f6c3-5ab0-b99c-0430596695da
Content: Subscription Eligibility and Number Capabilities in Azure Communication Services - An Azure Communication Services concept document
Content Source: articles/communication-services/concepts/numbers/sub-eligibility-number-capability.md
Service: azure-communication-services
GitHub Login: @sadas
Microsoft Alias: sadas

@dkarvel
Thanks for your feedback! We will investigate and update as appropriate.

@dkarvel,
Apologies for the delay. I’ve been discussing on this internally.
Australian numbers are not supported yet.  We do not have a concrete ETA to share at this time. Once it’s supported, we will also update the Azure docs appropriately.


Added --pls-dvbapi to input plugin dvb

This should fix the broken unix CI builds in tsduck/tsduck#1504

No longer necessary, as we can do without a new parameter here.


2.0.5 update safemode

2.0.2 works just fine, when i update to 2.0.5 it instantly sends me in the safemode. when i downgrade back to 2.0.2 apollo needs to be reinstalled because otherwise i keep staying in safemode. I attached the crashlog i got after the update.
Text.txt

there is no difference in this between 2.0.2 and 2.0.5.


Update fastg-parser to v0.6.2

Coverage decreased (-0.1%) to 68.688% when pulling 195cab4c00caaf9443918870d28c4eb36f5eba49 on hotfix/bump-fastg-parser-to-v0.6.2 into e343d20aaa6bc8471f6bf86e2e9336e59f3e8ab0 on master.

Coverage decreased (-0.1%) to 68.688% when pulling 195cab4c00caaf9443918870d28c4eb36f5eba49 on hotfix/bump-fastg-parser-to-v0.6.2 into e343d20aaa6bc8471f6bf86e2e9336e59f3e8ab0 on master.


Modify docker build commands for the sample apps to use --pull tag

Update the docker build commands in the sample apps Dockerfile to use the --pull tag to always pull newer version of images to get the latest security updates of base images. Without this
option, it uses the locally downloaded image with the same tag if one exists.
Fixes Bug: #13714
Partially Fixes: #13262

The same 4 vulnerabilities are also showing in the previous version (v 1.13.0) of bookinfo-reviews app.

/assign @linsun

@johnma14: GitHub didn't allow me to assign the following users: linsun.
Note that only istio members and repo collaborators can be assigned.
For more information please see the contributor guide

In response to this:

/assign @linsun

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/assign @linsun

@johnma14: GitHub didn't allow me to assign the following users: linsun.
Note that only istio members and repo collaborators can be assigned.
For more information please see the contributor guide

In response to this:

/assign @linsun

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/retest

@johnma14: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
daac344b0dd739e77b8daaee896ce3840146a4a0
link
/test istio-integ-k8s-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@johnma14 is --pull required if we aren't using latest of mysql?

@linsun If we use the regular docker build command (i.e without the --pull option), it checks if the base image(whichever version or tag is specified in the Dockerfile) is locally available. If available, it uses the locally available image. So, if there are security updates applied to that version of the base image in Docker, it will not be used in the images we build as long as the there is a locally available base image, which is why by using the --pull option, we ensure that every time we want to build our image, we pull the latest image from Docker instead of just using the locally available one.
An example is, the booking-reviews app uses websphere-liberty:latest base image. This image does not have any security vulnerabilities according to the image scanner tool but the booking-reviews app that uses this image shows 4 security vulnerabilities. I created the booking-reviews image on my local env using the websphere-liberty:latest image and tested it and it did not show any security vulnerabilities since it was pulling the newer base image to build this sample app image.

Please rebase

@johnma14: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: johnma14
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: vadimeisenbergibm
If they are not already assigned, you can assign the PR to them by writing /assign @vadimeisenbergibm in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

samples/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@johnma14: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
daac344b0dd739e77b8daaee896ce3840146a4a0
link
/test istio-integ-k8s-tests

prow/istio-unit-tests.sh
57cd509a7e89dceceb774fe127bf55ab8a826c2d
link
/test istio-unit-tests-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test istio-unit-tests-master

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: johnma14, venilnoronha
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

samples/OWNERS [venilnoronha]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Issue #1984 SOlved :- Added AI Pet Name Generator

🔴 Title:
AI Pet Name Generator

🔴 Tech Stack:
HTML: Structure the web application
CSS: Style the application for a user-friendly interface
JavaScript: Implement the logic for generating pet names based on user inputs
🔴 Objective:
To create an interactive web application that suggests creative and personalized names for pets based on user-defined habits, genres, and specific starting or ending letters, enhancing the pet naming experience.
🔴 Summary:
The AI Pet Name Generator is a web application designed to help pet owners find the perfect name for their furry friends. Users can input the pet's habits or genre (e.g., playful, adventurous) and specify starting and ending letters to filter name suggestions.

fix #1984

@iamrahulmahato  Yeah, it's fixed


OpenVINO demo detects nothing

openvino version:2021.3.394
The converted onnx model can work,but the converted openvino model detects nothing.

@deep-practice Hi. Which demo did you use, c++ or python?

c++ @Joker316701882

I git pull the latested code,still no outputs.Not solved yet? @Joker316701882

I git pull the latested code,still no outputs.Not solved yet? @Joker316701882

I meet the same problem. Did you figure it out?

请问这个问题有人解决了吗，我也遇到了同样的问题，


Support message handler locator

If you have a handler that depends on transient disposable objects, like db connections or sessions etc, you need to get hold of the IoC container in your handler and manually resolve and release those dependencies.
This behaviour should be pushed into JustSaying as it is generic enough.
So we need to support something like:
..WithMessageHandler<OrderAccepted>(new HandlerResolver())

This is done, issue closed?

yes, thanks @dariusdamalakas

@dariusdamalakas we are testing this feature in production. Once we have good results I'll close the issue.

@payman81 - I thought you were on holiday ;)
Opening as per @payman81 's comment, although tomorrow morning we'll know for sure.

Confirmed the feature is stable.


Can't save exposure EXIF as .tif, only .jpg

To reproduce:

Save a snapshot as .jpg. No issue
Save a snapshot as a .tif. Crashes with below error

_TIFFVSetField: data/snapshot/2024-03-14_01-05-16_test.tif: Bad LONG8 or IFD8 value<PHONE_NUMBER>3709551615 for "EXIFIFDOffset" tag 34665 in ClassicTIFF. Tag won't be written to file.

WARNING: <class 'uscope.app.argus.threads.QImageProcessingThread'> thread crashed
Traceback (most recent call last):
  File "/home/mcmaster/doc/ext/pyuscope-rhodium/uscope/threads.py", line 101, in run
    ret = f(*args)
  File "/home/mcmaster/doc/ext/pyuscope-rhodium/uscope/imagep/thread.py", line 118, in _do_process_image
    capim.save(options["save_filename"], **kwargs)
  File "/home/mcmaster/doc/ext/pyuscope-rhodium/uscope/imager/image_sequence.py", line 19, in save
    self.image.save(fn, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/PIL/Image.py", line 2432, in save
    save_handler(self, fp, filename)
  File "/usr/local/lib/python3.8/dist-packages/PIL/TiffImagePlugin.py", line 1847, in _save
    e = Image._getencoder(im.mode, "libtiff", a, encoderconfig)
  File "/usr/local/lib/python3.8/dist-packages/PIL/Image.py", line 437, in _getencoder
    return encoder(mode, *args + extra)
RuntimeError: Error setting from dictionary

I've put in a temporary fix to save intermediate images as .jpg
It looks like there may be issues combining focus stacking and HDR. Or at least error printing needs to be better
I'm also going to change it so that dev mode doesn't delete the intermediate image files

WARNING: <class 'uscope.app.argus.threads.QTaskThread'> thread crashed: ('GUI thread unsafe access detected',<PHONE_NUMBER>60704,<PHONE_NUMBER>72160)

WARNING: <class 'uscope.app.argus.threads.QTaskThread'> thread crashed
Traceback (most recent call last):
  File "/home/mcmaster/doc/ext/pyuscope-rhodium/uscope/threads.py", line 101, in run
    ret = f(*args)
  File "/home/mcmaster/doc/ext/pyuscope-rhodium/uscope/app/argus/threads.py", line 494, in _offload
    function(self.ac)
  File "/home/mcmaster/doc/ext/pyuscope-rhodium/uscope/gui/imaging.py", line 1710, in offload
    capim = self.ac.microscope.imager_ts().get_by_mode(
  File "/home/mcmaster/doc/ext/pyuscope-rhodium/uscope/gui/imager.py", line 349, in get_by_mode
    return self.imager.get_by_mode(*args, **kwargs)
  File "/home/mcmaster/doc/ext/pyuscope-rhodium/uscope/gui/imager.py", line 182, in get_by_mode
    return self.get_composite(**kwargs)
  File "/home/mcmaster/doc/ext/pyuscope-rhodium/uscope/gui/imager.py", line 174, in get_composite
    return self.composite_grabber.get_composite(**kwargs)
  File "/home/mcmaster/doc/ext/pyuscope-rhodium/uscope/gui/imager.py", line 284, in get_composite
    self.ac.log(f"Composite snapshot: requested w/ {modes}")
  File "/home/mcmaster/doc/ext/pyuscope-rhodium/uscope/gui/common.py", line 451, in log
    log(s, newline=newline)
  File "/home/mcmaster/doc/ext/pyuscope-rhodium/uscope/gui/imaging.py", line 1908, in log
    self.ac.check_thread_safety()
  File "/home/mcmaster/doc/ext/pyuscope-rhodium/uscope/gui/common.py", line 414, in check_thread_safety
    assert self.main_thread == threading.get_ident(), (
AssertionError: ('GUI thread unsafe access detected',<PHONE_NUMBER>60704,<PHONE_NUMBER>72160)

Regression: thread safer imager should use core imager timestamp for kinematics settle check. Otherwise it won't wait the correct amount of time between setting HDR and snapping picture


All Contract Deploys fails with INSUFFICIENT_TX_FEE

Description
Recently I haven't been able to deploy contracts to testnet(including contracts that I've previously deployed fine). The transaction fails with INSUFFICIENT_TX_FEE.
Take the following tx as an example:
https://hashscan.io/testnet/tx/0xbadb03cb0865d0b86b482d3c5c34cf504653e729a5574fb500ecf417d3c07562
Steps to reproduce

Checkout to this fork
Run the test:smc:testnet script in ./tools/hardhat-example. The script should fail and you should be able to extract the transaction hash from the error logs. Observe that the tx failed due to INSUFFICIENT_TX_FEE

Additional context
No response
Hedera network
testnet
Version
relay/0.25.0
Operating system
None

Using a gas price that is 2x the result from eth_gasPrice seems to fix it.

try this:
  const erc20DAOFactory = await ERC20DAOFactory.deploy({
    gasLimit: 5000000
  });

And you mentioned it seems to work now when setting gas price to 2x of eth_gasPrice?

My usual errors when deploying contracts in hedera-hardhat is HEADER_TIMEOUT from RPC testnet :/

@IvanKavaldzhiev please see this. We might be seeing regressions from Mirror Node gas values returned from HIP 584 work.
@mshakeg and @kabaluyot are you still experiencing this.
Also did you say it was intermittent or did you mean it formerly worked and recently started displaying this consistent issue of gasEstimate being too low?

@Nana-EC it's intermittent now however around the time this issue(and up to at least 1 day after) was created it was definitely guaranteed from my experience. I was deploying using hardhat ethers and I suspect the issue was the relay returning an invalid(lower than actual) gas price, hence why specifying a gasPrice override equal to the returned gasPrice did not work but 2x(the returned gasPrice) did.

Hey @Nana-EC, this PR has fixed having proper contract create gas estimation. It's in 0.82 release, so from then on, we shouldn't have problems with estimating contract creates. I think on testnet we have 0.82, so I believe the issue won't be on Mirror Archive Node side but could be related to the json-rpc instance there or the environment itself.
cc @georgi-l95

@mshakeg can you confirm you're no longer seeing this. mirror node 0.82 has been out for some time and 0.84 is going out and in previewnet already, with 0.83 in testnet.

@Nana-EC thanks for the update. As of now, the INSUFFICIENT_TX_FEE issue does not seem to be occurring on the testnet.
However, I'd like to bring up the deployment times. It's taking about 240 seconds to deploy 10 medium-sized contracts (~10KB each), which is approximately 24 seconds per contract. For example, see contract/0.0.15063291. From my experience, these times are likely to be longer on the mainnet, and for larger contracts (~25KB), it takes close to a minute on the testnet and nearly 2 minutes on the mainnet.
The underlying reason seems to be that the contract bytecode is uploaded to the Hedera File System (HFS) in 2KB chunks sequentially, taking around 5 seconds per chunk.
Could the chunk size be increased to reduce deployment times, for instance, to 10KB? This could reduce the number of uploads needed and likely speed up the contract deployment process.
I'd appreciate your thoughts on this.

Thanks @mshakeg
Will resolve this ticket and open a separate one for chunking optimization.
To clarify were you referring to sdkClient.createFile()?
You might be mixing it up with the ContractCreateFlow where the chunkSize is indeed 2KB in the sdk, the relay defaults to 4kb.
We can definitely look into it and see how much higher we can set it but not we can't go above the HAPI transaction 6kb limitation, so 10kb won't be possible.

https://github.com/hashgraph/hedera-json-rpc-relay/issues/1522 created based on above.
@mshakeg feel free to respond to that ticket regarding the FilleAppend details .
Closing this ticket


bosh delete deployment failing and got stuck while deleteing dea-spare.

I am using bosh-init bosh-257.9 ,bosh-openstack-cpi-27,stemcell 3262.2. and cf233.I am able to deploy cloudfoundry.
when i try to delete it it gets stuck at dea-spare.Here i have 3 dea-spare vm outwhich one got deleted, but remaining two still there.
however all other VMs got deleted.I am getting this problem repeatedly.
I use following command to delete deployment.
bosh -n delete deployment cf-mydeployment --force
Please help me fix this issue.how can i debug issue.

job output

- instances: <%= $dea_instances %>
  name: dea-spare
  networks:
  - name: dea-spare-net
  properties:
    consul:
      agent:
        services:
          dea:
            check:
              interval: 5m
              name: dns_health_check
              script: /var/vcap/jobs/dea_next/bin/dns_health_check
              status: passing
    dea_next:
      zone: 'zone'
    metron_agent:
      zone: 'zone'
  resource_pool: dea-spare-xlarge
  templates:
  - name: consul_agent
    release: cf
  - name: dea_next
    release: cf
  - name: dea_logging_agent
    release: cf
  - name: metron_agent
    release: cf
  update:
    serial: false
    max_in_flight: 5

You could try reviewing bosh task --debug 75 - it may provide you details on what it's waiting for. Alternatively, ssh in on the not-terminating VMs and tail the logs to see if any processes are still running which is causing things to hang; specifically /var/vcap/sys/log/**/drain*.

I see these line .looks like it went in loop .I am repetitively facing this problem.
I, [2016-09-30T11:03:17.886691 #5446]  INFO -- : Sending signal USR2 to DEA.
I, [2016-09-30T11:03:18.012771 #5446]  INFO -- : Hey BOSH, call me back in 5s.
I, [2016-09-30T11:03:23.028037 #5449]  INFO -- : Drain script invoked with job_check_status hash_unchanged
I, [2016-09-30T11:03:23.028148 #5449]  INFO -- : Sending signal USR2 to DEA.
I, [2016-09-30T11:03:23.028186 #5449]  INFO -- : Hey BOSH, call me back in 5s.
I, [2016-09-30T11:03:28.044357 #5452]  INFO -- : Drain script invoked with job_check_status hash_unchanged
I, [2016-09-30T11:03:28.044477 #5452]  INFO -- : Sending signal USR2 to DEA.
I, [2016-09-30T11:03:28.044531 #5452]  INFO -- : Hey BOSH, call me back in 5s.
I, [2016-09-30T11:03:33.061208 #5455]  INFO -- : Drain script invoked with job_check_status hash_unchanged
I, [2016-09-30T11:03:33.061353 #5455]  INFO -- : Sending signal USR2 to DEA.
I, [2016-09-30T11:03:33.061394 #5455]  INFO -- : Hey BOSH, call me back in 5s.
I, [2016-09-30T11:03:38.077071 #5458]  INFO -- : Drain script invoked with job_check_status hash_unchanged
I, [2016-09-30T11:03:38.077214 #5458]  INFO -- : Sending signal USR2 to DEA.
I, [2016-09-30T11:03:38.077254 #5458]  INFO -- : Hey BOSH, call me back in 5s.
I, [2016-09-30T11:03:43.092552 #5462]  INFO -- : Drain script invoked with job_check_status hash_unchanged
I, [2016-09-30T11:03:43.092661 #5462]  INFO -- : Sending signal USR2 to DEA.
I, [2016-09-30T11:03:43.092813 #5462]  INFO -- : Hey BOSH, call me back in 5s.

Unfortunately, DEAs drain can hang in some situations. For example, some time ago, I opened https://github.com/cloudfoundry/dea_ng/issues/178 with a similar problem. It might be worth investing some time to figure out the underlying issue, if you still have the DEA around.

I am getting this problem repetitively and continuously.Can you please point me where I should look in to .Is this problem specific to any cf release,bosh director or bosh cli.

It is a release-specific concern, so perhaps start by looking into cf-release. The release keeps telling director to wait on shutting down the jobs because drain is still running, so director just keeps waiting. Drain scripts can genuinely take a long time in the cases of data migration, so director doesn't have a timeout on how long a drain takes.
You may want to check on the value of your dea_next.evacuation_bail_out_time_in_seconds property - it may be set higher than you want. It used as a timeout when the DEA wants to shutdown to try and evacuate all the cells off.

I am analysed the issue and found that dea still running in the back ground,monit is showing all job not monitored.
I have question how drain utility works,who calls this drain script.
drain is keep on sending  USR2 signal to dea.
root      1453  1452  0 Sep30 ?        00:00:00 svlogd -tt /var/vcap/monit/svlog
root      1455  1452  0 Sep30 ?        00:00:26 /var/vcap/bosh/bin/monit -I -c /var/vcap/bosh/etc/monitrc
root      5262     1  0 05:26 ?        00:00:00 /bin/bash -exu /var/vcap/jobs/consul_agent/bin/agent_ctl start
root      5263     1  0 05:26 ?        00:00:00 /bin/bash -exu /var/vcap/jobs/consul_agent/bin/agent_ctl start
root      5264  5262  0 05:26 ?        00:00:00 tee -a /var/vcap/sys/log/consul_agent/consul_agent.stderr.log
root      5265  5263  0 05:26 ?        00:00:00 tee -a /var/vcap/sys/log/consul_agent/consul_agent.stdout.log
root      5266  5262  0 05:26 ?        00:00:00 logger -p user.error -t vcap.consul-agent
root      5267  5263  0 05:26 ?        00:00:00 logger -p user.info -t vcap.consul-agent
vcap      5273     1  0 05:26 ?        00:01:25 /var/vcap/packages/consul/bin/consul agent -config-dir=/var/vcap/jobs/consul_agent/config -recursor=<IP_ADDRESS> -recursor=<IP_ADDRESS>
root      5288     1  0 05:27 ?        00:00:17 /var/vcap/packages/ruby-2.2.4/bin/ruby /var/vcap/packages/ruby-2.2.4/bin/rake warden:start[/var/vcap/jobs/dea_next/config/warden.yml]
root      5290  5288  0 05:27 ?        00:00:00 /bin/bash -e /var/vcap/jobs/dea_next/bin/warden_ctl start
root      5291  5290  0 05:27 ?        00:00:00 tee -a /dev/fd/63
root      5292  5288  0 05:27 ?        00:00:00 /bin/bash -e /var/vcap/jobs/dea_next/bin/warden_ctl start
root      5293  5290  0 05:27 ?        00:00:00 awk -W Interactive {lineWithDate="echo [`date +\"%Y-%m-%d %H:%M:%S%z\"`] \"" $0 "\""; system(lineWithDate)  }
root      5294  5291  0 05:27 ?        00:00:00 /bin/bash -e /var/vcap/jobs/dea_next/bin/warden_ctl start
root      5295  5292  0 05:27 ?        00:00:00 tee -a /dev/fd/63
root      5296  5292  0 05:27 ?        00:00:00 awk -W Interactive {lineWithDate="echo [`date +\"%Y-%m-%d %H:%M:%S%z\"`] \"" $0 "\""; system(lineWithDate)  }
root      5299  5295  0 05:27 ?        00:00:00 /bin/bash -e /var/vcap/jobs/dea_next/bin/warden_ctl start
root      5309  5299  0 05:27 ?        00:00:00 logger -p user.error -t vcap.warden_ctl.stderr
root      5310  5294  0 05:27 ?        00:00:00 logger -p user.info -t vcap.warden_ctl.stdout
root      5465     1  0 05:27 ?        00:00:18 /var/vcap/packages/ruby-2.2.4/bin/ruby /var/vcap/packages/dea_next/bin/dea /var/vcap/jobs/dea_next/config/dea.yml
root      5467  5465  0 05:27 ?        00:00:00 /bin/bash -e /var/vcap/jobs/dea_next/bin/dea_ctl start
root      5468  5467  0 05:27 ?        00:00:00 tee -a /dev/fd/63
root      5469  5465  0 05:27 ?        00:00:00 /bin/bash -e /var/vcap/jobs/dea_next/bin/dea_ctl start
root      5470  5467  0 05:27 ?        00:00:00 awk -W Interactive {lineWithDate="echo [`date +\"%Y-%m-%d %H:%M:%S%z\"`] \"" $0 "\""; system(lineWithDate)  }
root      5471  5468  0 05:27 ?        00:00:00 /bin/bash -e /var/vcap/jobs/dea_next/bin/dea_ctl start
root      5472  5469  0 05:27 ?        00:00:00 tee -a /dev/fd/63
root      5473  5469  0 05:27 ?        00:00:00 awk -W Interactive {lineWithDate="echo [`date +\"%Y-%m-%d %H:%M:%S%z\"`] \"" $0 "\""; system(lineWithDate)  }
root      5480  5472  0 05:27 ?        00:00:00 /bin/bash -e /var/vcap/jobs/dea_next/bin/dea_ctl start
root      5487  5471  0 05:27 ?        00:00:00 logger -p user.info -t vcap.dea_ctl.stdout
root      5489  5480  0 05:27 ?        00:00:00 logger -p user.error -t vcap.dea_ctl.stderr
root      5507     1  0 05:27 ?        00:00:00 /var/vcap/packages/dea_next/go/bin/runner -conf /var/vcap/jobs/dea_next/config/dea.yml
root      5509  5507  0 05:27 ?        00:00:00 /bin/bash -e /var/vcap/jobs/dea_next/bin/dir_server_ctl start
root      5510  5509  0 05:27 ?        00:00:00 tee -a /dev/fd/63
root      5511  5507  0 05:27 ?        00:00:00 /bin/bash -e /var/vcap/jobs/dea_next/bin/dir_server_ctl start
root      5512  5509  0 05:27 ?        00:00:00 awk -W Interactive {lineWithDate="echo [`date +\"%Y-%m-%d %H:%M:%S%z\"`] \"" $0 "\""; system(lineWithDate)  }
root      5513  5510  0 05:27 ?        00:00:00 /bin/bash -e /var/vcap/jobs/dea_next/bin/dir_server_ctl start
root      5514  5511  0 05:27 ?        00:00:00 tee -a /dev/fd/63
root      5515  5511  0 05:27 ?        00:00:00 awk -W Interactive {lineWithDate="echo [`date +\"%Y-%m-%d %H:%M:%S%z\"`] \"" $0 "\""; system(lineWithDate)  }
root      5517  5514  0 05:27 ?        00:00:00 /bin/bash -e /var/vcap/jobs/dea_next/bin/dir_server_ctl start
root      5528  5513  0 05:27 ?        00:00:00 logger -p user.info -t vcap.dir_server_ctl.stdout
root      5530  5517  0 05:27 ?        00:00:00 logger -p user.error -t vcap.dir_server_ctl.stderr
root      5545     1  0 05:27 ?        00:00:02 /var/vcap/packages/dea_logging_agent/deaagent --config /var/vcap/jobs/dea_logging_agent/config/dea_logging_agent.json
root      5547  5545  0 05:27 ?        00:00:00 [dea_logging_age] <defunct>
root      5549  5545  0 05:27 ?        00:00:00 [dea_logging_age] <defunct>
vcap      5587     1  0 05:27 ?        00:00:41 /var/vcap/packages/metron_agent/metron --config /var/vcap/jobs/metron_agent/config/metron_agent.json

After debugging two days I found one thing suspicious
server is broken and password is missing here .
But dont know why this missing.
servers":["nats://nats@0.cloud-controller.ccc-bosh-net.cf-vik-soltest1.microbosh:4222"]}
{"timestamp":1475500463.5595315,"message":"Dea started","log_level":"info","source":"Dea::Bootstrap","data":{},"thread_id":47126037166480,"fiber_id":47126053691560,"process_id":4574,"file":"/var/vcap/packages/dea_next/lib/dea/bootstrap.rb","lineno":135,"method":"setup_logging"}
{"timestamp":1475500463.5809429,"message":"nats.connecting","log_level":"info","source":"Dea::Nats","data":{"servers":["nats://nats@0.cloud-controller.ccc-bosh-net.cf-vik-soltest1.microbosh:4222"]},"thread_id":47126037166480,"fiber_id":47126053691560,"process_id":4574,"file":"/var/vcap/packages/dea_next/lib/dea/nats.rb","lineno":103,"method":"create_nats_client"}
{"timestamp":1475500463.588269,"message":"buildpacks-request.error","log_level":"error","source":"Dea::Bootstrap","data":{"error":"unable to resolve server address"},"thread_id":47126037166480,"fiber_id":47126053691560,"process_id":4574,"file":"/var/vcap/packages/dea_next/lib/dea/bootstrap.rb","lineno":497,"method":"block in download_buildpacks"}
{"timestamp":1475500471.2962484,"message":"varz access","log_level":"debug","source":"Dea::Bootstrap","data":{},"thread_id":47126037166480,"fiber_id":47126053691560,"process_id":4574,"file":"/var/vcap/packages/dea_next/vendor/bundle/ruby/2.2.0/gems/vcap_common-4.0.3/lib/vcap/component.rb","lineno":22,"method":"call"}

dea.yml file has the correct value.how come it is coming wrong in dea_next.log
dea.yml
---
nats_servers:

  - nats://nats:nats-password@0.cloud-controller.ccc-bosh-net.cf-vik-soltest1.microbosh:4222

{"timestamp":1475263834.4594078,"message":"Dea started","log_level":"info","source":"Dea::Bootstrap","data":{},"thread_id":47438794029460,"fiber_id":47438810541340,"process_id":4624,"file":"/var/vcap/packages/dea_next/lib/dea/bootstrap.rb","lineno":135,"method":"setup_logging"}
{"timestamp":1475263834.482458,"message":"nats.connecting","log_level":"info","source":"Dea::Nats","data":{"servers":["nats://nats@0.cloud-controller.ccc-bosh-net.cf-vik-soltest1.microbosh:4222"]},"thread_id":47438794029460,"fiber_id":47438810541340,"process_id":4624,"file":"/var/vcap/packages/dea_next/lib/dea/nats.rb","lineno":103,"method":"create_nats_client"}
{"timestamp":1475263834.4912682,"message":"buildpacks-request.error","log_level":"error","source":"Dea::Bootstrap","data":{"error":"unable to resolve server address"},"thread_id":47438794029460,"fiber_id":47438810541340,"process_id":4624,"file":"/var/vcap/packages/dea_next/lib/dea/bootstrap.rb","lineno":497,"method":"block in download_buildpacks"}

You'll find some documentation about drain scripts on bosh.io. The director/agent executes the script when the VM is about to shut down. Most releases take advantage of this to help relocate services or processes to other VMs (and avoid noticeable service interruption). In this particular case, the intent is to relocate your containers off and avoid app downtime.
In your case, it may be helpful to do a bosh stop --skip-drain, followed by a bosh delete deployment because it seems like bosh delete deployment is executing drain scripts.

Thanks @dpb587-pivotal .It worked


feat(bedrock): add multimodal support for documents, images and videos

Add BedrockMediaFormat class to handle media format conversions for documents, images and videos
Enhance Media class with builder pattern and comprehensive format constants
Refactor BedrockProxyChatModel to support multimodal content handling
Add integration tests for PDF, image and video processing
Add unit tests for Media and BedrockMediaFormat classes
Upgrade AWS SDK version from 2.26.7 to 2.29.29
Remove redundant aws.sdk.version property in favor of awssdk.version
Documentation updates for Bedrock Converse API

Added multimodal support documentation (images, video, documents)
Added deprecation notices for existing Bedrock model implementations
Updated feature comparison table
Added warning notes about transitioning to Converse API

Resolves #1887

Did minor cleanup.  I ran all the aws tests, made some small changes to have the tests be less brittle.  getWeather function description that used to work, isn't working any more on nova.

so cool to see this.
merged in 51261e46f8e09c1bc51d80b8ef75e3d852d57174 but may not get a green build in CI as the there is something going on the the Ollama tests.

I'm re-opening because I don't see the code merged in main

now really merged!  9a5d61cc05ac2339f0aad6c22e3ba2592583333e
Made only id in Media nullable, kept two arg ctors at they are more terse than using the builder pattern.  Added more tests for Media to ensure builder and ctor behave the same.


Feature: Make Submission Button and Checker Function

Make a button that checks the state of the dropdowns and updates the state based on if they are right or wrong. Don't worry about explanations, maybe just highlight green for correct and red for wrong for now.

i didnt realize the #178 was a separate issue, i implemented the dropdown in this issue since it's part of the updates from the checker function. my bad!


Allow variables in SortByColumns arguments

The current SortByColumns implementation does not allow anything other than identifiers from being used as column names. In Power Apps we allow arbitrary expressions (literal strings or other expressions that return strings) from being used, so we will allow this here as well.
This also defines the legacy behavior for SortByColumns: it will only support column names as identifiers if that feature ("SupportColumnNamesAsIdentifiers") is enabled, and PowerFxV1Compatibility rules is also enabled - unlike other functions that take column names, which only look at the first feature.

✅ No public API change.

✅ No public API change.


Correct headtracking jitter with slerp.

Default headtracking currently returns a rotational matrix directly from sensors.
This approach is too sensitive and results in "jitter".
I have corrected the problem over in RajawaliVR using quaternions and  spherical interpolation (slerp).
https://github.com/MasDennis/RajawaliVR/pull/4
Could this please be incorporated into the headtracker class?

If this is a potential fix to this sample please prepare a pull request.

Nice! Good work @dcerisano !

I will prepare a pull request the moment Google releases the cardboard sdk as open source.
There is nothing to submit the pull request against currently.

Thanks for the note. Is there an actual fix here? The linked repo is just a clone of a decompiled SDK as far as I can tell.

+nathanmartz, since the head tracking class is not open source, it cannot be fixed on github.


Glyphcheck our dependecies

Our glyphcheck tool is incomplete because it doesn't verify that none of our dependecies have been compromised.
Non-urgent, but I don't see any good reason not to have it.

we probably only need to check the dependencies before each release. Adding glyphcheck to Travis is just a way to catch people sneaking things into PRs.


Build is throwing error - Step 3/3 : COPY crypto /orderer/crypto COPY failed: stat /var/lib/docker/tmp/docker-builder825722007/crypto: no such file or directory

In the Build phase, following error is getting displayed:
Sending build context to Docker daemon  2.048kB
Step 1/3 : FROM docker.io/hyperledger/fabric-orderer:latest
---> ec4ca236d3d4
Step 2/3 : RUN mkdir /orderer
---> Running in 6eddd5d61ee8
Removing intermediate container 6eddd5d61ee8
---> 3030cf93b3b2
Step 3/3 : COPY crypto /orderer/crypto
COPY failed: stat /var/lib/docker/tmp/docker-builder825722007/crypto: no such file or directory
Creating network "build-blockchain-insurance-app_default" with the default driver
Pulling insurance-ca (insurance-ca:)...
The image for the service you're trying to recreate has been removed. If you continue, volume data could be lost. Consider backing up your data before continuing.

In the Build phase, following error is getting displayed:
Sending build context to Docker daemon 2.048kB
Step 1/3 : FROM docker.io/hyperledger/fabric-orderer:latest
---> ec4ca236d3d4
Step 2/3 : RUN mkdir /orderer
---> Running in 6eddd5d61ee8
Removing intermediate container 6eddd5d61ee8
---> 3030cf93b3b2
Step 3/3 : COPY crypto /orderer/crypto
COPY failed: stat /var/lib/docker/tmp/docker-builder825722007/crypto: no such file or directory
Creating network "build-blockchain-insurance-app_default" with the default driver
Pulling insurance-ca (insurance-ca:)...
The image for the service you're trying to recreate has been removed. If you continue, volume data could be lost. Consider backing up your data before continuing.

refer issue #68

Still getting the same message:
Sending build context to Docker daemon  2.048kB
Step 1/3 : FROM docker.io/hyperledger/fabric-orderer:latest
---> ec4ca236d3d4
Step 2/3 : RUN mkdir /orderer
---> Using cache
---> 3030cf93b3b2
Step 3/3 : COPY crypto /orderer/crypto
COPY failed: stat /var/lib/docker/tmp/docker-builder246830254/crypto: no such file or directory
Pulling insurance-ca (insurance-ca:)...
The image for the service you're trying to recreate has been removed. If you continue, volume data could be lost. Consider backing up your data before continuing.
Continue with the new image? [yN]
My Web/Dockerfile looks like: FROM ubuntu:trusty
RUN apt update && apt install -y build-essential
FROM docker.io/library/node:8.11.3
ENV NODE_ENV production
ENV PORT 3000
ENV DOCKER_SOCKET_PATH /host/var/run/docker.sock
ENV DOCKER_CCENV_IMAGE hyperledger/fabric-ccenv:latest
RUN mkdir /app
COPY . /app
WORKDIR /app
RUN npm i && npm i --only=dev /
&& npm run build /
&& npm prune /
&& apt remove -y build-essential
EXPOSE 3000
CMD ["npm", "run", "serve"]
My Peer-base.yaml file:
version: '2'
services:
peer-base:
environment:
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=buildblockchaininsuranceapp_default
- CORE_LOGGING_LEVEL=DEBUG
- CORE_PEER_TLS_ENABLED=true
- CORE_PEER_ENDORSER_ENABLED=true
- CORE_PEER_GOSSIP_USELEADERELECTION=true
- CORE_PEER_GOSSIP_ORGLEADER=false
- CORE_PEER_PROFILE_ENABLED=true
- CORE_PEER_MSPCONFIGPATH=/peer/crypto/msp
- CORE_PEER_TLS_CERT_FILE=/peer/crypto/tls/server.crt
- CORE_PEER_TLS_KEY_FILE=/peer/crypto/tls/server.key
- CORE_PEER_TLS_ROOTCERT_FILE=/peer/crypto/tls/ca.crt
working_dir: /peer
command: peer node start
volumes:
- /var/run/:/host/var/run/

what does docker network ls give you?
check  whether the  newtork name and  - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=buildblockchaininsuranceapp_default
are the same.

It gives me following:
C:\Users\BiswajitRoy\build-blockchain-insurance-app>docker network ls
NETWORK ID          NAME                                     DRIVER              SCOPE
8a53bcfdaaba        bridge                                   bridge              local
e04c7c6e7850        build-blockchain-insurance-app_default   bridge              local
639da61ae87a        host                                     host                local
c02ffcb8c4a0        none                                     null                local

I removed the network name from peer-base.yaml file. Still it is throwing the error:
Sending build context to Docker daemon  2.048kB
Step 1/3 : FROM docker.io/hyperledger/fabric-orderer:latest
---> ec4ca236d3d4
Step 2/3 : RUN mkdir /orderer
---> Using cache
---> 3030cf93b3b2
Step 3/3 : COPY crypto /orderer/crypto
COPY failed: stat /var/lib/docker/tmp/docker-builder498873981/crypto: no such file or directory
Pulling insurance-ca (insurance-ca:)...
The image for the service you're trying to recreate has been removed. If you continue, volume data could be lost. Consider backing up your data before continuing.
It seems the docker-builderXXXXXXXXX/crypto files are not available.

change - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=buildblockchaininsuranceapp_default
to build-blockchain-insurance-app_default in the peer-base.yaml, and try rebuilding


Panic Button

What version of SnailyCAD are you currently using?
1.58.0
Describe the Bug
When you add the "10-Codes" for a "Panic Button" a button is displayed along with the other 10 Code buttons such as "10-41, 10-08, etc." AND there is a button displayed in the "Utility Panel" near the "Notepad" button.
Expected Behavior
If Panic Button is enabled in the cad settings the button in the "Utility Panel" should appear and the two should not be linked together and act as one button. You should not have to have a 10-Code panic button in order to see the panic button on the Utility Panel.
To Reproduce
No response

This should've worked before, I'll try take a look today

actually, looking at the code, this should work as expected @QUINTONH101

Panic Button.zip

You have to add a 10 code for the panic button

It’s actually not required @JustCreizy. This is a valid bug ;)

Sry my bad then


Update 2.6.0 APIM CLI doc pages with the binaries

Description:
Now in the doc pages [1], [2], [3] and [4], we have guided to visit the APIM Tooling website to download the APIMCLI binaries. Instead of doing that it is decided to add the binaries in the doc pages itself.
3.x doc pages have been updated with the changes and please update the 2.6.0 doc pages ([1], [2], [3] and [4]) as done in the 3.x pages [5].
[1] https://docs.wso2.com/display/AM260/Initializing+projects+using+the+CLI+Tool#InitializingprojectsusingtheCLITool-Step3-RuntheCLItool
[2] https://docs.wso2.com/display/AM260/Migrating+the+APIs+to+a+Different+Environment#MigratingtheAPIstoaDifferentEnvironment-Step3-RuntheCLItool
[3] https://docs.wso2.com/display/AM260/Migrating+the+APIs+and+Applications+to+a+Different+Environment#MigratingtheAPIsandApplicationstoaDifferentEnvironment-Step3-RuntheCLItool
[4] https://docs.wso2.com/display/AM260/Building+CICD+Pipeline#BuildingCICDPipeline-Step3-RuntheCLItool
[5] https://apim.docs.wso2.com/en/latest/learn/api-controller/getting-started-with-wso2-api-controller/#download-and-initialize-the-ctl-tool

When uploading binaries, use the latest APIMCLI 2.0.10 version artifacts in https://github.com/wso2/product-apim-tooling/releases/tag/v2.0.10

Updated the mentioned pages for 2.6.0 (e.g., [1])
[1] https://docs.wso2.com/display/AM260/Migrating+the+APIs+and+Applications+to+a+Different+Environment


Tasks always queued

Hello,
I am asking for some help with the conf. I've configured my settings according with the docs and run cq_worker along runserver.  The task appear in admin but always queued, it seems that the worker it is not consuming the tasks. Am i missing something?
Thanks.

Hi there,
It's pretty tough to debug without actually seeing the system, as there are a number of places where things can go wrong. However there are some basic things to check:

Is your Redis server running and connected via the Django settings?

Is your CQ channel layer configured to the correct Redis URL?

Have you set CQ_CHANNEL_LAYER to the correct value?

Is Django Channels setup and running as expected?

If you're still having troubles, perhaps you could send me your settings file to take a look at (not forgetting to redact any secret info)?
Cheers,
Luke

I managed to get working. If a set CQ_CHANNEL_LAYER = 'default' instead of 'long' it works.
I'm testing with django runserver and a worker in my local machine.

Ah, sounds like you may not have created a long Channel layer. If you want to use a layer with a longer timeout for your background tasks you can use something like this:
CHANNEL_LAYERS = {
    'default': { ... },
    'long': {
        'BACKEND': 'redis_channel_layer.DjangoRedisChannelLayer',  # use cache connection
        'CONFIG': {
            'hosts': [REDIS_URL],
            'expiry': 1800,  # 30 minutes before removal
            'channel_capacity': {
                'cq-tasks': 1000
            }
        },
        'ROUTING': '...'
    },
}

I've used an ellipses to indicate things I've left out.

I have created it. I copied the example, and I checked with DTD and it seems ok. If swap the names between 'default' and 'long' it workrs (with CQ_CHANNEL_LAYER = 'default'). But as soon I keep the two layers default and long and set CQ_CHANNEL_LAYER = 'long' it stop to consume tasks.
settings.txt

Sorry I deleted your comment there, but the settings file you sent included passwords, probably best to remove any references to passwords/usernames when sending example files.
Also, sorry to be a pain, but can you send me an example settings file that includes the exact setup that's failing? The one you sent was configured to use the default channel. I'd like to see specifically what you're using when it fails.
Thanks!

Thanks I am the worst.
settings_cq.txt

So it looks like CQ_CHANNEL_LAYER is still set to default in that file, I'm assuming that is supposed to be set to long.
So, one other thing to check, when you launch your background worker what command are you using?

Yes, that is correct it set to 'long'.
 ./manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).
October 19, 2017 - 22:57:20
Django version 1.11.6, using settings 'config.settings'
Starting Channels development server at http://<IP_ADDRESS>:8000/
Channel layer default (asgi_redis.core.RedisChannelLayer)
Quit the server with CONTROL-C.
2017-10-19 22:57:20,391 - INFO - worker - Listening on channels cq-tasks, http.request, websocket.connect, websocket.disconnect, websocket.receive
2017-10-19 22:57:20,392 - INFO - worker - Listening on channels cq-tasks, http.request, websocket.connect, websocket.disconnect, websocket.receive
2017-10-19 22:57:20,393 - INFO - worker - Listening on channels cq-tasks, http.request, websocket.connect, websocket.disconnect, websocket.receive
2017-10-19 22:57:20,393 - INFO - worker - Listening on channels cq-tasks, http.request, websocket.connect, websocket.disconnect, websocket.receive
2017-10-19 22:57:20,394 - INFO - server - HTTP/2 support not enabled (install the http2 and tls Twisted extras)
2017-10-19 22:57:20,394 - INFO - server - Using busy-loop synchronous mode on channel layer
2017-10-19 22:57:20,395 - INFO - server - Listening on endpoint tcp:port=8000:interface=<IP_ADDRESS>

./manage.py cq_runworker

2017-10-19 22:58:11,415 - INFO - runworker - Using single-threaded worker.
2017-10-19 22:58:11,415 - INFO - runworker - Running worker against channel layer default (asgi_redis.core.RedisChannelLayer)
2017-10-19 22:58:11,421 - INFO - worker - Listening on channels cq-tasks, http.request, websocket.connect, websocket.disconnect, websocket.receive

The same.
./manage.py cq_runworker

2017-10-19 23:06:28,946 - INFO - runworker - Using single-threaded worker.
2017-10-19 23:06:28,946 - INFO - runworker - Running worker against channel layer default (asgi_redis.core.RedisChannelLayer)
2017-10-19 23:06:28,952 - INFO - worker - Listening on channels cq-tasks, http.request, websocket.connect, websocket.disconnect, websocket.receive

Django |   | 1.11.6
-- | -- | --
Python |   | 3.5.4
channels | Channels | 1.1.8
corsheaders | Corsheaders | 2.1.0
dbbackup | Backup and restore | 3.2.0
debug_toolbar | Debug Toolbar | 1.8
django_extensions | Django_Extensions | 1.9.6
easy_thumbnails | Easy_Thumbnails | <module 'easy_thumbnails.get_version' from  '/home/jorro/Development/projects/hikeorama/root/lib64/python3.5/site-packages/easy_thumbnails/get_version.py'>
flat_responsive | Flat_Responsive | 2.0
registration | Registration | 1.8
rest_framework | Django REST framework | 3.7.1
rest_framework_gis | Rest_Framework_Gis | 0.11.2
rest_framework_jwt | Rest_Framework_Jwt | 1.11.0
rosetta | Rosetta | 0.7.13

Okay, so it looks like cq_worker isn't registering it should be listening on the long channel. Can you try running the worker like this:
./manage.py cq_runworker --layer=long

It works. Does it means that cq_worker only will listen to 'long' layer?

Yep, correct. When you specify CQ_CHANNEL_LAYER=long it indicates CQ messages will only be sent out over the "long" layer. --layouer=long needs to be given to the worker to tell it to listen on that layer. I'll update the README to reflect this. Thanks for the bug report!

Thanks to you for your work and patience.

Actually, I've changed my mind, what I'll do is alter the cq_runworker command to automatically select the layer based on CQ_CHANNEL_LAYER. I'll let you know via this issue once it's done.

Okay, I've pushed a change to the repo, you shouldn't have to supply --layer=long anymore. If you specify CQ_CHANNEL_LAYER="long" in your settings you can just use:
./manage.py cq_runworker

And it should automatically use the "long" layer.

I'm going to close this issue, if you find my changes aren't working please reopen.


Swift 4

Description

Add<EMAIL_ADDRESS>fix warnings and errors on Swift 4
Motivation and Context

IBM-Swift/Kitura#1121, #28
How Has This Been Tested?

Unit tests
Checklist:

[ ] I have submitted a CLA form
[ ] If applicable, I have updated the documentation accordingly.
[ ] If applicable, I have added tests to cover my changes.

Codecov Report

Merging #36 into master will increase coverage by 0.11%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #36      +/-   ##
==========================================
+ Coverage   90.57%   90.68%   +0.11%
==========================================
  Files           2        2
  Lines         403      408       +5
==========================================
+ Hits          365      370       +5
  Misses         38       38

Flag
Coverage Δ

#HTMLEntities
90.68% <100%> (+0.11%)
:arrow_up:

Impacted Files
Coverage Δ

Sources/HTMLEntities/String+HTMLEntities.swift
89.59% <100%> (+0.15%)
:arrow_up:

Continue to review full report at Codecov.

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


(PUP-8191) Don't initialize gettext for modules without relevant translations

This commit ensures that a module's locales directory contains a set of
translation files for the selected locale before creating the
translation repository for that module. Since translation files are
lazily loaded by FastGettext, it will create the repo first and look for
the files later. If it can't find them, it will create and read an
empty MO file as a placeholder. To avoid this extra work, we now do that
check up front.

CLA signed by all contributors.

On further investigation, @joshcooper and I discovered that this doesn't actually fix the problem. The issue is that when we don't have translations for the language we're looking for, including English, FastGettext fills in the gap by opening a dummy empty file every time a translation is accessed. This affects Puppet as well as modules. In the case of English, I think we have two ways forward:

given that we currently only support English as a default locale, we could disable basically disable gettext entirely when the locale is English, stubbing the translation methods and not loading any repositories.
Provide at least Puppet with a set of English "translations" that it loads at the beginning, and keep the fix in this PR for modules (in which case when a module string is looked up, it will search the loaded puppet translations, fail to find its string, and fall back to just using the string in the code).

The downside of (1) is that it moves us even more strongly into the "English is the only default locale" camp, making it even harder to change that if we ever want to. The downside of (2) is that we continue to do extra, unnecessary work to support translations in the English mode, used by the vast majority of our users.

Change FastGettext?

As in fork and change, or try get a patch accepted upstream?

Yes, one of those.

I like option 2 or 3. We should be paying as close to the same price to run things in english as other languages, or else we just have customers complaining later that when its not in english they can't scale as much and we'll just have to try and fix it later.

One roadblock with updating the upstream gem: we can't use any version beyond 1.1.0, because at that point Ruby 1.9 support was dropped. So we would have to fork and branch from that version.
That being said, the code around reading the empty file has been in place since 2009, which makes me wonder to what extent it might actually be impacting performance... We should probably attempt to benchmark this and make sure it's worth the maintenance headache before going that route.

With these three commits, we no do the following:

Load an empty translation file for Puppet when running in an English locale. This will be cached by FastGettext so we don't repeatedly trigger their empty placeholder creation.
Not set up storage for module translation unless we intend to use it.
Not set up storage for semantic_puppet translation unless we intend to use it.

Keeping translation active for Puppet itself helps avoid special-casing English. FastGettext expects AT LEAST ONE text domain to be set up when it goes to search for translations, which we satisfy with the empty PO/MO file for puppet (the MO file is generated during packaging). This avoids us having to create a special case for English where gettext tooling is disabled.

Updated.

I'm wondering if we should be creating the puppet.po file in 4.10.x to avoid perf issues associated with reloading empty.mo. For example, maybe related to https://tickets.puppetlabs.com/browse/SERVER-1919?

Probably couldn't hurt. Though almost none of the strings were marked for translation in 4.10, so the number of reads is probably significantly lower. If the performance regression in that ticket was related to gettext at all (we were never able to definitely show that), it is more likely to come from the way we are loading module translations in that version.

I don't see any empty.mo files being loaded in 4.10.x, so I'm ok with this as-is.


Copilot Chat is Reading Local Files when Copilot is Deactivated in Local File System

VS Code Version: 1.83.1
OS Version:  Ubuntu 22.04.3 LTS

Steps to Reproduce:

Ask Copilot chat some questions with files open, and Copilot not activated.
See file references it uses.

These lines of code are also note committed publicly yet, so the lines of code it returned don't exist anywhere but locally.

I have seen the same issue. Copilot will keep "using" this reference even if I close the file editor. But if I ask Copilot to read some of my files, like a specific file or function, it will say it is not allowed to do this.
I am not sure if this is an actual reference issue or just a UI issue, but whatever it is, it can bring some troubles when Copilot is reading some private or business files. I open another clear repo and use it in Codespaces to ensure it won't have a chance to read some sensitive files by accident.
I think it would be better if it could select reference files and even allow users to upload the reference file and turn off their use.

Thanks, @LikeDreamwalker for the workaround suggestion. I will try that for now, but the whole reason I pay for enterprise copilot is so I can do this all from the same window.
I know it is not a UI issue, because it returns exact or nearly exact code snippets from my own files that were never committed and only lived locally. I am certain of this because those snippets included domains that I own and have been the sole owner of.
I specifically purchase Copilot Enterprise so that I can have control over things like this (I don't want open source results - and preferably hope the model was not trained on oss code but uses oss code docs and maybe proprietary training data).
I don't wish for specific results or code when working with chat, I am usually asking general questions in the hope of needing to read less documentation to get to what I need, or for a general example that I can modify and turn into my own. If I want something specific I will paste in code snippets explicitly.
When I work with chat I expect that it respects my copilot settings, and it is deceiving when I see the icon in the bottom right indicate that copilot is not enabled globally or for specific files.

Sorry for the confusion. We've changed the descriptions of the options to disable copilot to clarify that they are about disabling "copilot completions", not Copilot Chat. Copilot Chat may use your current selection or open editor, or when you use the @workspace agent, it will use more context from your workspace. There are some notes about that in the last set of release notes: https://code.visualstudio.com/updates/v1_84

@roblourens can you disable that?

That's not possible currenlty

Understood, thanks for the information.


Can't create a session (local model)

System Info
transformers.js 2.17.2
Environment/Platform

[X] Website/web-app
[ ] Browser extension
[ ] Server-side (e.g., Node.js, Deno, Bun)
[ ] Desktop app (e.g., Electron)
[ ] Other (e.g., VSCode extension)

Description
I have my model available under the /models/tokenizer and /models/onnx/onnx paths.
I'm loading the tokenizer with:
        const tokenizerPath = '/tokenizer/';
        tokenizer = await AutoTokenizer.from_pretrained(tokenizerPath);

And the model with:
        const modelPath = '/onnx/';
        model = await AutoModel.from_pretrained(modelPath, {
            model_file_name: "model",
            quantized: false
        });

I have my model under the 2 paths because it always adds /onnx a second time. I also had to set quantized to false because otherwise it was adding a suffix to the file.
I found it very difficult to find a way to get it loading the model on the right path.
Anyway, it's now getting the tokenizer and model files correctly, but then I get this error in the browser console (same with chrome and firefox).
Error: Can't create a session

Reproduction
I can't provide full reproduction steps because I'm using a local model.
But the code is:
import { AutoModel, AutoTokenizer, env } from '@xenova/transformers';

let model;
let tokenizer;

// Function to load the tokenizer
async function loadTokenizer() {
    try {
        // Path to your tokenizer files
        const tokenizerPath = '/tokenizer/';

        // Initialize tokenizer
        tokenizer = await AutoTokenizer.from_pretrained(tokenizerPath);

        console.log('Tokenizer loaded successfully.');
    } catch (error) {
        console.error('Failed to load the tokenizer:', error);
    }
}

// Function to load the ONNX model
async function loadModel() {
    try {
        // Path to your ONNX model
        const modelPath = '/onnx/';

        // Initialize model
        //env.remoteHost = 'https://hf-mirror.com';
        model = await AutoModel.from_pretrained(modelPath, {
            model_file_name: "model",
            quantized: false
        });

        console.log('ONNX Model loaded successfully.');
    } catch (error) {
        console.error('Failed to load the model:', error);
    }
}

I've created a small snippet to check my onnx model is fine:
from transformers import AutoTokenizer
from optimum.onnxruntime import ORTModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("./public/models/onnx/onnx")
model = ORTModelForCausalLM.from_pretrained("./public/models/onnx/onnx", use_cache=False, use_io_binding=False)

inputs = tokenizer("My name is Philipp and I live in Germany.", return_tensors="pt")

gen_tokens = model.generate(**inputs,do_sample=True,temperature=0.9, min_length=20,max_length=20)
response = tokenizer.batch_decode(gen_tokens)
print("Generated text:", response)

So it works with optimum.onnxruntime and I'd like to understand how to make it work with transformers.js

Hey, I've done some work with custom models.
My workflow looks something like this.
The most important thing to note when using pretrained models is to ensure the structure is correct.
This is just public_root/models/[name_of_model]/onnx/model.onnx.
My folder structure for the model (which is U2Net) looks like this.
public/models/u2netp/onnx/model.onnx
public/models/u2netp/config.json
public/models/u2netp/preprocessor_config.json

It's also possible to have a model_quantized.onnx that will be the default to AutoModel.
Then to reference that model I have the following.
import { env, AutoModel, AutoProcessor, RawImage } from '@xenova/transformers';

// Force transformers to only look locally and not make any fetch requests.
env.allowLocalModels = true;
env.allowRemoteModels = false;

async function main() {
    // Create the processor.
    // The name here, should match the name of the folder in `models`
    const processor = await AutoProcessor.from_pretrained('u2netp')
    .catch(error => new Error(error));
    if (processor instanceof Error) {
        console.log(processor.message);
        return;
    }

    // U2Net is an image based model, so you might skip this step.
    const url = 'https://example.com/test.png';
    const image = await RawImage.fromURL(url)
    .catch(error => new Error(error));
    if (image instanceof Error) {
        console.error(image.message);
        return;
    }

    // Preprocess the image.
    const processed = await processor(image);

    // Create the model, again the name should match the name of the folder.
    // I am passing quantized: false because I do not have a
    // `model_quantized.onnx` within the folder.
    const model = await AutoModel.from_pretrained('u2netp', {
        quantized: false,
    });

    // Get the outputs of the model.
    const outputs = await model({ 'input': processed });
}
main();

Thanks @BritishWerewolf
I have the right structure now, but I still get this error. I think it's caused by the way the model is converted.
I also get this warning before the error:
onnxruntime::model_load_utils::ValidateOpsetForDomain(const std::unordered_map<std::string, int> &, const logging::Logger &, bool, const std::string &, int) ONNX Runtime only *guarantees* support for models stamped with official released onnx opset versions. Opset 5 is under development and support for this is limited. The operator schemas and or other functionality may change before next ONNX release and in this case ONNX Runtime will not guarantee backward compatibility. Current official support for domain ai.onnx.ml is till opset 3.

I've tried changing the opset value as well when exporting my model to onnx (from gguf)  with the optimum-cli but could find a way to make it working.
So maybe the problem is coming from the way I generate my original gguf mode. I'm using unsloth to train the model and export it to gguf.

It looks like you have everything nearly there, but your ONNX model is using a under development opset.
To be clear, are you saying you did something like this:
optimum-cli export onnx --model path_to_gguf_model --output path_to_output_directory --opset 3

I think setting to opset 3 is important.
Other than that, I have not worked with GGUF so not entirely sure how to help.
It seems that if you can export or convert to ONNX then the rest of the code will work.

I switched to @huggingface/transformers and now I get:
app.js:46 Failed to load the model: 20419424

I'm also getting the same error if I try to use the onnxruntime-web package directly.

What are the specifics of the model?
Looking at the onnx-runtime the following issue was created:
https://github.com/microsoft/onnxruntime-genai/issues/761#issuecomment-2270509690

Currently, ONNX Runtime GenAI's model builder only supports converting float16/float32 GGUF models and not already-quantized GGUF models. If you have the original float16/float32 weights in a GGUF file, you can try using that to get the ONNX model.

Does any of that help?
Are you using float16?

Thanks @BritishWerewolf
I'm going to try to disable quantization.

Same without quantization in the original gguf model

Can you help me to understand GGUF?
How do you create models? I am wondering if I can replicate something on my machine.

I'm using unsloth to train my model and export it to gguf.
Here is the code I use:
from unsloth import FastLanguageModel
import torch
import json
max_seq_length = 2048 # Choose any! We auto support RoPE Scaling internally!
dtype = None # None for auto detection. Float16 for Tesla T4, V100, Bfloat16 for Ampere+
load_in_4bit = False # Use 4bit quantization to reduce memory usage. Can be False.

model, tokenizer = FastLanguageModel.from_pretrained(
    model_name = "unsloth/Llama-3.2-1B-Instruct",
    max_seq_length = max_seq_length,
    dtype = dtype,
    load_in_4bit = load_in_4bit,
)

model = FastLanguageModel.get_peft_model(
    model,
    r = 16, # Choose any number > 0 ! Suggested 8, 16, 32, 64, 128
    target_modules = ["q_proj", "k_proj", "v_proj", "o_proj",
                      "gate_proj", "up_proj", "down_proj",],
    lora_alpha = 16,
    lora_dropout = 0, # Supports any, but = 0 is optimized
    bias = "none",    # Supports any, but = "none" is optimized
    use_gradient_checkpointing = "unsloth", # True or "unsloth" for very long context
    random_state = 3407,
    use_rslora = False,  # We support rank stabilized LoRA
    loftq_config = None, # And LoftQ
)

from datasets import Dataset, DatasetDict

# Load the JSON file manually
with open("prompts.json", "r") as file:
    data = json.load(file)

# Function to flatten and format the conversations
def format_conversations(data):
    formatted_convos = []
    for convo in data:
        formatted_convo = [{"from": message["from"], "value": message["value"]} for message in convo]
        formatted_convos.append({"conversations": formatted_convo})
    return formatted_convos

# Apply formatting
formatted_data = format_conversations(data)

# Convert to Dataset
dataset = Dataset.from_list(formatted_data)

from unsloth.chat_templates import get_chat_template

tokenizer = get_chat_template(
    tokenizer,
    chat_template = "llama-3",
    mapping = {"role" : "from", "content" : "value", "user" : "user", "assistant" : "assistant"},
    map_eos_token = True,
)

def formatting_prompts_func(convos):
    texts = [tokenizer.apply_chat_template(convo, tokenize = False, add_generation_prompt = False) for convo in convos["conversations"]]
    return { "text" : texts, }
pass

dataset = dataset.map(formatting_prompts_func, batched = True,)

from trl import SFTTrainer
from transformers import TrainingArguments
from unsloth import is_bfloat16_supported

trainer = SFTTrainer(
    model = model,
    tokenizer = tokenizer,
    train_dataset = dataset,
    dataset_text_field = "text",
    max_seq_length = max_seq_length,
    dataset_num_proc = 2,
    packing = False, # Can make training 5x faster for short sequences.
    args = TrainingArguments(
        per_device_train_batch_size = 2,
        gradient_accumulation_steps = 4,
        warmup_steps = 5,
        max_steps = 1000,
        learning_rate = 2e-4,
        fp16 = not is_bfloat16_supported(),
        bf16 = is_bfloat16_supported(),
        logging_steps = 1,
        optim = "adamw_8bit",
        weight_decay = 0.01,
        lr_scheduler_type = "linear",
        seed = 3407,
        output_dir = "outputs",
    ),
)

trainer_stats = trainer.train()
model.save_pretrained("model")
tokenizer.save_pretrained("model")
model.save_pretrained_gguf("model_gguf", tokenizer, quantization_method="not_quantized")


Samwherever fix 41687

Summary
I find+replaced any mention of

Enclose the name in double quotation marks (" ").

with

Enclose the name in quotation marks (").

I also added clarifying language in a few other areas where manual edits were necessary.
Fixes #41687

@dotnet-policy-service agree


Update .travis.yml

Debugging coverage. Please do not merge. 👍

This was trying to fix codecov, but it is now working. Closing this PR.