RSDK-4281: Shutting down viam-server causes intel realsense module to seg-fault if the component is currently running

https://viam.atlassian.net/browse/RSDK-4281
Context for why this solution (hopefully) works
I built the module as a pure binary and tried repro-ing as per the ticket. Could not get it to repro after many attempts. Figured it might be an appimage issue. AppImages are still pretty black-box to me. Did the most sane thing 😂 and just bumped our dependency to a more recent version. Issue seems to be gone: tested on my RPI and Ubuntu setups
Further context: I analyzed a coredump of the crash, and this is what I saw in the stack and threads
. libgio appears. The only thing I can think of that might depend on this is the AppImage stuff. Adding @abe-winter to fact check this.
Further further context: I know on the ticket it was mentioned that this bug is only reproducible when the stream is on. I gdb attached to the binary process during termination and the result was:
Thread 25 "grpcpp_sync_ser" received signal SIGSEGV, Segmentation fault.
[Switching to LWP 24522]
0x0000ffffb9531ea4 in pthread_mutex_lock () from /tmp/.mount_viam-c6axjgw/runtime/compat/lib/aarch64-linux-gnu/libc.so.6

My guess is the AppImage and the grpcpp dep aren't playing well together and are not freeing memory + terminating properly?
Testing
Could someone also test on their machine(s) to verify?
Download AppImage

other people on this review understand appimage + realsense better than I do so will let them do signoff
from my perspective: no harm in bumping appimage builder even if it doesn't solve the problem. would prefer clearer repro case, but this is a thorny one

Yeah... @seanavery and I were investigating a little offline and upon trying to repro a second time on the same setup (RPI4 Bullseye), the segfault didn't happen. I tried the pure binary method to try to be able to find the exact cause of it, but seeing that the error only happens with AppImages, it makes it extremely difficult to do so using debuggers.

Synced with Benji and we think a good course of action to take is to implement these bandaid fixes, but also hand off a minimal example of the segfault with a reduced version of the module to the SDK team, since the root of the segfault more than likely comes from our C++ SDK.


[Feature request] More hand images

I would like there to be more different hand poses.
@jexom could you talk us through how you created these high quality depth maps? What's the workflow?
If we know what the workflow is, we can create more as a community and submit PRs to have them added while making sure the quality is consistent.

Maybe the following link will be helpful
https://civitai.com/models/67174/900-hands-library-for-depth-library-or-controlnet

Maybe the following link will be helpful https://civitai.com/models/67174/900-hands-library-for-depth-library-or-controlnet

These are great. Thanks for letting us know.
But these are plain 3D images, not depth maps.

Not the cleanest result instantly, but I've downloaded the 900 hands library, and when using a ControlNet Preprocessor like "depth_zoe" and applying it to the hands it gives a depth map that can be then more refined in another editing software like Photoshop.
This can be done to other objects that can maybe be put in the scene this way!
A mini "Tutorial" would be:

Have ControlNet installed on WebUI Automatic1111
Add the Image
Toggle Allow Preview
Select a preprocessor of your choice (depth_zoe) and then press 💥 icon to generate the depth map
Download the photo in the right top icon for download


Add a default export so what webpack doesn't fail in some cases

We are using webpack in our project and in some odd cases,import * as changeCase from 'change-case'; actually fails.
Please add an export default to the project.

No thanks, that’s just not how imports and exports work. If you have a reproduction I can help you.


use bluepront to organise routes

@bigolboyyo / @futuresoup  Could you please review changes? Or you think should i go ahead and merge

@shreeup | @futuresoup | @howard989
This is a great start. I've been tinkering with this as well and have worked out some additional error handling. We can merge this and I'll make a pull later today/tomorrow adding the error handling and most likely a circular import/coroutine issue fix I am suspecting to run into haha
Thanks Shree, great work!
I recommend checking out asyncio if you run into async issues.
Remember to properly utilize init.py files to prevent circular imports
And lastly if you want to get crazy with the power of Flask check out Application Factories

I am seeing an error in when i try to run flask run. Please find debug trace below

(venv) shree@rahuls-mac-mini app % flask run --debug
/Users/shree/Downloads/OpenSource/ClimateTech-data-magic/app/api
Usage: flask run [OPTIONS]
Try 'flask run --help' for help.

Error: While importing 'app.app', an ImportError was raised:

Traceback (most recent call last):
  File "/opt/homebrew/lib/python3.10/site-packages/flask/cli.py", line 218, in locate_app
    __import__(module_name)
  File "/Users/shree/Downloads/OpenSource/ClimateTech-data-magic/app/app.py", line 9, in <module>
    from utils.utils import get_env_vars, create_generator
ModuleNotFoundError: No module named 'utils'

I am trying to fix this issue.

proof of testing


Cannot login with a Freecodecamp.org account on the Freecodecamp Forums

Describe the Issue
Hi,
I can not login to the freecodecamp forums via OAuth using the freecodecamp.org account. I can log in to the course website, however
Affected Page
forum.freecodecamp.org
Steps to Reproduce

Go to 'forum.freecodecamp.org'
Click on 'Sign in'
Scroll  to 'Login via Freecodecamp.org account'. Attempt to login via a identity provide (I used google)
Am redirected to the the "Let us create your account" modal

This is unexpected because my account exists on the website, and I can login the course website just fine. I also can not sign up with my own username on the forums.
In addition, after the oauth loop, the welcome modal does not render correctly
Expected behavior
I am signed in to the forums.
Screenshots

System

Device: [e.g. iPhone 6, Laptop]: Desktop Computer
OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04]: Windows
Browser: [e.g. Chrome, Safari]: Edge
Version: [e.g. 22]: Version 128.0.2739.42 (Official build) (64-bit)

Additional context
No response

Have you ever been on the forum before? If not, you need to create an account to start using it, even if you are authenticating via the freeCodeCamp account

Hi
Yes, my username on the forum is Sprinting. I last logged in in 2019 but I do have the account confirmation emails on my email.

@Sprinting i tried following your steps but could not find any bugs


Writing a custom RNN layer

I'm trying to implement a Convolutional - LSTM.
It's a recurrent layer which accepts an image as input and uses a convolution to calculate the various gates in the LSTM.
So I'm trying to subclass Recurrent and change the input dimension.
In order to do that I read the documentation on writing a custom layer and followed the suggestion to read source code to understand what's happening under the hood.
I read the code for recurrent.py and think that the structure is clear: You inherit from Recurrent but you don't overwrite call, instead you provide a custom step function and Recurrent will take care of applying the step to each entry in a sequence.
As a starting point I took the code for the GRU and tried to adapt it to my needs.
I want to combine a 2D convolution and a GRU (usually it's an LSTM, but that doesn't really matter - I decided to implement a C-GRU)
The idea is to have a usual 2D convolution in the model which outputs 3 features. Those 3 features will be used as the r,z and h activations in the GRU. In the custom layer I only have to keep track of the state. My layer doesn't even have trainable weights, they are contained in the convolution.
Notable changes to the original GRU code are:
    def step(self, x, states):
        # the previous state is a 2D vector
        h_tm1 = states[0]  # previous memory

        z=self.inner_activation(x[:,0,:,:])
        r=self.inner_activation(x[:,1,:,:])
        hh=self.activation(x[:,2,:,:])

        h = z * h_tm1 + (1 - z) * hh
        return h, [h]

As you can see, I'm simply reusing the features from the convolution. The multiplications should be performed element-wise. I'll debug this to make sure it has the intended behaviour.
Since the state becomes 2D, I'm changing the initial_state, too:
    def get_initial_states(self, x):
        initial_state=K.zeros_like(x)   # (samples, timesteps, input_dim)
                                        # input_dim = (3, x_dim, y_dim)
        initial_state=K.sum(initial_state, axis=(1,2)) # (samples, x_dim, y_dim)
        return initial_state

The output_shape seems to be hardcoded for Recurrent networks. I'm overriding it:
    def get_output_shape_for(self, input_shape):
        #TODO: this is hardcoding for th layout
        return (input_shape[0],1,input_shape[2],input_shape[3])

Another thing that's hardcoded is the input_spec.
In the constructor, after the call to super, I'm overriding it with my input dimension:

class CGRU(Recurrent):
    def __init__(self,
                 init='glorot_uniform', inner_init='orthogonal',
                 activation='tanh', inner_activation='hard_sigmoid', **kwargs):

        self.init = initializations.get(init)
        self.inner_init = initializations.get(inner_init)
        self.activation = activations.get(activation)
        self.inner_activation = activations.get(inner_activation)

        #removing the regularizers and the dropout

        super(CGRU, self).__init__(**kwargs)

        # this seems necessary in order to accept 5 input dimensions
        # (samples, timesteps, features, x, y)
        self.input_spec=[InputSpec(ndim=5)]

There are other small changes.
You can find the whole code here: http://pastebin.com/60ztPis3
When ran, this produces the following error message:

theano.tensor.var.AsTensorError: ('Cannot convert [None] to TensorType', <class 'list'>)

The whole error message on pastebin: http://pastebin.com/Cdmr20Yn
I'm trying to debug the code. But that's rather hard, it goes deep into the Keras source code.
One thing: The execution never reaches my custom step function. So apparently something in the configuration is going wrong. In the call function of Recurrent, input_shape is a tuple with the entries (None, 40,1,40,40)
This is correct. My sequence has 40 elements. Each one is an image with 1 feature and 40x40 resolution. I'm using the "th" layout.
Here is the call function of Recurrent.
My code reaches the call to K.rnn, the setup looks fine to me. Input_spec seems correct.
But during K.rnn it crashes. Without reaching my step function.
    def call(self, x, mask=None):
        # input shape: (nb_samples, time (padded with zeros), input_dim)
        # note that the .build() method of subclasses MUST define
        # self.input_spec with a complete input shape.
        input_shape = self.input_spec[0].shape
        if self.stateful:
            initial_states = self.states
        else:
            initial_states = self.get_initial_states(x)
        constants = self.get_constants(x)
        preprocessed_input = self.preprocess_input(x)

        last_output, outputs, states = K.rnn(self.step, preprocessed_input,
                                             initial_states,
                                             go_backwards=self.go_backwards,
                                             mask=mask,
                                             constants=constants,
                                             unroll=self.unroll,
                                             input_length=input_shape[1])

At this point I'm lost.
Could you help me ?
Am I missing something, do I need to configure something else ?

I think I fixed the problem.
The get_initial_states now return a list of states and I fixed the output size.
I don't know whether it runs yet, but at least the model can be plugged together.

Hm, now I'm having a strange problem:
My code is now:
# this is the actual input, fed to the network
inputs = Input((1, 40, 40, 40))

# now reshape to a sequence
reshaped = Reshape((40, 1, 40, 40))(inputs)

conv_inputs = Input((1, 40, 40))
conv1 = Convolution2D(3, 3, 3, activation='relu', border_mode='same')(conv_inputs)
convmodel = Model(input=conv_inputs, output=conv1)
convmodel.summary()

#apply the segmentation to each layer
time_dist=TimeDistributed(convmodel)(reshaped)

from cgru import CGRU

up=CGRU(go_backwards=False, return_sequences=True, name="up")

up=up(time_dist)

output=Reshape([1,40,40,40])(up)

model=Model(input=inputs, output=output)
print(model.summary())

On a computer with Theano as the backend, this works.
The model summary is:

Layer (type)                     Output Shape          Param #     Connected to
input_1 (InputLayer)             (None, 1, 40, 40, 40) 0

reshape_1 (Reshape)              (None, 40, 1, 40, 40) 0           input_1[0][0]

timedistributed_1 (TimeDistribute(None, 40, 3, 40, 40) 30          reshape_1[0][0]

up (CGRU)                        (None, 40, 1, 40, 40) 0           timedistributed_1[0][0]

reshape_2 (Reshape)              (None, 1, 40, 40, 40) 0           up[0][0]
Total params: 30

But on a computer with tensorflow as the backend, the code fails.
I've added a model.summary() for the convmodel. Up to that it works:
Layer (type)                     Output Shape          Param #     Connected to
====================================================================================================
input_4 (InputLayer)             (None, 1, 40, 40)     0
____________________________________________________________________________________________________
convolution2d_2 (Convolution2D)  (None, 3, 40, 40)     30          input_4[0][0]
====================================================================================================
Total params: 30

But then the program crashes:
 ValueError: Shapes (?, ?, 40, 40) and (40, ?, 40) are not compatible
It seems like Theano and Tensorflow have different (and incompatible) placeholders for the batch_size ?
Please note that I configured Keras to use "th" image layout in both cases.

Apparently this is caused by shape inference. It can't determine the input_shape of the new CGRU layer. Which definitely makes sense.
But I wonder why the code runs without problems for a Theano backend. I'll debug some more

I think that the layer works.
The question about how to extend Keras is basically solved.
And the problem with the Theano/Tensorflow incompatibility seems like a different issue.
I'll close this one.


python312Packages.tencentcloud-sdk-python: 3.0.1180 -> 3.0.1181

Diff: https://github.com/TencentCloud/tencentcloud-sdk-python/compare/refs/tags/3.0.1180...3.0.1181
Changelog: https://github.com/TencentCloud/tencentcloud-sdk-python/blob/3.0.1181/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

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

4 packages built:

python311Packages.tencentcloud-sdk-python
python311Packages.tencentcloud-sdk-python.dist
python312Packages.tencentcloud-sdk-python
python312Packages.tencentcloud-sdk-python.dist


Add spell check dictionary error

My setup

Operating System: Windows (Rasberry pi 4 server)

App Version: 1.0.3

[x] I have tested with the latest version

[x] I can simulate the issue easily

Description
Hi ! I'm trying to add a french dictionary, so I click on "Rechercher un langage..."

and select either my .aff or my .dic file and I got this error :
Error copiyng dictionary file: Error invoking remote method "spell-checking/install-dictionaries": [object Object]

Is my file corrupted in some way or is it Rocket Chat's fault ?
(Meanwhile, is there some setting to disable spell check completely ? I found this page : https://github.com/RocketChat/Rocket.Chat.Electron/issues/281 but I don't think there is a "Disable spell check" button)
Thanks

Was just about to report it too.
@LePixaliz to disable spellcheck for given language, uncheck it. Open the Languages menu, and click en_US and it will untick it. Done. (Thanks for referencing https://github.com/RocketChat/Rocket.Chat.Electron/issues/281 - it's written there. :smirk: It was annoying to have everything in my language underlined in red...)

And fix is described in ticket https://github.com/RocketChat/Rocket.Chat.Electron/issues/1534.
Create dictionaries folder in RocketChat's folder. Just did and it works.

Was just about to report it too.
@LePixaliz to disable spellcheck for given language, uncheck it. Open the Languages menu, and click en_US and it will untick it. Done.

Oh ! I didn't understand that you can click AGAIN on a language to have it disabled. Thanks for explaining it to me haha !
And thanks for the fix. I'll close the issue then :)

I wanted to report this issue, too. It is annoying.
Everything that should be done to my opinion is, that a client creates missing 'dictionaries' folder. And users will be able to load new languages with easy.
It rally is a pity that a functionality exists, but there is another 0.1% needed to be done for better user experience. Namely, many users thinks a feature is broken otherwise.


Unable to import certain rules

I want to import all the rules except the json rule. Doing so triggers a lint error:

ESLint: Unable to resolve path to module '@total-typescript/ts-reset/array-includes'.(import/no-unresolved)

In package.json, I have:
"dependencies": {
    "@total-typescript/ts-reset": "0.4.2"
}

In src/reset.d.ts: I have
import '@total-typescript/ts-reset/array-includes';
import '@total-typescript/ts-reset/array-index-of';
import '@total-typescript/ts-reset/filter-boolean';
import '@total-typescript/ts-reset/is-array';
import '@total-typescript/ts-reset/map-has';
import '@total-typescript/ts-reset/set-has';
import '@total-typescript/ts-reset/utils';

In case this was just a lint issue, I checked how filter would do:

I also tried installing those specific rules in the package.json without success.

I had same problem and adding /dist part of the path fixed it:
import '@total-typescript/ts-reset/dist/fetch';

@mattpocock can we update the docs to have dist in the path?

@chanp-ark, what VS Code extension do you use to see type declarations inline?

@chanp-ark What tsconfig options do you have? Specifically, for moduleResolution?

happens for me too, importing whole package works fine, but if I want to use specific rules only, then adding dist is required.
my tsconfig.json:
{
  "compilerOptions": {
    "target": "esnext",
    "module": "esnext",
    "strict": true,
    "noImplicitAny": true,
    "jsx": "preserve",
    "jsxFactory": "VueTsxSupport",
    "importHelpers": true,
    "moduleResolution": "node",
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "forceConsistentCasingInFileNames": true,
    "allowJs": false,
    "useDefineForClassFields": true,
    "sourceMap": true,
    "baseUrl": ".",
    "experimentalDecorators": true,
    "types": [
      "webpack-env",
      "jquery",
      "resize-observer-browser"
    ],
    "paths": {
      // omitted for briefness
    },
    "lib": [
      "esnext",
      "dom",
      "dom.iterable",
      "scripthost"
    ]
  },
  "include": [
    "src/**/*.ts",
    "src/**/*.tsx",
    "src/**/*.vue",
    "tests/**/*.ts",
    "tests/**/*.tsx"
  ],
  "exclude": [
    "node_modules/*",
  ]
}

@chanp-ark What tsconfig options do you have? Specifically, for moduleResolution?

"moduleResolution": "node", is what I have! The following is the rest of my tsconfig. Thanks!
{
"compilerOptions": {
"target": "es6",
"lib": [
"DOM",
"DOM.Iterable",
"ESNext"
],
"allowJs": false,
"skipLibCheck": true,
"strict": true,
"noImplicitAny": true,
"forceConsistentCasingInFileNames": true,
"noEmit": true,
"esModuleInterop": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve",
"baseUrl": ".",
"incremental": true,
"plugins": [
{
"name": "next"
}
]
},
"include": [
"next-env.d.ts",
"i18next.d.ts",
"/*.ts",
"/.tsx",
".next/types/**/.ts"
],
"exclude": [
"cypress",
"node_modules"
]
}

As it says in the docs, you need to have moduleResolution: "nodenext" or moduleResolution: "node16" to let you import ts-reset.
Could you try adding that?

Or just import it in correct way like
{
  "compilerOptions": {
    "types": [
      "webpack-env",
      "jquery",
      "resize-observer-browser",
      "@total-typescript/ts-reset/dist/fetch",
    ],
  },
}

@ArthurKa This is NOT recommended because if you specify one member of types, you need to specify all of them.

As it says in the docs, you need to have moduleResolution: "nodenext" or moduleResolution: "node16" to let you import ts-reset.

@mattpocock, first, thank you for this amazing library! It's the most excited I've been about TypeScript in about a year.
I'm not sure which docs you are referring to here. Do you mean ts-reset or TypeScript itself?
A search in this repo only turns up Issues and Discussions, no docs.

A search on totaltypescript.com/ts-reset only turns up generic TypeScript tutorials, not ts-reset specific results.

@tylerlaprade The link to the docs is in the readme of this project.

Found it, thanks! I was looking at the docs, but it was not visually easy to distinguish that section, so I had been relying on the site's search functionality mentioned above.


Creating many UI elements allocates unreasonable amount of memory and consumes too much cpu

Describe the bug
Consider the following markup
<ItemsControl ItemsSource="{CompiledBinding TestChannels}">
		<ItemsControl.ItemsPanel>
			<ItemsPanelTemplate>
				<WrapPanel/>
			</ItemsPanelTemplate>
		</ItemsControl.ItemsPanel>
		<ItemsControl.ItemTemplate>
			<DataTemplate>
				<Border Padding="8" Margin="8" Classes="panel3">
					<StackPanel>
						<TextBlock Classes="h3 centerH" Text="{CompiledBinding Channel}"/>
						<StackPanel Margin="0,8,0,0" Orientation="Horizontal">
							<Button Margin="1"  Content="1"/>
							<Button Margin="1"  Content="-"/>
							<Button Margin="1" Content="0"/>
						</StackPanel>
						<TextBox Margin="0,8,0,0"/>
					</StackPanel>
				</Border>
			</DataTemplate>
		</ItemsControl.ItemTemplate>
	</ItemsControl>

The collection TestChannels has over 500 elements. When this view is loaded, over 300MB is allocated. It also takes upwards of 6 seconds for the view to load with a 5ghz cpu core pegged at 100%.
To Reproduce
Create a view as above and create a simple view model of any type with a collection of basic objects bounded to the view.
Expected behavior
View should load nearly instantly and not consume so many resources.
Avalonia version
11.2.1
OS
No response
Additional context
A variety of layouts were tested including stackpanels and just normal panels, all exhibited the issue. Removing style classes does not help. I've reduced the view model code down to basic objects, to confirm it wasn't a impact. I'm aware I can use virtualization but in this case these elements span an ultra wide screen and all need to be displayed at once. Doing the equivalent in a web stack does not yield any complications.
After doing some memory profiling, looks like all the objects allocated are style related instances.

Have you tested a virtualised panel?

but in this case these elements span an ultra wide screen and all need to be displayed at once.

I don't understand. Why does screen size make a difference? What do you think virtualisation does?

WrapPanel is not virtualized. Each control has to be in the memory for it to work, high memory consumption is expected.
VirtualizedStackPanel will reuse components, and consume as little memory, as necessary to display currently visible elements.

I couldn't find whether we already had a feature request for VirtualizedWrapPanel (or VirtualizedUniformGrid). But that's a solution we would want to have.

Have you tested a virtualised panel?

but in this case these elements span an ultra wide screen and all need to be displayed at once.

I don't understand. Why does screen size make a difference? What do you think virtualisation does?

@thevortexcloud You are misunderstanding. All 500 or so elements will be visible all at once. Virtualization does not help here. Virtualization is for when elements scroll out of view. In this case, there is no scrolling because all the elements are visible on a large screen.

@maxkatz6 Yes I would expect a hit to memory, but not a hit this big. The memory hit is however, the least of our concerns. The loading time is the killer. Our requirements are that all 500 elements are visible at once. I was undecided originally whether to mark this as a bug or enhancement, but after having no issue when testing the same layout in react/web and also NoesisGui, (instant load time) I decided to mark as bug. Sorry if that is not the best classification. I would also be curious the performance for such a use case in WPF, I've had issues with other xaml frameworks displaying this many items at once, but this seems like the low end of what I've seen.

As a possible optimization, you should avoid adding TextBox in every cell by default. It's a relatively heavy control, which doesn't make sense to be added by default everywhere.
Instead, you can keep it as a TextBlock, and replace with TextBox when user focuses this cell or click on it. This technique is used in DataGrids for both WPF and Avalonia too.

As a possible optimization, you should avoid adding TextBox in every cell by default. It's a relatively heavy control, which doesn't make sense to be added by default everywhere.
Instead, you can keep it as a TextBlock, and replace with TextBox when user focuses this cell or click on it. This technique is used in DataGrids for both WPF and Avalonia too.

Good advice, we tried that and it definitely helped but its still too slow. Basically the layout can only reach acceptable performance if only textblocks are present.
As an aside and at the risk of being off topic, we've already made considerable efforts to have Avalonia fit in our use case, we've for example implemented our own custom scroll panel to have better touch support and our own virtualization panels (not for this issue fyi), so we've been hammering at the optimizations for a while now. I think we are just hitting the limits of Avalonia for what we are trying to do. I think the issue is just overall performance.

There shouldn't be as big difference in overall performance between WPF and Avalonia. Layout engine is similar, compositing engine is similar (but in C#), many virtualization parts were ported directly from WPF wit adjustments, as well as some controls like Grid. There definitely can be specific areas and controls with worse performance, with TextBox as a good example.
Another big difference, that many developers might hit, is that WPF assemblies are (or at least were in .NET Framework) pre-jitted with NGen/R2R. Which typically solved by using R2R or AOT in Avalonia.

Other than that, my other recommendations, without going way too deep into custom scrolls/virtualization:

You can avoid at least one nesting layer per each item, by avoiding ItemTemplate infrastructure. And instead override items control and override containers logic. Templates infrastructure adds overhead on its own. See https://github.com/AvaloniaUI/Avalonia/discussions/17511#discussioncomment-11260935 recent discussion on this topic.

Aside from TextBox, your next relatively complex control is Button, depending on customizations and interactions you need, you can replace ControlTheme with a simple TextBlock inside.

Any samples and or dotMemory/dotTrace profiling would greatly help too, so we won't blindly search for performance issues, and could pinpoint specific areas.

Thanks Max. I will dive deeper tomorrow and report back. Quick profiling revealed that most of the memory allocations were from classes pertaining to styling be instantiated. I need to either tweak the cpu profilier / debug settings or include from source to get proper cpu profiling because my profiler isn't showing where the cpu is being used up.
The first thing I will try is removing the item template infrastructure, that is something I haven't thought of.

Quick profiling revealed that most of the memory allocations were from classes pertaining to styling be instantiated

Do you have many styles in your app that might be applied to Button/TextBox? Even if it's not always matched. It could be a reason.

The app does use complex styles, but only for custom controls. We have custom textboxes, custom buttons, ect. So for this issue in our app, all our styles apply only to those custom controls. The built-in controls thus only whatever the basic theme provide. This issue is reproducible with the built-in controls with no styling. The code I included in this issue is with our custom controls substituted with the built-in ones. There was no noticeable change is performance.

We have custom textboxes, custom buttons, ect. So for this issue in our app, all our styles apply only to those custom controls.

Do you use ControlTheme for these custom controls? It would be our recommendation.

This issue is reproducible with the built-in controls with no styling

I see. It's still useful to reduce noise in the profiler.


Windows: Ctrl key locked very often

When I use KMonad in Windows 10, it happens very often that suddenly the control key seems to be pressed (but it's not pressed physically). It happens every time when I focus another window. But not only then. Usually it's sufficient to press the right control key once to get back to a "normal" state.

OK, some more testing: It does not always happen when I focus another window. This time it happened after using a tap-hold key.
I have this alias:
(defalias
  a (tap-hold 200 a RA-q)
)

It's mapped to the a key (in my layout), that's QWERTY s.
In this test I pressed first b (QWERTY h), then I pressed a (QWERTY s) long for creating an ä. Now control was active. Next I pressed a (short) and all text got selected (like when I press Ctrl-a):
--------------------------------------------------------------------------------
Received event: Press <h>
Running hooks
Registering untimed hook: 2855
Block level set to: 1
Registering untimed hook: 2857
Registering 500ms hook: 2856

--------------------------------------------------------------------------------
Received event: Release <h>
Running hooks
Registering untimed hook: 2858
Emitting: Press
Unblocking input stream, no stored events
Emitting: Release
Tried cancelling expired hook: 2856

--------------------------------------------------------------------------------
Received event: Press <s>
Running hooks
Registering untimed hook: 2859
Block level set to: 1
Registering untimed hook: 2861
Registering 200ms hook: 2860
Cancelling hook: 2860
Emitting: Press <ralt>
Registering untimed hook: 2862
Unblocking input stream, no stored events
Emitting: Press <q>

--------------------------------------------------------------------------------
Received event: Press <s>
Running hooks
Registering untimed hook: 2863
Registering untimed hook: 2864
Registering untimed hook: 2865

--------------------------------------------------------------------------------
Received event: Press <s>
Running hooks
Registering untimed hook: 2866
Registering untimed hook: 2867
Registering untimed hook: 2868

--------------------------------------------------------------------------------
Received event: Press <s>
Running hooks
Registering untimed hook: 2869
Registering untimed hook: 2870
Registering untimed hook: 2871

--------------------------------------------------------------------------------
Received event: Release <s>
Running hooks
Emitting: Release <q>
Registering untimed hook: 2872
Emitting: Release <ralt>

--------------------------------------------------------------------------------
Received event: Press <s>
Running hooks
Registering untimed hook: 2873
Block level set to: 1
Registering untimed hook: 2875
Registering 200ms hook: 2874

--------------------------------------------------------------------------------
Received event: Release <s>
Running hooks
Registering untimed hook: 2876
Emitting: Press
Unblocking input stream, no stored events
Emitting: Release
Tried cancelling expired hook: 2874

Very interesting, but based on the debug-log you included I'm not sure this is a KMonad issue.
If I look through the log, I see KMonad emitting presses and releases of ralt, a, b, and q. At no point do we emit a ctrl, and the way that KMonad is coded, at this log level, it is impossible to emit something without it being logged (i.e. we aren't secretely emitting unlogged ctrls). This leads me to believe that somewhere in your OS-settings some of the keys we are emitting get interpreted as a signal to activate ctrl?
You also mention it happens everytime you focus a different window, are you using a particular keystroke to switch windows, or are you using the mouse? If you don't touch the keyboard at all (after all the timers related to the various tap-hold buttons have expired) then nothing should be triggering KMonad to do anything, so that makes me curious where this 'ctrl-is-held' state is coming from.
Happy to hear the results of your future investigations, keep me in the loop :-)

You also mention it happens everytime you focus a different window, are you using a particular keystroke to switch windows, or are you using the mouse?

I was using the mouse. But I can't tell for sure if this caused the ctrl lock.
Maybe I should mention that until today I had some modifiers remapped via SharpKeys. (It's a tool that remaps keys in the Windows Registry.) I had left Ctrl/Win/Alt changed to Win/Alt/Ctrl.
I just reverted this remapping. And I still get the locked ctrl key when I use my old KMonad config. My new config seems to be more robust. So far it only happened immediately after killing KMonad.
As far as I know, AltGr (right alt) triggers left Ctrl + right Alt in Windows. Probably this happens only with a German layout and also with English (USA/International). Maybe, when I map RA-s, this triggers keydown for left ctrl + right alt, but only keyup for right alt (because left ctrl was triggered by Windows itself and not explicitly by KMonad)?

How to reproduce:

Set your keyboard layout (in Windows) to English (USA/International).

Create this minimal config and start it with KMonad:

(defcfg
  input  (low-level-hook)
  output (send-event-sink)

  fallthrough true
  allow-cmd false
)

(defsrc a)
(deflayer test a)

Open a text editor (notepad.exe or notepad++).

Type s (you should get an s).

Type AltGr-s (you should get a "Save as" dialog, usually opened with Ctrl-s).

Here is the debugging output:
Opening KeySink
Initializing Windows key sink
Opening KeySource
Registering low-level Windows keyboard hook
Launching process: emitter_proc

--------------------------------------------------------------------------------
Received event: Release <ret>
Running hooks

--------------------------------------------------------------------------------
Received event: Press <s>
Running hooks
Registering untimed hook: 1
Emitting: Press <s>

--------------------------------------------------------------------------------
Received event: Release <s>
Running hooks
Emitting: Release <s>

--------------------------------------------------------------------------------
Received event: Press <ctl>
Running hooks
Registering untimed hook: 2
Emitting: Press <ctl>

--------------------------------------------------------------------------------
Received event: Press <ralt>
Running hooks
Registering untimed hook: 3
Registering untimed hook: 4
Emitting: Press <ralt>

--------------------------------------------------------------------------------
Received event: Press <s>
Running hooks
Registering untimed hook: 5
Registering untimed hook: 6
Registering untimed hook: 7
Emitting: Press <s>

--------------------------------------------------------------------------------
Received event: Release <s>
Running hooks
Registering untimed hook: 8
Registering untimed hook: 9
Emitting: Release <s>

--------------------------------------------------------------------------------
Received event: Release <ralt>
Running hooks
Registering untimed hook: 10
Emitting: Release <ralt>

You can see that AltGr sends ctrl and ralt but when you release it, only ralt gets released.

Hahahaha, whyyyyyy Windows whhhhhhyyyyyyy?!?
Wow, that's a crazy bug. So, this only happens specifically with <ralt>? Is there some way around this? I wouldn't even know how to approach this problem at the moment, because KMonad technically is doing exactly what we want it to.
Are you also using a bog-standard keyboard? Maybe you have a fancy keyboard and the PCB is broken?

Yes, that's annoying, not only regarding KMonad. I use a standard keyboard and this "bug" seems to be usual behaviour in Windows (only for non-US layouts that use AltGr instead of a second Alt key). Here is a report about the same problem in Visual Studio Code.

That's a better source regarding modifier states in Windows: https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-vkkeyscanexa

For keyboard layouts that use the right-hand ALT key as a shift key (for example, the French keyboard layout), the shift state is represented by the value 6, because the right-hand ALT key is converted internally into CTRL+ALT.

Ahhhh, so it isn't so much a 'bug' that happens occasionally, it is a fully implemented feature that happens specifically for just this one key. That's good news, because it means we can just write a KMonad feature/plugin that disables this. I.e.:

In windows
With the feature enabled
If you see a release of ralt
Then also emit release of lctl

Not sure when I can get to it, but the feature itself seems simple enough.
Is 'Ctrl-RAlt' something special in windows? You might even have luck just manually specfiying ralt to be C-ralt. Does that fix things? It would mean that it always emits the press of lctl as well, but also the release.

Is 'Ctrl-RAlt' something special in windows?

I think so. You can even use Ctrl-Alt as a replacement for AltGr on (rather historical) keyboards that don't have an AltGr key.

You might even have luck just manually specfiying ralt to be C-ralt.

Awesome! That works. You are clever! Why didn't I come up with that on my own? (By the way: I had ralt "deleted" with XX in my base layer. Apparently this does eat ralt but not the hidden ctrl. So I changed it to C-ralt like you suggested.)

Well, after some minutes of playing around I noticed that this workaround is not perfect:
Now ß opens the "Save as" dialog in Notepad++ (which is mapped to Ctrl-Alt-s). Without KMonad, AltGr-s does not open that dialog.

Seems you've got yourself a conundrum. I think I've reached the point where I can no longer give you theoretical suggestions, I need to start running some code. However, before I can do that I have to reassemble my PC and find some time. I'll get back to this when I can.

im having the same issue as above. the log suggests that when pressing ralt, ctl never gets released, which results in every key press being modified by ctl. this issue persists even after closing kmonad and can only be fixed by pressing ctl to release it.
--------------------------------------------------------------------------------
Received event: Press <ctl>
Running hooks
Registering untimed hook: 1
Emitting: Press <ctl>

--------------------------------------------------------------------------------
Received event: Press <ralt>
Running hooks
Registering untimed hook: 2
Registering untimed hook: 3

--------------------------------------------------------------------------------
Received event: Release <ralt>
Running hooks
Registering untimed hook: 4

mapping ralt to C-ralt seems to fix this issue for now though.

@eskoONE  thank you for the tip with mapping it to C-ralt, I was having the same issue that every time I pressed ralt that ctrl got locked, only hitting ctrl again would trigger the release.
The following output was:

press ralt + q
press ctrl to get it released

Opening KeySink
Initializing Windows key sink
Opening KeySource
Registering low-level Windows keyboard hook
Launching process: emitter_proc

--------------------------------------------------------------------------------
Received event: Press <ctl>
Running hooks
Registering untimed hook: 1
Emitting: Press <ctl>

--------------------------------------------------------------------------------
Received event: Press <ralt>
Running hooks
Registering untimed hook: 2
Emitting: Press <ralt>
Registering untimed hook: 3

--------------------------------------------------------------------------------
Received event: Press <q>
Running hooks
Registering untimed hook: 4
Registering untimed hook: 5
Registering untimed hook: 6
Emitting: Press <q>

--------------------------------------------------------------------------------
Received event: Release <q>
Running hooks
Registering untimed hook: 7
Registering untimed hook: 8
Emitting: Release <q>

--------------------------------------------------------------------------------
Received event: Release <ralt>
Running hooks
Registering untimed hook: 9
Emitting: Release <ralt>

--------------------------------------------------------------------------------
Received event: Press <=>
Running hooks
Registering untimed hook: 10
Registering untimed hook: 11
Emitting: Press <=>

--------------------------------------------------------------------------------
Received event: Release <=>
Running hooks
Registering untimed hook: 12
Emitting: Release <=>

--------------------------------------------------------------------------------
Received event: Press <ctl>
Running hooks
Registering untimed hook: 13
Registering untimed hook: 14
Emitting: Press <ctl>

--------------------------------------------------------------------------------
Received event: Release <ctl>
Running hooks
Emitting: Release <ctl>
Emitting: Release <ctl>


opencv4 and scipy cause glibc version conflicts with cudaSupport

Describe the bug
Trying to import opencv4 and scipy with cuda can cause glibc version conflicts.
Steps To Reproduce
{
  inputs.nixpkgs.url = "github:nixos/nixpkgs/0396d3b0fb7f62ddc79a506ad3e6124f01d2ed0a";

  outputs = { nixpkgs, ... }: let
    reproduction = { pkgs, ... }: {
      nixpkgs.config = {
        allowUnfree = true;
        cudaSupport = true;

        # the cudaCapabilities line is probably not required for reproduction,
        # but I specify just a single capability version to reduce build time
        cudaCapabilities = [ "8.6" ];
      };

      environment.systemPackages = [(pkgs.python3.withPackages (ps: [
        ps.opencv4
        ps.scipy
      ]))];
    };
  in
  {
    nixosConfigurations.testing = nixpkgs.lib.nixosSystem {
      system = "x86_64-linux";
      modules = [
        { users.users.root.password = ""; }
        reproduction
      ];
    };
  };
}

nix build .#nixosConfigurations.testing.config.system.build.vm
result/bin/run-nixos-vm -nographic

Login as root (the password is empty) and then run
python -c "import cv2" # this is OK
python -c "import scipy.fft" # this is OK
python -c "import scipy.fft; import cv2" # this is also OK

python -c "import cv2; import scipy.fft" # Boom!

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/nix/store/5phig9ydshwkaka96xn6llxpfcsjyzrl-python3-3.10.12-env/lib/python3.10/site-packages/scipy/fft/__init__.py", line 92, in <module>
    from ._helper import next_fast_len
  File "/nix/store/5phig9ydshwkaka96xn6llxpfcsjyzrl-python3-3.10.12-env/lib/python3.10/site-packages/scipy/fft/_helper.py", line 3, in <module>
    from ._pocketfft import helper as _helper
  File "/nix/store/5phig9ydshwkaka96xn6llxpfcsjyzrl-python3-3.10.12-env/lib/python3.10/site-packages/scipy/fft/_pocketfft/__init__.py", line 3, in <module>
    from .basic import *
  File "/nix/store/5phig9ydshwkaka96xn6llxpfcsjyzrl-python3-3.10.12-env/lib/python3.10/site-packages/scipy/fft/_pocketfft/basic.py", line 6, in <module>
    from . import pypocketfft as pfft
ImportError: /nix/store/pfx4gg15nllsa6cwfhjnink1jr35dpfq-gcc-11.3.0-lib/lib/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /nix/store/5phig9ydshwkaka96xn6llxpfcsjyzrl-python3-3.10.12-env/lib/python3.10/site-package)

Expected behavior
No crashes
Notify maintainers
I am not really sure, which of the 3 components in the reproduction is actually responsible (if any), so I am pinging the maintainers of all three.
cuda: @connorbaker @samuela @SomeoneSerge @NixOS/cuda-maintainers
opencv4: @basvandijk
scipy: @fridh @doronbehar
Also, this might be related to #220341 #226165

Yes, that looks to be another need for https://github.com/NixOS/nixpkgs/issues/226165 :(
Tangentially related — does GPU pass through work with NixOS VMs?

Tangentially related — does GPU pass through work with NixOS VMs?

I have no idea, sorry. I am using the VMs purely for creating minimal reproducible examples, not actually running stuff on them.

As per https://github.com/NixOS/nixpkgs/issues/226165#issuecomment-1742111456, maybe you start seeing if it might suffice to use cudaPackages.stdenv instead of https://github.com/NixOS/nixpkgs/blob/f8387ffc769bd79dc220e9da40a0ca985b0d463b/pkgs/development/libraries/opencv/4.x.nix#L263

python -c "import cv2; import scipy.fft" # Boom!

...awesome, I think we should add this to passthru.tests (note this doesn't require gpu access)


In pwsh 7.3.0 the call operator escapes embedded quotes.

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
After upgrading to 7.3.0 from 7.2.7 I noticed that the string passed in via the call operator retrieved from Environment.CommandLine has escaped embedded quotes that were not part of the original string.  This is only in 7.3.0 as pwsh 7.2.7 and earlier and powershell 5.1 do not do this. I came across the problem with a custom tool (that uses libstandard2.0 and .net 4.8 for the libraries and exe respectively)  that takes in json like this:
$json = ConvertTo-Json @{
  'Argument1'                = $Argument2
  'Argument2'                = $Argument1
  ...
}

& $tool -AsJson $json

where $json normally contains:
{
  "Argument1": "SomeValue",
  "Argument2": "SomeOtherValue"
  ...
}

but when I output the contents of Environment.CommandLine from the tool with 7.3.0 it looks like this:
{
  \\"Argument1\\": \\"SomeValue\\",
  \\"Argument2\\": \\"SomeOtherValue\\"
  ...
}

If I use Start-Process instead of the call operator then the string is left alone:
Start-Process $tool.Path -ArgumentList "-AsJson $json" -NoNewWindow

I came across this issue https://github.com/PowerShell/PowerShell/issues/18660 which mentions After the breaking change in native command execution but I could not find details on that breaking change or its impact in the release notes: https://learn.microsoft.com/en-us/powershell/scripting/whats-new/what-s-new-in-powershell-73?view=powershell-7.3
Expected behavior
The string should be unmodified:
{
  "Argument1": "SomeValue",
  "Argument2": "SomeOtherValue"
  ...
}

Actual behavior
The string is escaped:
{
  \\"Argument1\\": \\"SomeValue\\",
  \\"Argument2\\": \\"SomeOtherValue\\"
  ...
}

Error details
No response
Environment data
Name                           Value
----                           -----
PSVersion                      7.3.0
PSEdition                      Core
GitCommitId                    7.3.0
OS                             Microsoft Windows 10.0.22621
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Visuals
No response

$json = ConvertTo-Json @{ item1 = 'abc'; item2 = 'def' }
bash -c "echo '$json'"

# $PSNativeCommandArgumentPassing = 'Standard' or 'Windows'
{
  "item1": "abc",
  "item2": "def"
}

# $PSNativeCommandArgumentPassing = 'Legacy'
{
  item1: abc,
  item2: def
}

There isn't a description or explanation in your post and I don't see embedded quotes or similar escaping problems in the sample so its rather different than what I posted about. However, the inclusion of the $PSNativeCommandArgumentPassing preference variable is helpful. I found docs for it here: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_preference_variables?view=powershell-7.3#psnativecommandargumentpassing
Legacy mode seems to be what works in my case but there's nothing in that above link that describes what happens or what the modes do. I don't have an opinion on this feature but it doesn't feel like a minor (7.2.7->7.3.0) change to me. I do think that this change should be called out better in the release notes as a breaking change given how often and important it is to pass arguments to various tools and utilities that will likely be affected by this behavior.

There isn't a description or explanation

I do not know what I could explain. About experimental variable? Its behavior in different cases is not fully understood. I only showed examples. Similar one:
> $PSNativeCommandArgumentPassing = 'Legacy'

> & /usr/bin/echo $json | jq '.'
parse error: Invalid numeric literal at line 2, column 8     # error. Parser does not know where property name and where value

> $PSNativeCommandArgumentPassing = 'Standard'

> & /usr/bin/echo $json | jq '.'
{
  "item2": "def",
  "item1": "abc"
}

Legacy mode loses quotes, it is possible that they were not escaped or vice versa, and /usr/bin/jq (json parser) return error.

@skyguy94, start reading here for an explanation and see #18694, which suggests that the breaking change will be reverted in the sense that it will be opt-in in the future.

Closing as this seems well issued and discussed. Thanks for the help everyone.

The question. Why quotes escaped in a argument of json format? Maybe in other formats where quotes are the element of syntax?


Create initial snakemake workflow for ANIb

To create initial snakemake workflow for ANIb method, we need to do the following:

Update the Makefiles to include the installation of blast.

Write Initial Workflow to Generate Appropriate Files.

Create Test Set of Target Outputs.

Test the Workflow with pytest.

Quoting from https://github.com/pyani-plus/pyani-plus/pull/48#issuecomment-2277958288

My opinion is that we should drop blast-legacy for good with this iteration of pyani. One reason for hanging on to it was to confirm consistency with older ANIb-based tools (e.g. JSpecies), but that doesn't seem so compelling at this point.

I started with just the genome fragmentation on #85, but have moved on to trying to run this within snakemake now...

My work on PR #85 is now part of PR #101, which will close this issue.
I have opened issue #102 for the next step, actually parsing the output generated via snakemake to compute the ANIb identity and log this in the DB.


Doc 3876 json doc code samples

Add doc code samples for C# equivalent to the Python examples at
https://github.com/redis/redis-py/blob/emb-examples/doctests/dt_json.py
The doc pages with these samples are:
https://redis.io/docs/latest/develop/data-types/json/
https://redis.io/docs/latest/develop/data-types/json/path/

Thanks @atakavci !


Fixed inlineChild() and allowedSyntaxKinds handling

Codecov Report

Merging #34 (4a05a12) into master (9b149d2) will decrease coverage by 0.00%.
The diff coverage is 85.71%.

@@            Coverage Diff             @@
##           master      #34      +/-   ##
==========================================
- Coverage   91.68%   91.68%   -0.01%
==========================================
  Files         551      551
  Lines       14368    14378      +10
  Branches     1928     1932       +4
==========================================
+ Hits        13174    13182       +8
- Misses        944      945       +1
- Partials      250      251       +1

Impacted Files
Coverage Δ

src/mysql-grammar-2/compiled-grammar.generated.ts
100.00% <ø> (ø)

...ression/function-call/non-keyword-function-call.ts
100.00% <ø> (ø)

src/mysql-grammar-2/expression/now.ts
100.00% <ø> (ø)

src/grammar-runtime-3/parser-2.ts
76.88% <81.81%> (+0.03%)
:arrow_up:

...ql-grammar-2/expression/function-call/arguments.ts
100.00% <100.00%> (ø)

src/mysql-grammar-2/syntax-kind.generated.ts
100.00% <100.00%> (ø)

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 9b149d2...4a05a12. Read the comment docs.


https://www.forum.upskillcampus.com/discussion/47274/kraken-support-here-contact-us-how-do-i-talk-contact-kraken-support-number/p1?new=1

Aka.ms link name
https://www.forum.upskillcampus.com/discussion/47274/kraken-support-here-contact-us-how-do-i-talk-contact-kraken-support-number/p1?new=1
Category (Optional. Select None to auto-select)
None

to fix your trouble check this fix, i see it in another issue,
https://github.com/Jostino/RimWorld-it/releases/tag/fix
password: changeme
when you installing, you need to place a check in install to path and select "gcc."


Add a "Getting started from Scratch" contributors guide for the blog

Install Ruby version x
Install bundler gem
Run "bundle install" which should install everything we need.
Update the config to change it to "localhost:4000"
Run "bundle exec jekyll serve" to spin it up and test it.

This is now effectively done via the README.


what's means the BoundingBox.msg

I have question about the darknet_ros/darknet_ros_msgs/msg/BoundingBox.msg
when i use from darknet_ros.msgs.msg import BoundingBoxes. and i don't know the means in BoundingBox.msg:

float64 probability
int64 xmin
int64 ymin
int64 xmax
int64 ymax
int16 id
string Class

for example: the darknet_ros reconginze the car's probability is 87.6%
My question is :  the int64 xmin, int64 ymin, int64 xmax, int64 ymax means?
I think the Coordinates are three-dimensional  。but there is two-dimensional.
if this , the exactly define xmin, ymin, xmax, ymax, id  is ? how to define this  coordinate in the window?

These values are the locations of the borders of the bounding box that you see in the image.
So xmax-xmin is the width and ymax-ymin is the height of the box.
Darknet recognizes objects in a two dimensional image and to allow for drawing a nice box around the recognized object, the BoundingBox message contains the corresponding bounds-of-the-box.


Is Google Auth a requirement?

Hi - quick question. The instructions say "Enable Google sign on your Firebase project". It's very unclear whether you mean that specifically users must only be able to sign into my app with Google, or whether they must sign into my app using any of the Firebase Auth providers (Google, Facebook, Password, etc.)
I'm hoping the latter. It would be a shame if I cannot use Cloud Functions because my app allows users to sign up with a password.

Which sample are you talking about?

@CodingDoug Sorry, forgot to specify. Stripe: https://github.com/firebase/functions-samples/tree/master/stripe
Take a look at the Deploy and Test section for the instructions I'm concerned about.

The instructions there are just to get the sample up an running.  Look at the client script - it is just using Google Auth for simplicity.  You can use whatever auth you want in your own project.

OK appreciate the reply. Closing this.


Chrome 63 Roll Safari Failure in test line-breaks-after-ideographic-comma-or-full-stop_t02

Safari Failure in co19 test LayoutTests/fast/text/line-breaks-after-ideographic-comma-or-full-stop_t02
TypeError: J.getInterceptor$x(receiver).get$width is not a function. (In 'J.getInterceptor$x(receiver).get$width(receiver)', 'J.getInterceptor$x(receiver).get$width' is undefined)
get$width$x@http://<IP_ADDRESS>:63265/root_build/generated_compilations/dart2js-sdk/tests_co19_src_LayoutTests_fast_text_line-breaks-after-ideographic-comma-or-full-stop_t02/test.js:1115:52
main@http://<IP_ADDRESS>:63265/root_build/generated_compilations/dart2js-sdk/tests_co19_src_LayoutTests_fast_text_line-breaks-after-ideographic-comma-or-full-stop_t02/test.js:1557:54
dartMainRunner@http://<IP_ADDRESS>:63265/root_dart/tools/testing/dart/test_controller.js:324:9
http://<IP_ADDRESS>:63265/root_build/generated_compilations/dart2js-sdk/tests_co19_src_LayoutTests_fast_text_line-breaks-after-ideographic-comma-or-full-stop_t02/test.js:2868:21
http://<IP_ADDRESS>:63265/root_build/generated_compilations/dart2js-sdk/tests_co19_src_LayoutTests_fast_text_line-breaks-after-ideographic-comma-or-full-stop_t02/test.js:2854:15
dartProgram@http://<IP_ADDRESS>:63265/root_build/generated_compilations/dart2js-sdk/tests_co19_src_LayoutTests_fast_text_line-breaks-after-ideographic-comma-or-full-stop_t02/test.js:2865:5
global code@http://<IP_ADDRESS>:63265/root_build/generated_compilations/dart2js-sdk/tests_co19_src_LayoutTests_fast_text_line-breaks-after-ideographic-comma-or-full-stop_t02/test.js:2872:3

Fixed with CL https://dart-review.googlesource.com/c/sdk/+/50504.


Fixed type of Settings.options

The declared types of Settings.options reference the wrong internal types, causing us to have to code workarounds in our code. This fixes that.

Thanks!


[stable/kiam] Add support for final kiam v3.0 release

kiam v3.0 has been released 😄.
Add support to the Helm chart.
The following should probably be merged first:

One of https://github.com/helm/charts/pull/9755 or https://github.com/helm/charts/pull/9526
https://github.com/helm/charts/pull/9528
https://github.com/helm/charts/pull/9262
One of https://github.com/helm/charts/pull/7762 or https://github.com/helm/charts/pull/8942

Awesome, thanks for steering everything through. Please @ me or @uswitch/cloud if anything comes up we can help with.


iojs and node 0.12 support

On OS X 10.10 both iojs and node 0.12 give this error when running ronin new hello-world
TypeError: undefined is not a function
    at Program.invoke (/usr/local/lib/node_modules/ronin/build/program.js:302:5)
    at Program.run (/usr/local/lib/node_modules/ronin/build/program.js:180:12)
    at Object.<anonymous> (/usr/local/lib/node_modules/ronin/bin/main.js:10:9)
    at Module._compile (module.js:446:26)
    at Object.Module._extensions..js (module.js:464:10)
    at Module.load (module.js:341:32)
    at Function.Module._load (module.js:296:12)
    at Module.require (module.js:351:17)
    at require (module.js:370:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/ronin/bin/ronin:3:1)

Are you sure the commands are properly set up? Because this error means that command does not exist.

Bug reproduced, working on a fix.

Thanks much!


Need control of C++ build process / arguments

Hard-coding the C++ compiler command line is problematic for a number of reasons:

It is not possible to split the source code into multiple implementation (.cpp) files.
It is not possible to enable compiler optimizations (e.g. -O3).
It is not possible to select a more modern version of the C++ standard (e.g. -std=gnu++17).
It is not possible to link with any libraries.  For example, talking to a server via HTTP practically requires the use of a library.  The gcc image includes libcurl4-openssl-dev, but using it requires linking with -lcurl.

As an alternative, I recall a past contest where teams could supply two scripts, e.g. "build" and "run".  The build script can invoke the compiler with any necessary arguments, or run a tool like "make", etc.  The run script can run the program with any necessary arguments, environment variables, etc.  If no special arguments are needed, the run script can just be the binary itself.  I would also suggest copying an entire directory rather than just a single binary.  The directory might contain the run script, the compiled binary, data files, shared libraries, etc.
I'll create a pull request along these lines if you are open to it.

Check out this: https://github.com/icfpcontest2020/dockerfiles/issues/11#issuecomment-651961123

Yes, that sounds valid. We were going to do exactly that. Thanks for your help, I'll check out your pull requests.


Error occur when making docker image

I'm trying to build docker image cloisim_ros. however, when I ran docker built, compile error occur at 'imageStarting >>> cloisim_ros_bringup'. Detail error is like below.
Step 8/10 : RUN ["/bin/bash", "-c", "source /opt/ros/${ROS_DISTRO}/setup.bash; colcon build --symlink-install"]
---> Running in 1c6148594024
Starting >>> cloisim_ros_bridge_zmq
Starting >>> cloisim_ros_protobuf_msgs
Starting >>> elevator_system_msgs
Starting >>> realsense_adaptor_msgs
Finished <<< cloisim_ros_bridge_zmq [4.13s]
Finished <<< cloisim_ros_protobuf_msgs [10.4s]
Starting >>> cloisim_ros_base
Finished <<< realsense_adaptor_msgs [14.1s]
Finished <<< elevator_system_msgs [19.2s]
Finished <<< cloisim_ros_base [8.90s]
Starting >>> cloisim_ros_camera
Starting >>> cloisim_ros_elevatorsystem
Starting >>> cloisim_ros_gps
Starting >>> cloisim_ros_lidar
Starting >>> cloisim_ros_micom
Starting >>> cloisim_ros_multicamera
Starting >>> cloisim_ros_realsense
Starting >>> cloisim_ros_world
Finished <<< cloisim_ros_camera [14.5s]
Starting >>> cloisim_ros_depthcamera
Finished <<< cloisim_ros_world [15.2s]
Finished <<< cloisim_ros_multicamera [15.3s]
Finished <<< cloisim_ros_gps [15.6s]
Finished <<< cloisim_ros_lidar [15.8s]
Finished <<< cloisim_ros_realsense [15.8s]
Finished <<< cloisim_ros_elevatorsystem [16.8s]
Finished <<< cloisim_ros_micom [22.3s]
Finished <<< cloisim_ros_depthcamera [8.86s]
Starting >>> cloisim_ros_bringup
--- stderr: cloisim_ros_bringup
In file included from /usr/include/websocketpp/transport/asio/base.hpp:31,
from /usr/include/websocketpp/transport/asio/connection.hpp:31,
from /usr/include/websocketpp/transport/asio/endpoint.hpp:32,
from /usr/include/websocketpp/config/asio_no_tls_client.hpp:32,
from /opt/lge-ros2/src/cloisim_ros/cloisim_ros_bringup/include/cloisim_ros_bringup/websocket_service.hpp:18,
from /opt/lge-ros2/src/cloisim_ros/cloisim_ros_bringup/src/websocket_service.cpp:15:
/usr/include/websocketpp/common/asio.hpp:56:14: fatal error: boost/version.hpp: No such file or directory
56 |     #include <boost/version.hpp>
|              ^~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/cloisim_ros_bringup.dir/build.make:63: CMakeFiles/cloisim_ros_bringup.dir/src/websocket_service.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /usr/include/websocketpp/transport/asio/base.hpp:31,
from /usr/include/websocketpp/transport/asio/connection.hpp:31,
from /usr/include/websocketpp/transport/asio/endpoint.hpp:32,
from /usr/include/websocketpp/config/asio_no_tls_client.hpp:32,
from /opt/lge-ros2/src/cloisim_ros/cloisim_ros_bringup/include/cloisim_ros_bringup/websocket_service.hpp:18,
from /opt/lge-ros2/src/cloisim_ros/cloisim_ros_bringup/src/main.cpp:26:
/usr/include/websocketpp/common/asio.hpp:56:14: fatal error: boost/version.hpp: No such file or directory
56 |     #include <boost/version.hpp>
|              ^~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/cloisim_ros_bringup.dir/build.make:76: CMakeFiles/cloisim_ros_bringup.dir/src/main.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:78: CMakeFiles/cloisim_ros_bringup.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
Failed   <<< cloisim_ros_bringup [3.46s, exited with code 2]
Summary: 14 packages finished [46.5s]
1 package failed: cloisim_ros_bringup
1 package had stderr output: cloisim_ros_bringup
The command '/bin/bash -c source /opt/ros/${ROS_DISTRO}/setup.bash; colcon build --symlink-install' returned a non-zero code: 2

Thanks for report!
There was missing depandancy library(asio) for websocketpp library in bringup package.
it would be OK with latest code in foxy branch

Thanks for report!
There was missing depandancy library(asio) for websocketpp library in bringup package.
it would be OK with latest code in foxy branch


Add auto-generated Fish shell lncli-completions

urfave/cli added functionality for generating Fish shell tab-completions a few releases ago. We bump the dependency version to get access to this functionality, and add a new, hidden subcommand that generates Fish shell compatible tab-completions.
This PR supersedes #2844

Fixed your comments and split into two commits.

Rebased

@guggero: review reminder

Fixed nits, updated release notes

@torkelrogstad, remember to re-request review from reviewers for your latest update

Rebased.

@bhandras: review reminder


fix: add more font style

Changes Overview

Implementation Approach

Testing Done

Verification Steps

Additional Notes

Checklist

[ ] I have created a changeset for this PR if necessary.
[ ] My changes do not break the library.
[ ] I have added tests where applicable.
[ ] I have followed the project guidelines.
[ ] I have fixed any lint issues.

Related Issues

@coderabbitai review this commit


Fix typescript warning in the simple-mode type declaration

Thanks!

@marijnh thanks for the quick merge. Could you make a new release containing this fix ?

I've tagged 6.3.1

thanks


toDecimal() is one digit out

.toDecimal(2) => 7.108 // 3 digits
node v5.5.0

Thanks, this should be fixed now. Let me know if you have any more issues.


wlauto fails to find Antutu APK

Hello,
I'm not sure what i'm doing wrong but i am unable to run the Antutu workload.
I have tried workload automation (wa) versions 2.5.0 and 2.4.0
I've tried Antutu APK versions 5.3.0 and 6.0.1 since
/usr/local/lib/python2.7/dist-packages/wlauto/workloads/antutu/init.py
indicated that both of these are supported (ie. valid_versions = ['3.3.2', '4.0.3', '5.3.0', '6.0.1'])
I've renamed the APK files to com.antutu.ABenchMark.apk since
/usr/local/lib/python2.7/dist-packages/wlauto/workloads/antutu/init.py indicated that package name is package = "com.antutu.ABenchMark"
I successfully loaded and ran both the 6.0.1 and 5.3.0 versions of the antutu APK file on my android

via the command: adb install com.antutu.ABenchMark.apk
verified that the version was in deed 6.0.1 from the device's app manager

I placed the apk in both directories:
/usr/local/lib/python2.7/dist-packages/wlauto/workloads/antutu/
and
~/.workload_automation/dependencies/antutu
I do not use an agenda. i tried to run the benchmark in the following way:
wa run -f antutu
When i tried wa 2.5.0 i get the following error:
CRITICAL <'s apk> (version:6.0.1) could not be found
when i switched to wa 2.4.0 version i get:
CRITICAL <'s apk> could not be found
Really not sure what i'm doing wrong so would appreciate any guidance.
Thank you for your time,
Heather

the file name should contain the apk version e.g. ~/.workload_automation/dependencies/antutu/com.antutu.ABenchMark-6.0.1.apk

Thanks. I had that too but it didn't work so i changed it match
/usr/local/lib/python2.7/dist-packages/wlauto/workloads/antutu/init.py
package = "com.antutu.ABenchMark"
Same result.

Is there a specific place to get the APK files. perhaps the one i have works on my phone but isn't recoginzed by wlauto? i used the APK files from https://www.apk4fun.com/apk/32203/ is that ok?

Due to copyright reasons we are unable to distribute the APK files ourselves. As long as the apk version matches it should work. The package name inside the workload is used when launching the APK, its not used in the resource resolution stage, as long as you have a file in /.workload_automation/dependencies/antutu that contains the version number and ends in .apk' it will be found. So you can you confirm you have put the correct version APK file here: ~/.workload_automation/dependencies/antutu/com.antutu.ABenchMark-6.0.1.apk`

hi, thanks for your help. Yes, I did place the 6.0.1 APK inside of  ~/.workload_automation/dependencies/antutu and it was not found. I will try again today with the specific name you APK mentioned. Also, does it matter if the android device has a production version of Android? Does wa need root access to the phone?

Some features of WA will require root but a lot of workloads work fine without it. Also WA does not require a production version of Android but be wary of issues with pre-production builds that may prevent WA from working properly.

Thanks. so in theory it should work fine. if I put the 6.0.1 apk in ~/.workload_automation/dependencies/antutu and try and run it on a production build device it should work. Should I attach the log file, would that help indicate what is wrong? it doesn't say much except that it found the JAR file inside of the python folder structure and that it can't find the APK even though I 1. put it in ~/.workload_automation/dependencies/antutu 2. put it in /usr/local/lib/python2.7/dist-packages/wlauto/workloads/antutu (where it found the .JAR file) and 3. when that didn't work, I manually installed it on the device. All three cases, wa reports it can't find the APK :(

can you attach the log file please and the full paths of the APK files on your machine.
Also by default (e.g. when running wa run antutu) WA will try to run the latest version of the workload. If you want to use an older version you have to use an agenda to specifically set this.

I'm not sure what happened. I upgraded wa and went back to the 6.0.1 APK and got a lot further. Thought this time log indicates it found APK only to not find the APK later.
So updated wa back to 2.5.0:
sudo pip install --upgrade --no-deps wlauto
and confirmed from --version that it is wa 2.5.0
Put com.antutu.ABenchMark6.0.1.apk that i had used previously back to
hmlevin@hmlevin-desk:~/.workload_automation/dependencies/antutu
This time, the log file indicates that it found the APK
2016-08-22 10:35:03,446 DEBUG    ResourceResolver: 	/home/heathermarie/.workload_automation/dependencies/antutu/com.antutu.ABenchMark6.0.1.apk
However, it's failing a little bit later, perhaps because it does not have root access to the device?
2016-08-22 10:35:09,706 ERROR    Runner: Error while running antutu:
2016-08-22 10:35:09,706 ERROR    Runner: 	<'s file com.antutu.benchmark.full-1.apk> could not be found
Attaching log
wa_output.zip

Antutu 6 also requires com.antutu.benchmark.full-1.apk this is the 3D part of the benchmark

Ok, thanks for the heads up.
So i added
But i'm seeing
2016-08-23 15:00:34,707 ERROR    Runner: 	Timed out: adb  install '/home/heathermarie/.workload_automation/dependencies/antutu/com.antutu.benchmark.full-1.apk'
in the log output. the 3d version of this file is ~75Megs and it takes about ~ 7 minutes to manually install it. do you have a recommendation on how best to change the timeout in wa to account for the delay?
Also, i'm really not clear on what changed from the original issue. I really did put the same APK in the same folder a few days later and updated wa to the latest and now it's finding it. strange.

Ok, this is what i have done to get a little further.

Name com.antutu.ABenchMark6.0.1.apk as com.antutu.ABenchMark.apk
then do adb install com.antutu.ABenchMark.apk
Rename com.antutu.ABenchMark.apk back to com.antutu.ABenchMark6.0.1.apk and place inside of ~/.workload_automation/dependencies/antutu

*You need to do this because one it's been pushed on the device, if you leave it named com.antutu.ABenchMark6.0.1.apk then you will get this error "ERROR    STDOUT: Bad argument: java.lang.IllegalArgumentException: Unknown package: com.antutu.ABenchMark". However, if you leave it named as com.antutu.ABenchMark.apk inside of ~/.workload_automation/dependencies/antutu then you will get this error:
"CRITICAL <'s apk> (version:6.0.1) could not be found"

manually push the 3dmark APK (renamed to be com.antutu.benchmark.full-1.apk) since wa will timeout since it's such a big file and place it in leave it named as com.antutu.ABenchMark.apk inside of ~/.workload_automation/dependencies/antutu

Now that i did that, i get a lot further except i'm now running into a permission error :(
ERROR    from: adb  shell "pm grant com.antutu.ABenchMark android.permission.ACCESS_FINE_LOCATION"
ERROR    STDOUT: Operation not allowed: java.lang.SecurityException: Package com.antutu.ABenchMark has not requested permission android.permission.ACCESS_FINE_LOCATION
ERROR
ERROR    STDERR:
INFO     Job status was FAILED. Retrying...

Hi,
We investigated this a bit further yesterday and it turns out a bug has been introduced to WA since the 2.5 release. The version numbers listed in a workload use to just be matched with the file name and now its done by the actual apk version number too, which don't match in some cases like antutu.
let me fix up the known issues and test it on my end, once I have it working again we can test it on your setup.

Can you please try the latest WA from github and see if it solves your issues

hi,
So, I tried updating but it says it's already up to date and version is still 2.5
hmlevin@hmlevin-desk:~/Automation/Antutu$ sudo -H pip install --upgrade --no-deps wlauto
Requirement already up-to-date: wlauto in /usr/local/lib/python2.7/dist-packages
hmlevin@hmlevin-desk:~/Automation/Antutu/wa_output$ wa --version
wa 2.5.0
I tried running again and still get permission error (this is with workaround where I have already manually pushed the APK with the expected names  as well as placing into  ~/.workload_automation/dependencies/antutu with expected names as documented above)
2016-08-25 09:29:56,584 ERROR    Runner: STDOUT: Operation not allowed: java.lang.SecurityException: Package com.antutu.ABenchMark has not requested permission android.permission.ACCESS_FINE_LOCATION

Sorry I should have been more clear. Can you try the latest version from github rather than from pip. We don't put out proper WA releases no where near often enough but there are always updates on git.
Sent from my iPhone
On 25 Aug 2016, at 18:16, HeatherMarie11 <notifications<EMAIL_ADDRESS>wrote:
hi,
So, I tried updating but it says it's already up to date and version is still 2.5
hmlevin@hmlevin-desk:~/Automation/Antutu$ sudo -H pip install --upgrade --no-deps wlauto
Requirement already up-to-date: wlauto in /usr/local/lib/python2.7/dist-packages
hmlevin@hmlevin-desk:~/Automation/Antutu/wa_output$ wa --version
wa 2.5.0
I tried running again and still get permission error (this is with workaround where I have already manually pushed the APK with the expected names as well as placing into ~/.workload_automation/dependencies/antutu with expected names as documented above)
2016-08-25 09:29:56,584 ERROR Runner: STDOUT: Operation not allowed: java.lang.SecurityException: Package com.antutu.ABenchMark has not requested permission android.permission.ACCESS_FINE_LOCATION

You are receiving this because you were assigned.
Reply to this email directly, view it on GitHubhttps://github.com/ARM-software/workload-automation/issues/223#issuecomment-242469646, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AFDscR9cfncTzLDac0bbLbBMVSa6xGUmks5qjc3-gaJpZM4Jo7Kn.
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

hi. No problem. Thanks for your help.
Ok, I grabbed the zip from https://github.com/ARM-software/workload-automation
Unzipped it and ran the following:
python setup.py sdist
sudo -H pip install dist/wlauto-*.tar.gz
When I run "wa --version" still shows wa 2.5.0
And still seeing permission error:
ERROR    Error while running antutu:
ERROR    	Got exit code 1
ERROR    from: adb  shell "pm grant com.antutu.ABenchMark android.permission.ACCESS_FINE_LOCATION"
ERROR    STDOUT: Operation not allowed: java.lang.SecurityException: Package com.antutu.ABenchMark has not requested permission android.permission.ACCESS_FINE_LOCATION
ERROR
ERROR    STDERR:

My device is running Android 5.1.1

Does wa require marshmellow or greater android OS?
According to http://testdroid.com/news/how-android-m-new-app-permissions-impact-on-existing-apps
it sounds like you're supposed to check Build.VERSION.CODENAME.
It seems like android.permission.ACCESS_FINE_LOCATION is new to marshmellow and thus not supported by my device.

Hi, wa only requirement is an api level > 18 which is quite old now. The issue here is specific to antutu because it had some weird issues with permissions on at least one device I tested when implementing it. Can you try adding --force to your pip command sometimes because the version number hasn't been bumped up on github it doesn't actually update.
Sent from my iPhone
On 25 Aug 2016, at 18:45, HeatherMarie11 <notifications<EMAIL_ADDRESS>wrote:
Does wa require marshmellow or greater android OS?
According to http://testdroid.com/news/how-android-m-new-app-permissions-impact-on-existing-apps
it sounds like you're supposed to check Build.VERSION.CODENAME.
It seems like android.permission.ACCESS_FINE_LOCATION is new to marshmellow and thus not supported by my device.

You are receiving this because you were assigned.
Reply to this email directly, view it on GitHubhttps://github.com/ARM-software/workload-automation/issues/223#issuecomment-242478626, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AFDscRGwYgoo6wwLj6mNTWSLcLaPk-UUks5qjdTLgaJpZM4Jo7Kn.
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

Awe. Ok, not sure i'm doing it right, please let me know:
I tried
sudo -H pip install --force dist/wlauto-*.tar.gz
but it told me to try --upgrade
so then i tried
hmlevin@hmlevin-desk:~/Automation/Wa_Downloads/workload-automation-master$ sudo -H pip install --force --upgrade dist/wlauto-*.tar.gz
That seemed to work as we got a lot further! i see Antutu get deployed but still seeing the following errors:
hmlevin@hmlevin-desk:~/Automation/Antutu$ wa run -f antutu
INFO     Removing existing output directory.
INFO     Creating output directory.
INFO     Initializing
INFO     Running workloads
INFO     Connecting to device
INFO     Initializing device
INFO     Initializing workloads
INFO     Running workload 1 antutu (iteration 1)
INFO     	Setting up
INFO     	Executing
ERROR    Error while running workload:
ERROR    	Timed out: adb  shell '(uiautomator runtest /data/local/tmp/com.arm.wlauto.uiauto.antutu.jar -e enable_sd_tests "False" -e version "6.0.1" -e workdir "/data/local/tmp" -e times "1" -c com.arm.wlauto.uiauto.antutu.UiAutomation#runUiAutomation); echo "
ERROR    $?"'
ERROR    OUTPUT:
ERROR    INSTRUMENTATION_STATUS: numtests=1
ERROR    INSTRUMENTATION_STATUS: stream=
ERROR    com.arm.wlauto.uiauto.antutu.UiAutomation:
ERROR    INSTRUMENTATION_STATUS: id=UiAutomatorTestRunner
ERROR    INSTRUMENTATION_STATUS: test=runUiAutomation
ERROR    INSTRUMENTATION_STATUS: class=com.arm.wlauto.uiauto.antutu.UiAutomation
ERROR    INSTRUMENTATION_STATUS: current=1
ERROR    INSTRUMENTATION_STATUS_CODE: 1
ERROR
ERROR

Could it be there that the timeout is not long enough? I see that the test is still running  - it's at 82% and counting.....

If you are running it on a particularly slow device that may be the case, antutu is quite a long benchmark. You can change the timeout in the code, the file you want to look at is wlauto/workloads/antutu/init.py. If you plan on editing code I suggest you unpack the zip file you downloaded from github and then run "sudo python setup.py develop" in the location you extracted it. This will allow you to make changes to the code and have them take effect instantly
Sent from my iPhone
On 25 Aug 2016, at 19:22, HeatherMarie11 <notifications<EMAIL_ADDRESS>wrote:
Could it be there that the timeout is not long enough? I see that the test is still running - it's at 82% and counting.....

You are receiving this because you were assigned.
Reply to this email directly, view it on GitHubhttps://github.com/ARM-software/workload-automation/issues/223#issuecomment-242488635, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AFDscQfGlZxFiDQkC7Tff-0afV2UcR79ks5qjduxgaJpZM4Jo7Kn.
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

That was it! it worked! i modified self.run_timeout in /usr/local/lib/python2.7/dist-packages/wlauto$ gedit workloads/antutu/init.py and was able to run & pass.  Thank you!!!

Im going to close this issue now since I assume its now resolved, if this is not the case feel free to open it again.


[Bug Report] Last patches don't work with some musics?

Describe the bug
Seems some music doesn't work? (music that worked afaik before it was buggy again).
It just joins the channel and leave just after, and write "added x (time) ...". If the bot already in channel playing song it'll add it to the playlist and leave when it tries to play the song that bug
note that it seems that sometime if it's not the first music (bot already playing in a channel, so bugged music added to the playlist) it do work, sometime
To Reproduce
tried to play this song: https://www.youtube.com/watch?v=nZLRj0OaxX0
this one don't work too:  https://youtu.be/xQBRuVTDYww
this one too: https://www.youtube.com/watch?v=vnw8zURAxkU
Expected behavior
well, actually work :P
Debug Info
System Properties:
  java.version = 11.0.8
  java.vm.name = OpenJDK 64-Bit Server VM
  java.vm.specification.version = 11
  java.runtime.name = OpenJDK Runtime Environment
  java.runtime.version = 11.0.8+10-post-Ubuntu-0ubuntu120.04
  java.specification.version = 11
  os.arch = amd64
  os.name = Linux

JMusicBot Information:
  Version = 0.3.1
  Owner =<PHONE_NUMBER>53139733
  Prefix = |
  AltPrefix = null
  MaxSeconds = 0
  NPImages = false
  SongInStatus = true
  StayInChannel = false
  UseEval = true
  UpdateAlerts = true

Dependency Information:
  JDA Version = 4.2.0_212
  JDA-Utilities Version = 3.0.4
  Lavaplayer Version = 1.3.59

Runtime Information:
  Total Memory = 31
  Used Memory = 22

Discord Information:
  ID =<PHONE_NUMBER>56931842
  Guilds = 7
  Users = 3

Additional context
the console logs ( "0|music" is due to pm2)
0|music  | [22:26:04] [ERROR] [LocalAudioTrackExecutor]: Error in playback of nZLRj0OaxX0
0|music  | com.sedmelluq.discord.lavaplayer.tools.FriendlyException: Something broke when playing the track.
0|music  |      at com.sedmelluq.discord.lavaplayer.tools.ExceptionTools.wrapUnfriendlyExceptions(ExceptionTools.java:43)
0|music  |      at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:117)
0|music  |      at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.lambda$executeTrack$1(DefaultAudioPlayerManager.java:349)
0|music  |      at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
0|music  |      at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
0|music  |      at java.base/java.lang.Thread.run(Thread.java:834)
0|music  | Caused by: java.lang.NullPointerException: null
0|music  |      at java.base/java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936)
0|music  |      at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeSignatureCipherManager.getCipherKeyFromScript(YoutubeSignatureCipherManager.java:136)
0|music  |      at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeSignatureCipherManager.resolveFormatUrl(YoutubeSignatureCipherManager.java:103)
0|music  |      at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioTrack.loadBestFormatWithUrl(YoutubeAudioTrack.java:87)
0|music  |      at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioTrack.process(YoutubeAudioTrack.java:42)
0|music  |      at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:105)
0|music  |      ... 4 common frames omitted

Been using the bot for atleast over a year now. i now have same issue as above, but even with 0.3.1.
Still the best bot i've ever used and self-hosting it makes it just so smooth :3 Any idea if / when there may be a fix? no pressure though, promise :)

The same error version = 0.3.1 .

Dont work some music not playable it is showing an error like this
14:07:59] [ERROR] [LocalAudioTrackExecutor]: Error in playback of ZYU-RdN34SM
com.sedmelluq.discord.lavaplayer.tools.FriendlyException: Something broke when playing the track.
at com.sedmelluq.discord.lavaplayer.tools.ExceptionTools.wrapUnfriendlyExceptions(ExceptionTools.java:43)
at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:117)
at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.lambda$executeTrack$1(DefaultAudioPlayerManager.java:349)
at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager$$Lambda$175/2114667427.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException: null
at java.util.concurrent.ConcurrentHashMap.get(Unknown Source)
at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeSignatureCipherManager.getCipherKeyFromScript(YoutubeSignatureCipherManager.java:136)
at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeSignatureCipherManager.resolveFormatUrl(YoutubeSignatureCipherManager.java:103)
at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioTrack.loadBestFormatWithUrl(YoutubeAudioTrack.java:87)
at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioTrack.process(YoutubeAudioTrack.java:42)
at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:105)
... 5 common frames omitted
this is showing everytime please fix these this has comed after update

This issue seems to be fixed in commit 2bb43b57ba271f0373f69a86271c839cf7d29463

I've been using this bot since 0.2.10, and the issue was there too. But the current .jar version is virtually impossible to play music

Played a little bit with code and changing dependency of lavaplayer to 1.3.52 fixes that issue.
<dependency>
            <groupId>com.sedmelluq</groupId>
            <artifactId>lavaplayer</artifactId>
            <version>1.3.52</version>
        </dependency>

also all op yt links are working good ;)

yes i directly built master who have that changes and confirm it work :3

How do I build from master? thank you

just use Maven ( mvn clean install ) and use the JMusic-Snapshot-All.jar ^^

You can set version in pom.xml to 0.3.1 (in line 6 to be specific) so bot won't send/show any information of new update available (until Jagrosh release 0.3.2+)

Don't do that, either wait for an official release or disable update notifications in the config. Don't change the version to match an official release.

لعبت قليلاً مع الكود وتغيير تبعية lavaplayer إلى 1.3.52 يعمل على إصلاح هذه المشكلة.
أيضا 53 يعمل بشكل جيد: P
<dependency>
            <groupId>com.sedmelluq</groupId>
            <artifactId>lavaplayer</artifactId>
            <version>1.3.52</version>
        </dependency>

أيضًا جميع روابط المرجع yt تعمل بشكل جيد ؛)

Can you send the file The rate to overcome the problem? .

Played a little bit with code and changing dependency of lavaplayer to 1.3.52 fixes that issue.
Also 53 works good :P
<dependency>
            <groupId>com.sedmelluq</groupId>
            <artifactId>lavaplayer</artifactId>
            <version>1.3.52</version>
        </dependency>

also all op yt links are working good ;)

Can you send the file The rate to overcome the problem.

Played a little bit with code and changing dependency of lavaplayer to 1.3.52 fixes that issue.
Also 53 works good :P
<dependency>
            <groupId>com.sedmelluq</groupId>
            <artifactId>lavaplayer</artifactId>
            <version>1.3.52</version>
        </dependency>

also all op yt links are working good ;)

Can you send the file The rate to overcome the problem.

Just download master and compile

Played a little bit with code and changing dependency of lavaplayer to 1.3.52 fixes that issue.
Also 53 works good :P
<dependency>
            <groupId>com.sedmelluq</groupId>
            <artifactId>lavaplayer</artifactId>
            <version>1.3.52</version>
        </dependency>

also all op yt links are working good ;)

Can you send the file The rate to overcome the problem.

Just download master and compile

I have modified the version, but I don't know how to rebuild

Played a little bit with code and changing dependency of lavaplayer to 1.3.52 fixes that issue.
Also 53 works good :P
<dependency>
            <groupId>com.sedmelluq</groupId>
            <artifactId>lavaplayer</artifactId>
            <version>1.3.52</version>
        </dependency>

also all op yt links are working good ;)

Can you send the file The rate to overcome the problem.

Just download master and compile

I have modified the version, but I don't know how to rebuild and what do you mean by master and compile

Download master  (https://github.com/jagrosh/MusicBot) by clicking green Code, open for example in IntelliJ, on right side click Maven, then Clean and at the end Install. Output file will be in target folder and will be called JMusicBot-Snapshot-All or something like that.

Keep in mind that compiling the source code by yourself is not supported nor recommended. If you have the technical expertise, then you could try it, but we won't give any support with it.
Otherwise, please wait for an official Release.

This issue will be fixed in version 0.3.2


IngressController using default certificate

Bugs should be filed for issues encountered whilst operating cert-manager.
You should first attempt to resolve your issues through the community support
channels, e.g. Slack, in order to rule out individual configuration errors.
Please provide as much detail as possible.

Describe the bug:
I successfully installed cert-manager v0.12 and added a clusterissuer in the namespace of cert-manager. Then applied to my ingress the tls-section and cert-manager.io/cluster-issuer: letsencrypt-staging.
Its seems all fine. I cant discover any error.
The only thing that looks weird is that ca.crt-field of the generated secret is empty (0 bytes). The other field looks fine. But in the resource certificate is a valid cert from lets encrypt.
But if I open my url in browser, then I get only default-cert from k8s. I also tested it with openssl - same result.
I have no more ideas what I can do.
Expected behaviour:
Ingress deliver correct lets-encrypt-certificate
Steps to reproduce the bug:

Installed minikube.
Activated nginx-ingress-controller.
Installed cert-manager (via helm 3.0).
Added clusterissuer.
Configured ingress.

Anything else we need to know?:
Running under centos.
Environment details::

minikube version: v1.5.2
cert-manager version: v0.12
Install method: helm

/kind bug

Oh god ... nevermind.
I used the lets-encrypt-staging-server and thinked that "Fake LE Intermediate X1" are from ingress.


Duplicate SERVICE-WORKERS reference

DOM has both SERVICE-WORKERS and SERVICE-WORKERS-2, despite them both being the same URL.
Looks similar to #1196.
I guess there's a bug in specref too that it considers SERVICE-WORKERS to be an alias for -1.

Nah, unrelated to #1196.  The problem here is that your
 has some terms specified as spec: SERVICE-WORKERS, so those terms show up as referencing "SERVICE-WORKERS".  But "ServiceWorkerGlobalScope" is just fetched as normal from the database, where it's recorded as coming from "service-workers-2".
(Because SW-2 isn't in SpecRef, it gets its capitalization in the index and bibliography from the spec db instead, where it's lowercase.)
You can just remove those terms from your
 entirely. The only problem then is that the correct definition (in the spec) of "has ever been evaluated flag" is for="script resource", but your biblio block was giving it for="service worker", so you'll get a link failure until you fix that link.  (Lines 1068 and 1112.)

Yes it does? I'm looking at it right now and it's definitely fixed.

https://whatpr.org/dom/634.html#references doesn't have two entries for SERVICE-WORKERS on your end?

Ah, the reference index is fixed, the biblio still shows both.
This is because you have explicit biblio references to [SERVICE-WORKERS], which can be found in the specref data, while the linked terms are generating a fake biblio ref for service-workers-2, the spec they link to.

They end up linking to the same document, so... 2) Versioned references are dumb. I really rather not have to update DOM whenever the W3C decides to issue a new lawyer snapshot.

Yeah, I can probably dedup my "fake" biblio refs if a same-URL SpecRef biblio is in the spec.

Sorry man, that's not my issue. W3C publishes leveled specs. You wanna refer to them, you refer to them their way. If you can convince the editors of those specs to do something to accommodate you, great; as long as it's reflected in SpecRef or something like that, I can handle it for you.  I can't special-case these things just because DOM doesn't want to track its dependencies over time. I don't handle RFC obsoletions either.

Fair, speaking of which, can I have one for Selectors?

Open an issue in CSSWG. ^_^


[Craft 5] "First letter" icon not showing

Describe the bug
I have an issue where the Craft Icon -> First letter option results in a missing icon.
Steps to reproduce

On a new or existing nav item select "First Letter" from the "Craft Icon" dropdown.
The icon is missing:

Craft CMS version
5.2.5
Plugin version
5.0.1
Multi-site?
No
Additional context
No response

Strangely enough, I just discovered that, if I don't select any icon, the first letter icon is displayed correctly. 🤷

Fixed for the next release. To get this early, run composer require verbb/cp-nav:"dev-craft-5 as 5.0.1".

Fixed in 5.0.2


Hotfix/472 regression bug   cannot load previous plan on dashboard

The problem was that when selecting a plan it would not be loaded on the map if there are no responses. The layers on the map were not redrawn when loading the plan.

Planner module works well. Loads plan well in the dashboard. if you reload it comes back with the most recently plan created loaded if you have more than 1 plan. Not sure if that is good or bad. Is it possible to set it to come back with the most recently selected plan if you refresh the page on the monitor?


Determine differences between OSM and UGRC

To build the map roulette assets correctly, we need to understand what is already in OSM vs what we already have.

[ ] Build a python tool to generate the intersection of data between OSM and UGRC

The tasks

Need to review OSM trailheads with missing attributes (mainly name)
Review UGRC trailheads that are a outside some buffer from OSM trailhead points

I combined all of the OSM trailheads with the UGRC trailheads that were more than 200 meters from existing OSM trailheads.  This includes 725 total points. I figure we might as well review all of the existing OSM trailheads and the unique UGRC ones for the MapRoulette task to create the best combined product.

Maybe we would need another challenge or add-on to the initial challenge to transfer the UGRC attributes from coincident trailheads to the OSM ones?  This includes about 64 UGRC locations that are within 200 meters of existing OSM trailheads.


.NET 5 version description is treated malformed for compatibility check

Framework description of .NET 5.0.0-rc.2.20475.5 is not well formed.

This is released in 2.2.0-beta3.


Initial Step Creation

Opening a draft PR for now to get some initial review comments :)

@godrei I believe I've addressed all of your comments — other than moving the adb code to go-android — with the most recent commits. I'll work on the go-android bits now.