COUNT(DISTINCT) on StringView panics: unreachable code: Utf8/Binary should use ArrowBytesSet

Describe the bug
I found one of the clickbench extended queries panics when using StringView -- https://github.com/apache/datafusion/pull/11723
To Reproduce
> create table foo (id int, x varchar, y varchar) as values (1, 'foo', 'bar'), (2, 'foo', 'baz');
0 row(s) fetched.
Elapsed 0.004 seconds.

> create view foov as select id, arrow_cast(x, 'Utf8View') as x, arrow_cast(y, 'Utf8View') as y from foo;
0 row(s) fetched.
Elapsed 0.002 seconds.

> select count(distinct x), count(distinct y) from foov group by id;
thread 'tokio-runtime-worker' panicked at /Users/andrewlamb/Software/datafusion2/datafusion/physical-expr-common/src/binary_view_map.rs:220:18:
internal error: entered unreachable code: Utf8/Binary should use `ArrowBytesSet`
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
External error: Join Error
caused by
External error: task 65 panicked

Expected behavior
The query should run without panic
Additional context

take


Intellisense not showing undefined variables in javascript

Issue Type: Bug
import React from "react";

const TestApplication = ({ showHeader }) => {
    const [selectLocale] = useState("en-US");
    return (
        <>

{selectLocale}

{showHeader}

        </>
    );
};

export default TestApplication;

Since I have not imported useState, it should put a red squiggly line underneath it but it no longer does that. Last time it worked was version 1.61.0. It broke with 1.61.1 or 1.61.2, can't remember forsure. Even tried re-installing vscode but no change.
I am to reproduce this in vscode.dev webpage as well.
Let me know if you guys need more info
VS Code version: Code 1.62.2 (Universal) (3a6960b964327f0e3882ce18fcebd07ed191b316, 2021-11-11T20:59:05.913Z)
OS version: Darwin x64 20.6.0
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (8 x 2800)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
7, 6, 5

Memory (System)
16.00GB (5.88GB free)

Process Argv
--crash-reporter-id d4a72f22-5c38-413b-880b-f0e5e50e3f27

Screen Reader
no

VM
0%

Extensions (13)

Extension
Author (truncated)
Version

EditorConfig
Edi
0.16.4

prettier-vscode
esb
9.0.0

copilot
Git
1.7.3733

vscode-docker
ms-
1.17.0

remote-containers
ms-
0.205.2

remote-ssh
ms-
0.66.1

remote-ssh-edit
ms-
0.66.1

remote-wsl
ms-
0.58.5

vscode-remote-extensionpack
ms-
0.21.0

material-icon-theme
PKi
4.10.0

code-settings-sync
Sha
3.4.3

vscodeintellicode
Vis
1.2.14

markdown-all-in-one
yzh
3.4.0

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythontb:30283811
pythonptprofiler:30281270
vshan820:30294714
vstes263cf:30335440
vscoreces:30384385
pythondataviewer:30285071
vscod805:30301674
pythonvspyt200:30340761
binariesv615:30325510
vsccppwtct:30382698
bridge0708:30335490
dockerwalkthru:30377721
bridge0723:30353136
pythonrunftest32:30373476
pythonf5test824:30373475
javagetstartedt:30391933
pythonvspyt187:30373474
vsqsis200:30386379
vsaa593:30376534
vssld246cf:30386378

Log (Window)
[2021-11-15 13:19:44.653] [renderer1] [info] Starting extension host with pid 75802.
[2021-11-15 13:19:44.654] [renderer1] [info] [LocalProcessExtensionHost]: IExtensionHostStarter.start() took 23 ms.
[2021-11-15 13:19:45.559] [renderer1] [error] [Extension Host] (node:75802) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `Code Helper (Renderer) --trace-deprecation ...` to show where the warning was created)
[2021-11-15 13:19:55.033] [renderer1] [error] An unknown error occurred. Please consult the log for more details.

Try enabling semantic checking: https://code.visualstudio.com/docs/nodejs/working-with-javascript#_type-checking-javascript

our whole team is confused because we never had the above setting like you mentioned and it used to work before. That's why i logged this issue. So basically for javascript files, vscode applies no smarts unless you apply the setup mentioned above. thats little surprising.


(opera) Upgrading 64-bit Opera actually forces 32-bit

Expected Behavior
Upgrading 64-bit Opera upgrades to the new version of 64-bit Opera and other packages are not forced to 32-bit.
Current Behavior
When upgrading 64-bit Opera, the Is32BitInstalled check is triggering so the 32-bit Opera is downloaded and installed instead and also the ChocolateyForceX86 environment variable is set so subsequent unrelated package upgrades in a choco upgrade all are forced to 32-bit as well. I'm guessing that at some point the 64-bit Opera installer changed to no longer explicitly put its uninstall key into the 64-bit registry and is now putting it into the 32-bit registry instead.
Steps to Reproduce (for bugs)

On a 64-bit version of Windows: choco install opera -y --version=46.0.2597.39 will download and install the previous 64-bit version of Opera.
Then running choco upgrade all -y will download and install the latest 32-bit version. If another package needs to be upgraded after Opera, it will also be forced to 32-bit.

Context
Just trying to upgrade packages.
Your Environment

Package Version used: 46.0.2597.46
Operating System and version: Windows 10 Version 1703 (OS Build 15063.413)
Chocolatey version: 0.10.7

I confirm this behavior:
master~> choco install opera -y --version=46.0.2597.39
Chocolatey v0.10.8
Installing the following packages:
opera
By installing you accept licenses for the packages.

Opera v46.0.2597.39 [Approved]
opera package files install completed. Performing other installation steps.
Downloading Opera 64 bit
  from 'https://get.geo.opera.com/pub/opera/desktop/46.0.2597.39/win/Opera_46.0.2597.39_Setup_x64.exe'
Progress: 100% - Completed download of C:\Users\majkinetor\AppData\Local\Temp\chocolatey\Opera\46.0.2597.39\Opera_46.0.2597.39_Setup_x64.exe (41.99 MB).
Download of Opera_46.0.2597.39_Setup_x64.exe (41.99 MB) completed.
Hashes match.
Installing Opera...
Opera has been installed.
  opera may be able to be automatically uninstalled.
 The install of opera was successful.
  Software installed to 'C:\Program Files\Opera'

Chocolatey installed 1/1 packages.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------3 [ M:0 D:0 A:0 ?:1 ]  17-09-21 20:42:45  C:\Work\_\chocolatey-coreteampackages\automatic (admin)
master~> cup opera
Chocolatey v0.10.8
Upgrading the following packages:
opera
By upgrading you accept licenses for the packages.

You have Opera v46.0.2597.39 installed. Version 47.0.2631.80 is available based on your source(s).
Progress: Downloading Opera 47.0.2631.80... 100%

Opera v47.0.2631.80 [Approved]
opera package files upgrade completed. Performing other installation steps.
Downloading Opera 32 bit
  from 'https://get.geo.opera.com/pub/opera/desktop/47.0.2631.80/win/Opera_47.0.2631.80_Setup.exe'
...


lisa.wlgen.fio: Introduce Fio as Workload

Fio is a highly-configurable I/O tester used by the block layer for testing and as a general benchmark tool for storage. Even for scheduler investigations Fio is interesting as in_iowait-setting tasks are treated differently. To be able to create tests for them we introduce a simplistic lisa frontend.
Fio Workloads can now be created like:
ftest = Fio(target, filename="/dev/nvme0n1", name="test", rw="randread", runtime=50, bs='4k') and then ran like any other:
with ftest:
result = fiotestmmc.run()
print(result.read_iops)

Just a couple of notes:
Fio has the capability to specify jobs using a file, I didn't implement this and just used command line.
If this is preferred I can do that, I was also thinking about the possibility of combining a RTA workload and a Fio one, which I wouldn't say is too far fetched.
The work is really for investigating schedutil / intel_pstate iowait_boost behavior but of course the entire I/O workload w.r.t. scheduling events and their analysis could prove useful for other use cases like io_uring workloads more generally.

Closing as the project has moved to https://gitlab.arm.com/tooling/lisa/


Texture Object's Buffer seems to be Misaligned

Hi,
I am working with OpenCV related Stuff with HIP backend, Where encountered certain issue with Texture object. Created small reproducible sample code. When the texture object is created with certain Pitched GPU Buffer, it seems that Texture buffer is not populated correctly in AMD GPU.
The same Piece of code Seems to produce correct results as required, for all dimensions in Nvidia machine(GTX 980 Ti) [with HIP backend]
The results are incorrect and also different pattern on AMD's Fiji-R9-fury(gfx803) and Vega-Rx-64(gfx900)
Specification
Devices:
Nvidia: GTX 980 Ti
AMD: Fiji-R9-fury(gfx803) & Vega-Rx-64(gfx900)
Nvidia:  Cuda version 9.2
AMD both : HSA Runtime 1.1 & rocm-dkms 2.0.89
All HIP versions are 1.5.18494

Results
Datatype used is unsigned char
1. 8x8:
Expected:
1	2	3	4	5	6	7	8
9	10	11	12	13	14	15	16
17	18	19	20	21	22	23	24
25	26	27	28	29	30	31	32
33	34	35	36	37	38	39	40
41	42	43	44	45	46	47	48
49	50	51	52	53	54	55	56
57	58	59	60	61	62	63	64
On Fiji:
1	2	3	4	5	6	7	8
0	0	0	0	0	0	0	0
9	10	11	12	13	14	15	16
0	0	0	0	0	0	0	0
17	18	19	20	21	22	23	24
0	0	0	0	0	0	0	0
25	26	27	28	29	30	31	32
0	0	0	0	0	0	0	0
On Vega:
1	2	3	4	5	6	7	8
17	18	19	20	21	22	23	24
33	34	35	36	37	38	39	40
49	50	51	52	53	54	55	56
0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0
2. 11x11:
Expected:
1	2	3	4	5	6	7	8	9	10	11
12	13	14	15	16	17	18	19	20	21	22
23	24	25	26	27	28	29	30	31	32	33
34	35	36	37	38	39	40	41	42	43	44
45	46	47	48	49	50	51	52	53	54	55
56	57	58	59	60	61	62	63	64	65	66
67	68	69	70	71	72	73	74	75	76	77
78	79	80	81	82	83	84	85	86	87	88
89	90	91	92	93	94	95	96	97	98	99
100	101	102	103	104	105	106	107	108	109	110
111	112	113	114	115	116	117	118	119	120	121
On Fiji:
1	2	3	4	5	6	7	8	9	10	11
23	24	25	26	27	28	29	30	31	32	33
45	46	47	48	49	50	51	52	53	54	55
67	68	69	70	71	72	73	74	75	76	77
89	90	91	92	93	94	95	96	97	98	99
111	112	113	114	115	116	117	118	119	120	121
0	0	0	0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0	0	0	0
On Vega:
1	2	3	4	5	6	7	8	9	10	11
23	24	25	26	27	28	29	30	31	32	33
45	46	47	48	49	50	51	52	53	54	55
67	68	69	70	71	72	73	74	75	76	77
89	90	91	92	93	94	95	96	97	98	99
111	112	113	114	115	116	117	118	119	120	121
0	0	0	0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0	0	0	0
0	0	0	0	0	0	0	0	0	0	0
NOTE:

Tried to find pattern memory access with different buffer sizes, Unable to determine such pattern.
Pitch of AMD is 128 bytes and Nvidia is 512 bytes

Example code:
#include<hip/hip_runtime.h>
#include<hip/hip_runtime_api.h>
#include<iostream>

#define HIP_ASSERT(expression)                                                  \
    {                                                                          \
        hipError_t error = (expression);                                        \
        if (error != hipSuccess) {                                              \
            fprintf(stderr, "HIP error: %s (%d) at %s:%d\n",                    \
                    hipGetErrorString(error), error, __FILE__, __LINE__);       \
            exit(EXIT_FAILURE);                                                 \
        }                                                                       \
    }

template<typename T> // pointer type
void print2d(T matrix, size_t height, size_t width)
{
    std::cout << std::endl;
    for(size_t i=0; i<height; i++ ){
        for(size_t j=0; j<width; j++ ){
            std::cout << (int)( matrix[ i*width + j ] ) << "\t";
        }
        std::cout << std::endl;
    }
    std::cout << std::endl;
}

#define SIZE_H 8
#define SIZE_W 8

#define TYPE_t unsigned char

// texture object is a kernel argument
__global__ void texture2dCopyKernel( hipTextureObject_t texObj, TYPE_t* dst, size_t pitch) {

    int x = hipThreadIdx_x + hipBlockIdx_x * hipBlockDim_x;
    int y = hipThreadIdx_y + hipBlockIdx_y * hipBlockDim_y;
    if ( (x< SIZE_W) && (y< SIZE_H) )
    {
        TYPE_t* ptr = (TYPE_t*) ((char*)dst + y*pitch + x);
        *ptr = tex2D<TYPE_t>(texObj, x, y);
    }
    __syncthreads();
}

int main()
{
    TYPE_t* B;
    TYPE_t* A;
    TYPE_t* devPtrB;
    TYPE_t* devPtrA;

    B = new TYPE_t[SIZE_H*SIZE_W];
    A = new TYPE_t[SIZE_H*SIZE_W];
    for(size_t i=1; i <= (SIZE_H*SIZE_W); i++)
    {
        A[i-1] = i;
    }
    print2d(A, SIZE_H,SIZE_W);

    size_t devPitchA;
    HIP_ASSERT(hipMallocPitch((void**)&devPtrA, &devPitchA ,SIZE_W*sizeof(TYPE_t), SIZE_H)) ;
    std::cout << "Pitched A" << devPitchA << std::endl;
    HIP_ASSERT(hipMemcpy2D(devPtrA, devPitchA, A, SIZE_W*sizeof(TYPE_t),
            SIZE_W*sizeof(TYPE_t), SIZE_H, hipMemcpyHostToDevice));

    // Use the texture object

    hipResourceDesc texRes;
    std::memset(&texRes, 0, sizeof(texRes));
    texRes.resType = hipResourceTypePitch2D;
    texRes.res.pitch2D.devPtr = devPtrA;
    texRes.res.pitch2D.height = SIZE_H;
    texRes.res.pitch2D.width = SIZE_W;
    texRes.res.pitch2D.pitchInBytes = devPitchA;
    texRes.res.pitch2D.desc = hipCreateChannelDesc<TYPE_t>();

    hipTextureDesc texDescr;
    std::memset(&texDescr, 0, sizeof(texDescr));
    texDescr.normalizedCoords = false;
    texDescr.filterMode = hipFilterModePoint;
    texDescr.addressMode[0] = hipAddressModeClamp;
    texDescr.addressMode[1] = hipAddressModeClamp;
    texDescr.addressMode[2] = hipAddressModeClamp;
    texDescr.readMode = hipReadModeElementType;

    hipTextureObject_t texObj;
    HIP_ASSERT( hipCreateTextureObject(&texObj, &texRes, &texDescr, 0));

    size_t devPitchB;
    HIP_ASSERT(hipMallocPitch((void**)&devPtrB, &devPitchB, SIZE_W*sizeof(TYPE_t) ,SIZE_H)) ;
    std::cout << "Pitched B" << devPitchB << std::endl;

    hipLaunchKernelGGL(texture2dCopyKernel, dim3(4,4,1), dim3(32,32,1), 0, 0,
            texObj, devPtrB, devPitchB);

    HIP_ASSERT(hipMemcpy2D(B, SIZE_W*sizeof(TYPE_t), devPtrB, devPitchB,
            SIZE_W*sizeof(TYPE_t), SIZE_H, hipMemcpyDeviceToHost));

    print2d(B, SIZE_H, SIZE_W);

}

Questions:

Is there any mistake in texture object usage or access? If so why does it work on Nvidia?

Digging Deep into HIP codes i found that pitched value is no where passed to image descriptor or HSA api's pitch value, Can that be the reason for this issue ?
https://github.com/ROCm-Developer-Tools/HIP/blob/160c509e23bd47cfc97b1150227597cf1621ac59/src/hip_texture.cpp#L297

It seems that HSA's image extension API's, Doesn't accommodate pitching directly, So tried to set width param as 128 directly in HIP doesn't seem to work either. Any comments on this ?
ref: http://www.hsafoundation.com/html/Content/Runtime/Topics/03_Extensions/hsa_ext_image_descriptor_t.htm

Fixed as part of PR #1415 .


Add ability to add operators on subsystems.

Summary
Closes #3877
~Depends on #3887 #3873~
Add qargs kwarg to BaseOperator._add  which adds operators on subsystems (assuming identity on other systems), and updates exisiting subclasses to support this.
Details and comments
This allows easier building of composite operators. A simple example for building a 2-body Hamiltonian Operator object:
from qiskit.quantum_info import Operator, ScalarOp

ZZ = Operator.from_label('ZZ')

# Initialize empty Hamiltonian
n_qubits = 10
ham = ScalarOp(2 ** n_qubits, coeff=0)

# Add 2-body nearest neighbour terms
for j in range(n_qubits - 1):
    ham = ham + ZZ([j, j+1])

TODO

[x] Add tests for ScalarOp
[x] Add tests for Operator
[x] Add tests for QuantumChannels

@ewinston thats a neat idea with the issubclass tests, maybe that can be done as a future PR.


Run tests against cri-o too, not only against Docker

With #337 merged, we should in theory now be independent of any CRI which is not kvm based, or uses any other kind of real virtualization. Extend our tests, to also test agains cri-o, to make sure we really support it.

I'm not sure if they did the switch yet. It could be that its optional.
However…
The original reason for this card was to test the runtime that openshift uses.
Now that we test openshift, we leave it to them to decide what runtime to use.


[Bug]: SHAFT_Properties_creating custom properties file not working as expected

Describe the bug
i created custom properties file and placed it in the directory src/main/resources/properties/custom.properties
but when running test SHAFT used default ones
Link to SHAFT_Engine Console logs
https://gist.github.com/zanoon2020/92d423c8eb06b8dd6b62c8c0ba58eb8a
Environment

SHAFT_Engine version that exhibits the issue (Note: We support only the latest release): 7.2.20230425
Desktop OS: [e.g. iOS] Windows 10
Desktop Browser (if applicable): [e.g. chrome, safari] not related to browser

To Reproduce
Steps to reproduce the behavior:

create custom.properties file and place it in the directory src/main/resources/properties/custom.properties
run any test
observe that not all properties read from the the file and shaft used default ones

Expected behavior
SHAFT must take properties from file before default as per documentation
Screenshots

Additional context
you can use these properties as an example
targetBrowserName=MicrosoftEdge
forceCheckNavigationWasSuccessful=true

fixed, thanks again for the excellent catch.


Support key & value in binary format

As both key & value are bytes, binary key and value definitely need to supported: https://github.com/etcd-cpp-apiv3/etcd-cpp-apiv3/blob/master/proto/kv.proto#L12

Closed by https://github.com/etcd-cpp-apiv3/etcd-cpp-apiv3/commit/1e72df7ca3fdeecee98b554656f6bf0870ffe410


fix: CE 1015 Make the officer names consistent for all complaint types.

Description
Please provide a summary of the change and the issue fixed. Please include relevant context. List dependency changes.
Fixes # (issue)
How Has This Been Tested?
Applied the fix and viewed all the different complaint types and confirmed they are showing up correctly.
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Test A
[ ] Test B

Checklist

[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

Further comments

Thanks for the PR!
Deployments, as required, will be available below:

Frontend
Backend

Please create PRs in draft mode.  Mark as ready to enable:

Analysis Workflow

After merge, new images are deployed in:

Merge Workflow

Closing and recreating - was set to go to MAIN rather than the release branch.


Add analytical decomposition for synthesis of single qubit unitaries generated by Clifford and T gates.

Is your feature request related to a use case or problem? Please describe.
One of the promising gatesets for fault tolerant regime is the Clifford + T gateset, where executing T gates is significantly slower than executing Cliffords and therefore it's often desired to minimize the T-count of the compiled circuits.  Cirq currently does not have any analytical decompositions for synthesizing arbitrary 1/2q unitaries in terms of Clifford + T gateset.
Describe the solution you'd like
Fast and efficient exact synthesis of single qubit unitaries generated by Clifford and T gates provides an efficient algorithm for synthesis of arbitrary single qubit rotations in terms of Clifford + T gates. The feature request is to implement the described algorithm as an analytical decomposition in Cirq
What is the urgency from your perspective for this issue? Is it blocking important work?
P2 - we should do it in the next couple of quarters
cc @augustehirth This would need documentation once we get this done.

A related recent paper for decomposing arbitrary n-qubit unitaries, which is probably out of scope for this feature request but can be done as a follow-up if we have enthusiastic contributors.
https://link.springer.com/article/10.1007/s11128-020-02816-0

I'd be very interested in giving this a shot.

@aksaw Is there progress on this? I will need this soon.

Yes, I had started working on this already. I can try to finish it up in the next couple of weeks.

@aksaw Are you still working on this?

@aksaw Are you still interested in working on this?


chore(main): release 0.2.10

:robot: I have created a release beep boop
0.2.10 (2024-01-18)
Bug Fixes

keep only essential commands (455fcf9)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/engeir/volcano-core/releases/tag/v0.2.10 :sunflower:


Determine if we will be using Javascript in our PlayWithMagic application.

If we are planning to use Javascript in PlayWithMagic, I'd like to discuss it on Monday. If we are using Javascript we should all adhere to consistently writing our tests with PhantomJS or HTMLUNIT across the application. The reason I bring this up is because we are no longer implementing drag and drop functionality. What else would we need Javascript for? Let's discuss on Monday.

I don't think we'll be using any heavy JavaScript beyond what Bootstrap already utilizes, but we can def. discuss further on Monday.

We are agreed we will focus on HTMLUNIT for tests.


White space appears below status bar on iPad PWA mode

When you add VS Code to the home screen (similar to PWA) you get this nice full-screen mode that removes the top Safari chrome. However there are two issues that come up:
~1. Login sessions are not persisted and you have to re-login~
2. After logging in there is a white gap at the bottom

@bpasero would this fall under your area?

I think the login session (1.) is not under our control, but the gap at the bottom might very well be from us.

//cc @rebornix

Assigning to May to investigate then. Also assigning to @rebornix
Somewhat similar issue regarding whitespace https://github.com/microsoft/vscode/issues/121206

https://github.com/microsoft/vscode/blob/61017718099fb6c4eba66c2eee07b1a5ffaaf4ef/src/vs/base/browser/dom.ts#L352-L357

@rebornix thanks a lot for the pointer, I will look into this in debt week


publish this?

What do you think about publishing this as an npm package? Could be useful in environments where install size isn't an issue and/or where tree shaking is enough to not worry about bloat. Being able to switch between them with worrying about installing/uninstalling would be useful. Esp. since it's not always 100% clear which one will be needed when you start experimenting. I often want to switch from p-all, to p-map, to p-props, to p-throttle etc., and every switch is a bit painful.
Usage:
npm install p-suite

import pMemoize from 'p-suite/p-memoize'
import pAll from 'p-suite/p-all'

Note I used p-suite above because someone did more or less this using promise-fun but it's 7 years old.

This is a non-goal for this project. It's also not something I want to maintain.


CSS3 tab-size - Unprefixed in Firefox

https://bugzilla.mozilla.org/show_bug.cgi?id=737785#c36

Un-prefix -moz-tab-size (keeping the prefixed version as an alias for now).

We'll have to wait for the next build(s) to check precisely.
https://tests.caniuse.com/css3-tabsize

Thanks!

Now confirmed as well:


uevent listening goroutine is not (always) working

As I was adding network hotplug support for vm factory and found out that the uevent listening goroutine is not working for me. After hotplugging a new nic, however long I wait in UpdateInterface, the uevent listening goroutine cannot get the new device sysfs uevent.
Then I tested the network monitor process (kata-containers/runtime#534), and it failed on getting the new uevent as well:

Sep 13 09:37:20 macbeth kata-proxy[54869]: time="2018-09-13T09:37:20.532400733+08:00" level=info msg="time="2018-09-13T01:37:20.511006103Z" level=debug msg="new request" name=kata-agent pid=128 req="interface:<device:"eth1" name:"eth1" IPAddresses:<family:2 address:"<IP_ADDRESS>" mask:"16" > mtu:1500 hwAddr:"02:42:ac:12:00:02" pciAddr:"02/01" > " request=/grpc.AgentService/UpdateInterface sandbox=e2145826daa97ea538d49bffc8c25ad13e0849a1edf5546478458fa17aa63002 source=agent\n" name=kata-proxy pid=54869 sandbox=e2145826daa97ea538d49bffc8c25ad13e0849a1edf5546478458fa17aa63002 source=agent
Sep 13 09:37:20 macbeth kata-proxy[54869]: time="2018-09-13T09:37:20.533607734+08:00" level=info msg="time="2018-09-13T01:37:20.512336531Z" level=info msg="Fetched PCI address for device" completePCIAddr="0000:00:02.0/0000:01:01.0" name=kata-agent pid=128 sandbox=e2145826daa97ea538d49bffc8c25ad13e0849a1edf5546478458fa17aa63002 source=agent\n" name=kata-proxy pid=54869 sandbox=e2145826daa97ea538d49bffc8c25ad13e0849a1edf5546478458fa17aa63002 source=agent
Sep 13 09:37:20 macbeth kata-proxy[54869]: time="2018-09-13T09:37:20.535074125+08:00" level=info msg="time="2018-09-13T01:37:20.513595652Z" level=info msg="Waiting on channel for device notification" name=kata-agent pciID=02/01 pid=128 sandbox=e2145826daa97ea538d49bffc8c25ad13e0849a1edf5546478458fa17aa63002 source=agent\n" name=kata-proxy pid=54869 sandbox=e2145826daa97ea538d49bffc8c25ad13e0849a1edf5546478458fa17aa63002 source=agent
Sep 13 09:37:23 macbeth kata-proxy[54869]: time="2018-09-13T09:37:23.537970764+08:00" level=info msg="time="2018-09-13T01:37:23.51786459Z" level=debug msg="request end" duration=3.005565104s error="rpc error: code = DeadlineExceeded desc = Timeout reached after 3s waiting for device 0000:00:02.0/0000:01:01.0" name=kata-agent pid=128 request=/grpc.AgentService/UpdateInterface resp="" sandbox=e2145826daa97ea538d49bffc8c25ad13e0849a1edf5546478458fa17aa63002 source=agent\n" name=kata-proxy pid=54869 sandbox=e2145826daa97ea538d49bffc8c25ad13e0849a1edf5546478458fa17aa63002 source=agent
Sep 13 09:37:23 macbeth kata-runtime[54984]: time="2018-09-13T09:37:23.540837194+08:00" level=error msg="update interface request failed" arch=amd64 command=kata-network container=e2145826daa97ea538d49bffc8c25ad13e0849a1edf5546478458fa17aa63002 error="rpc error: code = DeadlineExceeded desc = Timeout reached after 3s waiting for device 0000:00:02.0/0000:01:01.0" interface-requested="device:"eth1" name:"eth1" IPAddresses:<family:2 address:"<IP_ADDRESS>" mask:"16" > mtu:1500 hwAddr:"02:42:ac:12:00:02" pciAddr:"02/01" " name=kata-runtime pid=54984 resulting-interface="" sandbox=e2145826daa97ea538d49bffc8c25ad13e0849a1edf5546478458fa17aa63002 source=virtcontainers subsystem=kata_agent
Sep 13 09:37:23 macbeth kata-runtime[54984]: time="2018-09-13T09:37:23.540955376+08:00" level=error msg="add interface failed" arch=amd64 command=kata-network container=e2145826daa97ea538d49bffc8c25ad13e0849a1edf5546478458fa17aa63002 error="rpc error: code = DeadlineExceeded desc = Timeout reached after 3s waiting for device 0000:00:02.0/0000:01:01.0" name=kata-runtime pid=54984 resulting-interface="" sandbox=e2145826daa97ea538d49bffc8c25ad13e0849a1edf5546478458fa17aa63002 source=runtime
Sep 13 09:37:23 macbeth kata-runtime[54984]: time="2018-09-13T09:37:23.541177053+08:00" level=error msg="rpc error: code = DeadlineExceeded desc = Timeout reached after 3s waiting for device 0000:00:02.0/0000:01:01.0" arch=amd64 command=kata-network container=e2145826daa97ea538d49bffc8c25ad13e0849a1edf5546478458fa17aa63002 name=kata-runtime pid=54984 sandbox=e2145826daa97ea538d49bffc8c25ad13e0849a1edf5546478458fa17aa63002 source=runtime

It's not that the uevent is not sent to the agent. If I remove the waiting and ignore UpdateInterface error, the device shows up very quickly and the uevent listening goroutine is able to pick up uevents for it. So it's like the goroutine is not woke up when agent is waiting in UpdateInterface call. But I don't know why that is happening.
Also since netmon works in @sboeuf 's local environment, I put up a testing PR (https://github.com/kata-containers/tests/pull/743) to get a baseline for environment comparison. And it turns out that two times out of three, it failed on getting the IP of new hotplugged nic. So the failure/success do not seem constant even for CI.
It's not clear to me what has caused the failure/success. @sboeuf @devimc @amshinde @caoruidong help to take a look.

@bergwolf I'll take a look at this.

@bergwolf I have not been able to to reproduce this issue at all on my local setup. Looks like the device gets hotplugged well in advance on my setup. I havent had any luck reproducing this on an Azure instance while running the test for 10 min. I'll try to reproduce this issue on Azure tomorrow.
I dont think it should matter, but can you let me know what rootfs (and other environement) you were using for your tests?
Meanwhile, I had a look at the changes for uevent and I think change this could be causing the uevent listening loop to be locked permanently:
https://github.com/kata-containers/agent/blob/7caf1c8bd9ebad9ab6631e1839d62c8c98ed7d8a/device.go#L125-L132
With that change the sandbox lock is never released.
I have pushed a revert for it here: https://github.com/kata-containers/agent/pull/375
Can you test with that and let me know. Meanwhile I will continue testing tomorrow, to see if there is any other issue related to network hotplug uevents.

@amshinde Thanks for looking into it. Nice catch on the missing lock! I guess I never hit that code path though. I can see Waiting on channel for device notification printed in the agent console. E.g., (just reverted that commit and ran kata-containers/runtime#534):

Sep 19 16:09:55 vmfarm kata-proxy[7203]: time="2018-09-19T16:09:55.999956371+08:00" level=info msg="time="2018-09-19T08:09:55.990219937Z" level=info msg="Fetched PCI address for device" completePCIAddr="0000:00:02.0/0000:01:01.0" name=kata-agent pid=1 sandbox=5a84955650e0852ff6b513bed1e9305c5a24d16ddd0d01a695d7cc645d522b3d source=agent\n" name=kata-proxy pid=7203 sandbox=5a84955650e0852ff6b513bed1e9305c5a24d16ddd0d01a695d7cc645d522b3d source=agent
Sep 19 16:09:56 vmfarm kata-proxy[7203]: time="2018-09-19T16:09:56.000040707+08:00" level=info msg="time="2018-09-19T08:09:55.990355952Z" level=info msg="Waiting on channel for device notification" name=kata-agent pciID=02/01 pid=1 sandbox=5a84955650e0852ff6b513bed1e9305c5a24d16ddd0d01a695d7cc645d522b3d source=agent\n" name=kata-proxy pid=7203 sandbox=5a84955650e0852ff6b513bed1e9305c5a24d16ddd0d01a695d7cc645d522b3d source=agent
Sep 19 16:09:56 vmfarm kata-proxy[7203]: time="2018-09-19T16:09:56.573418625+08:00" level=info msg="[    1.184191] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready\n" name=kata-proxy pid=7203 sandbox=5a84955650e0852ff6b513bed1e9305c5a24d16ddd0d01a695d7cc645d522b3d source=agent
Sep 19 16:09:56 vmfarm kata-proxy[7203]: time="2018-09-19T16:09:56.575381281+08:00" level=info msg="[    1.185224] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x39c5ded8016, max_idle_ns:<PHONE_NUMBER>86 ns\n" name=kata-proxy pid=7203 sandbox=5a84955650e0852ff6b513bed1e9305c5a24d16ddd0d01a695d7cc645d522b3d source=agent
Sep 19 16:09:59 vmfarm kata-proxy[7203]: time="2018-09-19T16:09:59.000995824+08:00" level=info msg="time="2018-09-19T08:09:58.990735646Z" level=debug msg="request end" duration=3.000515709s error="rpc error: code = DeadlineExceeded desc = Timeout reached after 3s waiting for device 0000:00:02.0/0000:01:01.0" name=kata-agent pid=1 request=/grpc.AgentService/UpdateInterface resp="" sandbox=5a84955650e0852ff6b513bed1e9305c5a24d16ddd0d01a695d7cc645d522b3d source=agent\n" name=kata-proxy pid=7203 sandbox=5a84955650e0852ff6b513bed1e9305c5a24d16ddd0d01a695d7cc645d522b3d source=agent

And I tried both initrd (make DISTRO=alpine USE_DOCKER=yes AGENT_INIT=yes initrd) and rootfs image (make DISTRO=centos USE_DOCKER=yes AGENT_INIT=no image). Both failed the same way.
Here is my complete kata-collect-data.sh result: https://pastebin.com/TSfD3A6e

@bergwolf  The q35 hotplug was not working because of  missing kernel config CONFIG_HOTPLUG_PCI_SPC.
Without this, we would need to explicitly rescan the PCI bus which is not the best solution.
@devimc Will be submitting a PR to enable this in our kernel configuration.

@bergwolf This PR should solve the hotplug issue for q35:
https://github.com/kata-containers/packaging/pull/186
For pc, I am wondering if we are running into similar SHPC related issues in our CI (although I cant reproduce it on my setup). We have shpc turned on for pci-bridges in virtcontainers. So I am not sure if  it has to do with the timing of scanning the PCI bus.
With your current guest kernel and "pc"machine type, can you turn off shpc for pci-bridges and run the netmon test ?
You would need to turn off shpc  here:
https://github.com/kata-containers/runtime/blob/d6e4a98387fe81b448da9eb8fca9bed500e7c241/virtcontainers/qemu_arch_base.go#L358
and
https://github.com/kata-containers/runtime/blob/7d8ce4ec922551845865325ca8e24ba8f8e2074a/virtcontainers/qemu.go#L1201

Thanks @amshinde ! You do find the root cause. I am able to pass the test as long as I change the machine type back to pc.
And if I disable SHPC, I cannot pass it with pc + current guest kernel.
I'll build a new kernel w/ CONFIG_HOTPLUG_PCI_SPC and test again. Thanks a lot for your help!

@amshinde In my environment, with CONFIG_HOTPLUG_PCI_SPC enabled in guest kernel + SHPC enabled in qemu, the nic device still shows up after UpdateInterface request timeout. Are you able to pass the test with CONFIG_HOTPLUG_PCI_SPC + q35?

@amshinde I added pci bus rescanning and fixed an issue with the listening channel. See #380. With that I can pass the test w/ and w/o CONFIG_HOTPLUG_PCI_SPC using q35 machine type.
And the test fails if I take out the pci bus rescan commit. The device shows up a few seconds after the waiting fails. So I think we would always want to scan the pci bus for new devices to find out new devices timely.

@bergwolf I'd like to understand what's going on with pc and shpc.
It's clear that for q35, we need shpc support as the hotplug mechanism, hence we need the SHPC to be enabled from the guest kernel config.
But, I don't get how this interact in case of pc. pc should be using ACPI in order to hotplug PCI devices, and I don't think this should take any extra time compared to the other mechanism. Do you have anymore input on that?
And yes, adding PCI rescan works since we don't need any hotplug mechanism, as we simply force PCI enumeration every time we add a new device from Qemu.
But I don't think this should be needed, and I'd like to make sure we understand what's going on.

And just to add a comment here, I am not against forcing the PCI rescan, but I want to make sure we're not hiding a potential lack of support regarding PCI hotplug.

/cc @mcastelino
I can see that not using shpc with pc is a problem when using a pci-bridge (-device pci-bridge,id=pci-bridge-0,chassis_nr=1,shpc=off). The PCI hotplug on the main bus (PCI host bridge) works just fine through ACPI.
But here is the error I get when I try to hotplug through the bridge:
[   11.227923] pci 0000:01:04.0: BAR 6: no space for [mem size 0x00040000 pref]
[   11.228251] pci 0000:01:04.0: BAR 6: failed to assign [mem size 0x00040000 pref]
[   11.228431] pci 0000:01:04.0: BAR 4: no space for [mem size 0x00004000 64bit pref]
[   11.228583] pci 0000:01:04.0: BAR 4: failed to assign [mem size 0x00004000 64bit pref]
[   11.228741] pci 0000:01:04.0: BAR 1: no space for [mem size 0x00001000]
[   11.228871] pci 0000:01:04.0: BAR 1: failed to assign [mem size 0x00001000]
[   11.229018] pci 0000:01:04.0: BAR 0: no space for [io  size 0x0020]
[   11.229167] pci 0000:01:04.0: BAR 0: failed to assign [io  size 0x0020]
[   11.251395] PCI Interrupt Link [LNKA] enabled at IRQ 11
[   11.251769] virtio-pci 0000:01:04.0: virtio_pci: leaving for legacy driver
[   11.267333] virtio-pci: probe of 0000:01:04.0 failed with error -12

Any idea why there's not enough space for the PCI holes defined by the BARs?

@sboeuf As I tested it, CONFIG_HOTPLUG_PCI_SPC does bring up the network device for q35 but that is a few seconds after we timeout in UpdateInterface API so the device is still not properly configured.

But, I don't get how this interact in case of pc. pc should be using ACPI in order to hotplug PCI devices, and I don't think this should take any extra time compared to the other mechanism.

We enable SHPC on pci bridges for both pc and q35 right now.

I was testing the network vfio device hotplug localy based on kata v1.3.0, but always failed with the error print:
kata-proxy[17695]: time="2018-10-23T19:38:49.342930445+08:00" level=info msg="[  237.429816] pci 0000:01:01.0: [8086:1581] type 00 class 0x020000\n" name=kata-proxy pid=17695 sandbox=c50c01b8205f4813d6c1410a5834fd16cda283210f7e0c666886bdbb9900d10d source=agent
kata-proxy[17695]: time="2018-10-23T19:38:49.343713099+08:00" level=info msg="[  237.430427] pci 0000:01:01.0: reg 0x10: [mem 0x00000000-0x007fffff 64bit pref]\n" name=kata-proxy pid=17695 sandbox=c50c01b8205f4813d6c1410a5834fd16cda283210f7e0c666886bdbb9900d10d source=agent
kata-proxy[17695]: time="2018-10-23T19:38:49.344064018+08:00" level=info msg="[  237.430989] pci 0000:01:01.0: reg 0x1c: [mem 0x00000000-0x00007fff 64bit pref]\n" name=kata-proxy pid=17695 sandbox=c50c01b8205f4813d6c1410a5834fd16cda283210f7e0c666886bdbb9900d10d source=agent
kata-proxy[17695]: time="2018-10-23T19:38:49.344546049+08:00" level=info msg="[  237.431597] pci 0000:01:01.0: reg 0x30: [mem 0x00000000-0x0007ffff pref]\n" name=kata-proxy pid=17695 sandbox=c50c01b8205f4813d6c1410a5834fd16cda283210f7e0c666886bdbb9900d10d source=agent
kata-proxy[17695]: time="2018-10-23T19:38:49.344831647+08:00" level=info msg="[  237.431913] pci 0000:01:01.0: enabling Extended Tags\n" name=kata-proxy pid=17695 sandbox=c50c01b8205f4813d6c1410a5834fd16cda283210f7e0c666886bdbb9900d10d source=agent
kata-proxy[17695]: time="2018-10-23T19:38:49.346025215+08:00" level=info msg="[  237.433022] pci 0000:01:01.0: PME# supported from D0 D3hot\n" name=kata-proxy pid=17695 sandbox=c50c01b8205f4813d6c1410a5834fd16cda283210f7e0c666886bdbb9900d10d source=agent
kata-proxy[17695]: time="2018-10-23T19:38:49.346824703+08:00" level=info msg="[  237.433766] pci 0000:01:01.0: BAR 0: no space for [mem size 0x00800000 64bit pref]\n" name=kata-proxy pid=17695 sandbox=c50c01b8205f4813d6c1410a5834fd16cda283210f7e0c666886bdbb9900d10d source=agent
kata-proxy[17695]: time="2018-10-23T19:38:49.347071407+08:00" level=info msg="[  237.434093] pci 0000:01:01.0: BAR 0: failed to assign [mem size 0x00800000 64bit pref]\n" name=kata-proxy pid=17695 sandbox=c50c01b8205f4813d6c1410a5834fd16cda283210f7e0c666886bdbb9900d10d source=agent
kata-proxy[17695]: time="2018-10-23T19:38:49.347301228+08:00" level=info msg="[  237.434314] pci 0000:01:01.0: BAR 6: assigned [mem 0xfe400000-0xfe47ffff pref]\n" name=kata-proxy pid=17695 sandbox=c50c01b8205f4813d6c1410a5834fd16cda283210f7e0c666886bdbb9900d10d source=agent
kata-proxy[17695]: time="2018-10-23T19:38:49.347513392+08:00" level=info msg="[  237.434548] pci 0000:01:01.0: BAR 3: assigned [mem 0xfe800000-0xfe807fff 64bit pref]\n" name=kata-proxy pid=17695 sandbox=c50c01b8205f4813d6c1410a5834fd16cda283210f7e0c666886bdbb9900d10d source=agent
kata-proxy[17695]: time="2018-10-23T19:38:49.375500627+08:00" level=info msg="[  237.462523] i40e 0000:01:01.0: enabling device (0100 -> 0102)\n" name=kata-proxy pid=17695 sandbox=c50c01b8205f4813d6c1410a5834fd16cda283210f7e0c666886bdbb9900d10d source=agent
kata-proxy[17695]: time="2018-10-23T19:38:49.377076131+08:00" level=info msg="[  237.464083] i40e 0000:01:01.0: ioremap(0x0000, 0x0000) failed: 0xfffffffb\n" name=kata-proxy pid=17695 sandbox=c50c01b8205f4813d6c1410a5834fd16cda283210f7e0c666886bdbb9900d10d source=agent
kata-proxy[17695]: time="2018-10-23T19:38:49.377774156+08:00" level=info msg="[  237.464810] i40e: probe of 0000:01:01.0 failed with error -5\n" name=kata-proxy pid=17695 sandbox=c50c01b8205f4813d6c1410a5834fd16cda283210f7e0c666886bdbb9900d10d source=agent

I have seen the device in the container, but the device has no driver:
/sys/devices/pci0000:00/0000:00:02.0/0000:01:01.0 # cat uevent
PCI_CLASS=20000
PCI_ID=8086:1581
PCI_SUBSYS_ID=8086:0000
PCI_SLOT_NAME=0000:01:01.0
MODALIAS=pci:v00008086d00001581sv00008086sd00000000bc02sc00i00

Machine type  is pc with shpc=on
Is there something wrong with my environment, or something else? @bergwolf @sboeuf

@miaoyq
Have you been able to make this work with a simple veth hotplug?
The network hotplug of a VFIO device is not supported yet, but should land soon. I just want to make sure the standard veth use case works for you.

Have you been able to make this work with a simple veth hotplug?

@sboeuf  Yeah, works very well :-)
We were implementing the network hotplug of a VFIO device locally based on v1.3.0. it works well in one of my environments, but always failed in another one with above error print.

@miaoyq Oh okay! So I think the issue might come from the fact that your device needs a lot of memory and because it is hotplugged behind a PCI bridge, the reserved space is not large enough.
Try to use:
hotplug_vfio_on_root_bus = true

from the configuration.toml. The main PCI bus has more space and should be able to support your device.

Thanks @sboeuf
I set hotplug_vfio_on_root_bus = true,  and get following print:
"{\"error\": {\"class\": \"GenericError\", \"desc\": \"Bus 'pcie.0' does not support hotplugging\"}}"

It seems that root bus does not support hotplug.

@miaoyq are you using q35 machine type? You need to use pc, which will allow devices to be plugged onto the PCI host bridge directly.
By using q35, you would require some extra code taking care of creating a PCIe hierarchy so that you can hotplug to a downstream root port for instance.


Working of Lock state attribute in Door lock cluster. (TZ-419)

Question
I was going through the ZCL documentation and noticed that the Lock State attribute is read-only. According to the docs, the Lock State attribute changes only when the door lock gets a lock/unlock command and subsequently executing the corresponding physical lock/unlock operation.
I am seeking clarification on the mechanism through which the Lock State attribute determines the status of the physical lock, specifically how it figures out whether the lock is in a locked or unlocked state. I am interested in understanding the inherent relationship facilitating this determination and the methods by which synchronization between the Lock State attribute and the physical lock is established.
Your help in explaining this would be really helpful.
Additional context.
No response

Hello @mallaprashant ,
Regarding this issue, I believe the Zigbee report mechanism can meet your requirements.
Firstly, the esp_zb_zcl_lock_door_cmd_req() / esp_zb_zcl_unlock_door_cmd_req() provides a way to lock or unlock the door for the Door Lock Controller.
Secondly, the report attribute of lock state and door state provides a way to report their physical state to the Door Lock Controller by calling esp_zb_zcl_set_attribute_val() when it executes the corresponding physical lock/unlock operation.
Furthermore, it is necessary to ultilize esp_zb_zcl_config_report_cmd_req() and esp_zb_zdo_device_bind_req() to bind the attribute report.

Hi @xieqinan,
Thank you for your response. I have conducted tests based on the instructions provided, specifically utilizing the esp_zb_zcl_set_attribute_val() function. However, the function call resulted in the return value:
ESP_ZB_ZCL_STATUS_READ_ONLY = 0x88U,
indicating that the operation is constrained by a read-only status. Your further guidance on how to address this limitation would be greatly appreciated.

Secondly, the report attribute of lock state and door state provides a way to report their physical state to the Door Lock Controller by calling esp_zb_zcl_set_attribute_val() when it executes the corresponding physical lock/unlock operation.

@xieqinan I'm getting the same return value (ESP_ZB_ZCL_STATUS_READ_ONLY) as @mallaprashant when trying to calling esp_zb_zcl_set_attribute_val on ESP_ZB_ZCL_ATTR_DOOR_LOCK_LOCK_STATE_ID.
Furthermore, I'm wondering how to configure the default lock state value upon initialization of the door lock cluster. The following config doesn't change the state to locked when the device joins the network. It remains unlocked.
esp_zb_door_lock_cluster_cfg_t door_lock_config;
door_lock_config.lock_state = 0x01; // 0x01: Locked, 0x02 :Unlocked
door_lock_config.lock_type = 0x02; // 0x02: Other
door_lock_config.actuator_enabled = ESP_ZB_ZCL_ATTR_DOOR_LOCK_ACTUATOR_ENABLED_DEFAULT_VALUE;
esp_zb_attribute_list_t* door_lock_cluster = esp_zb_door_lock_cluster_create(&door_lock_config);

@mallaprashant  @aaaaahaaaaa ,
Please use the mandatory way to set the attribute value.
Such as:
 esp_zb_zcl_set_attribute_val(endpoint, cluster_id, cluster_role, attr_id, false);

Thank you @xieqinan,
Previously, I set the 'check access' method to true.

@xieqinan What about the default value upon initialization?

@xieqinan I'm confused, who do you refer to by "the user"?
The config example above I shared above doesn't work for the lock. The default lock_state  value doesn't change in HA when the device joins the network for the first time. But it does for the default on_off of a switch.

@xieqinan Thank you for the clarification. So if I understand correctly, we can actually expect the following setting to  eventually work once it's supported by the SDK?
esp_zb_door_lock_cluster_cfg_t door_lock_config;
door_lock_config.lock_state = 0x01; // 0x01: Locked, 0x02 :Unlocked
esp_zb_attribute_list_t* door_lock_cluster = esp_zb_door_lock_cluster_create(&door_lock_config);

@aaaaahaaaaa ,
Yes, you can try it now.


fetch-mock does not forward requests correctly when jsdom-global is in effect

fetch-mock has a function patchNativeFetchForSafari that wraps the native fetch when it detects it's running in Safari. By a funny coincidence, what fetch-mock looks for is exactly how jsdom identifies itself.
The side effect is that, when jsdom-global is loaded, the patchNativeFetchForSafari function only passes the first argument on to the nativeFetch function. Like so:
require('jsdom-global/register');
const fetchMock = require('fetch-mock');

fetchMock.config.fetch = function() {
  console.log(arguments);
  return Promise.reject(new Error('nyeh'));
}

const sandbox = fetchMock.sandbox();
sandbox.spy(true);

sandbox('http://localhost:2021', { headers: { 'cookie': 'id=5' } }).catch(() => {});

Produces:
fluggo@NONEYABIZ:~/software/fetchmocktest$ node test.js
[Arguments] { '0': 'http://localhost:2021/' }

...leaving out the specified header.
Either the detection needs to be more specific, nativeFetch should be called as nativeFetch.apply(arguments), or both. For my purposes, my workaround will probably be navigator = { vendor: 'Compy' };.

The safari hack is now removed


Dates in the format 'YYYY-MM-DD HH:MM' give the incorrect month and day

Perhaps I'm using the library wrong.  Is this intended to work?
In [7]: parsedatetime.Calendar().parse('2015-06-15 04:30')
Out[7]: ((2015, 8, 5, 4, 30, 0, 2, 217, 1), 2)
In [8]: parsedatetime.Calendar().parse('06-15-2015 04:30')
Out[8]: ((2015, 8, 5, 4, 30, 0, 2, 217, 1), 2)

It seems to have correctly parsed out the time, but the date is ignored.  The library works great with stuff like "2 hours ago", but it fails for this.

technically we have tried to make it work with dates of that type, but it turns out to be a lot of messy work since the focus of the lib is about fuzzy/natural dates

:+1: makes sense, thanks!

This actually is supported as of a couple weeks ago. If you need to parse this particular format, installing parsedatetime from the master branch should work. It does not support full ISO8601 dates (e.g. 2015-06-15T04:30:26-0500) but your example is a simpler format.


Compilation issue with g++ 5.3.1

Just updating to Ubuntu 16.04. I get this error on build:
g++ (Ubuntu 5.3.1-14ubuntu2.1) 5.3.1 20160413

Error:
make[1]: Entering directory '/home/erik/vg/deps/gfakluge'
ar -rs libgfakluge.a gfakluge.o
g++ -O3 -o gfa_sort gfa_sort.cpp -L./ -I./ -lgfakluge
/tmp/ccxIDYPB.o: In function `main':
gfa_sort.cpp:(.text.startup+0x11c): undefined reference to `gfak::GFAKluge::parse_gfa_file(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
gfa_sort.cpp:(.text.startup+0x14f): undefined reference to `gfak::GFAKluge::block_order_string[abi:cxx11]()'
collect2: error: ld returned 1 exit status
Makefile:9: recipe for target 'sort' failed
make[1]: *** [sort] Error 1
make[1]: Leaving directory '/home/erik/vg/deps/gfakluge'
Makefile:142: recipe for target 'lib/libgfakluge.a' failed
make: *** [lib/libgfakluge.a] Error 2

That's no good. I wonder of GCC 5 has stricter include requirements or something. As a hack, you can remove the sort target from the all Make recipe (as I assume you just need the library). I'll try to push a fix tonight.

Looks like I can work around the problem by doing into the deps/gfakludge directory and doing a make clean && make cycle.

I suspect this is actually a parallel build issue. I've shifted the make dependencies around - let me know if the newest commit still fails. I think we need to update to the latest one anyway for JSON parsing.

Considering it fixed; builds on 6.1.


Can I use Nanopolish for RNA?

Hi @jts ,
I was wondering if is it possible to train a model for RNA by nanopolish and then use nanopolish to call modification from RNA sample using that model?
Thanks,
Vahid.

Wouldn't it possible to use nanopolish eventalign with transcriptome.fa for that purpose? I was going to try it out on direct RNA data but I came across this issue. So,  just wanted to be sure that it makes sense. I also don't have different conditions.


setup failed!?!

i ran all 3 ways you provided and the following is the output. I have a pi 4 8gb, and am running the latest pi OS... the old script still works fine
▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓          ▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓     ▓▓▓▓               ▓▓▓▓ ▓▓▓▓     ▓▓▓▓ ▓▓▓▓     ▓▓▓▓ ▓▓▓▓     ▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓ ▓▓▓▓     ▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓          ▓▓▓▓ ▓▓▓▓     ▓▓▓▓ ▓▓▓▓     ▓▓▓▓ ▓▓▓▓   ▓▓▓▓   ▓▓▓▓   ▓▓▓▓
▓▓▓▓          ▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓     ▓▓▓▓ ▓▓▓▓    ▓▓▓▓▓ ▓▓▓▓    ▓▓▓▓▓
Name:           pijarr/setup.sh
Description:    Raspberry Pi installer for Jackett, Sonarr, Radarr, and Lidarr
Author:         github.com/pijarr
Tested:         Raspberry Pi 3 & 4 running Raspbian Buster
Notes:          Requiries sudo/root superuser permissions to run.
            If they are not already installed the required dependencies including
            Mono (Cross platform, open source .NET framework) may take a while to
            download and install.

            After initial setup the web interface for the application may need a short time
            to start before being available on the nominated host port.

Do you wish to continue (y/N)? Y
Updating packages using apt update...
Get:1 http://raspbian.raspberrypi.org/raspbian bullseye InRelease [15.0 kB]
Get:2 http://archive.raspberrypi.org/debian bullseye InRelease [23.5 kB]
Get:3 http://archive.raspberrypi.org/debian bullseye/main armhf Packages [247 kB]
Fetched 286 kB in 1s (203 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
6 packages can be upgraded. Run 'apt list --upgradable' to see them.
Upgrading packages using apt upgrade...
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following package was automatically installed and is no longer required:
libfuse2
Use 'sudo apt autoremove' to remove it.
The following packages will be upgraded:
firmware-atheros firmware-brcm80211 firmware-libertas firmware-misc-nonfree
firmware-realtek rpd-plym-splash
6 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 43.4 MB of archives.
After this operation, 2,048 B of additional disk space will be used.
Get:1 http://archive.raspberrypi.org/debian bullseye/main armhf firmware-atheros all 1:20210315-3+rpt5 [10.0 MB]
Get:2 http://archive.raspberrypi.org/debian bullseye/main armhf firmware-brcm80211 all 1:20210315-3+rpt5 [5,787 kB]
Get:3 http://archive.raspberrypi.org/debian bullseye/main armhf firmware-libertas all 1:20210315-3+rpt5 [17.7 MB]
Get:4 http://archive.raspberrypi.org/debian bullseye/main armhf firmware-misc-nonfree all 1:20210315-3+rpt5 [8,953 kB]
Get:5 http://archive.raspberrypi.org/debian bullseye/main armhf firmware-realtek all 1:20210315-3+rpt5 [922 kB]
Get:6 http://archive.raspberrypi.org/debian bullseye/main armhf rpd-plym-splash armhf 0.30 [34.9 kB]
Fetched 43.4 MB in 1min 13s (592 kB/s)
apt-listchanges: Reading changelogs...
(Reading database ... 99974 files and directories currently installed.)
Preparing to unpack .../0-firmware-atheros_1%3a20210315-3+rpt5_all.deb ...
Unpacking firmware-atheros (1:20210315-3+rpt5) over (1:20210315-3+rpt4) ...
Preparing to unpack .../1-firmware-brcm80211_1%3a20210315-3+rpt5_all.deb ...
Unpacking firmware-brcm80211 (1:20210315-3+rpt5) over (1:20210315-3+rpt4) ...
Preparing to unpack .../2-firmware-libertas_1%3a20210315-3+rpt5_all.deb ...
Unpacking firmware-libertas (1:20210315-3+rpt5) over (1:20210315-3+rpt4) ...
Preparing to unpack .../3-firmware-misc-nonfree_1%3a20210315-3+rpt5_all.deb ...
Unpacking firmware-misc-nonfree (1:20210315-3+rpt5) over (1:20210315-3+rpt4) ...
Preparing to unpack .../4-firmware-realtek_1%3a20210315-3+rpt5_all.deb ...
Unpacking firmware-realtek (1:20210315-3+rpt5) over (1:20210315-3+rpt4) ...
Preparing to unpack .../5-rpd-plym-splash_0.30_armhf.deb ...
Unpacking rpd-plym-splash (0.30) over (0.29) ...
Setting up rpd-plym-splash (0.30) ...
update-initramfs: deferring update (trigger activated)
Setting up firmware-atheros (1:20210315-3+rpt5) ...
Setting up firmware-misc-nonfree (1:20210315-3+rpt5) ...
Setting up firmware-brcm80211 (1:20210315-3+rpt5) ...
Setting up firmware-realtek (1:20210315-3+rpt5) ...
Setting up firmware-libertas (1:20210315-3+rpt5) ...
Processing triggers for initramfs-tools (0.140) ...
Running package clean-up using apt autoclean and autoremove...
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages will be REMOVED:
libfuse2
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 288 kB disk space will be freed.
(Reading database ... 99974 files and directories currently installed.)
Removing libfuse2:armhf (2.9.9-5) ...
Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u2) ...
Setup Dependencies
Installing required dependencies...
[✘] Package apt-transport-https not found.
Attempting to install apt-transport-https package with apt...
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
apt-transport-https
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 160 kB of archives.
After this operation, 166 kB of additional disk space will be used.
Get:1 http://mirror.umd.edu/raspbian/raspbian bullseye/main armhf apt-transport-https all 2.2.4 [160 kB]
Fetched 160 kB in 0s (412 kB/s)
Selecting previously unselected package apt-transport-https.
(Reading database ... 99961 files and directories currently installed.)
Preparing to unpack .../apt-transport-https_2.2.4_all.deb ...
Unpacking apt-transport-https (2.2.4) ...
Setting up apt-transport-https (2.2.4) ...
Package apt-transport-https is now installed.
[✔] Checking for required package > dirmngr
[✔] Checking for required package > gnupg
[✔] Checking for required package > ca-certificates
Adding repository key and apt source for mono...
pi@Pi-Hole:~ $

Found it was an error with gpg directory permissions:
gpg: failed to create temporary file '/root/.gnupg/.#lk0x00a93d50.raspberrypi.2563': No such file or directory
gpg: connecting dirmngr at '/root/.gnupg/S.dirmngr' failed: No such file or directory
gpg: keyserver receive failed: No dirmngr
A manual fix is to run the sudo gpg command once own then ctrl-c and this will create required directories and permissions.
Fixes added to script -
sudo mkdir -p /root/.gnupg
sudo chmod -R 600 /root/.gnupg

Thank you!


DNM: Revert "kernel: move to the latest LTS kernel 5.4.60"

This reverts commit e529c010e0708954ce9924d5f10aa4d0c47708f6.
As reported in issue https://github.com/kata-containers/tests/issues/2839, we have an regression on our metrics CI, where the current memory footprint is increased. This PR is a quick test to verify whether this increased memory footprint is a result of our recent change to a new kernel version.

/test-ubuntu

@amshinde @GabyCT @jcvenegas The kernel version seems to be not the root-cause. The old kernel version 5.4.32 is failing on the same way:
15:12:04 Report Summary:
15:12:04 +-----+----------------------+-------+--------+--------+-------+--------+--------+-------+------+-----+
15:12:04 | P/F |         NAME         |  FLR  |  MEAN  |  CEIL  |  GAP  |  MIN   |  MAX   |  RNG  | COV  | ITS |
15:12:04 +-----+----------------------+-------+--------+--------+-------+--------+--------+-------+------+-----+
15:12:04 | P   | boot-times           | 95.0% | 103.2% | 105.0% | 10.0% | 94.6%  | 123.3% | 30.4% | 5.4% |  20 |
15:12:04 | *F* | memory-footprint     | 95.0% | 107.5% | 105.0% | 10.0% | 107.5% | 107.5% | 0.0%  | 0.0% |   1 |
15:12:05 | P   | memory-footprint-ksm | 95.0% | 101.5% | 105.0% | 10.0% | 101.5% | 101.5% | 0.0%  | 0.0% |   1 |
15:12:05 | P   | blogbench            | 90.0% | 97.5%  | 110.0% | 20.0% | 97.5%  | 97.5%  | 0.0%  | 0.0% |   1 |
15:12:05 | P   | blogbench            | 90.0% | 93.1%  | 110.0% | 20.0% | 93.1%  | 93.1%  | 0.0%  | 0.0% |   1 |
15:12:05 +-----+----------------------+-------+--------+--------+-------+--------+--------+-------+------+-----+

/test-metrics

/test-metrics-ci

/test-qemu-metrics

/test-ubuntu

Can we close this @likebreath?


Yeoman new angular2 - 133 errors

I just create a new yeoman angular2 project.
Following your steps I install devextreme-angular: npm install --save devextreme devextreme-angular
"devextreme": "^16.2.4",
"devextreme-angular": "^16.2.4",
Now just start the server: npm start
And i have 133 errors ¿Any idea why those errors?
Thanks in advance.
default] C:\Users\mcarbajo\Desktop\ExCA - M2C\FRONT-END\node_modules@types\protractor\index.d.ts:1844:13
[0]     Subsequent variable declarations must have the same type.  Variable '$' must be of type 'JQueryStatic', but here has type 'cssSelectorHelper'.
[0] [default] C:\Users\mcarbajo\Desktop\ExCA - M2C\FRONT-END\node_modules\devextreme-angular\ui\accordion.d.ts:24:15
[0]     Cannot find name 'DxAccordion'.
[0] [default] C:\Users\mcarbajo\Desktop\ExCA - M2C\FRONT-END\node_modules\devextreme-angular\ui\accordion.d.ts:91:60
[0]     Cannot find name 'DxAccordion'.
[0] [default] C:\Users\mcarbajo\Desktop\ExCA - M2C\FRONT-END\node_modules\devextreme-angular\ui\action-sheet.d.ts:24:15
[0]     Cannot find name 'DxActionSheet'.
.....
.....
[0]     Cannot find name 'DxValidationGroup'.
[0] [default] C:\Users\mcarbajo\Desktop\ExCA - M2C\FRONT-END\node_modules\devextreme-angular\ui\validation-group.d.ts:31:60
[0]     Cannot find name 'DxValidationGroup'.
[0] [default] C:\Users\mcarbajo\Desktop\ExCA - M2C\FRONT-END\node_modules\devextreme-angular\ui\validation-summary.d.ts:24:15
[0]     Cannot find name 'DxValidationSummary'.
[0] [default] C:\Users\mcarbajo\Desktop\ExCA - M2C\FRONT-END\node_modules\devextreme-angular\ui\validation-summary.d.ts:42:60
[0]     Cannot find name 'DxValidationSummary'.
[0] [default] C:\Users\mcarbajo\Desktop\ExCA - M2C\FRONT-END\node_modules\devextreme-angular\ui\validator.d.ts:24:15
[0]     Cannot find name 'DxValidator'.
[0] [default] C:\Users\mcarbajo\Desktop\ExCA - M2C\FRONT-END\node_modules\devextreme-angular\ui\validator.d.ts:45:60
[0]     Cannot find name 'DxValidator'.
[0] [default] C:\Users\mcarbajo\Desktop\ExCA - M2C\FRONT-END\node_modules\devextreme-angular\ui\vector-map.d.ts:26:15
[0]     Cannot find name 'DxVectorMap'.
[0] [default] C:\Users\mcarbajo\Desktop\ExCA - M2C\FRONT-END\node_modules\devextreme-angular\ui\vector-map.d.ts:103:60
[0]     Cannot find name 'DxVectorMap'.
[0] [default] Checking finished with 133 errors

Hello @mpulido73,
I found, that yeoman angular2 project uses the old dependency from "angular2": "2.0.0-beta.2".
We recommend using Angular higher than version 2.2.1.

Hi Stanislav,
¿Are There a downloadable version of DevExtreme for angular 2.1.1? Our
development is under this version and we can't update version by now.
We are very interested in your DevExtreme library.
Thanks in advance
2017-02-21 17:19 GMT+01:00 Stanislav<EMAIL_ADDRESS>
Hello @mpulido73 https://github.com/mpulido73,
I found, that yeoman angular2 project uses the old dependency
https://github.com/chrisdwheatley/generator-angular2/blob/master/app/templates/_package.json#L9
from "angular2": "2.0.0-beta.2".
We recommend using Angular higher than version 2.2.1.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/DevExpress/devextreme-angular/issues/384#issuecomment-281393189,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABtnWJ_qhqVFOobHEh7PFesIO6EjzDXLks5rew6AgaJpZM4MHRdC
.

--
Manuel Carlos Pulido Anaya
<EMAIL_ADDRESS>Tfno: 666-388-275

I think we are talking about different Yeoman templates. The template @Aden-git mentioned used angular2, not @angular. I also know Yeoman templates for ASP.NET Core. Perhaps, you are using one of them. In any case, if you need to use our devextreme-angular package that works with Angular 2.1.1, use version 16.2.3-rc.3.

Thanks a lot.
To install it we can use this???:
npm install --save devextreme<EMAIL_ADDRESS>If this version is ok for us and we decide purchase it, can we download the
latest version and the 16.2.3-rc.3?
Thanks again Dmitry
2017-03-14 17:17 GMT+01:00 Dmitry Egorov<EMAIL_ADDRESS>
I think we are talking about different Yeoman templates. The template
@Aden-git https://github.com/Aden-git mentioned used angular2, not
@angular. I also know Yeoman templates for ASP.NET Core. Perhaps, you are
using one of them. In any case, if you need to use our devextreme-angular
package that works with Angular 2.1.1, use version 16.2.3-rc.3.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/DevExpress/devextreme-angular/issues/384#issuecomment-286474144,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABtnWFctnSizaKOrmCePv_Ze7_lrWJUjks5rlr2mgaJpZM4MHRdC
.

--
Manuel Carlos Pulido Anaya
<EMAIL_ADDRESS>Tfno: 666-388-275

Yes, use the npm install --save<EMAIL_ADDRESS>command to install our devextreme-angular NPM package of version 16.2.3-rc.3.

You can use only one version of an NPM package in a single project. So, you can use version 16.2.3-rc.3 in one project and our latest version in another.

This issue is closed because of being inactive. If you need further assistance, leave a comment here.


[19.03] gitlab updates

Motivation for this change
https://github.com/NixOS/nixpkgs/pull/66621
had to cherry-pick some changes from unstable as well.
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

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

Notify maintainers
cc @lheckemann @talyz @bgamari

@GrahamcOfBorg test gitlab

For some reason, gitlab-rake gitlab:shell:create_hooks is failing like this:
gitlab# [  359.493137] 0qa9yb6sfx690qahdhljghmryvm2yjwf-unit-script-gitlab-pre-start[1105]: rake aborted!
gitlab# [  359.494934] 0qa9yb6sfx690qahdhljghmryvm2yjwf-unit-script-gitlab-pre-start[1105]: Don't know how to build task 'gitlab:shell:create_hooks' (See the list of available tasks with `rake --tasks`)
gitlab# [  359.501036] 0qa9yb6sfx690qahdhljghmryvm2yjwf-unit-script-gitlab-pre-start[1105]: /nix/store/gb4ggiirx02310n9z421jwgwk2qg366n-gitlab-env-12.1.6/lib/ruby/gems/2.5.0/gems/rake-12.3.2/exe/rake:27:in `<top (required)>'
gitlab# [  359.503296] 0qa9yb6sfx690qahdhljghmryvm2yjwf-unit-script-gitlab-pre-start[1105]: (See full trace by running task with --trace)

Interestingly, this works just fine on unstable (with pretty much the same codebase in pkgs/applications/version-management/gitlab), so I don't really understand what's going on.

gitlab:shell:create_hooks has been removed upstream, I'm pretty sure i removed this on master, will try to get to test this on our instance tomorrow. But don't necessarily block merging on this, looks fine generally.

I'd rather not break the gitlab vm tests on 19.03. will have a look later today, thanks for the pointer!

I gave this a close look - the removal of the create_hooks command happened inside 783c2f61066ff25718df39f4b5d4ef1193ed86d9.
I managed to spot some other missed commits, the nixos module on master and in this PR are now in sync (except 3f4a353737f165d4935c0404404c0de6eea92093 not applied).

@GrahamcOfBorg test gitlab

@globin did you get a chance to give this a test run on your instance?

@flokli just tested with our instance, lgtm!

Thanks!


plex media server

https://github.com/bdevans/plexberry/blob/master/setup_plex.sh
https://gist.github.com/NuroDev/f9354dd91190b58daae7b05cf3ea56ce

right now, seems more work then its worth at this moment


Add CI

The next td-agent will embed Ruby 3.2.
I was checking each embedded plugin and noticed that this plugin has no CI.
How about adding CI?
I have confirmed that this works on my forked repository: https://github.com/daipom/fluent-plugin-calyptia-monitoring/actions/runs/4234120312

@cosmo0920 ping

Thanks!

Thanks for merging!


Fix #74

<!-- Make sure you have read http://napalm.readthedocs.io/en/latest/contributing/index.html --!>

Coverage remained the same at 84.38% when pulling c9bb2be7213855d1a8182f2c5776fc5a69042672 on mirceaulinic:FIX-74 into 4dd98dc029fa7e538f4d8918080d10bc46f2df6c on napalm-automation:develop.

Coverage remained the same at 84.38% when pulling c9bb2be7213855d1a8182f2c5776fc5a69042672 on mirceaulinic:FIX-74 into 4dd98dc029fa7e538f4d8918080d10bc46f2df6c on napalm-automation:develop.

+1


Multiprocessing issue 'Can't pickle <function ....'

Hey,
the following code is not working in ptpython on python version 3.
from multiprocessing.pool import Pool

def do(x):
    return x

pool = Pool(processes=16,  maxtasksperchild=100)
done_x = []
for x in pool.imap_unordered(do, [1, 2, 3, 4, 5]):
    done_x.append(x)

It produces the following error:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/multiprocessing/pool.py", line 695, in next
    raise value
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/multiprocessing/pool.py", line 385, in _handle_tasks
    put(task)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/multiprocessing/connection.py", line 206, in send
    self._send_bytes(ForkingPickler.dumps(obj))
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/multiprocessing/reduction.py", line 50, in dumps
    cls(buf, protocol).dump(obj)
_pickle.PicklingError: Can't pickle <function do at 0x10388c268>: attribute lookup do on __main__ failed
Can't pickle <function do at 0x10388c268>: attribute lookup do on __main__ failed

I have tested the code on Python 3.5.2 on ubuntu and mac os. It is working correctly in default python's REPL, in jupyter, and by running it directly.

Hi @several27, this looks like a bug.
It's pickle. The following code has the same issue:
def f():
    pass
import pickle
pickle.dumps(f)

Thanks for reporting this bug!

@jonathanslenders Any update on this? Also experiencing this bug

@danai-antoniou I updated Anaconda to the latest version and that fixed the problem for me. Not sure which package was the issue.  I read online it could be multiprocessing, Ipython, or pickle.

@ttarter3 yep, good shout, worked! Somehow conda resolves conflicts and is able to pickle functions, but outside a conda environment, it's not working - quite baffling.

Running into the same issue here.


Refactor delete endpoint for user

Now it does not remove the user, but changes the status from active to blocked. Due to cronjobs using function from services to delete user, an internal function without endpoint exists to delete user for real. Also the route itself is below the admin restrictions in src/routes/user.js

Assign yourself to this PR


Use default TRIK_PYTHONPATH on linux

Can cause problems with versions mismatch. F.e. Xenial has 3.5
Maybe this workaround must be documented somehow, or correct python libs should be packed into installer.

Download:
Environment: QT=5.12, ARCH=32, PYTHON_PATH=C:\Python37
Environment: QT=5.12, ARCH=64, PYTHON_PATH=C:\Python37-x64


Update readme.md

Added Linx as an API tool - for more info https://linx.software/build-and-deploy-api/

@all-contributors please add @antmorr  for content


Support for emacs '-theme.el' files [Feature request]

Is your feature request related to a problem? Please describe.
It is good practice for emacs themes to end in the stub -theme.el. Current implementation of Tinty does not support this naming convention:
        let theme_dir = fs::read_dir(&themes_path)
            .map_err(anyhow::Error::new)
            .with_context(|| format!("Themes are missing from {}, try running `{} install` or `{} update` and try again.", item.name, REPO_NAME, REPO_NAME))?;
        let theme_option = &theme_dir.filter_map(Result::ok).find(|entry| {
            let path = entry.path();
            let filename = path.file_stem().and_then(|name| name.to_str());
            full_scheme_name == filename.unwrap_or_default()
        });

it checks for exact naming, which works for almost all applications.
Describe the solution you'd like
Implementation of a file-name override in the .toml config which allows for exceptional cases:
[[items]]
name = "base16-emacs"
path = "https://github.com/belak/base16-emacs"
themes-dir="build"
file-override = "$(tinty current)-theme"
hook = "cp -f %f ~/.emacs.d/custom-theme.el && emacsclient -e '(load-theme 'custom t)'"

Describe alternatives you've considered
Rebuilding & packaging the base16-emacs for consumption of a manager, instead of as an emacs package. This would allow foregoing of the -theme.el standard. This is not a desirable fix, but if the above functionality is out of scope of Tinty I can understand.
Additional context
If the suggested implementation is desirable I can work on the feature and test it. I would like to avoid having to fork the existing build for base16-emacs, if possible.

Thanks for bringing this up and for the detailed information :pray:
Yes this should be fixed in Tinty, changing the base16-emacs repo isn't a desirable option (btw belak's repo is now https://github.com/tinted-theming/base16-emacs).
My initial thoughts of this problem is it would be a problem for theme files like base16-ocean.module.css or anything with more than 1 "extension" and this case emacs case is more of an edgecase compared to that situation. So my thoughts are going with a theme-file-extension  property so someone could specify .module.css and we could specify -theme.el for emacs even though I do realise -theme.el isn't technically a file extension.
[[items]]
name = "base16-emacs"
path = "https://github.com/tinted-theming/base16-emacs"
themes-dir="build"
theme-file-extension = "-theme.el"
hook = "cp -f %f ~/.emacs.d/custom-theme.el && emacsclient -e '(load-theme 'custom t)'"

I think the name is more clear for most people (compared to file-override or theme-file-stem) and I like that we don't have to include a variable in the property value. What are your thoughts on this?
Having said that though, if you feel strongly against theme-file-extension, I'm happy with theme-file-stem as an alternative and I'll be happy to review the feature PR :coffee:


Building torchvision for osx-64

conda create -n pytorch pytorch torchvision does not work on osx-64, as the package torchvision is not available for this platform.  Would it be possible to create it?  Thanks in advance.
c.f.: More details at https://github.com/ContinuumIO/anaconda-issues/issues/11672 (apologies in advance - not sure if need to open issue here or there?)

Sorry, it was there...  I'll try to open a pull request here.


use ncplane_puttext() for word breaking

Right now, we're writing with ncplane_putstr() or something. Instead, use ncplane_puttext(), so that we get sensible word breaking where possible.

We're using ncplane_puttext(), and as of 1.6.18 or so it works pretty well.


Fix issue with if statements.

Fix bug in if comparison (same as https://github.com/f1tenth/vesc/pull/27 but for the ros2 branch).

@JWhitleyWork can you give feedback on the open PRs? This is the same as the one merged for the noetic branch it should be quite safe to merge. Any concern?
Is there a plan to continue supporting ROS2?


Avoid infinite loop when cycle in hierarchy

In certain cases, cycles in the components hierarchy appear. Due to the current implementation an infinite loop is generated and the thread hogs the CPU. The only option is to kill the JVM.
The proposed change avoids this situation.

Thanks for the PR. Please change it to point to the master branch.
Do you have a test case to reproduce the issue? I'm asking because we don't have active trinidad developers currently and this would make it easier to review.

Had a look in the master branch and the code seems a lot changed between these versions.
I am not sure where this fix should be inserted in the newer versions.
Regarding the test case I have a dummy one as I did not manage yet to catch the one from the customer environment, given the high degree of customizations they have.
Let's say we have a page like this:
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://xmlns.oracle.com/adf/faces/rich" prefix="af"%>
<f:view>
<af:document id="d1" title="Infinite loop on click">
<af:form id="f1">
<af:commandButton text="Loop" id="cb1" action="#{TestBean.push}"/>
</af:form>
</af:document>
</f:view>
and the button bean looks like this:
`package net.orlat84;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
public class InfiniteLoopBean {
public String push() {
    UIComponent d1 = FacesContext.getCurrentInstance().getViewRoot().findComponent("d1");
    UIComponent f1 = FacesContext.getCurrentInstance().getViewRoot().findComponent("f1");
    d1.setParent(f1);
    return null;
}

}
`
When the button is pressed an infinite loop is generated in the VM and the only way to get rid of it is to bounce the whole server.


current version of Java demos

The Java (maven) demos do not compile because the classes in com.google.api.services.datastore.DatastoreV1.* are not available.

Tentatively closing as obsolete, but please re-open if you're still seeing this issue.


barrier: 2.1.1 -> 2.2.0

Motivation for this change
New update, and also it won't launch ( see #65292 )
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

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

yep, good to squash?

yep :+1:

all done


[Website] Fix navbar mobile

Describe your idea
Detox website's Figma Design Final tab for Mobile Styles: https://www.figma.com/file/QGhhB7djq0OxvLzULhs7u5/Detox?node-id=98%3A2284&t=hPcPyD8iBOlyDjmc-0

[x] Place searchbox and hamburger on RHS on mobile screens

Sample Images of changes needed:
Mobile screens:

larger screens:

Thanks, @IrbisKronos. The issue is resolved.


Removed duplicate variable self.last_chunked_at

I tried to find the difference between self.last_chunked_at and self.buffer_time_offset, and it took me a while to understand that they are exactly the same. I think it's better to get rid of one of the duplicates to make the code more readable.

Thanks, @skripnik ! I merged it. (Rebased.)


Middleware Parameters

Good day.
In Laravel 5.1 an opportunity to pass parameters to middleware, but what if I want to transfer more than one parameter? In this case, I have no way to do it.
For example:
// ...
get('/admin-terms',
    ['middleware' => 'role:admin;requireAll:true', ...]
);

Now there is no possibility to achieve this result.

https://mattstauffer.co/blog/passing-parameters-to-middleware-in-laravel-5.1 As far as I know you can. Separated by comma.

Use a variadic parameter in your middleware.
Route::group(['middleware' => 'role:admin,editor,user'] function(){});

Then in your middleware
public function __construct(...$roles)
{
    dd($roles);
}

You should have an array of your roles


Add report_notice method and emit span close event

Related issue https://github.com/serverless/console/pull/556#discussion_r1144674640
Description

Add _report_notice method on base sdk
Emit "trace-span-close" event when a span is closed.

Testing done
Unit tested

@medikoo ready for review please 🙏


[Crash fix] Fix cudaMallocAsync crashes.

The first commit fixes #48869. The second commit fixes another follow up crashes when using TF_GPU_ALLOCATOR=cuda_malloc_async.
The 2 fixes are:

The Allocator API have the statistics optional. But the function BaseGPUDeviceFactory::CreateGPUDevice() check that they are available.
Bad handling of the ptr to the compute stream. It is a ptr to the compute stream that is passed, not the compute stream itself.
@sanjoy @chsigg

I updated this PR. Now the new configuration options is experimental.
I added what got lost in my rebase the use of that new configuration option.
I also updated the test to verify that the right allocator got used. If you have another idea how to do this, tell me.

Just checking if things are good on your side. It was approved 6 days ago and didn't get in yet.

@nouiz Could you please help resolve the merge conflict? Thank you!

Rebased.

@nouiz Thank you! It seems there are still conflicting files though, namely:
tensorflow/core/protobuf/config.proto
tensorflow/tools/api/golden/v1/tensorflow.-g-p-u-options.pbtxt

Could you please help resolve the conflicts again? Sorry for the inconvenience!

Just to be sure, I see many "Internal CI build failed". Do they block this PR? What is their cause? The windows error is that bazel didn't found the strategy "sandboxed". That have been reverted to my knowledge.

The problem was an unused variable. @penpornk has adjusted your patch internally, then that patch needed approval internally, now it is theoretically ready to land (if the tests pass).

Thanks for the update.

In some of the refactoring of cudaMallocAsync, when there is an OOM a deadlock was added.
Here is a commit that fix it: https://github.com/tensorflow/tensorflow/commit/4cab1820acd4f9fa031bc59884e4bc461d33c3fa
I wasn't sure if you wanted to include it in this PR or not. I can make another PR with the trivial fix if you want. Just tell me how you want to handle it.

In some of the refactoring of cudaMallocAsync, when there is an OOM a deadlock was added.
Here is a commit that fix it: 4cab182
I wasn't sure if you wanted to include it in this PR or not. I can make another PR with the trivial fix if you want. Just tell me how you want to handle it.

I think landing that separately is fine. As far as I can tell, the problem is a missing BUILD dependency for the new header include in the gpu_device_test. I added this as review comment on the internal change, hopefully that is the only remaining thing needed to fix to get it landed.

Any update? I think TF2.6 cutoff is soon. It would be great to get it included so people can start to use it manually.
Is there anything I can do to help?

@nouiz Apologies for the delay! A couple of tests failed the heapcheck (memory leaks). (You'll have to build them and run the binary with pprof to reproduce. The problem is these tests seem to have problems building in my open source environment right now -- so I'm not sure if you'll be able to build them.)
$ bazel build --config=cuda --config=opt  \
   //tensorflow/core/common_runtime/gpu:gpu_device_test
$ bazel build --config=cuda --config=opt \
   //tensorflow/core/common_runtime/gpu:gpu_device_test_gpu

Any idea where the leak could come from? I'm sorry I haven't had time to take a closer look at what the PR is doing yet. I'll try to do that today. Will try to get this into 2.6.

I looked at the code. But I do not understand what could leak.
Here there is a different cast: https://github.com/tensorflow/tensorflow/pull/49173/files#diff-d54c8000677cfd5b7bbc09963559b66949e9738b944210ee215dff19730ee296R88
I do not know pprof. Is there any options I must specify? I'll try to reproduce the error. Just in case I can help.

@nouiz Thank you very much for offering to help! :)
I think I've fixed the leaks. (I added the code that delete gpu_bfc_allocator back. But not the suballocator.)
      delete gpu_bfc_allocator;
      gpu_bfc_allocator = nullptr;

The merge is now stuck because of some (seemingly unrelated) infra issues instead. I'll keep you posted.
Just for reference, here is how to use pprof to check for memory leaks (paths are based on Ubuntu 18.04 -- may be different on different OSes):
# Install pprof and TCMalloc
$ sudo apt install libgoogle-perftools-dev google-perftools
$ export PPROF_PATH=/usr/bin/google-pprof

# Build the test
$ bazel build --config=cuda --config=opt //tensorflow/core/common_runtime/gpu:gpu_device_test

# Run the test with TCMalloc and pprof's heapcheck enabled.
$ HEAPCHECK=normal LD_PRELOAD=/usr/lib/libtcmalloc.so TF2_BEHAVIOR=1 \
    bazel-bin/tensorflow/core/common_runtime/gpu/gpu_device_test

Thank you very much again for your patience!

I do not see a call to pprof. Shoudn't it be:
HEAPCHECK=normal LD_PRELOAD=/usr/lib/libtcmalloc.so TF2_BEHAVIOR=1
$PPROF_PATH bazel-bin/tensorflow/core/common_runtime/gpu/gpu_device_test

Or something like that?

Great question. Heap checker is part of TCMalloc. So we only need to link the binary to TCMalloc and turn on heap checker with the environment variable HEAPCHECK. It uses pprof underneath, that's why we need to install and set the path to pprof. :)


RESTAPI: create pipelines

Moin!
The field default_branch is not documented, but it works. So please add it ;)
Cheers
Ruwen

Thanks for pointing that out Ruwen! 🙏🏻 I'll leave this issue open until it gets added 😊


Unable to load the default library libdpi

I am wondering if the example in https://github.com/fvutils/pyhdl-if/tree/main/examples/call/cocotb/call_sv_bfm is also applicable in Xcelium from Cadence.
I'm trying to get the example working in Xcelium 23.09 but have had no success.
I made small adjustments in the Makefile so that I could use the Xcelium simulator and these two lines are now:
SIM ?= xcelium
EXTRA_ARGS += +incdir+${HDL_IF_SHARE}/dpi

Then running init_venv.sh, activating the virtual environment, and then make would give the error from within xrun:
xmsim: *F,NOLWSV: Searching for import subroutine "_pyhdl_if_PyErr_BadArgument" in default library libdpi. Unable to load the default library libdpi.
OSDLERROR: ./libdpi.so: cannot open shared object file: No such file or directory or file is not valid ELFCLASS64 library..

So I did some digging and found a section in Cadence's SystemVerilog Reference that states that the path to the shared library must be included in the library path environment LD_LIBRARY_PATH and that SystemVerilog tasks and functions C objects must be compiled and linked to that shared library. I'm not sure if this is already handled here.
I also tried running runit_xcm.sh, but it kills my terminal session.
Any ideas what is going wrong here? I would appreciate the help.
I'm using:

Oracle Linux 8.10
Python 3.12.7
I have also tried Python 3.10.15

Thanks for raising this, @penguali. It seems the example Makefile was only configured to support Verilator. I've updated the Makefile to support Xcelium and Questa. You should be able to do the following:

Fetch the latest source for the example (the pyhdl-if library does not require an update)
Activate the virtual environment
run: PYTHONPATH=$(pwd) make SIM=xcelium

I'll close this issue for now. Feel free to re-open it or file a new one if you face more issues.

Thanks for replying! The issue is resolved. The test starts and it prints all the read and write interactions.
However, the test is shutdown prematurely because of test errors from cocotb.schedular and cocotb.regression.
Just before the test shutdown, I could only see read commands being printed. I'm not sure if this is related to the problem.
Should it be opened as a new issue?

Ah, good catch @penguali. I did run into this issue and fixed it by extending the time-out in the SV testbench module. Unfortunately, I forgot to commit my changes. Changes are now pushed, so you shouldn't see the timeout now.


in the UI, add documents to vector store only if they are selected

If a user would create a folder with many files, but only has interest in one or two for querying, then it would be a waste of time and money to create a vector database for all the documents. With this PR, only files will be added to the vector database when they are selected in the User Interface.
For the other modules that also ingest files, nothing changes. All files will be ingested

Document selection works as intended


Release request

Hi.
Is it possible to tag+release+publish master?
Thanks much.

That was fast, @mrallen1. Thanks much.


Remove default parameter values?

While it makes sense for a model to have default geometry, spatial method, etc, having default parameter values is a bit weird.
Should we remove default parameter values? This is a pretty breaking change but easily fixed by any user. It would also allow us to transition away from using Marquis2019, which has some bugs, as the default parameter set

Going even more extreme, an experiment or current (with an explicit temperature) could be a required input for a simulation


Allow the publication name to be altered from the extension

Context:
#3

Published locally with the current state of the project, after the commit 9a67540
And I got this result. So this seems to work very well now.

I tried to fix the last comment you had in the PR as well. Let me know if I didn't do it as it should be.

Sweet ! Thanks for the contribution ❤ , I'll do a release in a bit.

Version is building here


Serving fragments from the Tailor service

I'm thinking about combining the Tailor / fragment services into one monolith for an initial POC and breaking things out into separate services as our project scales. Is there a canonical way to reference fragments that are served from the same server in the html templates? I'd prefer to call a render function directly rather than to reference a localhost endpoint.

I also had another question about the Link header. It seems like CSS and Scripts in the fragment's HTML are added to the template and loaded on the user's browser even when the Link header isn't added to the fragment's response. Why should we stuff js/css into the Link header if it is loaded by the browser?

It seems like CSS and Scripts in the fragment's HTML are added to the template and loaded on the user's browser even when the Link header isn't added to the fragment's response.

Tailor just streams the HTML from your fragment, So if you add any script or css from the fragment it will be directly added to the HTML in a regular way.

Why should we stuff js/css into the Link header if it is loaded by the browser?

There are different gains when you do it via this way.

Tailor can preload the assets if the fragment is primary
It can async load scripts and CSS depending on sync/async fragments
You get can get more information on JS execution using the performance hooks for free. https://github.com/zalando/tailor/blob/master/docs/Performance.md

If you do it via HTML from fragments, you are in full control of your html and tailor only does composition.

Thanks @vigneshshanmugam


Allow checking if value exists in array

Might be a more elegant solution than this, but this allows for an array to be passed to check if a value exists in the given array.
Could also add an inverse to this, if suitable! :)

This is an amazing thing!


Implement a solution for Longhorn backups > cloud backups

Currently all backups are on the local network. For additional security I want to add a cloud backup of this data in the mix.
Should look at how @onedr0p does this with rclone to Backblaze B2
https://github.com/onedr0p/k3s-gitops/tree/master/deployments/default/rclone

Seems like it's a cron job with rclone copying files directly from a particular path.
https://github.com/onedr0p/home-cluster/blob/main/cluster/velero/jobs/velero-minio-b2-sync.yaml
So rclone is sweeping the files on a particular schedule. I wonder if there's a more elegant way to do this. According to this article, "Minio acts as a gateway to B2 and will automatically and transparently put or get data into a Backblaze B2 account", so I I don't understand where rclone comes in (in his particular implementation).
I'm mostly interested in being able to rclone mount a volume, and have Longhorn save files to it directly. Or have Longhorn integrate with rclone directly somehow.

Seems like it's a cron job with rclone copying files directly from a particular path.
https://github.com/onedr0p/home-cluster/blob/main/cluster/velero/jobs/velero-minio-b2-sync.yaml
So rclone is sweeping the files on a particular schedule. I wonder if there's a more elegant way to do this. According to this article, "Minio acts as a gateway to B2 and will automatically and transparently put or get data into a Backblaze B2 account", so I I don't understand where rclone comes in (in his particular implementation).
I'm mostly interested in being able to rclone mount a volume, and have Longhorn save files to it directly. Or have Longhorn integrate with rclone directly somehow.

Maybe something like this: https://forum.rclone.org/t/rclone-serve-s3-remote/8721/
Unfortunately, there's no progress on that, but that seems interesting. rclone behaving as an S3-compliant server and proxying requests to whatever cloud backend you want.

Maybe something like this: https://forum.rclone.org/t/rclone-serve-s3-remote/8721/
Unfortunately, there's no progress on that, but that seems interesting. rclone behaving as an S3-compliant server and proxying requests to whatever cloud backend you want.

It took me some time, but I've finally gotten to creating the Minio -> B2 rclone job.
https://github.com/bjw-s/k8s-gitops/tree/main/cluster/namespaces/system-velero/velero-minio-b2-sync


[BugFix] Only push down partition predicates for mv refresh when all slot refs can be resolved in the scope (#29212)

…slot refs can be resolved in the scope (#29212)

Only push down partition predicates for mv refresh when all slot refs can be resolved in the scope

Fixes #issue
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.1
[ ] 3.0
[ ] 2.5
[ ] 2.4

[FE PR Coverage Check]
:heart_eyes: pass : 6 / 6 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/scheduler/PartitionBasedMvRefreshProcessor.java
6
6
100.00%
[]


A fix for issue #134

Added a missing if statement in _InnerTryGetIndex to accommodate for null values.
This pull request fixes #134

@Wazner thanks for your answer.


everything understandable

[Enter feedback here]

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

ID: 8da07311-409a-3de1-d501-93f6a798f6ff
Version Independent ID: 1878ec1a-a173-8234-65db-e7835f1c4438
Content: Frequently asked questions about Azure for Students and Azure Dev Tools for Teaching
Content Source: articles/education-hub/azure-dev-tools-teaching/program-faq.yml
Service: azure-education
GitHub Login: @rymend
Microsoft Alias: rymend

@Alessiiaa
Could you please elaborate the query for better understanding. So, we can assist you further.

@Alessiiaa
Since we have not heard back from you, we will now proceed to close this thread.If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Repo sync for protected CLA branch

The pull request is created from master637722689209689970 to master to fix git push error for protected CLA branch

@shsagir : Thanks for your contribution! The author(s) have been notified to review your proposed change.