text:
CUDA_ERROR_ILLEGAL_ADDRESS encountered upon certain condition

Code
from typing import Any
import argparse
import functools

import jax
import jax.numpy as jnp

import optax

from flax.training import train_state
from flax import linen as nn

class ResBlock(nn.Module):
    channels: int
    stride: int
    norm: Any

    @nn.compact
    def __call__(self, x):
        shortcut = x
        act = nn.leaky_relu

        c, s = self.channels, self.stride

        x = act(self.norm()(x))
        x = nn.Conv(c // 4, (1, 1))(x)

        x = act(self.norm()(x))
        x = nn.Conv(c // 4, (3, 3), (s, s))(x)

        x = nn.Conv(c, (1, 1))(x)

        if shortcut.shape != x.shape:
            x = self.norm()(x)
            shortcut = nn.Conv(c, (1, 1), (s, s), name='conv_proj')(shortcut)
        return shortcut + x

class Network(nn.Module):
    @nn.compact
    def __call__(self, x, train: bool=True):
        x = nn.Conv(
            16, (3, 3), (2, 2), name='conv_init'
        )(x)
        x = nn.leaky_relu(nn.GroupNorm(16)(x))
        x = nn.max_pool(x, (3, 3), (2, 2), padding='SAME')

        stage_sizes = [2, 2, 3, 2]

        for i, block_size in enumerate(stage_sizes):
            for j in range(block_size):
                s = 2 if i > 0 and j == 0 else 1
                c = 16 * 2**i * 4
                # print(i, j, c, s, x.shape)
                x = ResBlock(channels=c, stride=s,
                             norm=nn.GroupNorm
                             if i > 0
                             else functools.partial(nn.GroupNorm, 16)
                             )(x)
                # print(x.shape)
        x = jnp.mean(x, axis=(1, 2))
        x = nn.Dense(1000)(x)
        return x

def xent_loss_one_hot(logits, labels):
    return jnp.mean(optax.softmax_cross_entropy(
        logits, jax.nn.one_hot(labels, 1000)))

def compute_metrics(logits, labels):
    loss = xent_loss_one_hot(logits, labels)
    accuracy = jnp.mean(jnp.argmax(logits, -1) == labels)
    metrics = {
        'loss': loss,
        'accuracy': accuracy
    }
    return metrics

def train_step(state, x, y):
    def loss_fn(params):
        logits = Network().apply({'params': params}, x)
        loss = xent_loss_one_hot(logits, y)
        return loss, logits

    grad_fn = jax.value_and_grad(loss_fn, has_aux=True)
    (_, logits), grads = grad_fn(state.params)
    state = state.apply_gradients(grads=grads)
    metrics = compute_metrics(logits, y)

    return state, metrics

def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('--batch-size', type=int, required=True)
    parser.add_argument('--jit', action='store_true')
    args = parser.parse_args()

    # Batch size 8 --> works
    # Batch size 16 --> CUDA_ERROR_ILLEGAL_ADDRESS
    batch_size = args.batch_size

    rng = jax.random.PRNGKey(42)
    rng, init_rng = jax.random.split(rng)

    net = Network()
    params = net.init(rng, jnp.ones((batch_size, 224, 224, 3)))['params']

    tx = optax.adamw(learning_rate=1e-3, weight_decay=5e-4)
    state = train_state.TrainState.create(
        apply_fn=net.apply, params=params, tx=tx)

    # IMPORTANT: we use "batch_size - 1" here
    x, y = jnp.ones((batch_size - 1, 224, 224, 3)), jnp.zeros(batch_size - 1)

    if args.jit:
        train = jax.jit(train_step)
    else:
        train = train_step

    state, metrics = train(state, x, y)
    print(state.params['conv_init']['bias'])

    print('Have a nice day!')

if __name__ == '__main__':
    main()

Symptoms
CUDA_ERROR_ILLEGAL_ADDRESS is garanteed to trigger when the following conditions are met:

jit is enabled
Runs on a slightly smaller batch size (e.g., batch_size - 1) compared to initialization (which triggers a jit re-compilation)
When batch size is greater than 16

I've tested batch_size=8 and it works like a charm.
Reproduction Command Line
# This crashes
$ python3 debug.py --batch-size 16 --jit

# The following does not crash
$ python3 debug.py --batch-size 16
$ python3 debug.py --batch-size 8 --jit
$ python3 debug.py --batch-size 8

I further tested the following variants and they all run well:

Fewer stages in network

change stage_sizes = [2, 2, 3, 2] to stage_sizes = [2, 2, 3]`

Change resblock from bottleneck structure to a single convolution

make def __call__(self, x): just returns nn.Conv(c // 4, (3, 3), (s, s))(x)

Crash Logs
$ python3 debug.py --batch-size 16 --jit
2021-09-04 21:00:52.830628: E external/org_tensorflow/tensorflow/stream_executor/cuda/cuda_driver.cc:1155] failed to enqueue async memcpy from device to host: CUDA_ERROR_ILLEGAL_ADDRESS: an illegal memory access was encountered; host dst: 0x3f8de740; GPU src: 0x7f3bfabf7d00; size: 64=0x40
2021-09-04 21:00:52.830749: E external/org_tensorflow/tensorflow/stream_executor/stream.cc:334] Error recording event in stream: Error recording CUDA event: CUDA_ERROR_ILLEGAL_ADDRESS: an illegal memory access was encountered; not marking stream as bad, as the Event object may be at fault. Monitor for further errors.
2021-09-04 21:00:52.830790: E external/org_tensorflow/tensorflow/stream_executor/cuda/cuda_driver.cc:611] unable to add host callback: CUDA_ERROR_ILLEGAL_ADDRESS: an illegal memory access was encountered
Traceback (most recent call last):
  File "debug.py", line 130, in <module>
    main()
  File "debug.py", line 124, in main
    print(state.params['conv_init']['bias'])
  File "/home/zxy/.local/lib/python3.6/site-packages/jax/interpreters/xla.py", line 1060, in _forward_method
    return fun(getattr(self, attrname), *args)
RuntimeError: Internal: stream did not block host until done; was already in an error state
2021-09-04 21:00:52.967591: E external/org_tensorflow/tensorflow/stream_executor/cuda/cuda_driver.cc:1039] could not synchronize on CUDA context: CUDA_ERROR_ILLEGAL_ADDRESS: an illegal memory access was encountered :: *** Begin stack trace ***

        PyDict_SetItem
        _PyModule_ClearDict
        PyImport_Cleanup
        Py_FinalizeEx
        Py_Main
        main
        __libc_start_main
        _start
*** End stack trace ***

2021-09-04 21:00:52.967745: F external/org_tensorflow/tensorflow/compiler/xla/service/gpu/gpu_executable.cc:89] Check failed: pair.first->SynchronizeAllActivity()
[1]    5164 abort      python3 debug.py --batch-size 16 --jit

Non-crash Log
$ python3 debug.py --batch-size 8 --jit                                                                        130
[-0.00078839 -0.00099954 -0.00099411  0.00100002  0.00100001 -0.00083913
 -0.00099661 -0.00100002  0.00099884 -0.00100002 -0.00099947 -0.00100002
  0.00100002 -0.00098644  0.00099998  0.0009997 ]
Have a nice day!

System Info

Ubuntu 18.04
nvidia 460.32.03
cuda 10.2
cudnn 7.6.5
python packages

flax==0.3.4
jax==0.2.17
jaxlib==0.1.68+cuda102
optax==0.0.9

If I change GroupNorm to LayerNorm (the one in the flax.linen package), python3 debug.py --batch-size 16 --jit will exit gracefully as well.

There are a number of known CUDA_ERROR_ILLEGAL_ADDRESS bugs for CUDA < 11.1 that are out of our control (they are bugs in ptxas). Can you upgrade to a CUDA >= 11.1? I strongly suspect that will fix your bug.

(I should add: we intend to drop CUDA 10.2 support in the next release and only support 11.1+ for precisely this reason.)

Closing, because I'm fairly confident this is a CUDA problem that would be fixed by upgrading CUDA to 11.1+. Please reopen if the problem still occurs with an up to date CUDA.

authors: hawkinsp zxytim

repo: google/jax


text:
Added notebook for PyTrees

Added JAX pytrees notebook

Also added docstrings to the tree_util module

This PR was already discussed as https://github.com/google/jax/pull/1574, but somehow got lost. I do not quite understand how, I thought I have merged it.

Looking at the diff on #1574, it looks like the notebook just wasn't included, so I guess it was never merged into master. Maybe lost in a rebase somehow? No idea :)

Fixes #1552

source: gharchive/pull-request

authors: gnecula mattjj

license_type: permissive

license_source: github-api


text:
Update README.md with information about openshift-registry

Updating README with information on how to use openshift internal registry with ko.

Codecov Report

Merging #346 (d2fb66f) into main (29cd8e0) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #346   +/-   ##
=======================================
  Coverage   38.37%   38.37%
=======================================
  Files          33       33
  Lines        1522     1522
=======================================
  Hits          584      584
  Misses        844      844
  Partials       94       94

Continue to review full report at Codecov.

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

authors: chmouel codecov-commenter

repo: google/ko


text:
The error "ASSERT: alignment (0xb35245b4) must be less than the page size (0x1000)" certainly appear

QUESTION
I want to know is why it happen? Is it a bug or my use is wrong?
PLATFORM
processor       : 0
model name      : ARMv7 Processor rev 5 (v7l)
BogoMIPS        : 100.00
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 5
processor       : 1
model name      : ARMv7 Processor rev 5 (v7l)
BogoMIPS        : 100.00
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 5
Hardware        : Generic DT based system
Revision        : 0000
Serial          : 0000000000000000
TOOLCHAIN
Using built-in specs.
COLLECT_GCC=arm-himix200-linux-g++
COLLECT_LTO_WRAPPER=/opt/hisi-linux/x86-arm/arm-himix200-linux/host_bin/../libexec/gcc/arm-linux-gnueabi/6.3.0/lto-wrapper
Target: arm-linux-gnueabi
Configured with: /home/sying/SDK_CPU_UNIFIED/build/script/arm-himix200-linux/arm_himix200_build_dir/src/gcc-6.3.0/configure --host=i386-redhat-linux --build=i386-redhat-linux --target=arm-linux-gnueabi --prefix=/home/sying/SDK_CPU_UNIFIED/build/script/arm-himix200-linux/arm_himix200_build_dir/install --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --enable-shared --enable-lto --enable-symvers=gnu --enable-__cxa_atexit --disable-nls --enable-clocale=gnu --enable-extra-hisi-multilibs --with-sysroot=/home/sying/SDK_CPU_UNIFIED/build/script/arm-himix200-linux/arm_himix200_build_dir/install/target --with-build-sysroot=/home/sying/SDK_CPU_UNIFIED/build/script/arm-himix200-linux/arm_himix200_build_dir/install/target --with-gmp=/home/sying/SDK_CPU_UNIFIED/build/script/arm-himix200-linux/arm_himix200_build_dir/obj/host-libs/usr --with-mpfr=/home/sying/SDK_CPU_UNIFIED/build/script/arm-himix200-linux/arm_himix200_build_dir/obj/host-libs/usr --with-mpc=/home/sying/SDK_CPU_UNIFIED/build/script/arm-himix200-linux/arm_himix200_build_dir/obj/host-libs/usr --enable-libgomp --disable-libitm --enable-poison-system-directories --with-pkgversion='HC&C V1R3C00SPC200B005_20190606' --disable-bootstrap
Thread model: posix
gcc version 6.3.0 (HC&C V1R3C00SPC200B005_20190606)
USE METHOD
                                                   /        task B          \
//  preprocess-->ticket.take--> task A --> ticket.wait --> task A: wait  -->task A: resume
                                                  \        task  C          /

Modify code:

  struct Request {
    size_t size = 0;                 // The size of the allocation in bytes.
    size_t alignment = 0;            // The minimum alignment of the allocation.
#if MARL_USE_FIBER_STACK_GUARDS // different
    bool useGuards = true;                // different
#else
    bool useGuards = false;          // Whether the allocation is guarded.
#endif
    Usage usage = Usage::Undefined;  // Intended usage of the allocation.
  };

  void* ptr = nullptr;  // The pointer to the allocated memory.
  Request request;      // Request used for the allocation.
};

If I not modify source code,  will invoke alignedMalloc function in
    if (request.useGuards) {
      ptr = ::pagedMalloc(request.alignment, request.size, true, true);
    } else if (request.alignment > 1U) {
      ptr = ::alignedMalloc(request.alignment, request.size);
    } else {
      ptr = ::malloc(request.size);
    }

GDB INFO
WARNING: pagedMalloc
ASSERT: alignment (0xb35245b4) must be less than the page size (0x1000)
[New Thread 0xaabff410 (LWP 307)]
[New Thread 0xab3ff410 (LWP 306)]
[New Thread 0xabbff410 (LWP 305)]
[New Thread 0xac3ff410 (LWP 304)]
[New Thread 0xacdff410 (LWP 303)]
[New Thread 0xad7fd410 (LWP 302)]
[New Thread 0xadffd410 (LWP 301)]
[New Thread 0xae7fd410 (LWP 300)]
[New Thread 0xb2d25410 (LWP 299)]
[New Thread 0xb3525410 (LWP 298)]
[New Thread 0xb699d410 (LWP 297)]
Program received signal SIGABRT, Aborted.
[Switching to Thread 0xb3525410 (LWP 298)]
0xb69c9948 in raise () from /lib/a53_softfp_neon-vfpv4/libc.so.6
(gdb) bt
#0  0xb69c9948 in raise () from /lib/a53_softfp_neon-vfpv4/libc.so.6
#1  0xb69cada8 in abort () from /lib/a53_softfp_neon-vfpv4/libc.so.6
#2  0x006a79b0 in marl::fatal (msg=) at /root/Workspace/Baidu/baidu/idl-xteam/hisi-faceID-sdk/cross_3rdparty/opensource/marl/src/debug.cpp:32
#3  0x006a7d60 in pagedMalloc (guardLow=true, guardHigh=true, size=3008513564, alignment=)
at /root/Workspace/Baidu/baidu/idl-xteam/hisi-faceID-sdk/cross_3rdparty/opensource/marl/src/memory.cpp:145
#4  (anonymous namespace)::DefaultAllocator::allocate (this=, request=...)
at /root/Workspace/Baidu/baidu/idl-xteam/hisi-faceID-sdk/cross_3rdparty/opensource/marl/src/memory.cpp:210
#5  0x006a9b04 in allocate (n=1, this=0xb6106110)
at /root/Workspace/Baidu/baidu/idl-xteam/hisi-faceID-sdk/cross_3rdparty/opensource/marl/include/marl/memory.h:415
#6  allocate (__n=1, __a=...) at /opt/hisi-linux/x86-arm/arm-himix200-linux/arm-linux-gnueabi/include/c++/6.3.0/bits/alloc_traits.h:281
#7  _M_allocate_nodemarl::Scheduler::Fiber*& (this=0xb6106110)
at /opt/hisi-linux/x86-arm/arm-himix200-linux/arm-linux-gnueabi/include/c++/6.3.0/bits/hashtable_policy.h:1947
#8  _M_emplacemarl::Scheduler::Fiber*& (this=0xb6106110)
at /opt/hisi-linux/x86-arm/arm-himix200-linux/arm-linux-gnueabi/include/c++/6.3.0/bits/hashtable.h:1513
#9  emplacemarl::Scheduler::Fiber*& (this=0xb6106110)
at /opt/hisi-linux/x86-arm/arm-himix200-linux/arm-linux-gnueabi/include/c++/6.3.0/bits/hashtable.h:728
#10 emplacemarl::Scheduler::Fiber*& (this=0xb6106110)
at /opt/hisi-linux/x86-arm/arm-himix200-linux/arm-linux-gnueabi/include/c++/6.3.0/bits/unordered_set.h:369
#11 marl::Scheduler::Worker::runUntilIdle (this=this@entry=0xb6106000)
at /root/Workspace/Baidu/baidu/idl-xteam/hisi-faceID-sdk/cross_3rdparty/opensource/marl/src/scheduler.cpp:693
#12 0x006af850 in runUntilShutdown (this=)
at /root/Workspace/Baidu/baidu/idl-xteam/hisi-faceID-sdk/cross_3rdparty/opensource/marl/src/scheduler.cpp:592
#13 marl::Scheduler::Worker::run (this=0xb6106000)
at /root/Workspace/Baidu/baidu/idl-xteam/hisi-faceID-sdk/cross_3rdparty/opensource/marl/src/scheduler.cpp:585
#14 0x006c07b4 in std::__adjust_heap<marl::Thread::Core*, int, marl::Thread::Core, __gnu_cxx::__ops::_Iter_less_iter> (__first=0x8c5bd0, __holeIndex=0,
__len=, __value=..., __comp=...) at /opt/hisi-linux/x86-arm/arm-himix200-linux/arm-linux-gnueabi/include/c++/6.3.0/bits/stl_heap.h:226
#15 0x00000000 in ?? ()

Hello,
I'm a little confused about whether this issue happens with or without your changes to memory.h.
Does the problem only occur with your changes?
If so, did you recompile the marl library, or just change the public header?
Thanks,
Ben

When I didn't change the code, the another error certainly appear with alignedMalloc invoked , the error info:
WARNING: alignedMalloc
ASSERT: Allocation failed: Cannot allocate memory
[New Thread 0xaabf8410 (LWP 2891)]
[New Thread 0xab3f8410 (LWP 2890)]
[New Thread 0xabbf8410 (LWP 2889)]
[New Thread 0xac3f8410 (LWP 2888)]
[New Thread 0xacbf8410 (LWP 2887)]
[New Thread 0xad3f8410 (LWP 2886)]
[New Thread 0xadbf8410 (LWP 2885)]
[New Thread 0xae3f8410 (LWP 2884)]
[New Thread 0xb699d410 (LWP 2881)]
Program received signal SIGABRT, Aborted.
[Switching to Thread 0xb2dde410 (LWP 2883)]
0xb69c9948 in raise () from /lib/a53_softfp_neon-vfpv4/libc.so.6
(gdb) bt
#0  0xb69c9948 in raise () from /lib/a53_softfp_neon-vfpv4/libc.so.6
#1  0xb69cada8 in abort () from /lib/a53_softfp_neon-vfpv4/libc.so.6
#2  0x006a8018 in marl::fatal (msg=) at /root/Workspace/Baidu/baidu/idl-xteam/hisi-faceID-sdk/cross_3rdparty/opensource/marl/src/debug.cpp:32
#3  0x006a83c8 in (anonymous namespace)::DefaultAllocator::allocate (this=, request=...) at /root/Workspace/Baidu/baidu/idl-xteam/hisi-faceID-sdk/cross_3rdparty/opensource/marl/src/memory.cpp:218
#4  0x006ab1a4 in allocate (n=1, this=0xb30700) at /root/Workspace/Baidu/baidu/idl-xteam/hisi-faceID-sdk/cross_3rdparty/opensource/marl/include/marl/memory.h:411
#5  allocate (__n=1, __a=...) at /opt/hisi-linux/x86-arm/arm-himix200-linux/arm-linux-gnueabi/include/c++/6.3.0/bits/alloc_traits.h:281
#6  _M_allocate_nodemarl::Scheduler::Fiber*& (this=0xb30700) at /opt/hisi-linux/x86-arm/arm-himix200-linux/arm-linux-gnueabi/include/c++/6.3.0/bits/hashtable_policy.h:1947
#7  _M_emplacemarl::Scheduler::Fiber*& (this=0xb30700) at /opt/hisi-linux/x86-arm/arm-himix200-linux/arm-linux-gnueabi/include/c++/6.3.0/bits/hashtable.h:1513
#8  emplacemarl::Scheduler::Fiber*& (this=0xb30700) at /opt/hisi-linux/x86-arm/arm-himix200-linux/arm-linux-gnueabi/include/c++/6.3.0/bits/hashtable.h:728
#9  emplacemarl::Scheduler::Fiber*& (this=0xb30700) at /opt/hisi-linux/x86-arm/arm-himix200-linux/arm-linux-gnueabi/include/c++/6.3.0/bits/unordered_set.h:369
#10 marl::Scheduler::Worker::runUntilIdle (this=this@entry=0xb305f0) at /root/Workspace/Baidu/baidu/idl-xteam/hisi-faceID-sdk/cross_3rdparty/opensource/marl/src/scheduler.cpp:693
#11 0x006abac8 in runUntilShutdown (this=) at /root/Workspace/Baidu/baidu/idl-xteam/hisi-faceID-sdk/cross_3rdparty/opensource/marl/src/scheduler.cpp:592
#12 marl::Scheduler::Worker::run (this=0xb305f0) at /root/Workspace/Baidu/baidu/idl-xteam/hisi-faceID-sdk/cross_3rdparty/opensource/marl/src/scheduler.cpp:585
#13 0x006c00ac in std::__adjust_heap<marl::Thread::Core*, int, marl::Thread::Core, __gnu_cxx::__ops::_Iter_less_iter> (__first=0x8c5550, __holeIndex=0, __len=, __value=..., __comp=...)
at /opt/hisi-linux/x86-arm/arm-himix200-linux/arm-linux-gnueabi/include/c++/6.3.0/bits/stl_heap.h:226
#14 0x00000000 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Hello,
I'm a little confused about whether this issue happens with or without your changes to memory.h.
Does the problem only occur with your changes?
If so, did you recompile the marl library, or just change the public header?
Thanks,
Ben

When I didn't change the code, the another error certainly appear with alignedMalloc invoked , the error info:
WARNING: alignedMalloc
ASSERT: Allocation failed: Cannot allocate memory
[New Thread 0xaabf8410 (LWP 2891)]
[New Thread 0xab3f8410 (LWP 2890)]
[New Thread 0xabbf8410 (LWP 2889)]
[New Thread 0xac3f8410 (LWP 2888)]
[New Thread 0xacbf8410 (LWP 2887)]
[New Thread 0xad3f8410 (LWP 2886)]
[New Thread 0xadbf8410 (LWP 2885)]
[New Thread 0xae3f8410 (LWP 2884)]
[New Thread 0xb699d410 (LWP 2881)]
Program received signal SIGABRT, Aborted.
[Switching to Thread 0xb2dde410 (LWP 2883)]
0xb69c9948 in raise () from /lib/a53_softfp_neon-vfpv4/libc.so.6
(gdb) bt
#0  0xb69c9948 in raise () from /lib/a53_softfp_neon-vfpv4/libc.so.6
#1  0xb69cada8 in abort () from /lib/a53_softfp_neon-vfpv4/libc.so.6
#2  0x006a8018 in marl::fatal (msg=) at /root/Workspace/Baidu/baidu/idl-xteam/hisi-faceID-sdk/cross_3rdparty/opensource/marl/src/debug.cpp:32
#3  0x006a83c8 in (anonymous namespace)::DefaultAllocator::allocate (this=, request=...) at /root/Workspace/Baidu/baidu/idl-xteam/hisi-faceID-sdk/cross_3rdparty/opensource/marl/src/memory.cpp:218
#4  0x006ab1a4 in allocate (n=1, this=0xb30700) at /root/Workspace/Baidu/baidu/idl-xteam/hisi-faceID-sdk/cross_3rdparty/opensource/marl/include/marl/memory.h:411
#5  allocate (__n=1, __a=...) at /opt/hisi-linux/x86-arm/arm-himix200-linux/arm-linux-gnueabi/include/c++/6.3.0/bits/alloc_traits.h:281
#6  _M_allocate_nodemarl::Scheduler::Fiber*& (this=0xb30700) at /opt/hisi-linux/x86-arm/arm-himix200-linux/arm-linux-gnueabi/include/c++/6.3.0/bits/hashtable_policy.h:1947
#7  _M_emplacemarl::Scheduler::Fiber*& (this=0xb30700) at /opt/hisi-linux/x86-arm/arm-himix200-linux/arm-linux-gnueabi/include/c++/6.3.0/bits/hashtable.h:1513
#8  emplacemarl::Scheduler::Fiber*& (this=0xb30700) at /opt/hisi-linux/x86-arm/arm-himix200-linux/arm-linux-gnueabi/include/c++/6.3.0/bits/hashtable.h:728
#9  emplacemarl::Scheduler::Fiber*& (this=0xb30700) at /opt/hisi-linux/x86-arm/arm-himix200-linux/arm-linux-gnueabi/include/c++/6.3.0/bits/unordered_set.h:369
#10 marl::Scheduler::Worker::runUntilIdle (this=this@entry=0xb305f0) at /root/Workspace/Baidu/baidu/idl-xteam/hisi-faceID-sdk/cross_3rdparty/opensource/marl/src/scheduler.cpp:693
#11 0x006abac8 in runUntilShutdown (this=) at /root/Workspace/Baidu/baidu/idl-xteam/hisi-faceID-sdk/cross_3rdparty/opensource/marl/src/scheduler.cpp:592
#12 marl::Scheduler::Worker::run (this=0xb305f0) at /root/Workspace/Baidu/baidu/idl-xteam/hisi-faceID-sdk/cross_3rdparty/opensource/marl/src/scheduler.cpp:585
#13 0x006c00ac in std::__adjust_heap<marl::Thread::Core*, int, marl::Thread::Core, __gnu_cxx::__ops::_Iter_less_iter> (__first=0x8c5550, __holeIndex=0, __len=, __value=..., __comp=...)
at /opt/hisi-linux/x86-arm/arm-himix200-linux/arm-linux-gnueabi/include/c++/6.3.0/bits/stl_heap.h:226
#14 0x00000000 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

source: gharchive/issue

authors: beimingxinghai ben-clayton

repo: google/marl

license_source: bigquery


text:
Training and deploying a gesture recognition model as a calculator from within MediaPipe

Hello, I am trying to train and deploy a simple model to detect simple dynamic gestures in real time, such as left and right swipes, by taking a sequence of landmarks of the right hand and flattening them into a 1D input array, and then train a classifier. I was wondering how to deploy a trained model in Tensorflow or PyTorch as a calculator within MediaPipe or in C++ built with Bazel. Also, looking forward to any tutorial links of others who have done so.

@prantoran,
Can you please confirm if you have gone through Hands/Gesture Tracking Solution? Thanks!

@prantoran,
Can you please respond to the above comment? Thanks!

Thank you for sharing the blog. I am sorry for the late reply, I am stuck in another feature.
I read the blog which provide details for Python APIs to access the landmarks. I did the same in C++ to implement detection of static gestures. But in order to detect dynamic gestures, I would need to train a simple classifier using the sequence of landmarks.
I guess one way is to collect landmarks data for different gestures and save them as datasets, then train and save a Tensorflow classifier in Python script, then load the saved model using loadSavedModel() from within MediaPipe workspace.

authors: prantoran rmothukuru

repo: google/mediapipe


text:
If I have my own pose detection model, how can I compile my own pose detection model into an AAR package?

If I have my own pose detection model, how can I compile my own pose detection model into an AAR package?
如果我有一个自己的姿态检测模型，如何把自己的姿态检测的模型编译成AAR的包?

@APeiZou we don't provide any AAR. You can try creating using our documentation. Reach us if you still have any queries.

authors: APeiZou sgowroji


text:
This will fix the multiple typos in the new tasks repo.

Description of issue (what needs changing)
No response
Clear description
This will fix the multiple typos in the new tasks repo here https://github.com/google/mediapipe/tree/master/mediapipe/tasks
Correct links
No response
Parameters defined
No response
Returns defined
No response
Raises listed and defined
No response
Usage example
No response
Request visuals, if applicable
No response
Submit a pull request?
Submitted a CL

Is this up for grabs?

@kuaashish Is this up for grabs?

@Neilblaze,
Yes, This fixes have been merged internally. Closing this issue now. Thank you!

authors: Neilblaze kuaashish


text:
Streaming UI doesn't work in Colab

Repro: use demo/chat.py in colab:
import random
import time

import mesop as me
import mesop.labs as mel

me.colab_run()

@me.page(
  security_policy=me.SecurityPolicy(
    allowed_iframe_parents=["https://google.github.io"]
  ),
  path="/chat",
  title="Mesop Demo Chat",
)
def page():
  mel.chat(transform, title="Mesop Demo Chat", bot_user="Mesop Bot")

def transform(input: str, history: list[mel.ChatMessage]):
  for line in random.sample(LINES, random.randint(3, len(LINES) - 1)):
    time.sleep(0.3)
    yield line + " "

LINES = [
  "Mesop is a Python-based UI framework designed to simplify web UI development for engineers without frontend experience.",
  "It leverages the power of the Angular web framework and Angular Material components, allowing rapid construction of web demos and internal tools.",
  "With Mesop, developers can enjoy a fast build-edit-refresh loop thanks to its hot reload feature, making UI tweaks and component integration seamless.",
  "Deployment is straightforward, utilizing standard HTTP technologies.",
  "Mesop's component library aims for comprehensive Angular Material component coverage, enhancing UI flexibility and composability.",
  "It supports custom components for specific use cases, ensuring developers can extend its capabilities to fit their unique requirements.",
  "Mesop's roadmap includes expanding its component library and simplifying the onboarding processs.",
]

me.colab_show(path="/chat")

However, streaming UI does work properly outside of Colab (e.g. locally, Cloud Run) so there must be something unusual happening when Colab is executing the code.

This Colab Run on Google machine So if you request from outside Colab you need to do tunning for access this you can use ngrok for tunning

authors: Yash-Kavaiya wwwillchen

repo: google/mesop


text:
Ensure that 3DOM capability filter is comprehensively patching things

As of #992, we will have a basic implementation of 3DOM. In this implementation, the capability filter patches immediate properties but doesn't check to make sure all properties in the prototype chain are properly patched:
https://github.com/google/model-viewer/blob/77f91baa00e482aca391653a76000bc79d0ec1f4/packages/3dom/src/context/generate-capability-filter.ts#L50-L73
We should ensure that the whole chain gets patched.

This doesn't exist anymore

authors: cdata elalish

repo: google/model-viewer


text:
session_handler_scenario_test is flaky in Linux build on Travis-CI

Version: as of b393fbdc346a5243ad35eb559d4468a274f2d2d2
Platform: Linux desktop
We have seen so many random test failures in fix_session_handler_scenario_test only in Linux build on Travis-CI.  Something is going wrong there.

Job # 209.2

data/test/session/scenario/delete_history.txt:23

Job # 208.2

data/test/session/scenario/delete_history.txt:23

Job # 206.2

data/test/session/scenario/b8690065_scenario.txt:21
data/test/session/scenario/delete_history.txt:23
data/test/session/scenario/delete_history.txt:27
data/test/session/scenario/delete_history.txt:28
data/test/session/scenario/delete_history.txt:35
data/test/session/scenario/revert.txt:17

Hmm, b8690065_scenario.txt still fails in build 315.2.  Reopening.

repo: google/mozc


text:
Enforce existence (or explicitly don't) in txn manager bulk loads

The contract of load(Iterable) specifies that the method will
throw a NoSuchElementException if any of the specified keys don't exist.
We don't do that before this PR.
This also adds loadExisting and loadAllExisting methods that explicitly do not throw a NSEE in these cases, but rather only return the elements that we could find.

This change is

Closing this in favor of a more substantial renaming

repo: google/nomulus


text:
Good to have  a tutorial page for new users

The readme is not very clear.  I am wondering if there is a tutorial page on using orbit for linux systems. I am interested in getting a trace of the calls to a library of interest, including the ability to capture input  and return values.

Thanks for reminding us.  Better docs and tutorials are planned, but we should make them a higher priority.  What OS are you targeting by the way?

I am using Ubuntu 18.04 LTS. I appreciate all the hard work that goes into
making something like this. One reason I believe software development
continues to be not very strong is because of lack of tools that are
simple, robust and stable. I often find it frustrating to see tools / etc
with poor documentation.
I think being able to log the various calls to shared libraries, their
statistics,  including serialization of input / output should be an
infrastructure service that is simply available to users. Lack of these is
what causes software development buggy and not robust.
Regards,
Ramesh
On Tue, Jul 7, 2020 at 2:59 PM Pierric Gimmig notifications@github.com
wrote:

Thanks for reminding us. Better docs and tutorials are planned, but we
should make them a higher priority. What OS are you targeting by the way?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/google/orbit/issues/775#issuecomment-655094609, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AB35RLOZOSBFMWAAMW6L7XLR2N5BNANCNFSM4OSFE42A
.

I think being able to log the various calls to shared libraries, their statistics,  including serialization of input / output should be an infrastructure service that is simply available to users. Lack of these is what causes software development buggy and not robust.

I totally agree, this is exactly why Orbit was started.

I am using Ubuntu 18.04 LTS.

On Linux, Orbit relies on uprobes and uretprobes to perform dynamic instrumentation.  We are using the perf_event_open api to enable the u(ret)probes.  Unfortunately, this a kernel feature that was introduced in the 4.17 kernel. To get Orbit working on Ubuntu, you'll have to either upgrade the kernel to 4.17 or upgrade Ubuntu to at least 19.04.  Once that's done, you'll have to build Orbit following the steps outlined here.
To profile locally, you'll then have to start OrbitService as root locally and launch a UI instance:
sudo ./OrbitService

then
./Orbit --local

Recently, I had to upgrade my kernel version to something like 5.6. I will
look into it and see how it goes. Finally, if possible, it will be good if
orbit can be provided as a debian package.
Regards,
Ramesh
On Tue, Jul 7, 2020 at 6:02 PM Pierric Gimmig notifications@github.com
wrote:

I think being able to log the various calls to shared libraries, their
statistics, including serialization of input / output should be an
infrastructure service that is simply available to users. Lack of these is
what causes software development buggy and not robust.
I totally agree, this is exactly why Orbit was started.
I am using Ubuntu 18.04 LTS.
On Linux, Orbit relies on uprobes and uretprobes to perform dynamic
instrumentation. We are using the perf_event_open api to enable the
u(ret)probes. Unfortunately, this a kernel feature that was introduced in
the 4.17 kernel. To get Orbit working on Ubuntu, you'll have to either
upgrade the kernel to 4.17 or upgrade Ubuntu to at least 19.04. Once that's
done, you'll have to build Orbit following the steps outlined here
https://github.com/google/orbit/blob/master/DEVELOPMENT.md.
To profile locally, you'll then have to start OrbitService as root locally
and launch a UI instance:
sudo ./OrbitService
then
./Orbit --local
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/google/orbit/issues/775#issuecomment-655182616, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AB35RLOCDUUZYHG3A52POKDR2OSR3ANCNFSM4OSFE42A
.

5.6 should be more than enough.  Concerning the Debian package, it will be available soon.
Thanks for your comments Ramesh, don't hesitate to reach out if you run into issues compiling Orbit.
Cheers,
Pierric

I tried the latest release available and then realized it's rather old. I tried to install the master branch of the repo directly but I can't really manage to use. Reading the previous comments in this thread I discovered that I can run Orbit.exe -local to get inside the application but I can't figure out how to start the service. This is on windows, hope you can give me some steps on how to run the profiler locally, thanks!

I tried the latest release available and then realized it's rather old. I tried to install the master branch of the repo directly but I can't really manage to use. Reading the previous comments in this thread I discovered that I can run Orbit.exe -local to get inside the application but I can't figure out how to start the service. This is on windows, hope you can give me some steps on how to run the profiler locally, thanks!

Hi Oscar. Unfortunately, windows local profiling is currently not supported with the current master version. For this you need to fallback to the 1.0.2. release.

#4272 is actually adding a comprehensive documentation. Closing this for now. Please re-open if there is anything missing.

authors: OAguinagalde florian-kuebler pierricgimmig rerrabolu

repo: google/orbit


text:
Suggestion about deep linking

Hello,
I use deep linking to the Perfetto UI feature very conveniently.
It is really easy to share to my co-worker and easy to collaborate on a specific perfetto.
Anyway, whenever I use deep linking, I have to give more information about what slice should be checked.
Like "Please check 3rd slice in binder:47 thread, SystemUI process." or "Please check longest slice in Gallery main thread."
And we can suppose that there are some slices(very short or having similar duration) can make confuse what slice is selected.
Would you check about any slice get the focus(like 'f' key function) after perfetto loaded?
Perfetto user can deliver slice id when post a message like below.
{
'perfetto': {
buffer: ArrayBuffer;
title: string;
fileName?: string;  // Optional
url?: string;       // Optional
[anySlice ?: int;       // Optional]
}
}
Would you please check about this idea?

Something similar to this has been implemented by changing the URL to have arguments for timestamp/duration/pid etc. Code for this can be found here

authors: LalitMaganti basketgd

repo: google/perfetto


text:
gpio smoke test needs to test exceeding the number of edge pins

Write a test that exceeds the number of gpio pins with edge detection and verify that the error message makes sense.

I think https://github.com/google/periph/blob/master/conn/gpio/gpiosmoketest/gpiosmoketest.go#L202 does what you ask for, is it right?

I'll close since https://github.com/periph/host/issues/39 will change the dynamics a lot. Let's file an issue at https://github.com/periph/host if we should add this.

authors: maruel tve

repo: google/periph


text:
Chrome + ios

Hello,
I have reinstalled Chrome on my iphone 6 (9.3), added chrome as a widget but I do not see the "Scanning for Physical Web Objects" message. My Chrome on ioS cannot detect any beacons. Is the chrome with physical web objects still experimental on ios ?

It's official and should work.
Do you have Chrome 49 or higher?
Do you have Bluetooth turned on?
Do you have any beacons nearby?

Yes Scott
I have Chrome 49.02623.109
Bluetooth is turned on and yes
there is a beacon .
But my issue is it doesn't even say Scanning for physical web objects
Please Look at the screenshot attached ..
http://s31.postimg.org/akmfjbapn/Screen_Shot_2016_04_19_at_1_21_12_PM.png
thanks for your help

Sorry, then I don't know what to do at this point. I hate to keep asking basic questions, but is the beacon an Eddystone beacon with a URL programmed in it?

authors: ishmeetahuja scottjenson

repo: google/physical-web


text:
How to compute prefix hashes?

Hi,
I'm interested in how the prefix hashes are computed.
The API docs says "the client needs to compute the hash prefix for each full-length SHA256 hash".
I've been reading this Go code for a while now but can't figure out how you compute the hash prefixes.
Any help would be appreciated!
Thanks!

The API docs have a pretty good description of what one has to do to use the Update API, including canonicalization and hashing: https://developers.google.com/safe-browsing/v4/urls-hashing

I've been reading that exact page for hours, but there is one particular thing I can't understand, and that is in which cases a prefix hash can be longer than 4 bytes?
So let's say I have an URL which I canonicalize and compute all the full hashes.
Now I have many full hashes for which I need to compute prefix hashes. In which cases a prefix hash should be 4 bytes, 5 bytes, ..., 32 bytes?

@papaiatis Since Safe Browsing may distribute hash prefixes of length [4, 32] bytes, the data structure used to store these hashes should take that into account. This repo's implementation maintains two hash maps, one that maps a 4-byte prefix to the maximum size of a stored hash with that prefix in that database, and another one that maps prefixes which are > 4-bytes in length to an empty struct. Here's how a hash prefix is looked up: https://github.com/google/safebrowsing/blob/master/hash.go#L140
Hopefully that helps!

I've been reading that exact page for hours, but there is one particular thing I can't understand, and that is in which cases a prefix hash can be longer than 4 bytes?
So let's say I have an URL which I canonicalize and compute all the full hashes.
Now I have many full hashes for which I need to compute prefix hashes. In which cases a prefix hash should be 4 bytes, 5 bytes, ..., 32 bytes?

Hi,
Can you share your code how you have converted URI to hash and prefix Hash. I am having some problem in converting

https://github.com/google/safebrowsing/blob/master/hash.go is where we are doing the hashing, which is just performing a sha256. An important note is that the API uses the binary output of a sha256. Some languages (such as php) default to outputing a textual representation of the hex bytes instead.
More useful is probably https://github.com/google/safebrowsing/blob/master/urls.go, which is what takes a single url, and turns it into a bunch of different 'expressions', which are each individually hashed (and taken the prefix of, and then checked versus the database, following the rules of https://developers.google.com/safe-browsing/v4/urls-hashing).
So I guess I would first check to make sure you are canoncilizing the urls as expected, then check that you can generate the expected prefix/suffix expressions, then deal with getting the hash prefixes.  There are examples of all three of those pieces in the developer doc linked in the above paragraph.

All that page says is literally "hash prefix consists of the most significant 4-32 bytes of a SHA256 hash" which says nothing about how you decide how many bytes constitute "most significant" and examples are no help and also a terrible way to provide information.

Sorry for the confusion.
The output of a sha256 is essentially a 256 bit number. So the 'most significant' bits of that number are the ones that make the largest difference in the value of that number. Which is just a confusing way to say, "the first few bytes" (I think you understand this now from your update. If you have more questions about it, please open a new bug).
The design does make the clients complicated, but it isn't without reason. It would be much simpler if we just said "Always use a 4 byte prefix". But in some cases, a flagged phishing/malware site might have a 4 byte hash collision with a very popular site (say, google.com), and cause a lot of unnecessary requests for the full hash lookup.
Essentially, the API is designed around both privacy and bandwidth concerns, so we want to ship the least amount of bytes necessary, but we also don't want clients to have to make too many extra checks because of the short prefixes. Also, it's a pretty good DDoS when it happens (SB has over 3 billion active clients).

Now that I have your attention... :)
Given the recent tempest about iPhone usage of the Safe Browsing API, are any statistics available on bucket size ranges, or total number of bad hashes, or prefix size ranges?

As I mentioned in the last comment, please open new issues for different questions. Everyone in the thread will be notified when you post on this old issue.
I don't have specific statistics, but 4-byte hashes are almost always used. It's the default size, and we only need to increase it to avoid problematic hash collisions. When we extend them, we only need to extend them enough bytes to break the collision (typically, only one byte). It'd be easy for a client to perform their own independent statistics as well, because of course it's public for anyone to sign up for the API and start downloading lists.

authors: NetMage alexwoz colonelxc mikecb papaiatis singhikjot

repo: google/safebrowsing


text:
Added duration flag for update period

I've named the flag "updateperiod", but i'm willing to change it to something more suitable.

The API sets a minimum update duration. [https://developers.google.com/safe-browsing/v4/request-frequency]. 30 minutes is a good default. I do not think we should add a flag to change this.

Perhaps the logic should actually respect the minimumWaitDuration field in the response and update with max(minimumWaitDuration, updatePeriod)?
The downside to this is that the updatePeriod parameter now has caveats attached to its meaning and usage.

Agreed with @shahbag. Clients should always abide by the update interval returned by the server.

authors: alexwoz dsnet oxisto shahbag


text:
multi channel stereo support for audio

Have you read the FAQ and checked for duplicate open issues?
yes
Is your feature request related to a problem? Please describe.

I am facing a problem where the stream contains 8 audio channels a multichannel stereo, the player most of the time plays without audio or occasionally returns error 3016 PIPELINE_ERROR_DECODE: Failed to send audio packet_6 duration=0 size=256 is_key_frame=1 encrypted=0
Describe the solution you'd like

it should play along with the audio with the min bandwidth
Describe alternatives you've considered

I have tested in shaka version 2.5.13 and stereo works fine but multichannel stereo either plays the video without audio or returns error (should've support a nice thing to have options to select audio)
Additional context

Audio 8 channel << playable without audio
https://cdn-mola-primary-01.akamaized.net/Content/DASH/VOD/18544/12476/6c5df5d3-e5f2-4ced-913c-87e8e70da2cc/66484355-ae63-ece2-716f-643a4e39e54d/manifest_L2.mpd?hdnts=st=1602150006~exp=1602153606~acl=/*~hmac=c3b6c911c227c63badc42c5d99889d2c31b1a1a922d4cbc7195fa2639c8cefa4
Audio 2 channel << playable with audio
https://cdn-mola-primary-01.akamaized.net/Content/DASH/VOD/8634/578/1a7bf651-db53-49f6-89f5-d205811bf3eb/66484355-ae63-ece2-716f-643a4e39e54d/manifest_L2.mpd?hdnts=st=1602150223~exp=1602153823~acl=/*~hmac=ebc5c6ab42a31cb202d3bbcfda37108bf7cbe2c3282607109183db2deffb3480
Error with multichannel stereo of audio 8 channel

General info of multichannel for audio 8 channel
General
Complete name              : C:\Users\user\AppData\Local\Temp\16020940814350\MOSHBDL0029-BUNDESLIGA HL 2021--FC Bayern München - Hertha Berlin IM.mxf
Format                  : MXF
Commercial name             : XDCAM HD422
Format version              : 1.2
Format profile              : OP-1a
Format settings             : Closed / Complete
File size                : 879 MiB
Duration                 : 2 min 3 s
Overall bit rate             : 60.0 Mb/s
Package name               : Source Package
Encoded date               : 2020-10-04 18:50:23.000
Writing application           : Adobe Systems Incorporated Premiere Pro 1.0.0.0.1
Writing library             : Mac OS X 5.0.15.0.1
Video
ID                    : 512
Format                  : MPEG Video
Commercial name             : XDCAM HD422
Format version              : Version 2
Format profile              : 4:2:2@High
Format settings             : CustomMatrix / BVOP
Format settings, BVOP          : Yes
Format settings, Matrix         : Custom
Format settings, GOP           : M=3, N=12
Format settings, picture structure    : Frame
Format settings, wrapping mode      : Frame
Codec ID                 : 0D01030102046001-0401020201040300
Duration                 : 2 min 3 s
Bit rate mode              : Constant
Bit rate                 : 50.0 Mb/s
Width                  : 1 920 pixels
Height                  : 1 080 pixels
Display aspect ratio           : 16:9
Frame rate                : 25.000 FPS
Standard                 : Component
Color space               : YUV
Chroma subsampling            : 4:2:2
Bit depth                : 8 bits
Scan type                : Interlaced
Scan order                : Top Field First
Compression mode             : Lossy
Bits/(Pixel*Frame)            : 0.965
Time code of first frame         : 00:00:00:00
Time code source             : Group of pictures header
Stream size               : 733 MiB (83%)
Color range               : Limited
Color primaries             : BT.709
Transfer characteristics         : BT.709
Audio #1
ID                    : 768
Format                  : PCM
Format settings             : Little
Format settings, wrapping mode      : Frame (AES)
Codec ID                 : 0D01030102060300
Duration                 : 2 min 3 s
Bit rate mode              : Constant
Bit rate                 : 1 152 kb/s
Channel(s)                : 1 channel
Sampling rate              : 48.0 kHz
Frame rate                : 25.000 FPS (1920 SPF)
Bit depth                : 24 bits
Stream size               : 16.9 MiB (2%)
Locked                  : Yes
Audio #2
ID                    : 1024
Format                  : PCM
Format settings             : Little
Format settings, wrapping mode      : Frame (AES)
Codec ID                 : 0D01030102060300
Duration                 : 2 min 3 s
Bit rate mode              : Constant
Bit rate                 : 1 152 kb/s
Channel(s)                : 1 channel
Sampling rate              : 48.0 kHz
Frame rate                : 25.000 FPS (1920 SPF)
Bit depth                : 24 bits
Stream size               : 16.9 MiB (2%)
Locked                  : Yes
Audio #3
ID                    : 1280
Format                  : PCM
Format settings             : Little
Format settings, wrapping mode      : Frame (AES)
Codec ID                 : 0D01030102060300
Duration                 : 2 min 3 s
Bit rate mode              : Constant
Bit rate                 : 1 152 kb/s
Channel(s)                : 1 channel
Sampling rate              : 48.0 kHz
Frame rate                : 25.000 FPS (1920 SPF)
Bit depth                : 24 bits
Stream size               : 16.9 MiB (2%)
Locked                  : Yes
Audio #4
ID                    : 1536
Format                  : PCM
Format settings             : Little
Format settings, wrapping mode      : Frame (AES)
Codec ID                 : 0D01030102060300
Duration                 : 2 min 3 s
Bit rate mode              : Constant
Bit rate                 : 1 152 kb/s
Channel(s)                : 1 channel
Sampling rate              : 48.0 kHz
Frame rate                : 25.000 FPS (1920 SPF)
Bit depth                : 24 bits
Stream size               : 16.9 MiB (2%)
Locked                  : Yes
Audio #5
ID                    : 1792
Format                  : PCM
Format settings             : Little
Format settings, wrapping mode      : Frame (AES)
Codec ID                 : 0D01030102060300
Duration                 : 2 min 3 s
Bit rate mode              : Constant
Bit rate                 : 1 152 kb/s
Channel(s)                : 1 channel
Sampling rate              : 48.0 kHz
Frame rate                : 25.000 FPS (1920 SPF)
Bit depth                : 24 bits
Stream size               : 16.9 MiB (2%)
Locked                  : Yes
Audio #6
ID                    : 2048
Format                  : PCM
Format settings             : Little
Format settings, wrapping mode      : Frame (AES)
Codec ID                 : 0D01030102060300
Duration                 : 2 min 3 s
Bit rate mode              : Constant
Bit rate                 : 1 152 kb/s
Channel(s)                : 1 channel
Sampling rate              : 48.0 kHz
Frame rate                : 25.000 FPS (1920 SPF)
Bit depth                : 24 bits
Stream size               : 16.9 MiB (2%)
Locked                  : Yes
Audio #7
ID                    : 2304
Format                  : PCM
Format settings             : Little
Format settings, wrapping mode      : Frame (AES)
Codec ID                 : 0D01030102060300
Duration                 : 2 min 3 s
Bit rate mode              : Constant
Bit rate                 : 1 152 kb/s
Channel(s)                : 1 channel
Sampling rate              : 48.0 kHz
Frame rate                : 25.000 FPS (1920 SPF)
Bit depth                : 24 bits
Stream size               : 16.9 MiB (2%)
Locked                  : Yes
Audio #8
ID                    : 2560
Format                  : PCM
Format settings             : Little
Format settings, wrapping mode      : Frame (AES)
Codec ID                 : 0D01030102060300
Duration                 : 2 min 3 s
Bit rate mode              : Constant
Bit rate                 : 1 152 kb/s
Channel(s)                : 1 channel
Sampling rate              : 48.0 kHz
Frame rate                : 25.000 FPS (1920 SPF)
Bit depth                : 24 bits
Stream size               : 16.9 MiB (2%)
Locked                  : Yes
Other #1
ID                    : 0-Material
Type                   : Time code
Format                  : MXF TC
Frame rate                : 25.000 FPS
Time code of first frame         : 00:00:00:00
Time code settings            : Material Package
Time code, striped            : Yes
Title                  : Timecode
Other #2
ID                    : 0-Source
Type                   : Time code
Format                  : MXF TC
Frame rate                : 25.000 FPS
Time code of first frame         : 00:00:00:00
Time code settings            : Source Package
Time code, striped            : Yes
Other #3
Type                   : Time code
Format                  : SMPTE TC
Muxing mode               : SDTI
Frame rate                : 25.000 FPS
Time code of first frame         : 00:00:00:00

it is somewhat related to https://github.com/google/shaka-player/issues/2866
I can play it fine in 3.0.x but fails on 2.5.x

So it works in v3.x, right?  What is the reason for not upgrading to v3?  I'm getting a 403 error from the manifest URL.  Could you provide a accessible URL?  You can send them privately to shaka-player-issues@google.com if you can't post publicly.
3016 is a decoder error from the browser.  This usually means the browser can't play the media.  Usually there is nothing we can do, but the fact that it works in v3 means there may be a fix.  But it can be hard to locate and would be much better for you to just update to v3.
Also the media info you posted doesn't make much sense.  If appears to use a MXF container, which probably isn't supported by the browser and there appear to be multiple audio streams.  Wrapping multiple audio streams within a single file isn't supported.  We officially support audio and video in different streams and mostly support multiplexed (audio+video) streams, but that is dependent on browser support.

@TheModMaker I have sent the .mpd files to the link and apparently what hinders us from upgrading from 2.5.x to 3.0.x is breaking changes. On 2.5.x I keep getting audio_decode_error and video plays without sounds. Version 3.0.x and I notice there are several changes on audio codec and such, I was hoping if shaka team could help(perhaps cherry-pick).

@JaenalLeeGenMao, do you still have this issue with the latest releases, v3.0.6 and v2.5.18?
Decode errors such as PIPELINE_ERROR_DECODE are likely to be out of our direct control, as decoding happens inside the browser.

@JaenalLeeGenMao, do you still have this issue with the latest releases, v3.0.6 and v2.5.18?
Decode errors such as PIPELINE_ERROR_DECODE are likely to be out of our direct control, as decoding happens inside the browser.

authors: JaenalLeeGenMao TheModMaker joeyparrish

repo: google/shaka-player


text:
Add statistics visualiser.

Add canvas based graph to the test page and build process.
This addresses issue  #98

@joeyparrish I have added buffer length to the visualisation. Shall I include it in this PR or open another?

Sorry for the delay.  I was busy on other projects for a bit, and I'm getting caught up now.
Buffer length in this PR is fine with me.  Thanks so much for taking this on.

A legend might also be nice.  It is very hard to figure out what these lines are at first glance without referring to the source code.

@joeyparrish I have updated the PR with your suggestions.

Can one of the admins verify this patch?

Closing, please see comments in #98.

authors: joeyparrish sarge


text:
Add sendmsg for ip_cmsg_send, ip6_datagram_send_ctl

Add sendmsg$inet, sendmmsg$inet for ip_cmsg_send.
Add sendmsg$inet6, sendmmsg$inet6 for ip6_datagram_send_ctl

Before sending a pull request, please review Contribution Guidelines:
https://github.com/google/syzkaller/blob/master/docs/contributing.md

Codecov Report

Merging #1188 into master will decrease coverage by 0.05%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1188      +/-   ##
==========================================
- Coverage   67.51%   67.46%   -0.06%
==========================================
  Files         120      120
  Lines       20888    20888
==========================================
- Hits        14103    14092      -11
- Misses       6122     6136      +14
+ Partials      663      660       -3

Impacted Files
Coverage Δ

prog/prog.go
80% <0%> (-3.5%)
:arrow_down:

pkg/csource/csource.go
74.09% <0%> (-2.11%)
:arrow_down:

prog/hints.go
89.81% <0%> (-1.86%)
:arrow_down:

prog/rand.go
85.98% <0%> (-0.42%)
:arrow_down:

prog/mutation.go
94.79% <0%> (+1.58%)
:arrow_up:

Continue to review full report at Codecov.

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

@dvyukov LGTM. make extract/generate will need to be rerun probably though.

@xairy ack, please merge when ready

@Bins94 There are some non sendmsg related changes in the PR. Try running make extract/generate against the latest linux-next (@dvyukov is this the correct way of generating correct consts?)

Linus tree is preferable.
In some cases we used linux-next because Linus tree did not have some stuff yet, if that happens linux-next needs to be used until Linus tree picks up that stuff.
So try Linus tree and if it does not do any negative changes to .const files, that's the way to go. If it removes some consts, then we probably still need linux-next.

@dvyukov @xairy  I'd already used Linus tree when i sent the PR.

OK, so the changes are good, but we now have conflicts because of changed generated descriptions. Could you rebase and rerun make generate and I'll merge it. Thanks!

authors: Bins94 codecov-io dvyukov xairy

repo: google/syzkaller


text:
Fix overlay.

Summary
2 minute fix for this issue that was bugging me.
Fixes #1564

/to @wassgha who I thought already fixed it?

Yup, @spacedmonkey  can you pull and try? My fix is different though so not sure if this is a different issue

It is fixed. Good work. I will close this PR.

authors: dvoytenko spacedmonkey wassgha

repo: google/web-stories-wp


text:
Delete associated poster image when a video is deleted

Summary

Relevant Technical Choices
Changes the way poster images are uploaded so that the  video it belongs to is actually set as the poster's parent in WordPress. Otherwise there'd be no connection between the two, especially in the case where the video poster is manually changed by the user.
To-do

[ ] Test JS changes

Fixes #1020

Okay, after looking at \WP_REST_Attachments_Controller::create_item() it turns out attachments are not allowed to have another attachment as parent. Need to do this another way.

@spacedmonkey Yes, saw that too. And then fixed it locally before I encountered the next, bigger issue: https://github.com/google/web-stories-wp/pull/1783#issuecomment-629285767
Moving back to draft while I fix this.

@googlebot I consent.

authors: spacedmonkey swissspidy


text:
Add Header text "Before | After" above diff-card

Problem:  It's hard to distinguish with only color and small -/+ symbols in the diff-card to determine which side is Before and which side is After a change for new folks.
Possible Solution:
Somewhere here above diff-card should be added a Header div or just simple Text labeling in a <div> or <span> to distinguish which side is Original | Changed or Before | After.
https://github.com/google/wikiloop-battlefield/blob/master/components/RevisionCard.vue#L87
Example:

Before
After

Line 316:
Line 316:

{{s-off}}
{{s-off}}

{{s-par
it-lwr}}

etc.
etc.

Good idea, thank you

authors: thadguidry xinbenlv

repo: google/wikiloop-battlefield


text:
Commands to increment and decrement numbers

Vim has commands to increment (Ctrl-A) and decrement (Ctrl-X) numbers. These would be good to have in Xi as well.
Some details to pay attention to:

If the caret is not pointing at a number, the next number after the caret is selected, but only within the same line.
After the command, the caret is placed at the end of the number.
Negative numbers are meaningfully handled.

I'd put this firmly in 'one day'/'nice to have' territory? I do use this in vim sometimes, but it still feels like a slightly odd feature, that is mostly justified by it's use in macros? maybe?
Does it handle hex/octal/binary?
In any case, this does feel like a fun fairly self-contained project, so I would certainly be open to having someone work on it if they were interested.

I don't use Vim often, and I don't even now how to make macros in Vim, but when I do use Vim, I often use this feature. When I use Emacs I miss it.
Octal numbers are handled in the confusing way you can see following the link. I think it would be better not to handle octal numbers, or have interpretation of numbers depend on the language being edited.

I'd like to give this a try. If I manage to implement this, then I'll also add support to Xi-Mac

I've added an implementation here: https://github.com/xi-editor/xi-editor/pull/877

authors: cmyr portstrom terhechte

repo: google/xi-editor


text:
support exact match for definitions like sym:^create$

currently if we search sym:create, it may match create() {}, createObject() {} crEatEye() {}; would you mind add some code to support match definitions with exact word?
Example: sym:^create$
there are only some lines change (below just some quick lines, not optimized):
type substrMatchTree struct {
      ...
      exactMatch bool
}

func (t *substrMatchTree) matches(cp *contentProvider, cost int, known map[matchTree]bool) (bool, bool) {
      ...
		bytesData := cp.data(m.fileName)
		if !m.matchContent(bytesData) {
			continue
		}
		if t.exactMatch {
			runesData := []rune(string(bytesData))
			runesLen := len(runesData)
			patternLen := len(t.query.Pattern)
			if m.runeOffset > 0 && !checkStopRune(runesData[m.runeOffset - 1]) {
				continue
			}
			runeEndOffset := int(m.runeOffset) + patternLen
			if runeEndOffset < runesLen && !checkStopRune(runesData[runeEndOffset]) {
				continue
			}
		}
		pruned = append(pruned, m)
      ...
}

func (d *indexData) newMatchTree(q query.Q) (matchTree, error) {
      ...
	case *query.Substring:
		return d.newSubstringMatchTree(s, false)
      ...
	case *query.Symbol:
		// we have len(s.Atom.Pattern) > 0 if enter here
		runesPattern := []rune(s.Atom.Pattern)
		lenPattern := len(runesPattern)
		exactMatch := false
		if runesPattern[0] == '^' && runesPattern[lenPattern - 1] == '$' && lenPattern > 2 {
			exactMatch = true
		}
		var pattern string
		if exactMatch {
			pattern = string(runesPattern[1:lenPattern - 1])
		} else {
			pattern = s.Atom.Pattern
		}
		cloneQuery := &query.Substring{pattern, s.Atom.CaseSensitive, s.Atom.FileName, s.Atom.Content}
		mt, err := d.newSubstringMatchTree(cloneQuery, exactMatch)
      ...
		subMT.matchIterator = d.newTrimByDocSectionIter(cloneQuery, subMT.matchIterator)
      ...
}

func (d *indexData) newSubstringMatchTree(s *query.Substring, exactMatch bool) (matchTree, error) {
	st := &substrMatchTree{
		query:         s,
		caseSensitive: s.CaseSensitive,
		fileName:      s.FileName,
		exactMatch:    exactMatch,
	}
      ...
}

var stopRunes = [...]rune{
	'~', '`', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')',
	'+', '-', '=', '|', '\\', '{', '}', '[', ']', ':', ';', '"',
	'\'', ',', '.', '<', '>', '/', '?', ' ', '\t', '\n', '\r',
}

func checkStopRune (ch rune) bool {
	for _, x := range stopRunes {
		if ch == x {
			return true
		}
	}
	return false
}

you may want to look into https://gerrit-review.googlesource.com/c/zoekt/+/233092

repo: google/zoekt


text:
Error when using

Describe the bug:
A bit of a continuation of https://github.com/googleads/google-ads-dotnet/issues/585. I added <PackageReference Include="Google.Ads.GoogleAds.Extensions" Version="2.0.3" /> and decided to use the new extension to configure my google ads client. This fails with the following error:
System.ArgumentException
  HResult=0x80070057
  Message=Parameter was empty (Parameter 'pkcs8PrivateKey')
  Source=Google.Apis.Core
  StackTrace:
   at Google.Apis.Util.Utilities.ThrowIfNullOrEmpty(String str, String paramName)
   at Google.Apis.Auth.OAuth2.Pkcs8.DecodeRsaParameters(String pkcs8PrivateKey)
   at Google.Apis.Auth.OAuth2.ServiceAccountCredential.Initializer.FromPrivateKey(String privateKey)
   at Google.Ads.Gax.Config.AdsConfig.CreateCredentials()
   at Google.Ads.Gax.Config.AdsConfig.get_Credentials()
   at Google.Ads.Gax.Lib.AdsChannel.CreateChannel(String url)
   at Google.Ads.Gax.Lib.AdsChannel..ctor(AdsConfig config, String url)
   at Google.Ads.Gax.Lib.CachedChannelFactory.GetChannel(AdsConfig config, String serverUrl)
   at Google.Ads.GoogleAds.Lib.GoogleAdsServiceClientFactory.CreateChannel(GoogleAdsConfig config)
   at Google.Ads.GoogleAds.Lib.GoogleAdsServiceClientFactory.GetService[TService,TServiceSetting](ServiceTemplate`3 serviceTemplate, GoogleAdsConfig config)
   at Google.Ads.GoogleAds.Lib.GoogleAdsClient.GetService[TService,TServiceSetting](ServiceTemplate`3 serviceTemplate)
   at [REDACTED]

Steps to Reproduce:
Please provide a code snippet or steps to consistently reproduce the experienced behavior.
[DO NOT INCLUDE ANY PERSONAL OR SENSITIVE DATA IN YOUR SUBMITTED CODE]
It seems not all configurations are set on the Google ads object.
appsettings.json
"GoogleAdsApi": {
  "OAuth2PrnEmail": "[REDACTED]",
  "OAuth2SecretsJsonPath": "${Secrets:Google:OauthPath}",
  "OAuth2Mode": "SERVICE_ACCOUNT",
  "DeveloperToken": "[REDACTED]"
},
...

At runtime the path is expanded to a real path using https://github.com/StackExchange/StackExchange.Utils?tab=readme-ov-file#stackexchangeutilsconfiguration. This works as it should.
It seems the OAuth2SecretsJsonPath is not properly passed from the GoogleAdsApiOptions to the GoogleAdsConfig as the other properties are. This is the same for more properties, like OAuth2PrnEmail.
Expected behavior:
Client library version and API version:
Client library version: latest
Google Ads API version: latest
.NET version: latest
Operating system (Linux, Windowlatests, ...) and version (if the bug is platform-specific):
Request/Response Logs:

Anything else we should know about your project / environment

i've worked around this like so;
// TODO workaround see: https://github.com/googleads/google-ads-dotnet/issues/592

//services.AddGoogleAdsClient(_configuration);

services.AddSingleton<IGoogleAdsConfig, GoogleAdsConfig>(_ => new GoogleAdsConfig(_configuration
    .GetSection("GoogleAdsApi")
    .GetChildren()
    .ToDictionary(x => x.Key, x => x.Value)));
services.AddTransient<IGoogleAdsClient, GoogleAdsClient>();

which works.

Good catch! I think a more long-term fix would be to add setting the OAuth2PrnEmail and OAuth2SecretsJsonPath properties here, though.
I'll get to it as soon as the code freeze season is over, but glad you found a workaround in the meantime.

authors: Raibaz sommmen

repo: googleads/google-ads-dotnet


text:
Is it safe to make credentials.json publicly available?

I have a python desktop application that uses the Google Tasks API, I was wondering if I can make available the credentials generated along with the application. (Google Translator)

Hi @exodojaffar,
No, I would not recommend to include credentials.json in the desktop application as it contains sensitive information. Please let me know if you have any other questions!

I'm going to close this issue but please feel free to re-open it if you have additional questions.

authors: exodojaffar parthea

repo: googleapis/google-api-python-client


text:
Create complete hello-world directory / repository to compile with Bazel and/or CMake

We should have a directory and/or repository that users can copy and start coding from a simple "hello world" program. It should support both CMake and Bazel.

I'm thinking this is done now? https://github.com/googleapis/google-cloud-cpp-spanner/tree/master/quickstart

Yes, fixed by #1318

authors: coryan devjgm

repo: googleapis/google-cloud-cpp-spanner


text:
ci: reduce false negatives in code coverage

For some reason the use of & Function was confusing the code coverage
tool and marking lines as "not covered" when in fact they are.

This change is

Do #1328 and #1329 overlap?  I approved this one.

authors: coryan devbww


text:
Storage GCS+gRPC failed precondition flake

GCB: https://console.cloud.google.com/cloud-build/builds;region=us-east1/bf2bc54e-cd9d-4b59-afa5-ab287cf3b856;tab=detail?project=cloud-cpp-testing-resources
Raw: https://storage.googleapis.com/cloud-cpp-community-publiclogs/logs/google-cloud-cpp/main/f3d08b736565af0d5bef916c8134b52c77a579a4/fedora-36-gcs-grpc/log-bf2bc54e-cd9d-4b59-afa5-ab287cf3b856.txt

The tests creates an object once, then tries to create it again. It expects a failure on the second attempt, because the object should exist already. We see the first attempt fail due to some precondition.
[ RUN      ] ObjectInsertWithJsonCredentialsTest/ObjectInsertIntegrationTest.InsertXmlFailure/0
google/cloud/storage/tests/object_insert_integration_test.cc:706: Failure
Value of: insert
Expected: code is equal to OK and message is anything
  Actual: 848-byte object <F0-F5 E2-01 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 ... 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00>, whose status is FAILED_PRECONDITION: Permanent error InsertObjectMedia: At least one of the pre-conditions you specified did not hold., with a code that isn't equal to OK, but a message that is anything

The first insert failed with kFailedPrecondition because we retried after an "insert if it does not exist".  The retry is correct, counting that as an error may not be.

I am generalizing that failure, because this is basically the same problem:

GCB: https://console.cloud.google.com/cloud-build/builds;region=us-east1/cc6c981c-2e12-4b95-9a34-289125727337;tab=detail?project=cloud-cpp-testing-resources
Raw: https://storage.googleapis.com/cloud-cpp-community-publiclogs/logs/google-cloud-cpp/main/b2d57a2029929b862989797b5cee854cadf880f6/fedora-36-gcs-grpc/log-cc6c981c-2e12-4b95-9a34-289125727337.txt

No repeats, closing.

authors: coryan dbolduc

repo: googleapis/google-cloud-cpp


text:
Create code snippet for bigtable_mutate_rows

Need to create code snippet for documentation purposes.
corresponding node.js snippet is available here.
Note: This issue/task is outcome of #2253
Edit/Update

bigtable_mutate_delete_rows: Delete rows using mutate
bigtable_mutate_mix_match: Mix and match mutation operations (insert rows, delete column)
bigtable_insert_update_rows: Update or insert rows in a table
bigtable_mutate_delete_columns: Delete columns within a row using mutate

Above mentioned snippets from task #2254 can be clubbed in a single PR. All of them demonstrates different ways of using Apply or BulkApply.

We are not going to implement bigtable_mutate_rows, it is only in Node, and there is no entry for it in the internal tool. Closing this, we already have open bugs for the other items.

authors: coryan manish-qlogic


text:
feat(storage): Add UploadFromOffset and UploadLimit to UploadFile

This PR is a part of #4437
I would like to ask where I should write test for this PR. Thank you

This change is

About fifo file, it is a little bit more complicated since we have to have 2 threads, one writes data to fifo and one uploads the data to GCS server simultaneously. Please review the current changes first and I will add the test for fifo later. Thank you.

I will wait for #4408. In the mean time, I will do some tests with upload for irregular file

@vnvo2409  we merged #4408 earlier today in case you want to pick this up again.

I think that we have to write another helper function like UploadFileSpecial to deal with special file. After some experiments, C++ api is really bad at dealing with fifo:

seekg() does not work.
We have to read only 1 byte at a time because gcount(), tellg() do not work.
when we call fstream.close(), it causes the thread which is writing to fifo stop too. This may cause some errrors since the thread that is writing to fifo isn't related to google-cloud-cpp.

So I think we should have a seperate PR for the special file. What do you think ?

So I think we should have a separate PR for the special file. What do you think ?

Yes, it seems that getting those to work should be a separate bug and PR.  We might decide to not have them work at all (as opposed to just warning about them).

Test failed because
/v/google/cloud/storage/client.cc:131:19: error: comparison of integers of different signs: 'streamsize' (aka 'long') and 'size_type' (aka 'unsigned long') [-Werror,-Wsign-compare]
  if (is.gcount() < payload.size()) {
      ~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~
1 error generated.

Done 🎉


text:
The type initializer for 'Google.Cloud.Firestore.V1.Firestore' threw an exception.

Hi, All of a sudden my .net core app is reporting the following issue when try to use Google.Cloud.Firestore.V1.Firestore.
All has been working fine until now! I am using .net core 2.25
System.TypeInitializationException: The type initializer for 'Google.Cloud.Firestore.V1.Firestore' threw an exception. ---> System.TypeInitializationException: The type initializer for 'Google.Cloud.Firestore.V1.Document' threw an exception. ---> System.MissingMethodException: Method not found: 'Google.Protobuf.FieldCodec1<System.String> Google.Protobuf.FieldCodec.ForString(UInt32)'.    at Google.Cloud.Firestore.V1.Document..cctor()    --- End of inner exception stack trace ---    at Google.Cloud.Firestore.V1.Document.get_Parser()    at Google.Cloud.Firestore.V1.Firestore..cctor()    --- End of inner exception stack trace ---    at Google.Cloud.Firestore.V1.Firestore.FirestoreClient.RunQuery(RunQueryRequest request, CallOptions options)    at Google.Api.Gax.Grpc.ApiServerStreamingCall.<>c__DisplayClass0_02.b__1(TRequest req, CallSettings cs)
at Google.Api.Gax.Grpc.ApiCallRetryExtensions.<>c__DisplayClass1_02.<WithRetry>b__0(TRequest request, CallSettings callSettings)    at Google.Cloud.Firestore.V1.FirestoreClientImpl.RunQuery(RunQueryRequest request, CallSettings callSettings)    at Google.Cloud.Firestore.Query.<>c__DisplayClass54_0.<StreamResponsesAsync>b__0()    at System.Linq.AsyncEnumerable.AnonymousAsyncEnumerable1.GetEnumerator() in D:\a\1\s\Ix.NET\Source\System.Interactive.Async\Create.cs:line 74
at System.Linq.AsyncEnumerable.ForEachAsync_[TSource](IAsyncEnumerable1 source, Action2 action, CancellationToken cancellationToken) in D:\a\1\s\Ix.NET\Source\System.Interactive.Async\ForEach.cs:line 139
at Google.Cloud.Firestore.Query.GetSnapshotAsync(ByteString transactionId, CancellationToken cancellationToken)

Please could you list your exact dependencies and their versions? There was a bug in Google.Protobuf 3.9.0, but we delisted that version, so I'd be surprised if you had a dependency on it now.

Hi, I have installed Google Protobuf 3.9.1 from Nuget and the issue is fixed. I am using Cloud Firestore 1.1.0, .net core 2.2.6
Kind Regards and thanks for the reply.

Okay, I'm glad it's fixed. It's not clear how you ended up on 3.9.0 (which I suspect you did somehow). Note that Firestore is only at version 1.0.0, so you can't be using 1.1.0 of it... it might be worth checking your dependencies and their versions very carefully.

Hi I meant v1.0.0 of Firestore, typing issue this end sorry! Thanks for your help again

authors: exgonline jskeet

repo: googleapis/google-cloud-dotnet


text:
Release Google.Apps.Chat.V1 version 1.0.0-beta03

Changes in this release:
New features

Add IServiceCollection extension methods for client registration where an IServiceProvider is required. (commit 022fab2)

Created release for Google.Apps.Chat.V1-1.0.0-beta03

authors: jskeet yoshi-automation


text:
Release Google.Cloud.DataLabeling.V1Beta1 version 2.0.0-beta01

Changes in this release:
This is the first version of this package to depend on GAX v4.
There are some breaking changes, both in GAX v4 and in the generated code. The changes that aren't specific to any given API are described in the Google Cloud documentation. We don't anticipate any changes to most customer code, but please file a GitHub issue if you run into problems.
The most important change in this release is the use of the Grpc.Net.Client package for gRPC communication, instead of Grpc.Core. When using .NET Core 3.1 or .NET 5.0+ this should lead to a smaller installation footprint and greater compatibility (e.g. with Apple M1 chips). Any significant change in a core component comes with the risk of incompatibility, however - so again, please let us know if you encounter any issues.

Created release for Google.Cloud.DataLabeling.V1Beta1-2.0.0-beta01


text:
chore!: migrate to Node 14

BREAKING CHANGES:

Return types should be arrays when the return type is a tuple: https://github.com/googleapis/gax-nodejs/pull/1001
The linter and libraries are now on the latest version of typescript (5.1.3) and on the latest version of prettier (>3.0.0): https://github.com/google/gts/pull/773.
Auth no longer accepts .p12 certificates: https://github.com/googleapis/node-gtoken/pull/452
Gaxios requests require content-type to be specified: https://github.com/googleapis/gaxios/pull/535
Gaxios errors now specify status and code separately: https://github.com/googleapis/gaxios/pull/552
Gax-nodejs no longer compiles protos, a new dependency called gapic-tools does that: https://github.com/googleapis/gax-nodejs/pull/1439
All libraries were upgraded to a minimum version of Node 14.

Wait to merge until this is merged first: https://github.com/googleapis/google-cloud-node/pull/4462

repo: googleapis/google-cloud-node