Cuda 3.0?

Are there plans to support Cuda compute capability 3.0?

Officially, Cuda compute capability 3.5 and 5.2 are supported. You can try to enable other compute capability by modifying the build script:
https://github.com/tensorflow/tensorflow/blob/master/third_party/gpus/crosstool/clang/bin/crosstool_wrapper_driver_is_not_gcc#L236

Thanks! Will try it and report here.

This is not officially supported yet. But if you want to enable Cuda 3.0 locally, here are the additional places to change:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/common_runtime/gpu/gpu_device.cc#L610
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/common_runtime/gpu/gpu_device.cc#L629
Where the smaller GPU device is ignored.
The official support will eventually come in a different form, where we make sure the fix works on all different computational environment.

I made the changes to the lines above, and was able to compile and run the basic example on the Getting Started page: http://tensorflow.org/get_started/os_setup.md#try_your_first_tensorflow_program - it did not complain about gpu, but it didn't report using the gpu either.
How can I help with next steps?

infojunkie@, could you post your step and upload the log?
If you were following this example:
bazel build -c opt --config=cuda //tensorflow/cc:tutorials_example_trainer
bazel-bin/tensorflow/cc/tutorials_example_trainer --use_gpu
If you see the following line, the GPU logic device is being created:
Creating TensorFlow device (/gpu:0) -> (device: ..., name: ..., pci bus id: ...)
If you want to be absolutely sure GPU was used, set CUDA_PROFILE=1 and enable Cuda profiler. If the Cuda profiler logs were generated, it was a sure sign GPU was used.
http://docs.nvidia.com/cuda/profiler-users-guide/#command-line-profiler-control

I got the following log: ```I tensorflow/core/common_runtime/local_device.cc:25] Local device intra op parallelism threads: 8
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:888] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
I tensorflow/core/common_runtime/gpu/gpu_init.cc:88] Found device 0 with properties:
name: GeForce GT 750M
major: 3 minor: 0 memoryClockRate (GHz) 0.967
pciBusID 0000:02:00.0
Total memory: 2.00GiB
Free memory: 896.49MiB
I tensorflow/core/common_runtime/gpu/gpu_init.cc:112] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_init.cc:122] 0:   Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:643] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:02:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:643] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:02:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:643] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:02:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:643] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:02:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:643] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:02:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:643] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:02:00.0)
I tensorflow/core/common_runtime/gpu/gpu_region_allocator.cc:47] Setting region size to 730324992
I tensorflow/core/common_runtime/gpu/gpu_device.cc:643] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:02:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:643] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:02:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:643] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:02:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:643] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:02:00.0)
I tensorflow/core/common_runtime/local_session.cc:45] Local session inter op parallelism threads: 8
I guess it means the GPU was found and used. I can try the CUDA profiler if you think it's useful.

Please prioritize this issue. It is blocking gpu usage on both OSX and AWS's K520 and for many people this is the only environments available.
Thanks!

Not the nicest fix, but just comment out the the cuda compute version check at gpu_device.c line 610 to 616, recompile, and amazon g2 GPU acceleration seems to works fine:

For reference, here's my very primitive patch to work with Cuda 3.0: https://gist.github.com/infojunkie/cb6d1a4e8bf674c6e38e

@infojunkie I applied your fix, but I got lots of nan's in the computation output:
$ bazel-bin/tensorflow/cc/tutorials_example_trainer --use_gpu
000006/000003 lambda =     -nan x = [0.000000 0.000000] y = [0.000000 0.000000]
000004/000003 lambda = 2.000027 x = [79795.101562 -39896.468750] y = [159592.375000 -79795.101562]
000005/000006 lambda = 2.000054 x = [39896.468750 -19947.152344] y = [79795.101562 -39896.468750]
000001/000007 lambda =     -nan x = [0.000000 0.000000] y = [0.000000 0.000000]
000002/000003 lambda =     -nan x = [0.000000 0.000000] y = [0.000000 0.000000]
000009/000008 lambda =     -nan x = [0.000000 0.000000] y = [0.000000 0.000000]
000004/000004 lambda =     -nan x = [0.000000 0.000000] y = [0.000000 0.000000]
000001/000005 lambda =     -nan x = [0.000000 0.000000] y = [0.000000 0.000000]
000006/000007 lambda =     -nan x = [0.000000 0.000000] y = [0.000000 0.000000]
000003/000006 lambda =     -nan x = [0.000000 0.000000] y = [0.000000 0.000000]
000006/000006 lambda =     -nan x = [0.000000 0.000000] y = [0.000000 0.000000]

@markusdr, this is very strange. Could you post the completely steps you build the binary?
Could what GPU and OS are you running with? Are you using Cuda 7.0 and Cudnn 6.5 V2?

Just +1 to fix this problem on AWS as soon as possible. We don't have any other GPU cards for our research.

Hi, not sure if this is a separate issue but I'm trying to build with a CUDA 3.0 GPU (Geforce 660 Ti) and am getting many errors with --config=cuda. See the attached file below. It seems unrelated to the recommended changes above. I've noticed that it tries to compile a temporary compute_52.cpp1.ii file which would be the wrong version for my GPU.
I'm on Ubuntu 15.10. I modified the host_config.h in the Cuda includes to remove the version check on gcc. I'm using Cuda 7.0 and cuDNN 6.5 v2 as recommended, although I have newer versions installed as well.
cuda_build_fail.txt

Yes, I was using Cuda 7.0 and Cudnn 6.5 on an EC2 g2.2xlarge instance with this AIM:
cuda_7 - ami-12fd8178
ubuntu 14.04, gcc 4.8, cuda 7.0, atlas, and opencv.
To build, I followed the instructions on tensorflow.org.

It looks like we are seeing an API incompatibility between CUDA v3 and CUDA v3.5; post infojunkie's patch fix, I stumped onto this issue
I tensorflow/core/common_runtime/gpu/gpu_device.cc:643] Creating TensorFlow device (/gpu:0) -> (device: 0, name: Quadro K2100M, pci bus id: 0000:01:00.0)
I tensorflow/core/common_runtime/local_session.cc:45] Local session inter op parallelism threads: 8
F tensorflow/stream_executor/cuda/cuda_blas.cc:229] Check failed: f != nullptr could not find cublasCreate_v2 in cuBLAS DSO; dlerror: bazel-bin/tensorflow/cc/tutorials_example_trainer: undefined symbol: cublasCreate_v2
I run on Ubuntu 15.04, gcc 4.9.2, CUDA Toolkit 7.5, cuDNN 6.5

is cublas installed? and where does it link to
ls -lah /usr/local/cuda/lib64/libcublas.so ?

@allanzelener, what OS and GCC versions do you have? Your errors seem to come from incompatible C++ compilers.
It is recommended to use Ubuntu 14.04 and GCC 4.8 with TensorFlow.

@vsrikarunyan, it is better to use CUDA Toolkit 7.0, as recommended. You can install an older CUDA Toolkit along with your newer toolkit. Just point TensorFlow "configure" and maybe LD_LIBRARY_PATH to the CUDA 7.0 when you run TensorFlow.

@avostryakov, @infojunkie's early patch should work on AWS.
https://gist.github.com/infojunkie/cb6d1a4e8bf674c6e38e
An official patch is working its way through the pipeline. It would expose a configuration option to let you choose your compute target. But underneath, it does similar changes. I've tried it on AWS g2, and find out once things would work, after I completely uninstall NVIDIA driver, and reinstall the latest GPU driver from NVIDIA.
Once again, the recommended setting on AWS at this point is the following.
Ubuntu 14.04, GCC 4.8, CUDA Toolkit 7.0 and CUDNN 6.5. For the last two, it is okay to install them without affecting your existing installation of other versions. Also the official recommended versions for the last two might change soon as well.

I applied the same patch on a g2.2xlarge instance and got the same result as @markusdr... a bunch of nan's.

@zheng-xq Yes, I'm on Ubuntu 15.10 and I was using GCC 5.2.1. The issue was the compiler. I couldn't figure out how to change the compiler with bazel but simply installing gcc-4.8 and using update-alternatives to change the symlinks in usr/bin seems to have worked. (More info: http://askubuntu.com/questions/26498/choose-gcc-and-g-version). Thanks for the help, I'll report back if I experience any further issues.

I did get this to work on a g2.2xlarge instance and got the training example to run, and verified that the gpu was active using the nvidia-smi tool , but when running mnist's convolutional.py , it ran out of memory.  I suspect this just has to do with the batch size and the fact that the aws gpus don't have a lot of memory, but just wanted to throw that out there to make sure it sounds correct.  To clarify, I ran the following, and it ran for like 15 minutes , and then ran out of memory.
python tensorflow/models/image/mnist/convolutional.py

@nbenhaim, just what did you have to do to get it to work?

@markusdr, @jbencook, the NAN is quite troubling. I ran the same thing myself, and didn't have any problem.
If you use the recommended software setting: Ubuntu 14.04, GCC 4.8, Cuda 7.0 and Cudnn 6.5, then my next guess is the Cuda driver. Could you uninstall and reinstall the latest Cuda driver.
This is the sequence I tried on AWS, your mileage may vary:
sudo apt-get remove --purge "nvidia*"
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/352.55/NVIDIA-Linux-x86_64-352.55.run
sudo ./NVIDIA-Linux-x86_64-352.55.run --accept-license --no-x-check --no-recursion

Thanks for following up @zheng-xq - I'll give that a shot today.

Another +1 for supporting pre-3.5 GPUs, as someone else whose only realistic option for training on real data is AWS GPU instances.
Even for local testing, turns out my (recent, developer) laptop's GPU doesn't support 3.5 :-(

@anjishnu I just followed @infojunkie 's patch https://gist.github.com/infojunkie/cb6d1a4e8bf674c6e38e after doing a clean install and build by following the directions.
A few comments - The AMI I was using had the NVIDIA cuda toolkit 6.5 installed, so when I followed the link in the tensorflow getting started guide, I downloaded the 7.0 .run file for ubuntu 14.04 , upgraded the driver, and installed cuda 7.0 into /usr/local/cuda-7.0 without creating a symlink to /usr/local/cuda since I already had 6.5 installed and didn't wanna kill it
Then, when building I just specified the right location of cuda 7.0.  One confusing thing is that when builting the python library, the tutorial doesn't remind you to specify --config=cuda , but you have to do that if you want the python lib to utilize gpu

@markusdr, @jbencook, I got an NaN and all kinds of messed up values as well when I applied the patch initially, but what fixed it was doing a "bazel clean" and rebuilding from scratch after making the proposed changes outlined in @infojunkie 's patch.  Did you try this?

Interesing... no I haven't had a chance yet. Did you try running the CNN from the Getting Started guide?
python tensorflow/models/image/mnist/convolutional.py

Curious to hear if that worked correctly.

@jbencook  as I mentioned , convolutional.py seems to run correctly, but after like 15 minutes it crashes due to out of memory, but the output looks correct and I used nvidia-smi's tool to verify that it's actually running on the GPU and it is.  I suspect that this is because the batch size ... i know that the gpus on ec2 don't have that much memory, but I'm really unsure at this moment why it ran out of memory

The convolutional.py example ran out of GPU memory for me too, on a GeForce GTX 780 Ti.

I was able to install it on AWS after lots of pain.
See https://gist.github.com/erikbern/78ba519b97b440e10640
I also built an AMI: ami-cf5028a5 (in Virginia region)
It works on g2.2xlarge and g2.8xlarge and it detects the devices correctly (1 and 4 respectively). However I'm not seeing any speedup from the 4 GPU cards on the g2.8xlarge. Both machines process about 330 examples/sec

As for building for Cuda 3.0 device, if you sync the latest TensorFlow code, you can do the following. The official documentation will update soon. But this is what it looks like:
$ TF_UNOFFICIAL_SETTING=1 ./configure
Same as the official settings above
WARNING: You are configuring unofficial settings in TensorFlow. Because some
external libraries are not backward compatible, these settings are largely
untested and unsupported.
Please specify a list of comma-separated Cuda compute capabilities you want to
build with. You can find the compute capability of your device at:
https://developer.nvidia.com/cuda-gpus.
Please note that each additional compute capability significantly increases
your build time and binary size. [Default is: "3.5,5.2"]: 3.0
Setting up Cuda include
Setting up Cuda lib64
Setting up Cuda bin
Setting up Cuda nvvm
Configuration finished

@nbenhaim @markusdr
Out of memory issue may be due to fact that convolutional.py runs evaluation on the whole test dataset (10000) examples. It happens after training is finished, as the last step:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/models/image/mnist/convolutional.py#L266
Can you try slicing train_data and test_labels to make is smaller?

I can confirm that with @erikbern's install script and the latest TensorFlow master branch the cifar10_multi_gpu_train.py works as expected on the GPU:
step 100, loss = 4.49 (330.8 examples/sec; 0.387 sec/batch)

Although this line now breaks because of the code changes.
Also if I take 1000 test samples the convolutional.py example works too.

I confirm that the latest build supports specifying the compute capability via
$ TF_UNOFFICIAL_SETTING=1 ./configure
without need for a patch. Thanks!
I think this issue can be closed, unless someone encounters an actual function that fails for Cuda < 3.5.

Actually, let me take that back :-) The ./configure script modifies the source code by changing the relevant lines with the hand-specified Cuda versions. Then git reports uncommitted changes and it becomes very difficult to work on this codebase without accidentally committing the above changes.
A better approach would be to read those version settings from a config file.

ErikBern above and his AMI is working for cifar for me - ami-cf5028a5
Getting ~320 samples per sec versus my i7 windows box on docker which gets ~105 samples per second.

@infojunkie: yes, this isn't ideal (@zheng-xq and I discussed this a bit during the review!).
We'll try to think of a better way to handle this, though we would like to keep the ability for the runtime device filtering to be in sync with the way the binary was built (hence needing to edit the source code for both compile and runtime).  Otherwise users get hard-to-debug errors.
We'll continue to work on making this easier, but hopefully this allows some forward progress for you.

@vrv: yes, I can definitely continue my work with these fixes. Thanks for the support!

Just curious, as c4.4xlarge with 16 cpus is about .80 per hour versus the gpu instance which is .65 per hour, wouldn't that be better to support multiple cpu than gpu?

@timshephard I doubt it, but feel free to run some benchmarks – you can install my AMI (ami-cf5028a5) on a c4.4xlarge and run cifar10_train.py

Actually, the g2.2xlarge has 8 cpus alongside the GPU.  Going to try that.

multi threaded CPU is supported , but if you want to do any real training,
GPU 4 Life, until they release the distributed implementation
On Thu, Nov 12, 2015 at 4:53 PM, Erik Bernhardsson<EMAIL_ADDRESS>
wrote:

@timshephard https://github.com/timshephard I doubt it, but feel free
to run some benchmarks – you can install my AMI (ami-cf5028a5) on a
c4.4xlarge and run cifar10_train.py
—
Reply to this email directly or view it on GitHub
https://github.com/tensorflow/tensorflow/issues/25#issuecomment-156274039
.

I was only getting a 3x speed up for amazon GPU over my windows CPU on docker.  Nice, but that was only 1 of my cores.  All for 4 cores on my windows box could probably beat an amazon GPU.

that's interesting, because with caffe , I didn't do any actual benchmarks,
but training in CPU mode is horrible, like order of magnitude or more
difference.  Maybe TF is optimized better in CPU mode - wouldnt surprise
me.
On Thu, Nov 12, 2015 at 5:01 PM, timshephard<EMAIL_ADDRESS>wrote:

I was only getting a 3x speed up for amazon GPU over my windows CPU on
docker. Nice, but that was only 1 of my cores. All for 4 cores on my
windows box could probably beat an amazon GPU.
—
Reply to this email directly or view it on GitHub
https://github.com/tensorflow/tensorflow/issues/25#issuecomment-156275410
.

Please bear in mind that the cifar10 tutorial as it is is not meant to be a benchmark. It is meant to show-case a few different features, such as saver and summary. In its current form, it will be CPU-limited, even with GPU. To benchmark, one will have to be more careful and only use essential features.

Could be just amazon GPUs are slow for some reason https://www.reddit.com/r/MachineLearning/comments/305me5/slow_gpu_performance_on_amazon_g22xlarge/

fwiw, getting 2015-11-13 00:38:05.472034: step 20, loss = 4.64 (362.5 examples/sec; 0.353 sec/batch)
now with 7 cpus and cifar10_multi_gpu_train.py.  I changed the all of the device references from gpu to cpu, if that makes sense.   I think i did it right :)  Will see if I can mix the GPU in as well.  does that make sense?  :)

even with erikbern's instructions I am still getting
AssertionError: Model diverged with loss = NaN when I try cifar_train.py and this when running mnist/convolutional.py
Epoch 1.63
Minibatch loss: nan, learning rate: nan
Minibatch error: 90.6%
Validation error: 90.4%
Epoch 1.75
Minibatch loss: nan, learning rate: 0.000000
Minibatch error: 92.2%
Validation error: 90.4%
Epoch 1.86
Minibatch loss: nan, learning rate: 0.000000

I got it to run on GPU on AWS, but like the others I am getting unimpressive speeds.

I was able to get the convolutional.py example running without running out of memory after using the correct fix suggested by @zheng-xq of setting the option when running configure

The install script provided by @erikbern no longer works as of commit 9c3043ff3bf31a6a81810b4ce9e87ef936f1f529
The most recent commit introduced this bug, @keveman already made a note on the commit here:
https://github.com/tensorflow/tensorflow/commit/9c3043ff3bf31a6a81810b4ce9e87ef936f1f529#diff-1a60d717df0f558f55ec004e6af5c7deL25

Hi! I have a problem with compilation of tensorflow with GTX 670. I run
TF_UNOFFICIAL_SETTING=1 ./configure
bazel build -c opt --config=cuda //tensorflow/cc:tutorials_example_trainer

I got error:
INFO: Found 1 target...
INFO: From Compiling tensorflow/core/kernels/bias_op_gpu.cu.cc:
tensorflow/core/kernels/bias_op_gpu.cu.cc(40): error: identifier "__ldg" is undefined
          detected during:
            instantiation of "void tensorflow::functor::BiasOpCustomKernel(int, const T *, const T *, int, int, T *) [with T=float]"
(57): here
            instantiation of "void tensorflow::functor::Bias<tensorflow::GPUDevice, T, Dims>::operator()(const tensorflow::functor::Bias<tensorflow::GPUDevice, T, Dims>::Device &, tensorflow::TTypes<T, Dims, Eigen::DenseIndex>::ConstTensor, tensorflow::TTypes<T, 1, Eigen::DenseIndex>::ConstVec, tensorflow::TTypes<T, Dims, Eigen::DenseIndex>::Tensor) [with T=float, Dims=2]"
(69): here

tensorflow/core/kernels/bias_op_gpu.cu.cc(40): error: identifier "__ldg" is undefined
          detected during:
            instantiation of "void tensorflow::functor::BiasOpCustomKernel(int, const T *, const T *, int, int, T *) [with T=double]"
(57): here
            instantiation of "void tensorflow::functor::Bias<tensorflow::GPUDevice, T, Dims>::operator()(const tensorflow::functor::Bias<tensorflow::GPUDevice, T, Dims>::Device &, tensorflow::TTypes<T, Dims, Eigen::DenseIndex>::ConstTensor, tensorflow::TTypes<T, 1, Eigen::DenseIndex>::ConstVec, tensorflow::TTypes<T, Dims, Eigen::DenseIndex>::Tensor) [with T=double, Dims=2]"
(69): here

2 errors detected in the compilation of "/tmp/tmpxft_000067dd_00000000-7_bias_op_gpu.cu.cpp1.ii".
ERROR: /home/piotr/tensorflow/tensorflow/tensorflow/core/BUILD:248:1: output 'tensorflow/core/_objs/gpu_kernels/tensorflow/core/kernels/bias_op_gpu.cu.o' was not created.
ERROR: /home/piotr/tensorflow/tensorflow/tensorflow/core/BUILD:248:1: not all outputs were created.
Target //tensorflow/cc:tutorials_example_trainer failed to build

Information about my card from NVIDIA samples deviceQuery:
Device 0: "GeForce GTX 670"
  CUDA Driver Version / Runtime Version          7.5 / 7.0
  CUDA Capability Major/Minor version number:    3.0
  Total amount of global memory:                 2046 MBytes<PHONE_NUMBER> bytes)
  ( 7) Multiprocessors, (192) CUDA Cores/MP:     1344 CUDA Cores
  GPU Max Clock rate:                            980 MHz (0.98 GHz)
  Memory Clock rate:                             3004 Mhz
  Memory Bus Width:                              256-bit
  L2 Cache Size:                                 524288 bytes
  Maximum Texture Dimension Size (x,y,z)         1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
  Maximum Layered 1D Texture Size, (num) layers  1D=(16384), 2048 layers
  Maximum Layered 2D Texture Size, (num) layers  2D=(16384, 16384), 2048 layers
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       49152 bytes
  Total number of registers available per block: 65536
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  2048
  Maximum number of threads per block:           1024
  Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
  Max dimension size of a grid size    (x,y,z):<PHONE_NUMBER>, 65535, 65535)
  Maximum memory pitch:<PHONE_NUMBER> bytes
  Texture alignment:                             512 bytes
  Concurrent copy and kernel execution:          Yes with 1 copy engine(s)
  Run time limit on kernels:                     Yes
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:       Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Disabled
  Device supports Unified Addressing (UVA):      Yes
  Device PCI Domain ID / Bus ID / location ID:   0 / 1 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 7.5, CUDA Runtime Version = 7.0, NumDevs = 1, Device0 = GeForce GTX 670

Any ideas why it is not working?
Thanks!

the __ldg primitive only exists for 3.5+ I think.  We have an internal fix to support both that we'll try to push out soon.

Thanks! Adding fix from #320 helped me, I can compile (with a lot of warnings) and execute
bazel-bin/tensorflow/cc/tutorials_example_trainer --use_gpu

When I run examples:
tensorflow/models/image/mnist$ python convolutional.py

I get warning that:
Ignoring gpu device (device: 0, name: GeForce GTX 670, pci bus id: 0000:01:00.0) with Cuda compute capability 3.0. The minimum required Cuda capability is 3.5.

How to switch CPU on in examples from tensorflow/models/images?

@erikbern
did you figure out multiple GPU issue on Amazon? I am also running CIFAR multiple GPU instance but see no speedup.

@mhejrati according to a comment on https://news.ycombinator.com/item?id=10555692 it seems like you can't do it in AWS:

Xen virtualization disables P2P copies ergo GPUs have what we call a "failure to communicate and some GPUs you just can't reach (without going through the CPU that is)."

Not sure how trustworthy HN comments are, but that's all I know so far

@erikbern @mhejrati I'm not so sure that specific property of Xen is a problem. P2P copies don't seem to be necessary as the cpu can still assign work to each GPU without GPUs needing to communicate to each other. It's still strange that all GPUs on the instance seem to be in this semi-utilized state but work proceeds without error.

I'll close this bug. Please open a new one with a more specific title if some issues in here remain unresolved.

Does it means that the last version of tensorflow works on Amazon g2 instances without any hacks? And Does it mean that it works more than one GPU there?

I'm not sure whether we should call TF_UNOFFICIAL_* "not a hack", but yes, it should work. If it doesn't, it's likely unrelated to Cuda 3.0 per se, and we should have a more specific bug.

And is it possible to execute code on two or more GPUs on an amazon instance? For example, data parallelism for training a model like in CIFAR example. Several guys just 5 comments above this comment wrote that it was not possible.

I don't know. But if that's still an issue with 0.6.0, it should be a bug, just a more specific one about multiple GPUs.

I am using 0.6.0 on ubuntu, not able to use more than one GPUs. The GPU utilization on one GPU is always 0.

Just for point of reference, renting a K40 or K80 is not actually prohibitively expensive.  Amazon doesn't have them, but several of the options on http://www.nvidia.com/object/gpu-cloud-computing-services.html do.

Theano and Torch have no problem with compute 3.0 whatsoever. Can we expect TensorFlow to support compute 3.0 anytime soon?

@Dringite, you can enable Cuda 3.0 using the following:
TF_UNOFFICIAL_SETTING=1 ./configure
It should be functional. And if it doesn't, feel free to file another issue to track it.

The tensorflow install guide now includes a fix for cuda 3.0 as well
On Wed, Feb 10, 2016 at 2:37 PM, zheng-xq<EMAIL_ADDRESS>wrote:

@Dringite https://github.com/Dringite, you can enable Cuda 3.0 using
the following:
TF_UNOFFICIAL_SETTING=1 ./configure
It should be functional. And if it doesn't, feel free to file another
issue to track it.
—
Reply to this email directly or view it on GitHub
https://github.com/tensorflow/tensorflow/issues/25#issuecomment-182610763
.

I think current guide does not work for gpu's - the test returns nan's as reported before.

I can't find the install guide including a fix for cuda 3.0, could someone point out for me? THX!

printf "\ny\n7.5\n\n\n\n3.0\n" | ./configure
7.5 is the cuda version, 3.0 is the compute.

Hi everybody. I can't find guide to fix problem for cuda 3.0. I am frustrated. This is my output:
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:900] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
I tensorflow/core/common_runtime/gpu/gpu_init.cc:102] Found device 0 with properties:
name: GRID K520
major: 3 minor: 0 memoryClockRate (GHz) 0.797
pciBusID 0000:00:03.0
Total memory: 4.00GiB
Free memory: 3.95GiB
I tensorflow/core/common_runtime/gpu/gpu_init.cc:126] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_init.cc:136] 0:   Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:684]
Ignoring gpu device (device: 0, name: GRID K520, pci bus id: 0000:00:03.0) with Cuda compute capability 3.0. The minimum required Cuda capability is 3.5.
@Dringite What means : printf "\ny\n7.5\n\n\n\n3.0\n" | ./configure and where I find ./configure file?
Thanks so much.

Still no performance update for multiple GPUs at Amazon (CUDA=7.5, cudnn =4.0 ,compute = 3.0)..

anyone succeed on Cuda compute capability 2.0?

Verified that 'TF_UNOFFICIAL_SETTING=1 ./configure' works on a macbook pro with at GeForce GT 750M.  Thanks!

Is there an ETA for the official fix? It's really a pain to maintain (e.g. build our own dockerfile) in production.

My laptop gives me this log when I try to run mnist sample :
"Ignoring gpu device (device:0,name:GeForce GT 635M, pci bus id) with Cuda compute capability 2.1. The minimum required Cuda capability is 3.0 . "
So does this mean that I can't use GPU version because the minimum Cuda for tensorflow is 3.0 ?
Thanks

If you use the prebuilt binaries, yes. If you build from source you can
build with Cuda 2.1 support but I don't know if that actually works. It's
likely that the effective minimum is cuda 3.0.
On Sat, Sep 10, 2016 at 11:51 Mojtaba Tabatabaie<EMAIL_ADDRESS>wrote:

My laptop gives me this log when I try to run mnist sample :
"Ignoring gpu device (device:0,name:GeForce GT 635M, pci bus id) with Cuda
compute capability 2.1. The minimum required Cuda capability is 3.0 . "
So does this mean that I can't use GPU version because the minimum Cuda
for tensorflow is 3.0 ?
Thanks
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/25#issuecomment-246128896,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAjO_RvNrRMQEmsueXWoaU5FX4tWHZq3ks5qovwegaJpZM4Ge0kc
.

@smtabatabaie Have you tried to build cuDNN from source as suggested by @martinwicke, I am facing exactly same issues as yours and it would help me a lot if you share your exprience?

Some help please. I'm getting the same error message with "Ignoring visible gpu device (device: 0, name: GeForce GT 750M, pci bus id: 0000:01:00.0) with Cuda compute capability 3.0. The minimum required Cuda capability is 3.5."
I've read through the posts from others, the only issue is that this is a direct windows installation and not on AWS as I'm assuming most of the people here have. In the tensorflow website, it's stated that a minimum of 3.0 is required, why am I unable to use this? and how can I get around it?
Suggestions on how to do this welcome please.

@gunan @mrry are the windows packages not built with cuda 3.0? Is that why
they are so small?

@martinwicke The nightlies are and rc1 should be too.

nightlies yes.
rc0 I think was 3.5.
Did we cherrypick the change to use 3.0 to r0.12?

We did cherrypick the change.
@cydal you may use the nightly builds at here:
http://ci.tensorflow.org/view/Nightly/job/nightly-win/14/DEVICE=gpu,OS=windows/artifact/cmake_build/tf_python/dist/tensorflow_gpu-0.12.0rc0-cp35-cp35m-win_amd64.whl
Or you can wait for 0.12.0rc1, which should be landing in a few days.

Thanks guys for the quick response, I wasn't expecting one for a while at least. Sorry if this sounds like a bi of a dumb question, how do I install this? do I simply pip install it? (if so, do I removed the previous tensorflow gpu? or does it do so automatically?) or does it require downloading it and manually installing it in some way? consider me a bit of a newbie.

The link points to a "PIP package".
If you used the pip install command, you should be able to use the same command with --upgrade flag.
Or you can run pip uninstall tensorflow and then install the package listed above.
Once you give pip command the URL, it will automatically download and install.
This is all I can give with limited knowledge on your system, your python distribution, etc.
Consider doing a google search for more details on how pip package installation works with your python distribution.

Hi, I simply uninstalled the previous one and reinstalled and it works! Thank you so much, you saved me from buying a new laptop.

Hi @gunan with the latest change for 3.5 compatibility, I get following log:
>>>> sess = tf.Session()
I c:\tf_jenkins\home\workspace\nightly-win\device\gpu\os\windows\tensorflow\core
\common_runtime\gpu\gpu_device.cc:885] Found device 0 with properties:
name: Quadro K4100M
major: 3 minor: 0 memoryClockRate (GHz) 0.7055
pciBusID 0000:01:00.0
Total memory: 4.00GiB
Free memory: 3.69GiB
I c:\tf_jenkins\home\workspace\nightly-win\device\gpu\os\windows\tensorflow\core
\common_runtime\gpu\gpu_device.cc:906] DMA: 0
I c:\tf_jenkins\home\workspace\nightly-win\device\gpu\os\windows\tensorflow\core
\common_runtime\gpu\gpu_device.cc:916] 0:   Y
I c:\tf_jenkins\home\workspace\nightly-win\device\gpu\os\windows\tensorflow\core
\common_runtime\gpu\gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (d
evice: 0, name: Quadro K4100M, pci bus id: 0000:01:00.0)
E c:\tf_jenkins\home\workspace\nightly-win\device\gpu\os\windows\tensorflow\core
\common_runtime\gpu\gpu_device.cc:586] Could not identify NUMA node of /job:loca
lhost/replica:0/task:0/gpu:0, defaulting to 0.  Your kernel may not have been bu
ilt with NUMA support.

How can I get around it? Suggestions on how to do this most welcome.

@kay10 It looks like it worked. That error message on the last line is innocuous, and going to be removed in the release.

As i see in this thread, everyone has a compatibility level 3. For those who has a compability of 2, is there any solution without compiling source code?
I tried nightly build shared by @gunan and got the error:
tensorflow_gpu-0.12.0rc0-cp35-cp35m-win_amd64.whl is not a supported wheel on this platform.
Current situation on a 16.04 Ubuntu.
I tensorflow/core/common_runtime/gpu/gpu_device.cc:948] Ignoring visible gpu device (device: 0, name: GeForce GTX 590, pci bus id: 0000:03:00.0) with Cuda compute capability 2.0. The minimum required Cuda capability is 3.0. I tensorflow/core/common_runtime/gpu/gpu_device.cc:948] Ignoring visible gpu device (device: 1, name: GeForce GTX 590, pci bus id: 0000:04:00.0) with Cuda compute capability 2.0. The minimum required Cuda capability is 3.0.

@batuhandayioglugil too many of our GPU kernels rely on functionality that is only available in in 3.0 and above, so unfortunately you will need a newer GPU.  You might also consider trying one of the cloud services.

@vrv i came to this point after spending quite time on these issues and buying a new PSU so it costed me a lot. To avoid further waste of time, i want to ask a question: there are at least 15 deep learning library that i heard. Cuda and cuDNN was necessary for tensorflow. Is this situation (compute capability) special for cuda library? May i have any other chances? if not, i will give up right know and go on to work with CPU (Forgive my ignorence)

I think it will be more trouble than it's worth trying to get your 2.0 card working -- it's possible your existing CPU might be as fast or faster than your specific GPU, and a lot less trouble to get started.  I do not know what other libraries require, unfortunately.

is it already support GPU compute 3.0?

yes.

@martinwicke o thank you so much, I've struggled by creating new problem that wasnt there.

@martinwicke do I still have to build it from source, or just directly pip install it?

I think it should work from binary.

I have the same problem ："Ignoring gpu device (device:0,name:GeForce GT 635M, pci bus id) with Cuda compute capability 2.1. The minimum required Cuda capability is 3.0 ." .  @smtabatabaie @martinwicke @alphajatin. help !!!!

Compute capability 2.1 is too low to run TensorFlow. You'll need a newer (or more powerful) graphics card to run TensorFlow on a GPU.

The url of answer to the question is invalid. Can you update it?

For nightly pip packages, recommended way to install is to use pip install tf-nightly command.
ci.tensorflow.org is deprecated.


Let cmake handle rpath on mac

With newer cmake versions it is possible to let cmake set the rpath.
I think this simplifies the build, please verify that this works also for you

That's great! Can you remove the code for the ugly hack we had before or do you prefer that I merge and do the clean up afterwards?

Glad you like it!
Since I have that branch already on my disk I can do the cleanup in here, no problem. I should be able finding time for doing that very soon.


Add Liebigschule Giessen

School Website: http://liebigschule-giessen.de/
School Type:

Gymnasium

IT related courses:

as elective in class 9 and 10 (2 Years)
choosable in class 11 (1 Year)
choosable in A Level as advanced course (class 12 and 13) (2 Years)
choosable in A Level as basic course (class 12 and 13) (2 Years)

Curricula for classes 9 and 10:

9: http://liebigschule-giessen.de/index.php?option=com_docman&view=download&alias=362-informatik-jahresplan-jg9-g9&category_slug=informatik-1&Itemid=289
10: http://liebigschule-giessen.de/index.php?option=com_docman&view=download&alias=361-informatik-jahresplan-jg10-g9&category_slug=informatik-1&Itemid=289

Curricula for classes 11-13 given by the Ministry of Education:

https://kultusministerium.hessen.de/sites/default/files/media/kcgo-in.pdf

Proof of Email is being used by teachers and IT-students:

@Schmitt-Florian Pull request merged. Thank you!


Delete obsolete dartdocs for Flutter

We should delete the following docs:

https://www.dartdocs.org/documentation/flutter/0.0.17/index.html
http://domokit.github.io/docs/sky/

cc @abarth @sethladd

cc @mit-mit do we have the ability to nuke docs from dartdocs.org ?

Please send a pull request with the changes you want to https://github.com/domokit/domokit.github.io .  Probably just delete the whole thing and change the README to point to flutter.io ?

For dartdocs, I believe the only way is to open a bug here https://github.com/astashov/dartdocs.org/issues and ask for them to be removed.

Looks like this is fixed.


update minie to 7.8.0

Why lag behind now that we have it?

Poor teapot :( https://hub.jmonkeyengine.org/t/minie-v7-physics-libraries/46301/14. There seems to be a regression.

Too bad. Oh well, no rush.

https://hub.jmonkeyengine.org/t/minie-v7-physics-libraries/46301/15. Heh, industrious fellow :)


is it safe/possible to infer tuples in return statement?

function makeTuple(x,y) { return [x,y] }
const makeTuple(1,2); // currently `Array<number>`. Hoping for `[1, 2]`

I wish this was automatically inferred instead of defaulting to Array<number>. Is there a theroical limit to how this return type can be inferred?
It is possible to annotate the types with generics
function makeTuple<X, Y>(x: X, y: Y): [X, Y] { return [x, y] }

const tuple = makeTuple(1, 2);

If it were in my hands I would wait for ECMA to implement tuples instead of trying to port over TypeScript ones (instead of emulating immutable values you get actual immutable values, plus some interesting value checks)
This one would likely land next year
https://github.com/tc39/proposal-record-tuple

That's fair @Soremwar but I think it is in the sprit of Hegel to infer the type of [1,2] as [1,2] instead of Array<number>. TypeScript infers type of foo as number in const foo = 1 but Hegel infers 1.

Yeah, my idea would make that assumption as well but instead of supporting tuples through array syntax it would make that kind of analysis over tuple syntax
Example:
const a = [1, 2] // a: number[]

const b = #[1, 2] // b: [1, 2]

I'm gonna jump the gun and say inference over an array that can contain thousands of values might not be a good idea

I think the answer is "Yes". Because we can use some heuristics to understand how developers use the value (as Array or as a tuple).
So, I will try to implement it soon as a draft.
Thank you for the proposal :3


[ll] Adapter features

Vulkan requires enabling physical device / adapter features when creating a device (e.g depth clamping).
Easiest option would probably to query all features and enabling them, but this might come with some performance cost.
For the sake of vulkan portability we might just follow Vulkan here and force the user to set all wanted features at Adapter::open.
Relevant Vulkan specs section: https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#devsandqueues-physical-device-enumeration

It might make this a bit easier if we could categorize the features as follows:

Features that gfx needs and should error if they aren't available.
Features that gfx needs to provide certain functionality but it can work just fine without them if that functionality isn't used (eg: geometry shaders). These should probably be enabled if they're available, but not throw errors when they're not available unless the user tries to do something that needs them.
Features that gfx doesn't care about but the user might want to use (eg: large points). These probably need to be user configured for the most part, but if they can be enabled without a performance cost then they probably should.
Features that should always be disabled (I'm not sure if there are any).


Add link to SGX X509 extensions

Previously the comments for the SGX extension values for getting the
enclave TCB info were linking to a header file in the SGX SDK. Now the
comments link to
https://api.trustedservices.intel.com/documents/Intel_SGX_PCK_Certificate_CRL_Spec-1.5.pdf

Motivation

Future Work

Current dependencies on/for this PR:

main

PR #336   👈

This comment was auto-generated by Graphite.


Security issue

This script is very cool, but it completely lacks any security check!
I added this header to all the scripts, and I removed $username, $password and $vin from config.php:
if (!isset($_GET['pass'])) {
    die("Not authorized");
} else {
	if ($_GET['pass'] != "MYSCRIPTPASSWORD") { // password specific to these scripts
		die("Not authorized");
	}
}

if (!isset($_GET['username'])) {
    die("Please provide username for your MyRenault account.");
} else {
	$username = $_GET['username'];
}

if (!isset($_GET['password'])) {
    die("Please provide password for your MyRenault account.");
} else {
	$password = $_GET['password'];
}

if (!isset($_GET['vin'])) {
    die("Please provide VIN of your vehicle (it's in your MyRenault app)");
} else {
	$vin = $_GET['vin'];
}

Actually VIN can also be retrieved programmatically, but it is a little more complicated to implement.

I disagree with you. The script shouldn't be available open on the internet - see last sentence in the readme:
"For security reasons I recommend to secure the script with basic authentication or other access restrictions."
Your integration of "security" opens more problems. There are no security checks on the input, maybe the script will be used without https.


Do not merge. Show backlog in design system

You can preview this change here:
Built with commit 68a24b08786e83a7fb011aa76066d254e720f075
https://deploy-preview-262--govuk-design-system-preview.netlify.com

Super speedy work!


xDnsRecordPtr: New resource proposal

Description
In line with #34, a DSCResource for PTR records should be created. For consistency, the resource should be named xDnsRecordPtr.
Proposed properties
Mandatory

ZoneName: Specifies the name of a DNS zone.
Name: Specifies the name of a DNS server resource record object.
PtrDomainName: Specifies the FQDN of the host when you add a PTR resource record.

Optional

AgeRecord: Indicates that the DNS server uses a time stamp for the resource record that this cmdlet adds. A DNS server can scavenge resource records that have become stale based on a time stamp.
AllowUpdateAny: Indicates that any authenticated user can update a resource record that has the same owner name.
DnsServer: Specifies a DNS server. If you do not specify this parameter, the command runs on the local system. You can specify an IP address or any value that resolves to an IP address, such as a fully qualified domain name (FQDN), host name, or NETBIOS name.
TTL: Specifies the Time to Live (TTL) value, in seconds, for a resource record. Other DNS servers use this length of time to determine how long to cache a record.
ZoneScope: Specifies the name of a zone scope.
Ensure: Denotes whether the record should be Present or Absent

Special considerations or limitations
Not all mandatory properties need to be key properties. Please review the syntax and purpose of this record type to make the best determination of which properties should be key properties.
All proposed properties above options come straight from the Add-DnsServerResourceRecord help syntax with two exceptions:

TimeToLive has been changed to TTL
ComputerName has been changed to DnsServer

Labeling this high priority since this is one of three resource that will help us deprecate xDnsSrvRecord.


adds possibility for extra cli params

fixes #196
This made it possible to use git-blame to track down changes over renames with -C -Cthat just showed the move commit otherwise.

thanks for the PR. I like the feature, though allowing people to add their own command line args could lead to errors due to invalid args.  I dont currently have the best error handling + display so this could be an opportunity to clean that up. Would like to catch this properly and display to the user with a tip to check their command line options if its set.
Also this is not consistent with the current config ignoreWhiteSpaceDiffs which optionally adds the -w option for you.
Before merging this I'd like to make all command line args in a consistent way as well as add proper error handling.
Does that make sense?

@alexcorre Yes, makes sense. I just needed this like right now so just added it as quickly as I could. I totally understand if it needs more work before it can be supported in a reliable way. I'm not going to have time to do that in any reasonable time however so please see this more as a feature request PR then :)

@Aminelahlou Had to look that up, haven't used it, but seems like a very valid use case too:
 --reverse <rev>..<rev>
           Walk history forward instead of backward. Instead of showing the revision in which a line appeared, this shows the last revision in which a line has existed. This requires a
           range of revision like START..END where the path to blame exists in START.  git blame --reverse START is taken as git blame --reverse START..HEAD for convenience.

But no, the thing I needed was -C for moves:
-C[<num>]
           In addition to -M, detect lines moved or copied from other files that were modified in the same commit. This is useful when you reorganize your program and move code around
           across files. When this option is given twice, the command additionally looks for copies from other files in the commit that creates the file. When this option is given three
           times, the command additionally looks for copies from other files in any commit.


Revert "Revert "Deleting old sample JSON; moving those in use; updating ...

#5124 seemed to break the build, which I reverted in GoogleCloudPlatform/kubernetes#5198.  Reverting the revert to re-apply #5124 and send it through travis and friends again..

Travis and Shippable passed. What's the verdict on this?

I'll try re-submitting and see what happens.


Autorest Regen Preview to 3.0.0-alpha.20230920.1 by Pan Shao from refs/pull/3671/head

Triggered from https://github.com/Azure/autorest.csharp/pull/3671

API change check
API changes are not detected in this pull request.


Detect Markdown type

It would be great to detect the type from the content to get better syntax highlight/render
Issues:

and #322

The /import function can do this in CloudFlare by reading the Content-Type header, then passing that to the mime-types module:
const mime = require('mime-types');

mime.extension('application/json')); // Outputs: 'json'

We'd have to alter the way we return this data, though, so we can include metadata about the type along with the text, or pass it in a header like X-ChatCraft-Type or something.


Custom query params for passwordless and GitHub authentication

Description

This PR adds to  passwordless and getGithubLoginUrl one more argument to be able to pass any query parameters.
Motivation and Context

We want mark users in CRM after registration with campaign they came from.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTION_GUIDE document.
[x] I haven't repeated the code. (DRY)
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

You can merge before https://github.com/superfaceai/service-client/pull/69. I will solve conflicts afterwards.


Published buttons don't work, or have their coordinates misplaced

Try publishing this graph for an example: http://create.vizor.io/fthr/webpage_2/edit

closed as not valid for three.js


Change EventDispatcher versions

Q
A

Bug fix?
Yes

New feature?
No

BC breaks?
No

Deprecations?
No

Fixed tickets
N/A

We are using a project with Symfony 2.7 . The Deployer without namespaces cause conflict with the hamcrest/hamcrest-php library. The event dispatcher version is too strict with the ^3.1.

CI fails.

Yes, because there are some error in original code: https://github.com/deployphp/deployer/commits/4.x  There are many red X .
The CI response: https://travis-ci.org/deployphp/deployer/jobs/161881831
Your requirements could not be resolved to an installable set of packages.
  Problem 1
    - phpunit/phpunit 5.5.5 requires php ^5.6 || ^7.0 -> your PHP version (5.5.38) does not satisfy that requirement.
    - phpunit/phpunit 5.5.4 requires php ^5.6 || ^7.0 -> your PHP version (5.5.38) does not satisfy that requirement.
    - phpunit/phpunit 5.5.3 requires php ^5.6 || ^7.0 -> your PHP version (5.5.38) does not satisfy that requirement.
    - phpunit/phpunit 5.5.2 requires php ^5.6 || ^7.0 -> your PHP version (5.5.38) does not satisfy that requirement.
    - phpunit/phpunit 5.5.1 requires php ^5.6 || ^7.0 -> your PHP version (5.5.38) does not satisfy that requirement.
    - phpunit/phpunit 5.5.0 requires php ^5.6 || ^7.0 -> your PHP version (5.5.38) does not satisfy that requirement.
    - phpunit/phpunit 5.4.8 requires php ^5.6 || ^7.0 -> your PHP version (5.5.38) does not satisfy that requirement.
    - phpunit/phpunit 5.4.7 requires php ^5.6 || ^7.0 -> your PHP version (5.5.38) does not satisfy that requirement.
    - phpunit/phpunit 5.4.6 requires php ^5.6 || ^7.0 -> your PHP version (5.5.38) does not satisfy that requirement.
    - phpunit/phpunit 5.4.5 requires php ^5.6 || ^7.0 -> your PHP version (5.5.38) does not satisfy that requirement.
    - phpunit/phpunit 5.4.4 requires php ^5.6 || ^7.0 -> your PHP version (5.5.38) does not satisfy that requirement.
    - phpunit/phpunit 5.4.3 requires php ^5.6 || ^7.0 -> your PHP version (5.5.38) does not satisfy that requirement.
    - phpunit/phpunit 5.4.2 requires php ^5.6 || ^7.0 -> your PHP version (5.5.38) does not satisfy that requirement.
    - phpunit/phpunit 5.4.1 requires php ^5.6 || ^7.0 -> your PHP version (5.5.38) does not satisfy that requirement.
    - phpunit/phpunit 5.4.0 requires php ^5.6 || ^7.0 -> your PHP version (5.5.38) does not satisfy that requirement.
    - Installation request for phpunit/phpunit ~5.4 -> satisfiable by phpunit/phpunit[5.4.0, 5.4.1, 5.4.2, 5.4.3, 5.4.4, 5.4.5, 5.4.6, 5.4.7, 5.4.8, 5.5.0, 5.5.1, 5.5.2, 5.5.3, 5.5.4, 5.5.5].

The PHPUnit 5.x doesn't support the PHP 5.5 . Shall I remove this version from .travis.yml or will you do it?

I made a different branch...


Teach engine/src/sky/tools/gn and BUILD.gn files about --deploy mode

Let's start with Android.  @johnmccutchan tells me that there is a PRODUCTION flag for Dart we could turn on as a simple first step.  In later iterations we can add AOTC, etc.
@devoncarew will wire in the tool bits with https://github.com/flutter/flutter/issues/3262, hopefully @jason-simmons or @chinmaygarde are willing to do the script and GN changes.

I will be landing a CL shortly which adds a gn arg dart_product set it to true.

How does this differ from "release"?

The debug/profile/release runtime modes are now available in the engine and in flutter_tools


Add school details for mero coding class

Added the domain details for Mero Coding Class under the Nepal domains. This is a new educational institution and should be included in the list.

when are u gonna do this.... please faster !!

@gtpropy I have to close this request without merging, because you requested to add a non-existent domain to this repository: Host merocodingclass.np not found: 3(NXDOMAIN) Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for your understanding!

its merocodingclass.edu.np


Analyzing Sea Level Rise Using Earth Data in the Cloud Tutorial Has Error

There is an error in the "What does earthaccess.open() do?" section of the Sea Level Rise tutorial.

Thank you for reporting! Looking like we have a few errors in that notebook :sweat_smile:


verify that tandem is the last option key

Noticed in 10/19/17 dev meeting.
In Node:
248    'tandem' // For instrumenting Scenery nodes, see setTandem().  This must be last so that (a) the phetioType
249    // is available and (b) because when tandem.addInstance is called the node becomes active in the PhET-iO API immediately

If tandem is not the last option key, there will be problems, possibly subtle. Relying on a comment is not sufficient. This should be verified via an assertion, probably in Node mutate.

My apologies that formatting changes crept into the commit, the change is at the bottom.  @jonathanolson can you please verify this was done correctly?

Looks good. I also manually fixed all of the formatting errors introduced above. Closing.


What would be a good unified task category name for:  NER, Chunking, WS

Options:

tagging
sequence-labeling
span-prediction

I think we decided on sequence labeling as the higher-level name, and span labeling or token labeling as sub-categories.


Set Default values during reconciliation

Currently we "assume" the default values for some of the spec properties.
Such values are never reflected back in the specs.
For example: RDSIntanceSpec.ConnectionSecretRef - if not provided, we will use
RDSIntance.Name and RDSInstance.Namespace
Consider creating a first loop pass dedicate for "Finalizer" and "Default Values" only.

I'm going to optimistically close this out, presuming there aren't other cases beside the example listed here. Every resource now writes its connection secret to an explicity configured connectionSecretRef.


As a developer I would like documentation for publishing a component to npm

Type of Change

[ ] New Feature Request
[x] Documentation
[ ] Future Spec
[ ] Improvement / Suggestion
[ ] Bug
[ ] Other (please clarify below)

Summary
Some documentation on how to publish a reusable component to npm.  Topics to cover:

files array in package.json (whitelisting what is published)
npm pack
how to bundle assets
good documentation is important!

Use Case
Developers looking to publish reusable components.
Code Sample
N / A
Pros / Cons
No cons, other than the usual risk with documentation that it can get out dated easily.

this project from @hutchgrant has been working on some good documentation
https://github.com/hutchgrant/evergreen-web-components


Transmission path is ignored

Expected behaviour:
When I specify path attribute to transmission plugin, it is forced and the destination is set for downloading content.
Actual behaviour:
With path attribute set as well as incomplete-dir set for transmission as a library, the library setting is used instead of path.
Steps to reproduce:

Step 1: In your transmission settings (e.g. /etc/transmission-daemon/settings.json) set

"incomplete-dir": "/something"
"incomplete-dir-enabled": true

Step 2: In flexget transmission plugin specify

path: "/something-else"

Step 3: Run your task using transmission plugin, /something path will be used instead of /something-else

Config:
https://github.com/zilexa/flexget_config
Additional information:

FlexGet version: 2.13.15
Python version: Python 2.7.13
Installation method: pip
Using daemon (yes/no): no
OS and version: Linux osmc 4.14.34-1-osmc

Are the files being moved to the location you set in flexget once they are complete? If so, things are working as intended.

Unfortunately not. Once complete, the file are still in my incomplete-dir. Neither they are moved to the dir specified in flexget plugin, nor to the one specified in general settings.json.

Hmm. Pretty sure this worked at some point, did transmission recently update?

@dulakm Can you check again with next version? Based on this it could have been a problem with trailing slashes in the path. https://discuss.flexget.com/t/config-for-transmission-moves-single-files-but-fails-with-folders/4586/2

I'm going to assume this is fixed for now. We can re-open if someone finds different.

@gazpachoking thank you for the fix and information. I can confirm that on 2.21.1 the issue is fixed and everything works as supposed.

@gazpachoking sorry for the delay with retesting. Unfortunately when running version 2.21.1 the issue is still present.

@gazpachoking thank you for the fix and the information! I can confirm that it works as expected on version 2.21.1.


fix test-raf on darwin* OS type

I tried to run all tests on my mac os machine and got an issue while test-raf.sh was running - 'date: illegal option -- d'. This is because OSX and Linux use two different sets of tools. We can use gdate command on darwin* OS type instead by using alias.
Later a new problem appeared on the same test - raf.sh does not round the ratio (for example 0.496574 but 0.5 is expected). I decided to fix this within the same commit by simply rounding to the first digit.

@yegor256 please, check this fix

@IlyaPechersky thanks!


Add R2 to the list of allowed bucket URLs

This commit adds R2 to the list of allowed bucket URLs so that we can support pulling inputs and outputs from both R2 and S3.
Describe your changes
We are migrating some workloads to R2, so we need to update our validation to support this URL.
 Backward/forward compatibility checks

Check these boxes or delete any item (or this section) if not relevant for this PR.

[x] Client+Server: this change is compatible with old servers
[x] Client forward compatibility: this change ensures client can accept data intended for later versions of itself

Changelog

@prbot approve


Do quantity kinds form a hierarchy?

As ISO 80000 states, quantities of the same kind are comparable, addable, and subtractable. With that, we can create kinds of frequency, radioactivity, and modulation_rate, where all of them have dimension 1 / dim_time to prevent addition and subtraction on them. So 1 * Hz + 1 * Bq + 1 * Bd will not work.
On the other hand, we have several quantities of energy which probably should become a kind as well. Especially since there is no way to explicitly derive one definition from another as, for example, kinetic_energy is defined as m V²/2. However, this means that the following will not compile:
quantity<isq::mechanical_energy, int> e_m = isq::potential_energy(42 * J) + 85 * kg * pow<2>(2 * m / s) / 2;

because the rhs is a quantity of isq::mass * isq::length² / isq::time² rather than isq::energy kind.
In order to make it compile, we will have to explicitly convert the rhs of addition to an energy quantity with something like:
quantity<isq::mechanical_energy, int> e_m = isq::potential_energy(42 * J) + isq::kinetic_energy(85 * kg * pow<2>(2 * m / s) / 2);

Also, please note that most probably:
quantity<isq::mechanical_energy, int> e_m = 85 * kg * pow<2>(2 * m / s) / 2;

will work without any explicit conversion because, at least as of now, for interconvertibility, we check interconvertibility of the ingredient quantities and ignore kinds.
One possible way is to acknowledge a hierarchy of kinds so isq::kinetic_energy(85 * kg * pow<2>(2 * m / s) / 2) is both of the isq::energy and isq::mass * isq::length² / isq::time² kinds rather than just of isq::energy kind. This, however, would make this work 1 * Hz + 1 * Bq + 1 * Bd, and the result would be of 1 / isq::time kind. Even worse, the following would also work:
quantity<isq::frequency, int> f = 1 * Hz + 1 * Bq + 1 * Bd;

Does it make any sense at all? Do you have any ideas on how to improve here?
Maybe we should not try to provide any type-safety for kinds at all, but then the following would work, which bothers me a lot:
void foo(quantity_of<isq::width> w, quantity_of<isq::height> h);

foo(isq::height(42 * m), isq::width(42 * m));  // the arguments are provided in the incorrect order

BTW, the rationale for making an energy a distinct kind is the following quote from the SI Brochure:

In practice, with certain quantities, preference is given to the use of certain special unit
names to facilitate the distinction between different quantities having the same dimension.
When using this freedom, one may recall the process by which this quantity is defined. For
example, the quantity torque is the cross product of a position vector and a force vector.
The SI unit is newton metre. Even though torque has the same dimension as energy (SI unit
joule), the joule is never used for expressing torque.

Done in V2.


Support TLS configuration of certs created by Daedalus launcher

https://github.com/input-output-hk/daedalus/pull/1920

See also: https://jira.iohk.io/browse/ADP-105


Resolve Go cache warning in release workflow

<EMAIL_ADDRESS>release enabled Go cache by default. This resulted in a warning in the release workflow for restore cache failure. Resolve the warning by having checkout before setup-go step.
A recent release workflow run with Go cache restore failure warning.
Signed-off-by: Austin Vazquez<EMAIL_ADDRESS>

Oh interesting, I found another occurrence during Project checks. See here.
Let me look into this more.

Oh interesting, I found another occurrence during Project checks. See here.
Let me look into this more.

Resolved this by specifying cache-dependency-path for setup-go step. This is needed when cache is enabled and checkout is to a subdirectory.


Ldelossa/isolate wireguard n2n tests

The node-to-node encryption tests do not provide any benefits for IPsec since IPsec does not support this.
Currently, the node-to-node encryption tests run for IPsec.
I did some digging and chatting with folks and its a mixed bag one whether this was intentional or not.
As we begin to move to VinE traffic with IPsec it simplifies things to no longer run node-to-node for IPsec, reducing the configuration matrix necessary to perform the correct tests.
The node-to-node tests still run when no encryption mode is set at all.
This acts as a sanity check to ensure the TCPDump filters correctly capture expected traffic.
Isolate node-to-node encryption tests to wireguard

/test

/test

@jschwinger233 I see! Maybe it's nice to have a short hand for "NOT". This was originally suggested. I don't feel too strongly.


feat(semantic): add SymbolTable::symbol_is_mutated method

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#7745
#7757
#7756
#7755  👈 (View in Graphite)
#7754
main

This stack of pull requests is managed by Graphite. Learn more about stacking.


Problems with streamed responses

Since update of v1.1.0 I noticed some problems with streamed requests.
My request code:
            response = self.requester.request_raw("GET", f"/repos/{org_id}/{repo_name}/zipball/{ref}", stream=True)
            for chunk in response.iter_content(chunk_size=8192):
                file.write(chunk)

I use a CachedSession with conditional requests.
This leads to an exception like that:
<Response [200]>
<class 'requests_cache.models.response.OriginalResponse'>

Traceback (most recent call last):
  File "/home/tn/workspace/eclipse/otterdog/otterdog/cli.py", line 495, in _execute_operation
    exit_code = max(exit_code, operation.execute(org_config))
  File "/home/tn/workspace/eclipse/otterdog/otterdog/operations/sync_template_operation.py", line 70, in execute
    updated_files = rest_api.repo.sync_from_template_repository(
  File "/home/tn/workspace/eclipse/otterdog/otterdog/providers/github/rest/repo_client.py", line 904, in sync_from_template_repository
    self._download_repository_archive(archive_file, template_owner, template_repo)
  File "/home/tn/workspace/eclipse/otterdog/otterdog/providers/github/rest/repo_client.py", line 944, in _download_repository_archive
    for chunk in response.iter_content(chunk_size=8192):
  File "/home/tn/workspace/eclipse/otterdog/.venv/lib/python3.10/site-packages/requests/models.py", line 835, in iter_content
    if self._content_consumed and isinstance(self._content, bool):
AttributeError: 'OriginalResponse' object has no attribute '_content_consumed'

When I force a refresh, this problem goes away. It looks like the OriginalResponse object that wraps the Response, does not have such a _content_consumed property. I see that the CacheResponse has a version of that property that always returns true.
It could be that when trying to do a conditional request with stream enabled, the server does not return 304 and thus a different code path is used:
        if not actions.skip_write:
            self.cache.save_response(response, actions.cache_key, actions.expires)
        elif cached_response is not None and response.status_code == 304:
            cached_response = actions.update_revalidated_response(response, cached_response)
            if not actions.skip_write:
                self.cache.save_response(cached_response, actions.cache_key, actions.expires)
            return cached_response
        else:
            logger.debug(f'Skipping cache write for URL: {request.url}')
        return OriginalResponse.wrap_response(response, actions)

so if a 304 is returned a cached response is returned, otherwise the wrapped OriginalResponse. If I specify force refresh True, the problem goes away.

Thanks for the bug report. That attribute is supposed to have been set in requests.Response.__init__() before being wrapped by OriginalResponse.
I'm not sure yet why that's happening, but it should be easy enough to fix.

I am not 100 percent sure why it happens, will try to compile a test case. It happens when accessing the api from GitHub to download an archive of a repository with stream enabled.
Atm I use force refresh to circumvent the problem. I have not noticed with a previous version of the cache, only since I updated to the latest version but that might be a concidence.

Ok so this test fails after the response has been cached in a filesystem cache.
Strangely, if I run the test a second time, it still works, but from the third time on it fails consistently with the error as above. So something weird is going on that I will need to dig further into it.
from requests_cache import CachedSession
from tempfile import TemporaryFile

def test():
    session = CachedSession(
            "test",
            backend="filesystem",
            use_cache_dir=False,
            cache_control=True,
            allowable_methods=["GET"],
        )

    headers = {
        "Accept": "application/vnd.github+json",
        "X-GitHub-Api-Version": "2022-11-28",
        "X-Github-Next-Global-ID": "1",
    }

    response = session.request(
            "GET",
            url="http://api.github.com/repos/requests-cache/requests-cache/zipball/main",
            headers=headers,
            refresh=True,
            stream=True,
        )

    with TemporaryFile() as file:
        for chunk in response.iter_content(chunk_size=8192):
            file.write(chunk)

I do believe its due to relocations. The url that is requested is relocated to some other url.
At some point in the _send_and_cache method we receive a CachedResponse that we try to wrap in an OriginalResponse class which then leads to the problem. If I change the code to the following:
        if isinstance(response, CachedResponse):
            return response
        else:
            return OriginalResponse.wrap_response(response, actions)

the problem goes away.

Thanks for looking into this. So the more general case of this is when a request results in a cache miss, but the same request with updated headers results in a cache hit. That isn't something I expected, but it makes sense after looking at your example with the GitHub API.
Specifically, this is a corner case with:

streaming requests
conditional requests
response redirects that change based on validation status

In this case, when the remote content has changed (200 response instead of 304) GitHub will redirect the request from api.github.com to codeload.github.com.

Initially I thought its related to an update of the requests-cache library but I guess it was just a concidence and I tested it with older versions and triggered the same behavior. GitHub must have added a redirect for that API call that resulted in that behavior as it was working perfectly for a couple of months before.
Ty for fixing this.


Don't use default scrollbar, use a modern one

Hi,
There're lots of modern scrollbars out there, please use one of them (specially auto-hide scrollbars) instead of default scrollbar.

why?

@themsaid Really? Because they have a more beautiful interface, they also provide an auto-hide option. They're better than the default scrollbar.

No plans for this at the moment, sorry :)


CI: Conformance E2E: Error: Unable to install Cilium: context deadline exceeded

CI failure

PR https://github.com/cilium/cilium/pull/34325 Introduces a Hubble metrics test and does some gentle refactoring of the metrics server startup logic, without changing its substance - CI failure seems unrelated to the PR

🔮 Auto-detected Kubernetes kind: kind
✨ Running "kind" validation checks
⏭  Skipping disabled validation test "minimum-version"
ℹ  Using Cilium version 1.17.0
ℹ  Using cluster name "default"
ℹ  Detecting real Kubernetes API server addr and port on Kind
🔮 Auto-detected kube-proxy has not been installed
ℹ  Cilium will fully replace all functionalities of kube-proxy

Error: Unable to install Cilium: context deadline exceeded
Error: Process completed with exit code 1.

Artifact URL: https://github.com/cilium/cilium/actions/runs/10531057346/artifacts/1848578874
CI run: https://github.com/cilium/cilium/actions/runs/10531057346/job/29182330999

This is the
cilium-spire         spire-agent-47m9w                            0/1     Init:ImagePullBackOff   0          5m1s    <IP_ADDRESS>     kind-control-plane   <none>           <none>

Issue

This is the
cilium-spire         spire-agent-47m9w                            0/1     Init:ImagePullBackOff   0          5m1s    <IP_ADDRESS>     kind-control-plane   <none>           <none>

Issue

For my information, was this contained in the artifact file? Those URLs don't work for me, maybe a permissions issue?

It would be in the sysdump, but it's also in the fetch artifacts stage which lists the pods: https://github.com/cilium/cilium/actions/runs/10531057346/job/29182330999#step:17:26

One more hit: https://github.com/cilium/cilium/actions/runs/10742416299/job/29795142132

@chancez Are we still seeing these?  Would this be caused by image repo rate limiting again?

@tommyp1ckles I think we are, I don't think we've done anything to remediate though I haven't done any PRs recently to figure out if it's still an issue.

We might be able to query elasticsearch to check for this output and see if it's come up in the past week to determine if it's still relevant. I think @learnitall might be able to DM @auriaave about how to access it.


Add discovery permissions to migration role

As per Slack conversation here this PR adds the discovery:* permissions to the migration role. If this fails to resolve the issue for the users I believe the next step would be to add the 'AWSApplicationDiscoveryServiceFullAccess' policy to the migration role as per David E. suggestion.

From what I can see, this gets the permissions set to the same place that AWSApplicationDiscoveryServiceFullAccess is at so there may not be much value in applying it in a later PR.


[BrokenLinksH2] Fixed the link path

Fixed the links

Docs Build status updates of commit 2fd43ad:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Skype/SkypeDeveloperPlatform.md
:bulb:Suggestion

Details

Skype/SkypeDeveloperPlatform.md

Line 3, Column 14: [Suggestion: duplicate-descriptions - See documentation] Attribute 'description' with value 'Find in-depth developer resources, how-to documentation, SDKs and references, and code samples for Skype developer platform verticals.' is duplicated in 'AppSDK/index.md(3,14)', 'SkypeDeveloperPlatform.md(3,14)'.

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

#sign-off


Inline built-in functions

Or simply replace calls to known builtins with direct primop calls.

Doesn't strictly need, but would be much easier done if #93 is done first.


Nothing is rendering when using export default.

Closing because there is little information provided.
#393 is possibly related


Error: Cannot find module './error'

module.js:550
throw err;
^
Error: Cannot find module './error'
at Function.Module._resolveFilename (module.js:548:15)
at Function.Module._load (module.js:475:25)
at Module.require (module.js:597:17)
at require (internal/module.js:11:18)
at Object. (/home/joe/gekko/core/util.js:8:14)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)

Something wrong on your side. Please make sure you've followed the steps. I'm not using gekko since almost a year now I dont know if they've changed anything, but similar cases is reported here many times and it's usually a problem in your side.


Added "Note" and "Usage with common data types"

Added detailed information about the workings of 'is' and '==' operators with common data types. Included a simple coding example for each case and explained the reasons (for most cases) of why these operators work in this fashion and how they work under the hood.

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Closed and Reopened this PR to attempt to resolve a specific Travis build failure.

Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 🎉


Update git repo names for possible related issues

Currently, when a test fails, we use Github API to search possible issues in related GitHub repos, see Issue: https://github.com/adoptium/aqa-test-tools/pull/293.
Since we added some new repos to Adoptium, we can add following repos when searching possible issues:

https://github.com/adoptium/aqa-systemtest
https://github.com/adoptium/TKG

Modifications can be done in PossibleIssues.jsx
Some old repos may need to be replaced, but can be done later.

FYI @smlambert @llxia

FYI @jwnmoon

Thank you! @smlambert
I will start working on this one.

Fantastic, thanks @jwnmoon!  and because this repository is under the adoptium github org, you will also need to create and Eclipse account and sign the ECA (FAQ here: https://www.eclipse.org/legal/ecafaq.php), at some point before your PR would be merged.  :)

Closed by https://github.com/adoptium/aqa-test-tools/pull/402
Thanks for working on this! @jwnmoon


Android crash with RuntimeException

MAX Plugin Version
1.1.4
Cordova Version
12.0.1
Device/Platform Info
Android 12
Current Behavior

2024-02-23 11:32:04.541 28987-28987 AndroidRuntime          pid-28987                            E  FATAL EXCEPTION: main
Process: com.mypackage.myapp, PID: 28987
java.lang.RuntimeException: Ad Unit ID 28eddebb0f7bf738 is invalid or disabled. Please make sure to use an Ad Unit ID from the MAX dashboard that is enabled and configured for the current application. For more information, see https://dash.applovin.com/documentation/mediation/max/get-started-with-max#step-2:-create-an-ad-unit
at com.applovin.impl.mediation.d.f.y(SourceFile:245)
at com.applovin.impl.mediation.d.f.a(SourceFile:138)
at com.applovin.impl.mediation.d.f.$r8$lambda$w429SYDfaTU6QkS5SDwVBXyGyv0(Unknown Source:0)
at com.applovin.impl.mediation.d.f$$ExternalSyntheticLambda1.run(Unknown Source:4)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:210)
at android.os.Looper.loop(Looper.java:299)
at android.app.ActivityThread.main(ActivityThread.java:8280)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:576)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1073)
2024-02-23 11:32:05.862 24038-25803 ActivityTaskManager     system_server                        W    Force finishing activity com.mypackage.myapp/.MainActivity
2024-02-23 11:32:05.919 24038-25793 PreloadController       system_server                        W  notify...pkgName=com.mypackage.myapp, userId=0, processName=com.mypackage.myapp, pid=28987, reason=killself
2024-02-23 11:32:06.045 24038-25836 WindowManager           system_server                        I  WIN DEATH: Window{16cc1bf u0 com.mypackage.myapp/com.mypackage.myapp.MainActivity}
2024-02-23 11:32:06.045 24038-25803 ActivityManager         system_server                        I  Process com.mypackage.myapp (pid 28987) has died: prcp TOP

Expected Behavior
Not to crash an app when an ad id is invalid or disabled.
Doing nothing is a much better option :)
How to Reproduce
Create a NEW add unit id (I used interstitial). IMPORTANT!! Everything works well for old ids
Try to load an ad in the app.
Wait around 10 minutes.
App crashes.
Additional Info
No response

Hi @UzverNumber47 - this is intended behavior. New ad units take 30-60 minutes before they can be used to load ads but I can see how this would cause confusion based on the error message. We can update the error message to specify this.

Showing ads is not a key feature of any app.
Do you think it is a good idea to crash an app only because the ad is disabled?
Why not throw a checked exception?
What are other cases when you throw a RuntimeException?

What else I have found.
The app will crash if you

DELETE Ad Unit
PAUSE Ad Unit
have the WRONG Ad Unit Id

It takes around 5 minutes for a plugin or sdk to understand that an Ad Unit is disabled and then CRASH your app.
And I still don't understand why not suppress the exception and print a stacktrace to console like you already do here
 catch ( JSONException ignored ) { }
This button should have not a pause icon but some sort of danger icon or hint saying "Crash your app after 5 minuntes of usage"

Thanks for the feedback - we'll fix this in our next SDK release.
FYI - our SDK only throws these exceptions for debug builds. Release builds will not crash.

Thank you, can't wait to test it out :)

Hi @UzverNumber47 - we just released SDK 12.3.0 which fixes the crash you raised above. Our SDK will now fire the didFailToLoad callback instead of throwing an exception


Upgraded to 0.3.7, errors and warnings no longer underlined inline

Version of VSCode: 1.9.1
Version of the extension: 0.3.7
OS: macOS 10.11.6
Description: Previously, when compiling, errors would be underlined in red in the editor, and warnings in green.  Now the console output is more verbose (including source code context snippets) but there is no underlining in the editor windows.
Output of the "Rust logging" channel:
DEBUG: Legacy Mode Manager: MissingToolsInstallator: getMissingTools(): pathDirectories=["/usr/local/bin","/Users/macklin/.cargo/bin","/Library/PostgreSQL/9.5/bin","/usr/bin","/bin","/usr/sbin","/sbin","/usr/local/bin","/Library/Frameworks/Mono.framework/Versions/Current/Commands"]
DEBUG: Legacy Mode Manager: MissingToolsInstallator: getMissingTools(): tools={"racer":"racer","rustfmt":"rustfmt","rustsym":"rustsym"}
DEBUG: Legacy Mode Manager: MissingToolsInstallator: getMissingTools(): this.missingTools = []
DEBUG: Legacy Mode Manager: CompletionManager: start: enter
DEBUG: Legacy Mode Manager: CompletionManager: start: racerPath=racer
DEBUG: Legacy Mode Manager: CompletionManager: start: ENV[RUST_SRC_PATH] = /Users/macklin/.multirust/toolchains/stable-x86_64-apple-darwin/lib/rustlib/src/rust/src
DEBUG: Cargo Manager: CargoTaskManager: Task: execute: cargoPath = "cargo"
DEBUG: Cargo Manager: CargoTaskManager: Task: execute: this.args = ["check","--help"]
DEBUG: Cargo Manager: CargoTaskManager: Task: execute: cargoEnv = {}
DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: cargoPath = "cargo"
DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: this.args = ["rustc","--","-Zno-trans"]
DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: cargoEnv = {}

@generalelectrix,
There is the "Cargo: Build" command.
Execute it and see whether or not diagnostics appear.

So, yes, the highlighting is there when I run Cargo: Build, however, there is now no summary of the compilation results in the Output window so there's no simple way to determine how many errors/warnings occurred.

@generalelectrix,
It is shown in the Problems Panel.

Ooh, nice, that's a significant improvement!

@generalelectrix,
I can make the extension to show "aborting due to ..." in the Output.
Do you want it?

No this is great, no need in my opinion.  Thanks!


duplicate Retry and ExecuteSprocAndTraceAsync for synchronous executi…

…on  because of mssql client async bug sqlcli
It should be easy to switch back when the fix is done

@cgillum a new version is coming as my fix was incorrect the performance issue what on the reader and not on ExecuteReaderAsync I let a first run to show the test performance (on my computer it was around 1 min 40 and after the fix it was 12sec)

@bhugot I just verified your fix on my machine: your stress test takes 1.1 minutes without the fix and is 4.5 seconds with your fix. That's pretty incredible!

:)

It's ok for me


Is this plugin using apple IDFA? It shows up in a grep search.

Read this and it's not clear if this plugin uses IDFA automatically.
https://blog.branch.io/ios-14-frequently-asked-questions-about-whats-changing-how-to-adapt-to-the-idfa-going-away-and-what-this-means-for-the-industry/
It shows up if we run  grep -rl ./' -e 'advertisingIdentifier
And we are concerned given that the deadline is approaching.
grep -rl './' -e 'advertisingIdentifier'
.//Pods/Branch/Branch-SDK/BNCSystemObserver.m
.//build/device/Branch.framework/Branch
.//build/emulator/Branch.framework/Branch
.//build/emulator/Branch.framework.dSYM/Contents/Resources/DWARF/Branch

If the iAd.framework is included, we will request IDFA via selectors.  If you do not need the IDFA, you can omit the iAd.framework as it has no other purpose.  If I recall correctly, cordova does not include it by default.
However, if I'm mistaken and cordova is including the iAd.framework by default, you can exclude it via the following workaround.

Search for GCC_PREPROCESSOR_DEFINITIONS
Locate Branch.debug.xcconfig and Branch.release.xcconfig
Edit the preprocessor line to GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 BRANCH_EXCLUDE_IDFA_CODE=1
Clean and rebuild

If you breakpoint in BNCSystemObserver.m at getAdId, it should now always return nil.

Great, thank you!


tfstate version 3, does not merge with tfstate 4

When using terraformer (most recent build) to generate a tfstate, it is created in version 3. Then when attempting to merge the tfstate into an existing tfstate (created with version terraform 0.12.24) the versions are incompatible.
Unless I am missing something, the version difference makes it very different to pull existing aws objects into an existing terraform tfstate file.

Still actual


Avoid deprecated alert

Modifications to avoid deprecated uses since Symfony 4.3

This package has been deprecated. As an alternative https://github.com/sendinblue/APIv3-php-library can be used to integrate Sendinblue APIs.


[Bug]: Faild access control of function lockAcquired() in the TWAMM contract

Describe the bug
I think the function lockAcquired() should check whether the sender is validated (e.g., address(this)) to trust the input rawData. If the sender is not checked, the rawData is not guaranteed and may not be able to be used in the following swap and transfer operations.
Furthermore, I have another concern that as Uniswap V4 provides wide freedom for developers to initialize customized pools and tokens, there may be some malicious ones to inject malicious code (e.g., reentrancy) in functions like transfer(), which will be called by function lockAcquired() (line316 and 324) when transferring tokens. Therefore, the access control setting may need to be more careful to avoid intentional reentrancy or other control-flow-manipulation attacks by malicious tokens and pools. The functions with critical logic should be protected by modifiers like reentrancy lock or with whitelist
Expected Behavior

Add sender==address(this) code or SelfOnly modifier to function lockAcquired().
Check whether functions with critical logic should be protected by proper access control, reentrancy lock, or whitelist to avoid reentrancy attacks that could be initiated by malicious tokens (e.g., when calling transfer() function). However, it depends on hook design, some hooks allows poolManager to reenter.

To Reproduce
No response
Additional context
No response

I think the purpose of the lock function is to maintain own/due balance equal to 0 after the calling, instead of preventing the reentrancy attacks. I think reentrancy call is allowed in the system or else array won't be used to represent the lockCaller

Does this also resolve #88?

Does this also resolve #88?

Sure. But I also consider the malicious transfer() in crafted fake tokens a critical issue. There are past exploitations stemmed from this.

I think the purpose of the lock function is to maintain own/due balance equal to 0 after the calling, instead of preventing the reentrancy attacks. I think reentrancy call is allowed in the system or else array won't be used to represent the lockCaller

I agree that the reentrancy call is allowed in some cases, but you cannot consider everyone as benign. The manipulation of control flow is a big problem when you do not hope it happen😮.

stale now that lockAcquired has been changed to unlockCallback; which should have protections via SafeCallback
also example hooks no longer live in main branch


Refactor

What does this change?

Use Get package instead of context.dart
Rename AppError to ApiError
Upgrade pubspec.yaml
Rename L10n output class

What is the value of this and can you measure success?

Pass CI & Test.

Codecov Report

Merging #37 (72dd5ba) into master (591b6cc) will decrease coverage by 1.04%.
The diff coverage is 60.41%.

@@            Coverage Diff             @@
##           master      #37      +/-   ##
==========================================
- Coverage   54.56%   53.51%   -1.05%
==========================================
  Files          35       35
  Lines         471      469       -2
==========================================
- Hits          257      251       -6
- Misses        214      218       +4

Impacted Files
Coverage Δ

lib/ui/change_notifier_with_error_handle.dart
66.66% <0.00%> (ø)

lib/ui/error_notifier.dart
25.00% <0.00%> (ø)

lib/util/error_snackbar.dart
0.00% <0.00%> (ø)

lib/ui/home/home_page.dart
71.87% <22.22%> (-7.44%)
:arrow_down:

lib/app.dart
41.66% <75.00%> (ø)

lib/ui/app_theme.dart
84.37% <75.00%> (+6.59%)
:arrow_up:

lib/data/app_error.dart
96.77% <94.44%> (+0.62%)
:arrow_up:

lib/ui/component/article_item.dart
91.30% <100.00%> (-0.37%)
:arrow_down:

lib/ui/detail/datail_page.dart
83.33% <100.00%> (+8.33%)
:arrow_up:

lib/ui/home/home_view_model.dart
80.00% <100.00%> (ø)

... and 1 more

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 591b6cc...72dd5ba. Read the comment docs.


Compat update for String rename

Thanks!

This is still adding unnecessary code = = .....

Sure, but one can think of it as a preventative measure.

It's probably fine to keep. I always find it confusing to see unnecessary code without explanation though. Figuring out why such code is added and if it can be deleted at a later time often involving tracing through the git history and guessing what the author meant. In this case the comment on the PR should at least make the guessing part unnecessary.

@yuyichao, I would argue that using Compat should now be spelled using Compat; import Compat.String universally.


Allow to configure cgroupsv1 per nodepool

What does this PR do?
Towards https://github.com/giantswarm/roadmap/issues/3676
What is the effect of this change to users?
Users may configure different node pools with different cgroups configuration.
Also, control plane nodes always use cgroups v2.
Any background context you can provide?
Before this change, the configuration applied to all node pools and the control plane.
I could not find a good way of using the same config.toml template to render differently for the control plane nodes and the node pools. For some reason, Helm doesn't allow me to pass a custom dict of parameters when using the tpl function to render the config.toml file. I can't access subfields from the templat ewhen I do that, only fields at the root level. I tried different approaches, even asked in Slack, and we couldn't figure it out. So I ended up I following the principle of least astonishment having two different config.toml files: one for the control plane nodes, and another one for the worker nodes. It's not great but easy to understand. When customers finish migrating to cgroups v2, we don't need different configuration between node pools and control plane nodes, so at that moment we could remove this hack and keep only one config.toml file.
Should this change be mentioned in the release notes?

[X] CHANGELOG.md has been updated (if it exists)

CAPA e2e tests passing

I'm currently blocked because e2e tests won't use the right version https://gigantic.slack.com/archives/C07KSM2E51A/p1727967655453349

Tests in cluster-aws are working again and are actually green. Feel free to merge!

@Gacko I need approval from a code owner. Could you approve?


Add initial delay to service availability checker

Hey @aaronbuchwald , thanks for submitting this! What's the use case for this particularly functionality though? As it's currently configured, the availabilityChecker will just keep retrying until the availabilityCheckerCore.IsServiceUp returns true or the timeout is hit, so if I'm understanding correctly I think you could just extend the timeout with the current code and get the same functionality


cannot get class after successfully imported

System information
Godot v4.3.stable - macOS 15.1.1 - GLES3 (Compatibility) - Apple M1 Pro - Apple M1 Pro (10 Threads)
Issue description
Followed the instructions in https://docs.godotengine.org/en/stable/tutorials/xr/setting_up_xr.html and https://docs.godotengine.org/en/stable/tutorials/xr/deploying_to_android.html.
After installing "Godot OpenXR Vendors plugin for Godot 4.3" from the assetlib which returns successfully, the output window show errors regarding not being able to get several classes.

The plugin doesn't show up in the project settings.

Steps to reproduce
Follow the steps provided in the links above on a new empty project.
EDIT: Corrected name of the asset, english language corrections.

Regarding the plugin not showing up; as per the Deploying To Android instructions, "Note: This is no longer required from vendors plugin 2.0.3 onwards as it now uses GDExtension. The plugin will not be shown in this list."
So that's normal, expected, behaviour. [Godot XR Tools for Godot 4.3 is currently serving up v3.0.1 of the plugin]

Chiming in here just as a fellow user, I have now been able to replicate this behaviour on a Windows-run editor too. (I don't normally get the vendor plugin from the Asset Library, and don't believe I've ever witnessed these before due to that difference)
@vanoak - Looks to me as if these warnings are one-offs from the built-in IDE, and can safely - though not ideally, of course - be ignored... if you wish to continue with your project in the interim, that is. (I also happen to know that at least one of the plugin's major stakeholders develops on a Mac, too, so if the issue was a show-stopper it would bound to have been flagged by now!)
Probably related to #96 ? And possible regression.

Glad I could help. Looking forward to see whatever projects you're able to develop for the platform using the engine. Don't hesitate to reach out if you have any further issues.


Karma version 0.13.8

@scottydawg, making this post-commit to see if this addresses the issue.

:+1:


Feature request: customized settings for specific files and folders

Similar to customized language modes...
"[typescript]": {
   "editor.formatOnSave": true,
}

...a method to customize settings for specific folders and files...
"[**/dist/, **/build/index.html]": {
   "editor.formatOnSave": false
}

Duplicate of #35350