Wildcard gateway broken in upgrade 1.2 to 1.4

Bug description
I'm upgrading from 1.2.2 to 1.4.2 in my kubernetes cluster using the provided helm chart. I have a pair of VS and GW that look like this and used to work perfectly in 1.2.2 .
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: mytest-gw
  namespace: mytest
spec:
  selector:
    istio: ingressgateway
  servers:
  - hosts:
    - '*.mytest.com'
    port:
      name: https-ws
      number: 443
      protocol: HTTPS
    tls:
      mode: SIMPLE
      privateKey: /etc/istio/mytest/tls.key
      serverCertificate: /etc/istio/mytest/tls.crt

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: rabbit-vs
  namespace: rabbit
spec:
  gateways:
  - mytest-gw.mytest.svc.cluster.local
  hosts:
  - rabbit.mytest.com
  http:
  - route:
    - destination:
        host: rabbit-service
        port:
          number: 1080

I have a wildcard host configured via a central gateway. A namespace rabbit contains a service rabbit-service. A virtual service inside rabbit configures a single host in the wildcard range. Notice that the virtual service is in a namespace different from that of the gateway.
I send this request (using curl):
GET https://rabbit.mytest.com/health

> GET /health HTTP/2
> Host: rabbit.mytest.com
> User-Agent: curl/7.65.3
> Accept: */*

I get this response:

upstream connect error or disconnect/reset before headers. reset reason: connection termination

< HTTP/2 503
< content-length: 95
< content-type: text/plain
< date: Wed, 08 Jan 2020 12:23:38 GMT
< server: istio-envoy

Expected behavior
The configuration that worked in 1.2.2 should work in 1.4.2 as well.
Steps to reproduce the bug
$ istioctl version --remote
client version: 1.4.2
control plane version: 1.4-alpha.17f6bfc3d7121ad527c2d617ffc27c758d6a7241
data plane version: 1.4-alpha.17f6bfc3d7121ad527c2d617ffc27c758d6a7241 (1 proxies)

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.0", GitCommit:"e8462b5b5dc2584fdcd18e6bcfe9f1e4d970a529", GitTreeState:"clean", BuildDate:"2019-06-19T16:40:16Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.7", GitCommit:"6c143d35bb11d74970e7bc0b6c45b6bfdffc0bd4", GitTreeState:"clean", BuildDate:"2019-12-11T12:34:17Z", GoVersion:"go1.12.12", Compiler:"gc", Platform:"linux/amd64"}

How was Istio installed?
From the official helm chart, using argocd.
Environment where bug was observed (cloud vendor, OS, etc)
Kubernetes running on top of AWS. Reproduced in Azure and Ali too, does not seem like a IaaS issue.

I've looked into the access logs inside ingressgateway, I can see lines like this:

[2020-01-08T16:21:15.403Z] "HEAD /health HTTP/2" 503 UC "-" "-" 0 0 49 - "" "curl/7.65.3" "f4e796af-3259-408f-9154-cbc515bb7a28" "rabbit.mytest.com" ":9001" outbound|9001||rabbit-service.rabbit.svc.cluster.local - :443 :30786 rabbit.mytest.com -
Also if I exec into the ingressgateway container and send manual curl requests to the service itself is fine:

Also if exec contact the service directly from inside the envoy container it seems accessible and good:
$ kubectl exec -n istio-system istio-ingressgateway-5647bd6b84-2bkcn -c istio-proxy -i sh
curl -Is http://rabbit-service.rabbit.svc.cluster.local:1080
HTTP/1.1 200 OK
content-length: 0
connection: keep-alive

These logs are printed in pilot after creating the virtual service object:
2020-01-08T16:55:22.166549Z	info	Handle EDS endpoint rabbit-service in namespace rabbit -> []
2020-01-08T16:55:22.263877Z	info	ads	Push debounce stable[54] 1: 100.170291ms since last change, 100.170086ms since last push, full=true
2020-01-08T16:55:22.265178Z	info	ads	XDS: Pushing:2020-01-08T16:55:22Z/43 Services:27 ConnectedEndpoints:1
2020-01-08T16:55:22.266286Z	info	ads	Cluster init time 1.080561ms 2020-01-08T16:55:22Z/43
2020-01-08T16:55:22.266425Z	info	ads	Pushing router~<IP>~istio-ingressgateway-5647bd6b84-2bkcn.istio-system~istio-system.svc.cluster.local-19
2020-01-08T16:55:22.267300Z	info	ads	CDS: PUSH for node:istio-ingressgateway-5647bd6b84-2bkcn.istio-system clusters:83 services:27 version:2020-01-08T16:55:22Z/43
2020-01-08T16:55:22.268586Z	info	ads	EDS: PUSH for node:istio-ingressgateway-5647bd6b84-2bkcn.istio-system clusters:80 endpoints:106 empty:[]
2020-01-08T16:55:22.268800Z	info	ads	LDS: PUSH for node:istio-ingressgateway-5647bd6b84-2bkcn.istio-system listeners:1
2020-01-08T16:55:22.269151Z	info	ads	RDS: PUSH for node:istio-ingressgateway-5647bd6b84-2bkcn.istio-system routes:2
2020-01-08T16:55:22.271523Z	info	ads	EDS: PUSH for node:istio-ingressgateway-5647bd6b84-2bkcn.istio-system clusters:82 endpoints:106 empty:[outbound_.1080_._.rabbit-service.rabbit.svc.cluster.local outbound|1080||rabbit-service.rabbit.svc.cluster.local]
2020-01-08T16:55:22.442738Z	info	ads	Push debounce stable[55] 1: 100.106646ms since last change, 100.106449ms since last push, full=true
2020-01-08T16:55:22.446107Z	info	ads	XDS: Pushing:2020-01-08T16:55:22Z/44 Services:27 ConnectedEndpoints:1
2020-01-08T16:55:22.447278Z	info	ads	Cluster init time 1.137585ms 2020-01-08T16:55:22Z/44
2020-01-08T16:55:22.447420Z	info	ads	Pushing router~<IP>~istio-ingressgateway-5647bd6b84-2bkcn.istio-system~istio-system.svc.cluster.local-19
2020-01-08T16:55:22.448246Z	info	ads	CDS: PUSH for node:istio-ingressgateway-5647bd6b84-2bkcn.istio-system clusters:83 services:27 version:2020-01-08T16:55:22Z/44
2020-01-08T16:55:22.448998Z	info	ads	EDS: PUSH for node:istio-ingressgateway-5647bd6b84-2bkcn.istio-system clusters:82 endpoints:106 empty:[outbound_.1080_._.rabbit-service.rabbit.svc.cluster.local outbound|1080||rabbit-service.rabbit.svc.cluster.local]
2020-01-08T16:55:22.449147Z	info	ads	LDS: PUSH for node:istio-ingressgateway-5647bd6b84-2bkcn.istio-system listeners:1
2020-01-08T16:55:22.449386Z	info	ads	RDS: PUSH for node:istio-ingressgateway-5647bd6b84-2bkcn.istio-system routes:2
2020-01-08T16:55:23.995013Z	info	Handling event update for pod rabbit-deployment-548c7fd488-jxwzd in namespace rabbit -> <IP>
2020-01-08T16:55:23.998301Z	info	Handle EDS endpoint rabbit-service in namespace rabbit -> [<IP>]
2020-01-08T16:55:23.998331Z	info	ads	Full push, new service rabbit-service.rabbit.svc.cluster.local
2020-01-08T16:55:23.998338Z	info	ads	Endpoint updating service account spiffe://cluster.local/ns/rabbit/sa/default rabbit-service.rabbit.svc.cluster.local
2020-01-08T16:55:24.098460Z	info	ads	Push debounce stable[56] 1: 100.096686ms since last change, 100.09652ms since last push, full=true
2020-01-08T16:55:24.100311Z	info	ads	XDS: Pushing:2020-01-08T16:55:24Z/45 Services:27 ConnectedEndpoints:1
2020-01-08T16:55:24.101921Z	info	ads	Cluster init time 1.581216ms 2020-01-08T16:55:24Z/45
2020-01-08T16:55:24.102038Z	info	ads	Pushing router~<IP>~istio-ingressgateway-5647bd6b84-2bkcn.istio-system~istio-system.svc.cluster.local-19
2020-01-08T16:55:24.102792Z	info	ads	CDS: PUSH for node:istio-ingressgateway-5647bd6b84-2bkcn.istio-system clusters:83 services:27 version:2020-01-08T16:55:24Z/45
2020-01-08T16:55:24.103589Z	info	ads	EDS: PUSH for node:istio-ingressgateway-5647bd6b84-2bkcn.istio-system clusters:82 endpoints:108 empty:[]
2020-01-08T16:55:24.103767Z	info	ads	LDS: PUSH for node:istio-ingressgateway-5647bd6b84-2bkcn.istio-system listeners:1
2020-01-08T16:55:24.104075Z	info	ads	RDS: PUSH for node:istio-ingressgateway-5647bd6b84-2bkcn.istio-system routes:2
2020-01-08T16:55:25.940346Z	info	ads	Push Status: {
    "ProxyStatus": {},
    "Version": ""
}

In your config you have port 9001 but everywhere else, including your working curl, is 1080. Is that expected?

@howardjohn sorry i mixed up the example, fixed the description. the issue happens in both ports and actually in any port.

This is documented at https://istio.io/docs/ops/deployment/requirements/ and https://istio.io/docs/ops/configuration/traffic-management/protocol-selection/ which are linked from the setup guides. Sorry it wasn't easier to find, we realize its a painpoint and have introduced automatic protocol detection. Based on this I think there is no action needed here, but feel free to suggest docs improvements we can make. Thanks!


Add Claimer Role

For claiming new rooms

For now, probably want this to be manually triggered or created.
Probably worth having some kind of "nextRoom" in memory that can be populated manually. When "nextRoom" is not already owned by us and our global controller level allows for expansion, the closest spawn capable of spawning a creep should create the claimer and send it off.

Depends on #10
Having an extra room is useless if it won't do anything.


[BUG] GPU memory is not freed before execution of following operation + report_tensor_allocations_upon_oom is wrong

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): ubuntu 16.04
TensorFlow installed from (source or binary): both
TensorFlow version (use command below): 1.4 and 1.6
Python version: 3.5.4
Bazel version (if compiling from source): ?
GCC/Compiler version (if compiling from source): 5.4.0
CUDA/cuDNN version: 9 / 6
GPU model and memory: Tesla P100-PCIE-16GB
Exact command to reproduce:

The following code defines an operation that performs two big multiplications and a sum reduction on the GPU:
def op(alpha, Xder, Xdertest, i):
      cols = size #tf.shape(X)[0]
      first = tf.matmul(Xder, alpha, transpose_a=True, name="first_{}".format(i))            # cols x num_des x 1
      with tf.control_dependencies([first]):
            xdt = tf.tile(tf.expand_dims(Xdertest,0), [cols,1,1], name="xdt_{}".format(i))   # cols x num_dim x num_des
            third = tf.matmul(xdt, first, name="third_{}".format(i))                         # cols x num_dim x 1
            total = tf.reduce_sum(third, name="total_{}".format(i))                          # single number
      return total

This will run fine if performed once, but if you repeat it with:
singleExecution = op(alpha, Xder, Xdertest[0,:,:], 0)
with tf.control_dependencies([singleExecution]):
      secodExecution = op(alpha, Xder, Xdertest[1,:,:], 1)
      doubleExecution = singleExecution + secodExecution # this should only add two doubles!

it will produce an OOM-Execption. The expected behavior would be the calculation of the first result, clearing the GPU of all used memory and then calculating the second result.
Complete Code to reproduce:
import tensorflow as tf
from tensorflow.python.client import timeline
import numpy as np
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-size', type=int, default=100000)
parser.add_argument('-displayPlacement',action='store_true', default=False)
args = parser.parse_args()

rows = 2
size = args.size
num_des = 190
num_dim = 60

def op(alpha, Xder, Xdertest, i):
      cols = size #tf.shape(X)[0]
      first = tf.matmul(Xder, alpha, transpose_a=True, name="first_{}".format(i))            # cols x num_des x 1
      with tf.control_dependencies([first]):
            xdt = tf.tile(tf.expand_dims(Xdertest,0), [cols,1,1], name="xdt_{}".format(i))   # cols x num_dim x num_des
            third = tf.matmul(xdt, first, name="third_{}".format(i))                         # cols x num_dim x 1
            total = tf.reduce_sum(third, name="total_{}".format(i))                          # single number
      return total

Xder = tf.placeholder(tf.float64, [None, num_dim, num_des], name="XDerivation")
Xdertest = tf.placeholder(tf.float64, [None, num_dim, num_des], name="XDerivation2")
alpha = tf.placeholder(tf.float64, [None, num_dim, 1], name="alpha")

singleExecution = op(alpha, Xder, Xdertest[0,:,:], 0)
with tf.control_dependencies([singleExecution]):
      secodExecution = op(alpha, Xder, Xdertest[1,:,:], 1)
      doubleExecution = singleExecution + secodExecution

fdict = {
      alpha: np.random.rand(size, num_dim, 1),
      Xder: np.random.rand(size, num_dim, num_des),
      Xdertest: np.random.rand(rows, num_dim, num_des),
}
print("Memory of input:")
print("alpha: {:.2f} MB".format(size*num_dim * 8. / 1024**2))
print("Xder: {:.2f} MB".format(size*num_dim*num_des * 8. / 1024**2))
print("Xdertest: {:.2f} MB".format(rows*num_dim*num_dim * 8. / 1024**2))

print("first operation should need Xder + alpha + result: {:.2f} MB".format(( size*num_dim*num_des + size*num_dim  + size*num_des )* 8. / 1024**2))
print("result of first operation alone needs: {:.2f} MB".format(( size*num_des )* 8. / 1024**2))
print("xdt operation should need : {:.2f} MB".format(( size*num_dim*num_des )* 8. / 1024**2))
print("third operation should need xdt + first + result: {:.2f} MB".format((size*num_dim + size*num_des + size*num_dim*num_des )* 8. / 1024**2))

config = tf.ConfigProto()
config.gpu_options.allow_growth = False
config.log_device_placement = args.displayPlacement
sess = tf.Session(config=config)
run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE, report_tensor_allocations_upon_oom = True)
run_metadata = tf.RunMetadata()
print(sess.run(singleExecution, feed_dict=fdict, options=run_options, run_metadata=run_metadata))
print("singleExecution finished!")

fetched_timeline = timeline.Timeline(run_metadata.step_stats)
chrome_trace = fetched_timeline.generate_chrome_trace_format(show_memory=True)
with open('timeline_single.json', 'w') as f:
      f.write(chrome_trace)

run_metadata = tf.RunMetadata()
print(sess.run(doubleExecution, feed_dict=fdict, options=run_options, run_metadata=run_metadata))
print("doubleExecution finished!")
fetched_timeline = timeline.Timeline(run_metadata.step_stats)
chrome_trace = fetched_timeline.generate_chrome_trace_format(show_memory=True)
with open('timeline_double.json', 'w') as f:
      f.write(chrome_trace)

You may have to change the size of the tensor to trigger the OOM if you use a different GPU.
The test-Code will also produce timelines, one for the single execution and a second for the second execution (only if you choose a size small enough - for example 70000 on the P100)
The print created by the report_tensor_allocations_upon_oom is not helpful, because it indicates a nearly complete free GPU. Total Log of the execution:
 $$  CUDA_VISIBLE_DEVICES=1 python gpuMem.py
Memory of input:
alpha: 45.78 MB
Xder: 8697.51 MB
Xdertest: 0.05 MB
first operation should need Xder + alpha + result: 8888.24 MB
result of first operation alone needs: 144.96 MB
xdt operation should need : 8697.51 MB
third operation should need xdt + first + result: 8888.24 MB
2018-02-17 14:02:30.712016: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1212] Found device 0 with properties:
name: Tesla P100-PCIE-16GB major: 6 minor: 0 memoryClockRate(GHz): 1.3285
pciBusID: 0000:0b:00.0
totalMemory: 15.89GiB freeMemory: 15.60GiB
2018-02-17 14:02:30.712072: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1312] Adding visible gpu devices: 0
2018-02-17 14:02:31.024207: I tensorflow/core/common_runtime/gpu/gpu_device.cc:993] Creating TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 15128 MB memory) -> physical GPU (device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:0b:00.0, compute capability: 6.0)
2018-02-17 14:02:36.312709: I tensorflow/stream_executor/dso_loader.cc:151] successfully opened CUDA library libcupti.so.9.0 locally
8563879389.460578
singleExecution finished!
2018-02-17 14:02:53.755140: W tensorflow/core/common_runtime/bfc_allocator.cc:275] Allocator (GPU_0_bfc) ran out of memory trying to allocate 8.49GiB.  Current allocation summary follows.
2018-02-17 14:02:53.755215: I tensorflow/core/common_runtime/bfc_allocator.cc:630] Bin (256):   Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin.
2018-02-17 14:02:53.755233: I tensorflow/core/common_runtime/bfc_allocator.cc:630] Bin (512):   Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin.
2018-02-17 14:02:53.755256: I tensorflow/core/common_runtime/bfc_allocator.cc:630] Bin (1024):  Total Chunks: 1, Chunks in use: 1. 1.2KiB allocated for chunks. 1.2KiB in use in bin. 1.0KiB client-requested in use in bin.
2018-02-17 14:02:53.755271: I tensorflow/core/common_runtime/bfc_allocator.cc:630] Bin (2048):  Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin.
2018-02-17 14:02:53.755285: I tensorflow/core/common_runtime/bfc_allocator.cc:630] Bin (4096):  Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin.
2018-02-17 14:02:53.755358: I tensorflow/core/common_runtime/bfc_allocator.cc:630] Bin (8192):  Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin.
2018-02-17 14:02:53.755375: I tensorflow/core/common_runtime/bfc_allocator.cc:630] Bin (16384):         Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin.
2018-02-17 14:02:53.755390: I tensorflow/core/common_runtime/bfc_allocator.cc:630] Bin (32768):         Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin.
2018-02-17 14:02:53.755406: I tensorflow/core/common_runtime/bfc_allocator.cc:630] Bin (65536):         Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin.
2018-02-17 14:02:53.755427: I tensorflow/core/common_runtime/bfc_allocator.cc:630] Bin (131072):        Total Chunks: 1, Chunks in use: 1. 178.2KiB allocated for chunks. 178.2KiB in use in bin. 178.1KiB client-requested in use in bin.
2018-02-17 14:02:53.755445: I tensorflow/core/common_runtime/bfc_allocator.cc:630] Bin (262144):        Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin.
2018-02-17 14:02:53.755459: I tensorflow/core/common_runtime/bfc_allocator.cc:630] Bin (524288):        Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin.
2018-02-17 14:02:53.755473: I tensorflow/core/common_runtime/bfc_allocator.cc:630] Bin (1048576):       Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin.
2018-02-17 14:02:53.755487: I tensorflow/core/common_runtime/bfc_allocator.cc:630] Bin (2097152):       Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin.
2018-02-17 14:02:53.755502: I tensorflow/core/common_runtime/bfc_allocator.cc:630] Bin (4194304):       Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin.
2018-02-17 14:02:53.755517: I tensorflow/core/common_runtime/bfc_allocator.cc:630] Bin (8388608):       Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin.
2018-02-17 14:02:53.755532: I tensorflow/core/common_runtime/bfc_allocator.cc:630] Bin (16777216):      Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin.
2018-02-17 14:02:53.755555: I tensorflow/core/common_runtime/bfc_allocator.cc:630] Bin (33554432):      Total Chunks: 1, Chunks in use: 1. 45.78MiB allocated for chunks. 45.78MiB in use in bin. 45.78MiB client-requested in use in bin.
2018-02-17 14:02:53.755570: I tensorflow/core/common_runtime/bfc_allocator.cc:630] Bin (67108864):      Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin.
2018-02-17 14:02:53.755589: I tensorflow/core/common_runtime/bfc_allocator.cc:630] Bin (134217728):     Total Chunks: 1, Chunks in use: 1. 144.96MiB allocated for chunks. 144.96MiB in use in bin. 144.96MiB client-requested in use in bin.
2018-02-17 14:02:53.755606: I tensorflow/core/common_runtime/bfc_allocator.cc:630] Bin (268435456):     Total Chunks: 2, Chunks in use: 1. 14.59GiB allocated for chunks. 8.49GiB in use in bin. 8.49GiB client-requested in use in bin.
2018-02-17 14:02:53.755622: I tensorflow/core/common_runtime/bfc_allocator.cc:646] Bin for 8.49GiB was 256.00MiB, Chunk State:
2018-02-17 14:02:53.755645: I tensorflow/core/common_runtime/bfc_allocator.cc:652]   Size: 6.09GiB | Requested Size: 781.2KiB | in_use: 0, prev:   Size: 144.96MiB | Requested Size: 144.96MiB | in_use: 1
2018-02-17 14:02:53.755662: I tensorflow/core/common_runtime/bfc_allocator.cc:665] Chunk at 0x10216400000 of size 1280
2018-02-17 14:02:53.755676: I tensorflow/core/common_runtime/bfc_allocator.cc:665] Chunk at 0x10216400500 of size<PHONE_NUMBER>
2018-02-17 14:02:53.755688: I tensorflow/core/common_runtime/bfc_allocator.cc:665] Chunk at 0x10435d82d00 of size 48000000
2018-02-17 14:02:53.755699: I tensorflow/core/common_runtime/bfc_allocator.cc:665] Chunk at 0x10438b49900 of size 182528
2018-02-17 14:02:53.755711: I tensorflow/core/common_runtime/bfc_allocator.cc:665] Chunk at 0x10438b76200 of size 152000000
2018-02-17 14:02:53.755723: I tensorflow/core/common_runtime/bfc_allocator.cc:665] Free  at 0x10441c6b800 of size<PHONE_NUMBER>
2018-02-17 14:02:53.755731: I tensorflow/core/common_runtime/bfc_allocator.cc:671]      Summary of in-use Chunks by size:
2018-02-17 14:02:53.755746: I tensorflow/core/common_runtime/bfc_allocator.cc:674] 1 Chunks of size 1280 totalling 1.2KiB
2018-02-17 14:02:53.755759: I tensorflow/core/common_runtime/bfc_allocator.cc:674] 1 Chunks of size 182528 totalling 178.2KiB
2018-02-17 14:02:53.755772: I tensorflow/core/common_runtime/bfc_allocator.cc:674] 1 Chunks of size 48000000 totalling 45.78MiB
2018-02-17 14:02:53.755786: I tensorflow/core/common_runtime/bfc_allocator.cc:674] 1 Chunks of size 152000000 totalling 144.96MiB
2018-02-17 14:02:53.755799: I tensorflow/core/common_runtime/bfc_allocator.cc:674] 1 Chunks of size<PHONE_NUMBER> totalling 8.49GiB
2018-02-17 14:02:53.755812: I tensorflow/core/common_runtime/bfc_allocator.cc:678] Sum Total of in-use chunks: 8.68GiB
2018-02-17 14:02:53.755827: I tensorflow/core/common_runtime/bfc_allocator.cc:680] Stats:
Limit:<PHONE_NUMBER>7
InUse:<PHONE_NUMBER>
MaxInUse:<PHONE_NUMBER>
NumAllocs:                      22
MaxAllocSize:<PHONE_NUMBER>

2018-02-17 14:02:53.755846: W tensorflow/core/common_runtime/bfc_allocator.cc:279] ***********************************************************_________________________________________
2018-02-17 14:02:53.755879: W tensorflow/core/framework/op_kernel.cc:1202] OP_REQUIRES failed at tile_ops.cc:123 : Resource exhausted: OOM when allocating tensor with shape[100000,60,190] and type double on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc
Traceback (most recent call last):
  File "/home/ghiero/anaconda3/envs/tftest/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1361, in _do_call
    return fn(*args)
  File "/home/ghiero/anaconda3/envs/tftest/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1340, in _run_fn
    target_list, status, run_metadata)
  File "/home/ghiero/anaconda3/envs/tftest/lib/python3.5/site-packages/tensorflow/python/framework/errors_impl.py", line 516, in __exit__
    c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.ResourceExhaustedError: OOM when allocating tensor with shape[100000,60,190] and type double on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc
         [[Node: xdt_0 = Tile[T=DT_DOUBLE, Tmultiples=DT_INT32, _device="/job:localhost/replica:0/task:0/device:GPU:0"](ExpandDims, xdt_0/multiples)]]

Current usage from device: /job:localhost/replica:0/task:0/device:GPU:0, allocator: GPU_0_bfc
  144.96MiB from first_0

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "gpuMem.py", line 65, in <module>
    print(sess.run(doubleExecution, feed_dict=fdict, options=run_options, run_metadata=run_metadata))
  File "/home/ghiero/anaconda3/envs/tftest/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 905, in run
    run_metadata_ptr)
  File "/home/ghiero/anaconda3/envs/tftest/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1137, in _run
    feed_dict_tensor, options, run_metadata)
  File "/home/ghiero/anaconda3/envs/tftest/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1355, in _do_run
    options, run_metadata)
  File "/home/ghiero/anaconda3/envs/tftest/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1374, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.ResourceExhaustedError: OOM when allocating tensor with shape[100000,60,190] and type double on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc
         [[Node: xdt_0 = Tile[T=DT_DOUBLE, Tmultiples=DT_INT32, _device="/job:localhost/replica:0/task:0/device:GPU:0"](ExpandDims, xdt_0/multiples)]]

Current usage from device: /job:localhost/replica:0/task:0/device:GPU:0, allocator: GPU_0_bfc
  144.96MiB from first_0

Caused by op 'xdt_0', defined at:
  File "gpuMem.py", line 30, in <module>
    singleExecution = op(alpha, Xder, Xdertest[0,:,:], 0)
  File "gpuMem.py", line 19, in op
    xdt = tf.tile(tf.expand_dims(Xdertest,0), [cols,1,1], name="xdt_{}".format(i))   # cols x num_dim x num_des
  File "/home/ghiero/anaconda3/envs/tftest/lib/python3.5/site-packages/tensorflow/python/ops/gen_array_ops.py", line 5587, in tile
    "Tile", input=input, multiples=multiples, name=name)
  File "/home/ghiero/anaconda3/envs/tftest/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper
    op_def=op_def)
  File "/home/ghiero/anaconda3/envs/tftest/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 3271, in create_op
    op_def=op_def)
  File "/home/ghiero/anaconda3/envs/tftest/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 1650, in __init__
    self._traceback = self._graph._extract_stack()  # pylint: disable=protected-access

ResourceExhaustedError (see above for traceback): OOM when allocating tensor with shape[100000,60,190] and type double on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc
         [[Node: xdt_0 = Tile[T=DT_DOUBLE, Tmultiples=DT_INT32, _device="/job:localhost/replica:0/task:0/device:GPU:0"](ExpandDims, xdt_0/multiples)]]

Current usage from device: /job:localhost/replica:0/task:0/device:GPU:0, allocator: GPU_0_bfc
  144.96MiB from first_0

I cant see something helpful on the timelines, but maybe you do?
The only surprising thing for me is that first_1 is allocated at the same time as total_0. (in timeline_double)
But its only 145 MB so it shouldn't matter.
timeline.zip

Somehow related to the bug: Is there any operation to copy the memory back to cpu and free the gpu?

As suggested by @yaroslavvb I used his mem_util script to further inspect the memory usage:
This is the output for -size 80000 (no OOM crash):
singleExecution finished!
Printing timeline for /gpu:0
-------------------------------------------
time[ms] |  total[MB] |   diff[MB] | kernel
       0 |       0.00 |       0.00 | _SOURCE
    1188 |       0.00 |       0.00 | strided_slice/stack
    1204 |       0.00 |       0.00 | strided_slice/stack_1
    1216 |       0.00 |       0.00 | strided_slice/stack_2
    2233 |       0.00 |       0.00 | strided_slice
  903921 |     115.97 |     115.97 | first_0
 1098084 |     116.58 |       0.61 | first_0
 1098092 |     117.19 |       0.61 | first_0
 1098093 |     117.80 |       0.61 | first_0
 1098340 |     117.19 |      -0.61 | first_0
 1098895 |     116.58 |      -0.61 | first_0
 1098898 |     115.97 |      -0.61 | first_0
 1098949 |     115.97 |       0.00 | ExpandDims/dim
 1098962 |     115.97 |       0.00 | xdt_0/multiples
 1098967 |     115.97 |       0.00 | Const
 1098972 |     115.97 |       0.00 | ExpandDims
 1099000 |    7073.97 |    6958.01 | xdt_0
 1099067 |    7110.77 |      36.80 | third_0
 1102177 |    7111.38 |       0.61 | third_0
 1102179 |    7111.99 |       0.61 | third_0
 1102180 |    7112.60 |       0.61 | third_0
 1144064 |    7111.99 |      -0.61 | third_0
 1144065 |    7111.38 |      -0.61 | third_0
 1144066 |    7110.77 |      -0.61 | third_0
 1144072 |    6994.80 |    -115.97 | first_0
 1144072 |      36.80 |   -6958.01 | xdt_0
 1144098 |      36.80 |       0.00 | total_0
 1144139 |      36.82 |       0.02 | total_0
 1144171 |      36.80 |      -0.02 | total_0
 1144177 |       0.00 |     -36.80 | third_0
 1168509 |       0.00 |      -0.00 | total_0
Peaks:
7458102528
doubleExecution finished!
Printing timeline for /gpu:0
-------------------------------------------
time[ms] |  total[MB] |   diff[MB] | kernel
       0 |       0.00 |       0.00 | _SOURCE
      81 |       0.00 |       0.00 | strided_slice/stack
     124 |       0.00 |       0.00 | strided_slice/stack_1
     139 |       0.00 |       0.00 | strided_slice/stack_2
   10894 |       0.00 |       0.00 | strided_slice
 1313920 |     115.97 |     115.97 | first_0
 1320691 |     116.58 |       0.61 | first_0
 1320695 |     117.19 |       0.61 | first_0
 1320696 |     117.80 |       0.61 | first_0
 1320969 |     117.19 |      -0.61 | first_0
 1321476 |     116.58 |      -0.61 | first_0
 1321479 |     115.97 |      -0.61 | first_0
 1321510 |     115.97 |       0.00 | ExpandDims/dim
 1321517 |     115.97 |       0.00 | xdt_0/multiples
 1321521 |     115.97 |       0.00 | Const
 1321525 |     115.97 |       0.00 | ExpandDims
 1321537 |    7073.97 |    6958.01 | xdt_0
 1321587 |    7110.60 |      36.62 | third_0
 1325130 |    7111.21 |       0.61 | third_0
 1325132 |    7111.82 |       0.61 | third_0
 1325133 |    7112.43 |       0.61 | third_0
 1366693 |    7111.82 |      -0.61 | third_0
 1366695 |    7111.21 |      -0.61 | third_0
 1366695 |    7110.60 |      -0.61 | third_0
 1366702 |    6994.63 |    -115.97 | first_0
 1366702 |      36.62 |   -6958.01 | xdt_0
 1366717 |      36.62 |       0.00 | total_0
 1366740 |      36.64 |       0.02 | total_0
 1366812 |      36.62 |      -0.02 | total_0
 1366819 |       0.00 |     -36.62 | third_0
 1366822 |       0.00 |       0.00 | strided_slice_1/stack
 1366828 |       0.00 |       0.00 | strided_slice_1/stack_1
 1366832 |       0.00 |       0.00 | strided_slice_1/stack_2
 1366838 |     115.97 |     115.97 | first_1
 1369862 |     116.58 |       0.61 | first_1
 1369863 |     117.19 |       0.61 | first_1
 1369864 |     117.80 |       0.61 | first_1
 1391237 |     117.19 |      -0.61 | first_1
 1391238 |     116.58 |      -0.61 | first_1
 1391239 |     115.97 |      -0.61 | first_1
 1391255 |     115.97 |       0.00 | strided_slice_1
 1391273 |     115.97 |       0.00 | ExpandDims_1/dim
 1391278 |     115.97 |       0.00 | xdt_1/multiples
 1391281 |     115.97 |       0.00 | Const_1
 1391285 |     115.97 |       0.00 | ExpandDims_1
 1391293 |    7073.97 |    6958.01 | xdt_1
 1391321 |    7110.77 |      36.80 | third_1
 1394347 |    7111.38 |       0.61 | third_1
 1394348 |    7111.99 |       0.61 | third_1
 1394349 |    7112.60 |       0.61 | third_1
 1436988 |    7111.99 |      -0.61 | third_1
 1436989 |    7111.38 |      -0.61 | third_1
 1436989 |    7110.77 |      -0.61 | third_1
 1436996 |    6994.80 |    -115.97 | first_1
 1436996 |      36.80 |   -6958.01 | xdt_1
 1437008 |      36.80 |       0.00 | total_1
 1437017 |      36.82 |       0.02 | total_1
 1437045 |      36.80 |      -0.02 | total_1
 1437050 |       0.00 |     -36.80 | third_1
 1437053 |       0.00 |       0.00 | add
 1437117 |       0.00 |      -0.00 | total_1
 1461492 |       0.00 |      -0.00 | total_0

A few things to note:
the order of the operations is as expected and looks good
memory consumption of first is not expected, no memory for the input tensor Xder is allocated (or reported)
beside first, memory consumption looks mostly as expected
Log for the single run before the OOM-crash (with -size 90000 or more):
singleExecution finished!
Printing timeline for /gpu:0
-------------------------------------------
time[ms] |  total[MB] |   diff[MB] | kernel
       0 |       0.00 |       0.00 | _SOURCE
    1568 |       0.00 |       0.00 | strided_slice/stack
    1584 |       0.00 |       0.00 | strided_slice/stack_1
    1622 |       0.00 |       0.00 | strided_slice/stack_2
  978725 |       0.00 |       0.00 | strided_slice
  978781 |     130.46 |     130.46 | first_0
 1228768 |     131.15 |       0.69 | first_0
 1228776 |     131.84 |       0.69 | first_0
 1228778 |     132.52 |       0.69 | first_0
 1229123 |     131.84 |      -0.69 | first_0
 1229758 |     131.15 |      -0.69 | first_0
 1229760 |     130.46 |      -0.69 | first_0
 1229818 |     130.46 |       0.00 | ExpandDims/dim
 1229833 |     130.46 |       0.00 | xdt_0/multiples
 1229839 |     130.46 |       0.00 | Const
 1229845 |     130.46 |       0.00 | ExpandDims
 1229876 |    7999.42 |    7868.96 | xdt_0
 1229955 |    8040.62 |      41.20 | third_0
 1235602 |    8041.31 |       0.69 | third_0
 1235605 |    8041.99 |       0.69 | third_0
 1235606 |    8042.68 |       0.69 | third_0
 1280551 |    8041.99 |      -0.69 | third_0
 1280553 |    8041.31 |      -0.69 | third_0
 1280553 |    8040.62 |      -0.69 | third_0
 1280560 |     171.66 |   -7868.96 | xdt_0
 1280561 |      41.20 |    -130.46 | first_0
 1280586 |      41.20 |       0.00 | total_0
 1280617 |      41.22 |       0.02 | total_0
 1280652 |      41.20 |      -0.02 | total_0
 1280660 |       0.00 |     -41.20 | third_0
 1308070 |       0.00 |      -0.00 | total_0
Peak:
8433360384

I see no reason why the following execution should fail? Somebody any idea?

I extended the mem_util script to display the timeline name of state_stats and the operations of the partitions_graph. Here is the output for the not OOM-execution with -size 70000:
doubleExecution finished!
Printing timeline for /gpu:0
-------------------------------------------------------
time[ms] |  total[MB] |   diff[MB] |          kernel | timeline_label
       0 |       0.00 |       0.00 | _SOURCE         | _SOURCE = NoOp()
      82 |       0.00 |       0.00 | strided_slice/stack | strided_slice/stack = Const()
     101 |       0.00 |       0.00 | strided_slice/stack_1 | strided_slice/stack_1 = Const()
     110 |       0.00 |       0.00 | strided_slice/stack_2 | strided_slice/stack_2 = Const()
 1061612 |     101.47 |     101.47 | first_0         | [GPU_0_bfc 103.1MB 103.1MB] first_0 = BatchMatMul(_arg_XDerivation_0_1/_9, _arg_alpha_0_2/_11)
 1061643 |     101.47 |       0.00 | strided_slice   | strided_slice = StridedSlice(_arg_XDerivation2_0_0/_13, strided_slice/stack, strided_slice/stack_1, strided_slice/stack_2)
 1072556 |     102.01 |       0.53 | first_0         | [GPU_0_bfc 103.1MB 103.1MB] first_0 = BatchMatMul(_arg_XDerivation_0_1/_9, _arg_alpha_0_2/_11)
 1072560 |     102.54 |       0.53 | first_0         | [GPU_0_bfc 103.1MB 103.1MB] first_0 = BatchMatMul(_arg_XDerivation_0_1/_9, _arg_alpha_0_2/_11)
 1072561 |     103.07 |       0.53 | first_0         | [GPU_0_bfc 103.1MB 103.1MB] first_0 = BatchMatMul(_arg_XDerivation_0_1/_9, _arg_alpha_0_2/_11)
 1072887 |     102.54 |      -0.53 | first_0         | [GPU_0_bfc 103.1MB 103.1MB] first_0 = BatchMatMul(_arg_XDerivation_0_1/_9, _arg_alpha_0_2/_11)
 1073494 |     102.01 |      -0.53 | first_0         | [GPU_0_bfc 103.1MB 103.1MB] first_0 = BatchMatMul(_arg_XDerivation_0_1/_9, _arg_alpha_0_2/_11)
 1073495 |     101.47 |      -0.53 | first_0         | [GPU_0_bfc 103.1MB 103.1MB] first_0 = BatchMatMul(_arg_XDerivation_0_1/_9, _arg_alpha_0_2/_11)
 1073522 |     101.47 |       0.00 | ExpandDims/dim  | ExpandDims/dim = Const(^first_0)
 1073530 |     101.47 |       0.00 | xdt_0/multiples | xdt_0/multiples = Const(^first_0)
 1073533 |     101.47 |       0.00 | Const           | Const = Const(^first_0)
 1073536 |     101.47 |       0.00 | ExpandDims      | ExpandDims = ExpandDims(strided_slice, ExpandDims/dim)
 1073548 |    6189.73 |    6088.26 | xdt_0           | [GPU_0_bfc 6088.3MB 6088.3MB] xdt_0 = Tile(ExpandDims, xdt_0/multiples)
 1073600 |    6221.77 |      32.04 | third_0         | [GPU_0_bfc 33.6MB 33.6MB] third_0 = BatchMatMul(xdt_0, first_0)
 1077343 |    6222.31 |       0.53 | third_0         | [GPU_0_bfc 33.6MB 33.6MB] third_0 = BatchMatMul(xdt_0, first_0)
 1077346 |    6222.84 |       0.53 | third_0         | [GPU_0_bfc 33.6MB 33.6MB] third_0 = BatchMatMul(xdt_0, first_0)
 1077347 |    6223.37 |       0.53 | third_0         | [GPU_0_bfc 33.6MB 33.6MB] third_0 = BatchMatMul(xdt_0, first_0)
 1112893 |    6222.84 |      -0.53 | third_0         | [GPU_0_bfc 33.6MB 33.6MB] third_0 = BatchMatMul(xdt_0, first_0)
 1112895 |    6222.31 |      -0.53 | third_0         | [GPU_0_bfc 33.6MB 33.6MB] third_0 = BatchMatMul(xdt_0, first_0)
 1112895 |    6221.77 |      -0.53 | third_0         | [GPU_0_bfc 33.6MB 33.6MB] third_0 = BatchMatMul(xdt_0, first_0)
 1112903 |     133.51 |   -6088.26 | xdt_0           | [GPU_0_bfc 6088.3MB 6088.3MB] xdt_0 = Tile(ExpandDims, xdt_0/multiples)
 1112904 |      32.04 |    -101.47 | first_0         | [GPU_0_bfc 103.1MB 103.1MB] first_0 = BatchMatMul(_arg_XDerivation_0_1/_9, _arg_alpha_0_2/_11)
 1112920 |      32.04 |       0.00 | total_0         | total_0 = Sum(third_0, Const)
 1112940 |      32.07 |       0.02 | total_0         | total_0 = Sum(third_0, Const)
 1112985 |      32.04 |      -0.02 | total_0         | total_0 = Sum(third_0, Const)
 1112992 |       0.00 |     -32.04 | third_0         | [GPU_0_bfc 33.6MB 33.6MB] third_0 = BatchMatMul(xdt_0, first_0)
 1112996 |       0.00 |       0.00 | strided_slice_1/stack | strided_slice_1/stack = Const(^total_0)
 1113001 |       0.00 |       0.00 | strided_slice_1/stack_1 | strided_slice_1/stack_1 = Const(^total_0)
 1113004 |       0.00 |       0.00 | strided_slice_1/stack_2 | strided_slice_1/stack_2 = Const(^total_0)
 1113011 |     101.47 |     101.47 | first_1         | [GPU_0_bfc 103.1MB 103.1MB] first_1 = BatchMatMul(_arg_XDerivation_0_1/_9, _arg_alpha_0_2/_11, ^total_0)
 1116695 |     102.01 |       0.53 | first_1         | [GPU_0_bfc 103.1MB 103.1MB] first_1 = BatchMatMul(_arg_XDerivation_0_1/_9, _arg_alpha_0_2/_11, ^total_0)
 1116698 |     102.54 |       0.53 | first_1         | [GPU_0_bfc 103.1MB 103.1MB] first_1 = BatchMatMul(_arg_XDerivation_0_1/_9, _arg_alpha_0_2/_11, ^total_0)
 1116698 |     103.07 |       0.53 | first_1         | [GPU_0_bfc 103.1MB 103.1MB] first_1 = BatchMatMul(_arg_XDerivation_0_1/_9, _arg_alpha_0_2/_11, ^total_0)
 1134374 |     102.54 |      -0.53 | first_1         | [GPU_0_bfc 103.1MB 103.1MB] first_1 = BatchMatMul(_arg_XDerivation_0_1/_9, _arg_alpha_0_2/_11, ^total_0)
 1134375 |     102.01 |      -0.53 | first_1         | [GPU_0_bfc 103.1MB 103.1MB] first_1 = BatchMatMul(_arg_XDerivation_0_1/_9, _arg_alpha_0_2/_11, ^total_0)
 1134376 |     101.47 |      -0.53 | first_1         | [GPU_0_bfc 103.1MB 103.1MB] first_1 = BatchMatMul(_arg_XDerivation_0_1/_9, _arg_alpha_0_2/_11, ^total_0)
 1134395 |     101.47 |       0.00 | strided_slice_1 | strided_slice_1 = StridedSlice(_arg_XDerivation2_0_0/_13, strided_slice_1/stack, strided_slice_1/stack_1, strided_slice_1/stack_2)
 1134407 |     101.47 |       0.00 | ExpandDims_1/dim | ExpandDims_1/dim = Const(^first_1)
 1134411 |     101.47 |       0.00 | xdt_1/multiples | xdt_1/multiples = Const(^first_1)
 1134414 |     101.47 |       0.00 | Const_1         | Const_1 = Const(^first_1)
 1134416 |     101.47 |       0.00 | ExpandDims_1    | ExpandDims_1 = ExpandDims(strided_slice_1, ExpandDims_1/dim)
 1134425 |    6189.73 |    6088.26 | xdt_1           | [GPU_0_bfc 6088.3MB 6088.3MB] xdt_1 = Tile(ExpandDims_1, xdt_1/multiples)
 1134458 |    6221.77 |      32.04 | third_1         | [GPU_0_bfc 33.6MB 33.6MB] third_1 = BatchMatMul(xdt_1, first_1)
 1138132 |    6222.31 |       0.53 | third_1         | [GPU_0_bfc 33.6MB 33.6MB] third_1 = BatchMatMul(xdt_1, first_1)
 1138134 |    6222.84 |       0.53 | third_1         | [GPU_0_bfc 33.6MB 33.6MB] third_1 = BatchMatMul(xdt_1, first_1)
 1138135 |    6223.37 |       0.53 | third_1         | [GPU_0_bfc 33.6MB 33.6MB] third_1 = BatchMatMul(xdt_1, first_1)
 1174411 |    6222.84 |      -0.53 | third_1         | [GPU_0_bfc 33.6MB 33.6MB] third_1 = BatchMatMul(xdt_1, first_1)
 1174412 |    6222.31 |      -0.53 | third_1         | [GPU_0_bfc 33.6MB 33.6MB] third_1 = BatchMatMul(xdt_1, first_1)
 1174413 |    6221.77 |      -0.53 | third_1         | [GPU_0_bfc 33.6MB 33.6MB] third_1 = BatchMatMul(xdt_1, first_1)
 1174422 |    6120.30 |    -101.47 | first_1         | [GPU_0_bfc 103.1MB 103.1MB] first_1 = BatchMatMul(_arg_XDerivation_0_1/_9, _arg_alpha_0_2/_11, ^total_0)
 1174422 |      32.04 |   -6088.26 | xdt_1           | [GPU_0_bfc 6088.3MB 6088.3MB] xdt_1 = Tile(ExpandDims_1, xdt_1/multiples)
 1174436 |      32.04 |       0.00 | total_1         | total_1 = Sum(third_1, Const_1)
 1174447 |      32.07 |       0.02 | total_1         | total_1 = Sum(third_1, Const_1)
 1174479 |      32.04 |      -0.02 | total_1         | total_1 = Sum(third_1, Const_1)
 1174485 |       0.00 |     -32.04 | third_1         | [GPU_0_bfc 33.6MB 33.6MB] third_1 = BatchMatMul(xdt_1, first_1)
 1174488 |       0.00 |       0.00 | add             | add = Add(total_0, total_1)
 1174536 |       0.00 |      -0.00 | total_1         | total_1 = Sum(third_1, Const_1)
 1195860 |       0.00 |      -0.00 | total_0         | total_0 = Sum(third_0, Const)
Peak:
6525680640
partition_graphs:
op: _arg_XDerivation2_0_0/_13      name: _Recv                on /gpu:0 input: []
op: strided_slice/stack            name: Const                on /gpu:0 input: []
op: strided_slice/stack_1          name: Const                on /gpu:0 input: []
op: strided_slice/stack_2          name: Const                on /gpu:0 input: []
op: strided_slice                  name: StridedSlice         on /gpu:0 input: ['_arg_XDerivation2_0_0/_13', 'strided_slice/stack', 'strided_slice/stack_1', 'strided_slice/stack_2']
op: _arg_alpha_0_2/_11             name: _Recv                on /gpu:0 input: []
op: _arg_XDerivation_0_1/_9        name: _Recv                on /gpu:0 input: []
op: first_0                        name: BatchMatMul          on /gpu:0 input: ['_arg_XDerivation_0_1/_9', '_arg_alpha_0_2/_11']
op: ExpandDims/dim                 name: Const                on /gpu:0 input: ['^first_0']
op: ExpandDims                     name: ExpandDims           on /gpu:0 input: ['strided_slice', 'ExpandDims/dim']
op: xdt_0/multiples                name: Const                on /gpu:0 input: ['^first_0']
op: xdt_0                          name: Tile                 on /gpu:0 input: ['ExpandDims', 'xdt_0/multiples']
op: third_0                        name: BatchMatMul          on /gpu:0 input: ['xdt_0', 'first_0']
op: Const                          name: Const                on /gpu:0 input: ['^first_0']
op: total_0                        name: Sum                  on /gpu:0 input: ['third_0', 'Const']
op: strided_slice_1/stack          name: Const                on /gpu:0 input: ['^total_0']
op: strided_slice_1/stack_1        name: Const                on /gpu:0 input: ['^total_0']
op: strided_slice_1/stack_2        name: Const                on /gpu:0 input: ['^total_0']
op: strided_slice_1                name: StridedSlice         on /gpu:0 input: ['_arg_XDerivation2_0_0/_13', 'strided_slice_1/stack', 'strided_slice_1/stack_1', 'strided_slice_1/stack_2']
op: first_1                        name: BatchMatMul          on /gpu:0 input: ['_arg_XDerivation_0_1/_9', '_arg_alpha_0_2/_11', '^total_0']
op: ExpandDims_1/dim               name: Const                on /gpu:0 input: ['^first_1']
op: ExpandDims_1                   name: ExpandDims           on /gpu:0 input: ['strided_slice_1', 'ExpandDims_1/dim']
op: xdt_1/multiples                name: Const                on /gpu:0 input: ['^first_1']
op: xdt_1                          name: Tile                 on /gpu:0 input: ['ExpandDims_1', 'xdt_1/multiples']
op: third_1                        name: BatchMatMul          on /gpu:0 input: ['xdt_1', 'first_1']
op: Const_1                        name: Const                on /gpu:0 input: ['^first_1']
op: total_1                        name: Sum                  on /gpu:0 input: ['third_1', 'Const_1']
op: add                            name: Add                  on /gpu:0 input: ['total_0', 'total_1']
op: add/_14                        name: _Send                on /gpu:0 input: ['add']

I dont really get new information from it. The only strange thing is
op: first_1                        name: BatchMatMul          on /gpu:0 input: ['_arg_XDerivation_0_1/_9', '_arg_alpha_0_2/_11', '^total_0']
why has the second "first"-op total_0 as an input? But I dont have any clue what the ^ represents :/

One explanation would be, if the placeholder data for XDerivation is copied to the GPU and in the case of single execution cleared after the execution of op "first".
In the case of double execution the data is not cleared and allocation for the tile-operation fails.
=> Is there a way to force tf to clear the placeholder data after the first operation?
why contains the log no information about allocation for the placeholder?

Changing the op to
def op(alpha, Xder, Xdertest, i):
      with tf.device('/cpu:0'):
            Xder = tf.identity(Xder, name='copyOfXder_{}'.format(i))
      cols = size #tf.shape(X)[0]
      first = tf.matmul(Xder, alpha, transpose_a=True, name="first_{}".format(i))            # cols x num_des x 1
      with tf.control_dependencies([first]):
            xdt = tf.tile(tf.expand_dims(Xdertest,0), [cols,1,1], name="xdt_{}".format(i))   # cols x num_dim x num_des
            third = tf.matmul(xdt, first, name="third_{}".format(i))                         # cols x num_dim x 1
            total = tf.reduce_sum(third, name="total_{}".format(i))                          # single number
      return total

will result in the expected behavior: xder is copied for every repetition. This allows the execution up to -size 16k as it should.
After talking with myself for two days now, my problem is mostly solved. But if some of the mods reviews this, I think the issue shouldn't be closed. First the following should be changed:

report_tensor_allocations_upon_oom should be fixed that it includes memory of placeholders
a tool like mem_util should be included in tf-core - could be mixed with timeline?

I am not sure how stable my solution is. Could be that the tf.identity-op is removed by the optimizer in some cases. => A "clear memory on GPU" op could be useful

Some ideas for predictable memory usage:

export TF_CUDNN_USE_AUTOTUNE=0 to remove performance tuning that takes (unpredictable) amounts of extra memory.
Remove other optimizations

  optimizer_options = tf.OptimizerOptions(opt_level=tf.OptimizerOptions.L0)
graph_options=tf.GraphOptions(optimizer_options=optimizer_options))
  config.graph_options.rewrite_options.constant_folding = rewriter_config_pb2.RewriterConfig.OFF
  config.graph_options.place_pruned_graph = True
  sess= tf.Session(config=config)

TensorFlow will forget outputs of an op as soon as all of its consumers have executed. So you have to connect some of the original consumers of an op to the copy of an op (using graph editor), this will cause outputs to be forgotten/then recomputed
About placeholder....this op is somewhat special, I'm guessing the memory gets allocated by runtime in a different code path from other ops and may not get captured by mem_util. However, I recall seeing memory allocations from it in the LOG_MEMORY messages

Thanks for your reply.
Knowing about the optimization is probably useful, even though I would like to find a solution with optimization turned on. But I should probably check how much effect the optimization has.
Placeholder produce some entries in the state_stats protobuf, but as far as I can tell only for the CPU.
A lot of message from the gpu-stream are created, but they do not include a free message.
Adding allocation messages for the target of the streams might be a solution for this issue, or at least a starting point.
The LOG_MEMORY messages are nice, but I don't think its a good solution to parse them to get basic information about allocation and frees.
I had a short look in the code for this but the tensorflow codebase is quite huge. A lot of the code for ops seems to be scattered in different files. Is there any tutorial or overview for the internal structure of the tf code?

Nagging Awaiting TensorFlower: It has been 14 days with no activity and the awaiting tensorflower label was assigned. Please update the label and/or status accordingly.

Nagging Assignee @tatianashp: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @tatianashp: It has been 15 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @tatianashp: It has been 88 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


Biohackaton 2023 version of an ISA-JSON

Biohackaton 2023 version of an ISA-JSON for multi-repository submission starting with BioSamples.

The ISA-JSON comes from the Biohackaton project 27 repository.
Corresponding data is found under isa-test-data/ISA-BH2023-ALL.
There is an additional modified JSON file with submission data called biosamples-modified-isa.json.

Great! One question: you are mentioning two files I believe, but only one is uploaded. Why? Or did I misunderstand?

I can see how that comment was unclear. The additional file biosamples-modified-isa.json is the same as the one that is uploaded but with returned accessions from biosamples e.g. "annotationValue" : "SAMEA130788489". This was the idea they came up with in the 2023 Biohackaton to add information back into the ISA-JSON. I don't know how you want to organize the modified ISA-JSON, but I figured the unmodified file was the best to start with if the point is to run a process that modifies it?


The activity log is too long in Activities after pasting one deleted blob

Storage Explorer Version: 1.11.0
Build: 20191127.2
Branch: master
Platform/OS: Windows 10/ Linux Ubuntu 18.04/macOS High Sierra
Architecture: ia32/x64
Regression From: Not a regression
Steps to reproduce:

Launch Storage Explorer.
Expand one storage account -> Blob Containers.
Create a new blob container -> Upload a blob to it -> Copy this blob -> Delete the blob container.
Paste the blob to another blob container.
Check the Activities.

Expect Experience:
The activity log is concise.

Actual Experience:
The activity log is too long.

Won't fix. Error is coming from azcopy and describes the error correctly.


Examples do not link as BNUnregisterViewOfType is not exported in latest libbinaryninjacore.so.1

Version and Platform (required):

Binary Ninja Version: 3.2.3782-dev
OS: all
OS Version: any
CPU Architecture: all

Bug Description:
b160aa0bac77a45bd7c4f39c6fe0263059239d4b introduced a new function BNUnregisterViewOfType(), which is not yet
available on the dev channel, causing the build to fail when linking the examples.
Steps To Reproduce:
CMake build with:
mkdir -p build && cd build
cmake .. -G Ninja -D BN_API_BUILD_EXAMPLES
ninja

Errors:
[4/11] Linking CXX executable out/bin/mlil_parser
FAILED: out/bin/mlil_parser
: && /usr/bin/c++   examples/mlil_parser/CMakeFiles/mlil_parser.dir/src/mlil_parser.cpp.o -o out/bin/mlil_parser -L/usr/local/google/home/cblichmann/binaryninja-dev -Wl,-rpath,/usr/local/google/home/cblichmann/binaryninja-dev  out/libbinaryninjaapi.a  -ldl  /usr/local/google/home/cblichmann/binaryninja-dev/libbinaryninjacore.so.1 && :
/usr/bin/ld: out/libbinaryninjaapi.a(filemetadata.cpp.o): in function `BinaryNinja::FileMetadata::UnregisterViewOfType(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, BinaryNinja::Ref<BinaryNinja::BinaryView>)':
filemetadata.cpp:(.text+0x201f): undefined reference to `BNUnregisterViewOfType'
collect2: error: ld returned 1 exit status
[6/11] Linking CXX executable out/bin/bin-info
FAILED: out/bin/bin-info
: && /usr/bin/c++   examples/bin-info/CMakeFiles/bin-info.dir/src/bin-info.cpp.o -o out/bin/bin-info -L/usr/local/google/home/cblichmann/binaryninja-dev -Wl,-rpath,/usr/local/google/home/cblichmann/binaryninja-dev  out/libbinaryninjaapi.a  -ldl  /usr/local/google/home/cblichmann/binaryninja-dev/libbinaryninjacore.so.1 && :
/usr/bin/ld: out/libbinaryninjaapi.a(filemetadata.cpp.o): in function `BinaryNinja::FileMetadata::UnregisterViewOfType(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, BinaryNinja::Ref<BinaryNinja::BinaryView>)':
filemetadata.cpp:(.text+0x201f): undefined reference to `BNUnregisterViewOfType'
collect2: error: ld returned 1 exit status
[7/11] Linking CXX executable out/bin/print_syscalls
FAILED: out/bin/print_syscalls
: && /usr/bin/c++   examples/print_syscalls/CMakeFiles/print_syscalls.dir/src/arm-syscall.cpp.o -o out/bin/print_syscalls -L/usr/local/google/home/cblichmann/binaryninja-dev -Wl,-rpath,/usr/local/google/home/cblichmann/binaryninja-dev  out/libbinaryninjaapi.a  -ldl  /usr/local/google/home/cblichmann/binaryninja-dev/libbinaryninjacore.so.1 && :
/usr/bin/ld: out/libbinaryninjaapi.a(filemetadata.cpp.o): in function `BinaryNinja::FileMetadata::UnregisterViewOfType(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, BinaryNinja::Ref<BinaryNinja::BinaryView>)':
filemetadata.cpp:(.text+0x201f): undefined reference to `BNUnregisterViewOfType'
collect2: error: ld returned 1 exit status
[10/11] Linking CXX executable out/bin/llil_parser
FAILED: out/bin/llil_parser
: && /usr/bin/c++   examples/llil_parser/CMakeFiles/llil_parser.dir/src/llil_parser.cpp.o -o out/bin/llil_parser -L/usr/local/google/home/cblichmann/binaryninja-dev -Wl,-rpath,/usr/local/google/home/cblichmann/binaryninja-dev  out/libbinaryninjaapi.a  -ldl  /usr/local/google/home/cblichmann/binaryninja-dev/libbinaryninjacore.so.1 && :
/usr/bin/ld: out/libbinaryninjaapi.a(filemetadata.cpp.o): in function `BinaryNinja::FileMetadata::UnregisterViewOfType(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, BinaryNinja::Ref<BinaryNinja::BinaryView>)':
filemetadata.cpp:(.text+0x201f): undefined reference to `BNUnregisterViewOfType'
collect2: error: ld returned 1 exit status
[11/11] Linking CXX shared library examples/workflows/inliner/libworkflow_inliner.so
ninja: build stopped: subcommand failed.

Expected Behavior:
No errors, all examples should build and link.
Screenshots:
N/A
Additional Information:
N/A

Pls update to the latest dev now -- it is provided now.
There could be roughly 1 hour of lag between our pushing the code and the build is available, if you happen to update the API repo in between, you run into this situation.

I can see it now, thanks.
The commit was 6h ago, though, so I wonder why I didn't get the latest dev build...

 I authored the code some 6 hours ago, but forgot to check it in.


Approvals

Legal approvals: https://input-output.atlassian.net/browse/LO-2164
Approval from Architects
Disclaimer for warranties

Legal approval for PR and webpage is done.


Show exact wallet balance on mouse hover over

This implements #1259.

Balance color issue is now fixed!

Sweet! Just add a changelog to this too and I will merge

Changelog updated.

Thanks @miikkatu! Have your contribution email, will follow up soon!


Microsoft Defender SmartScreen prevented an unrecognized app from starting

Probably won't make people feel good when they see this 😞

We are currently working on implementing code signing for our Windows binaries, much like they already are on MacOS, which should prevent this screen from appearing. This process is however significantly more time consuming compared to Apple code signing, hence we have yet to roll this out.
Note that securing our applications is a top priority for us, hence we intend to roll out signed binaries as soon as we can


Content: Kubernetes - Backup and Restore Apache Kafka Deployments on Kubernetes

Summary of content
This tutorial describes how to backup data from, and restore data to, Apache Kafka deployments on Kubernetes
Summary of audiences
Operators of a Kafka cluster who don't have a backup strategy, don't know they need one, or are looking for other backup options.
Level of content
Level of content as it pertains to the topic proposed. Delete those not applicable.

201: "Prototyping / Deploying"

Contributor Checklist

[x] I have added a card to the GitHub Content Backlog and/or moved it to the proper column. See Content Prewriting and Ideation
[ ] If contributing via Google Docs: I have added a link to my document to this issue, and set the document's Share settings to "Anyone on the internet with this link can comment".
[ ] My content is drafted in accordance with existing style guides and best practices. See Drafting Content
[ ] The front matter (metadata) is filled out completely (e.g. description, topics, tags, author, etc - as appropriate for the content type). See Drafting Content
[ ] My content has been reviewed by my team for technical accuracy. See Editing Content
[ ] My content has beed reviewed and edited by a copy editor. See Editing Content
[ ] If applicable: My content has gone through a legal review (VMware Employees Only). See Editing Content
[ ] If applicable: I have tested my content locally and everything passes. See Testing Content
[ ] Optional: I have filled out the Social Media request form (optional) (VMware Employees Only). See Next Steps
[ ] If applicable: I have created an author page and opened a pull request to get it added. See Next Steps

Reviewer Checklist

[ ] Review if the content is a good fit for the Tanzu Developer Center. See Content Prewriting and Ideation
[ ] There this GitHub issue has been added to the content backlog project
[ ] Ensure with the author that the content has been reviewed for technical accuracy.
[ ] Ensure with the author that the content has been through copy editing.
[ ] If applicable: Ensure with the author that the content has been through Legal review.
[ ] Review fit with the Tanzu Developer Center Style Guide and the VMware Style Guide (VMware Employees Only).
[ ] Ensure the front matter is filled out correctly and completely.
[ ] If applicable: Review additions to custom_dict.txt.
[ ] Ensure with the author they have reviewed the staging site for correctness. The reviewer should review this too.
[ ] If applicable: Review any new Team pages.
[ ] Optional: Ensure the author has provided copy for Social Media distribution.\
[ ] If contributing via Google Docs: Send the staging link to the author to review. The reviewer should review this too. Get the final 👍 from the author to push the content public.

Live content: https://tanzu.vmware.com/developer/guides/backup-restore-data-kafka-kubernetes/


chore: update deps

SPDY tests are failing
  1) stream muxing
       spdy only:
     Uncaught Error [ERR_STREAM_DESTROYED]: Cannot call write after a stream was destroyed
      at doWrite (_stream_writable.js:406:19)
      at writeOrBuffer (_stream_writable.js:394:5)
      at Socket.Writable.write (_stream_writable.js:294:11)
      at /Users/imp/code/js-libp2p/node_modules/stream-to-pull-stream/index.js:78:30
      at /Users/imp/code/js-libp2p/node_modules/pull-stream/throughs/map.js:19:9
      at /Users/imp/code/js-libp2p/node_modules/pull-cat/index.js:35:13
      at /Users/imp/code/js-libp2p/node_modules/pull-cat/index.js:35:13
      at /Users/imp/code/js-libp2p/node_modules/pull-cat/index.js:35:13
      at read (node_modules/pull-length-prefixed/src/encode.js:49:7)
      at /Users/imp/code/js-libp2p/node_modules/pull-stream/throughs/async-map.js:39:20
      at mac.digest (node_modules/libp2p-secio/src/etm.js:25:11)
      at Immediate.setImmediate (node_modules/libp2p-secio/node_modules/libp2p-crypto/src/hmac/index.js:14:9)

everything else is fine.

I'm looking into spdy issues that popped up while testing the examples for the 0.24 release

Oddly, the issue only happens with the aegir upgrade to 17.0.1. Aegir 15.3.1 runs fine. I'm looking into the root issue as spdy is probably throwing errors it shouldn't be and the latest aegir is somehow exposing that.

So this issue is coming up because the setImmediate call in crypto, https://github.com/libp2p/js-libp2p-crypto/blob/master/src/hmac/index.js#L13, is causing a write to happen after the stream has been destroyed.
As this issue is likely to pop up elsewhere with badly behaved streams, I created a PR in stream-to-pull-stream to check if the stream is writable before writing to it. https://github.com/pull-stream/stream-to-pull-stream/pull/14

Closing in favor of #279


Params sanity check before all further actions

Described here

Actually, maybe this issue can be resolved with #26. So that when params are placed into struct initially, sanity checks are performed.
Smth like this:
# InstanceMethods
def build_schema(camelize: false, include_root: false, include_namespaces: false, namespaces_nesting_level: DEFAULT_NESTING_LEVEL) # rubocop:disable Metrics/LineLength
  carrier = Surrealist::Carrier.call(
    instance: self,
    camelize: camelize,
    include_namespaces: include_namespaces,
    include_root: include_root,
    namespaces_nesting_level: namespaces_nesting_level,
  )

  Surrealist.build_schema(carrier)
end

And then in Carrier
def self.call(instance:, camelize:, include_root:, include_namespaces:, namespaces_nesting_level:)
  new(instance, camelize, include_root, include_namespaces, namespaces_nesting_level).sanitize!
end

@AlessandroMinali WDYT about such API?

Clean and straight forward :+1: Good start to isolating concerns.


Is this possible in random mode?

Is this possible in random mode ? if i generate keysubtracter with these settings -R -b 120
is it possible to match in range<PHONE_NUMBER>00000005bf0d10000000
or always the match will be in this closer to this range 801d4ffe103e06a805bf0d10000000
is it possible to move close to the edge of the range or is it impossible ?

Random generate random numbers to do the substrations and additions.
You can't control what random numbers are generated each time.
In order to generate a random number that match you criteria it neet to be a match with almost half of the bits of the original private key, Guess what, we can't solve puzzle 64 yet with random values.
Yes some valuel will match that criteria some day but you need to generate almost 2^60 values to have that possibility.


Comment into last table column

The rest of the table is not rendered if there is a multiline note in the middle.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

VBA/Access-VBA/articles/formatcondition-modify-method-access.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

VBA/Access-VBA/articles/formatcondition-modify-method-access.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

VBA/Access-VBA/articles/formatcondition-modify-method-access.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

VBA/Access-VBA/articles/formatcondition-modify-method-access.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


React Native Bug

Hi guys,
I have been using this module for a while with React Native and it works very well.
However, I had to make a simple change on the way that the module is exported.
Take a look here: https://github.com/mckamey/countdownjs/compare/master...matheusmatos:master
I'm not sure if I can send a pull request to that without cause incompatibility on the browser.
Basically, the module is an object instead of a function when imported with:
import countdown from 'countdown'
What do you think? Can I send a PR?
Thank you for this awesome library =)

Duplicate of #23. Your PR should be in now. Thanks!


[BUG] serverless.yml endpoint description "leaks" into OpenAPI paths object

Describe the bug
The description property from the serverless.yml endpoint definition will sometimes "leak" into the OpenAPI paths object.
For example:
{
  get: {
    summary: "Get OpenAPI docs",
    description: "Get JSON-formatted OpenAPI documentation.",
    operationId: "publicGetDocOpenapi",
    parameters: [ ... ],
    tags: [ ... ],
    responses: { ... },
  },
  description: "OpenApi documentation get endpoint handler.", // NOT an endpoint!!
}

We were able to correct for this issue post-generation until your 0.0.80 release, where new function cleanupLinks fails at this line as the spurious description property is not an object.
To Reproduce
Steps to reproduce the behavior:
Not entirely sure. We are having the same issue across 15 repos using this plugin, and it has been with us from the beginning. I'd love to know how NOT to reproduce this issue.
Here is the serverless.yml definition of an endpoint that produces this effect:
  public-doc-openapi-get:
    description: OpenApi documentation get endpoint handler.
    events:
      - http:
          caching:
            enabled: true
            cacheKeyParameters:
              - name: request.querystring.excludeEndpoints
              - name: request.querystring.includeEndpoints
              - name: request.querystring.excludeTags
              - name: request.querystring.includeTags
          cors: true
          documentation: ${file(serverless.doc.merged.yml):endpoints.public.doc-openapi-get}
          method: get
          path: doc/openapi
      - http:
          method: head
          path: doc/openapi
    handler: lib/lambda/endpoint/doc/openapi/get/public.handler
    name: ${env:STACK_NAME}-public-doc-openapi-get
    provisionedConcurrency: 0

And here is the snippet at the documentation link:
  endpoints:
    public: &EndpointsPublicCommon
      doc-openapi-get:
        summary: Get OpenAPI docs
        description: Get JSON-formatted OpenAPI documentation.
        methodResponses:
          - statusCode: 200
            responseBody:
              description: JSON-formatted OpenAPI documentation.
            responseModels:
              application/json:
                schema:
                  type: object
        operationId: publicGetDocOpenapi
        queryParams:
          - name: excludeEndpoints
            description:
              "A tilde (~) delimited list of endpoint tags. Endpoints with these tags will be excluded from the result. \
              This parameter is mutually exclusive with `includeEndpoints`."
            schema:
              type: string
          - name: excludeTags
            description:
              "A tilde (~) delimited list of endpoint tags. These tags will be stripped from the result. \
              This parameter is mutually exclusive with `includeTags`."
            schema:
              type: string
          - name: includeEndpoints
            description:
              "A tilde (~) delimited list of endpoint tags. Only endpoints with these tags will be included in the result. \
              This parameter is mutually exclusive with `excludeEndpoints`."
            schema:
              type: string
          - name: includeTags
            description:
              "A tilde (~) delimited list of endpoint tags. All other tags will be stripped from the result. \
              This parameter is mutually exclusive with `excludeTags`."
            schema:
              type: string
        tags:
          - Public
          - Doc

Expected behavior
I expected the spurious description property (although I don't want it) but I did NOT expect the internal error produced by cleanupLinks.
Desktop (please complete the following information):

Serverless version:

Framework Core: 3.32.2 (local) 3.34.0 (global)
Plugin: 6.2.3
SDK: 4.3.2

serverless-openapi-documenter version [e.g. 0.0.80]

Additional context
A nice outcome of this would be the elimination of that spurious description tag.

Hey @karmaniverous apologies for this
The error should have been fixed with 0.0.83.
So I made the decision about the description from a function being tagged into the paths output as it seemed natural from the OpenAPI documentation for the paths object to contain a description and summary, which seemed to naturally come from the function description and summary properties.  But perhaps this is the wrong decision.
Looking further, i'm not sure that it naturally fits and actually contains race conditions, so I have removed this...
Apologies again.

Ah it was by design! That explains it. 🤣
Yes I think this is the wrong location for a description item. The natural assumption would be that the keys of this object are all HTTP methods. In fact it became an issue for us because we are generating types with a library that consumes the OpenAPI spec, and it was choking on the description key. We were able to filter it out, but with cleanupLinks in the mix the issue is obviously closer to home.
Thanks for jumping right on this! I will refrain from closing until you release 0.0.83.

0.0.83 is out.  let me know if you get any other issues.


"Outline" must be updated by the developer befere "Outline" can be connected

I am running on my phone with xcode.But this error occurred

@chengziqing I'm afraid I need a little more information here before I can help you. Did you build Outline for iOS yourself?

Closing due to inactivity.


populate search index

Info at https://github.com/opencollective/opencollective/issues/828

Closing in favor of #1247


Search for courses by GE requirement met

User Story
As a user, I would like to search for courses that satisfy a certain GE requirement.

I believe this is already done by fall teams


HubSpot CRM (Independent Publisher) issue

Api Name - shared_hubspotcrm
Bug description - cannot activate app to use within Power Automate
Is this a security bug? (Y/N) N
What is the severity of this bug? Significant, it does not allow me to proceed with designing automated flows in Power Automate

Hello, I'm the developer of the HubSpot connectors. Can you please provide more details about what flows you are building, which connectors you are using, and which actions are failing? You can also reach out to me at<EMAIL_ADDRESS>

Hi Troy...trying to integrate HubSpot deal fields with a Teams channel...right now I'm getting an error msg telling me I can't open up the HubSpot CRM connector to establish automated workflows.
Thx for your help!
Steve Marks
On Oct 2, 2024 10:53 AM, Troy Taylor @.> wrote:
You don't often get email from @. Learn why this is importanthttps://aka.ms/LearnAboutSenderIdentification
Hello, I'm the developer of the HubSpot connectors. Can you please provide more details about what flows you are building, which connectors you are using, and which actions are failing? You can also reach out to me at<EMAIL_ADDRESS>—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/PowerPlatformConnectors/issues/3674#issuecomment-2388869413, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BLY533CELCYOPKGMV2EER2TZZQCGHAVCNFSM6AAAAABPHYETOKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOBYHA3DSNBRGM.
You are receiving this because you authored the thread.Message ID: @.***>
[External Sender]


github.com/docker/docker/pkg/mflag doesn't exist anymore

I get an error when I try to install the c14 command line on Debian Stable (Jessie/8) with only the "golang" package installed.
# go get -u github.com/online-net/c14-cli/cmd/c14
package github.com/online-net/c14-cli/cmd/c14
        imports github.com/BurntSushi/toml
        imports github.com/QuentinPerez/go-encodeUrl
        imports github.com/apex/log
        imports github.com/apex/log/handlers/text
        imports github.com/docker/docker/pkg/jsonlog
        imports github.com/docker/docker/pkg/jsonmessage
        imports github.com/docker/docker/pkg/term
        imports github.com/docker/go-units
        imports github.com/docker/docker/pkg/mflag
        imports github.com/docker/docker/pkg/mflag
        imports github.com/docker/docker/pkg/mflag: cannot find package "github.com/docker/docker/pkg/mflag" in any of:
        /usr/lib/go/src/pkg/github.com/docker/docker/pkg/mflag (from $GOROOT)
        /root/go/src/github.com/docker/docker/pkg/mflag (from $GOPATH)

It might be related to https://github.com/docker/docker/commit/14712f9ff0d20a3b64a60103608b8cc998909242 where the whole mflag directory was seemingly removed from the master branch.
Another VM on Debian Testing doesn't raise an error, but already has the "docker.io" package installed (version 1.11.2~ds1-5)

Hi @jqueuniet,
Can you give your go version ? Maybe you don't use the vendoring
docker run -it --rm golang sh -c "go get -u github.com/online-net/c14-cli/cmd/c14 && c14; go version"
Usage: c14 [OPTIONS] COMMAND [arg...]

Interact with C14 from the command line.

Options:
  -D, --debug        Enable debug mode
  -V, --verbose      Enable verbose mode

Commands:
    create    Create a new archive
    files     List the files of an archive
    freeze    Lock an archive
    help      Help of the c14 command line
    login     Log in to Online API
    ls        Displays the archives
    rename    Rename an archive
    remove    Remove an archive
    unfreeze  Unlock an archive
    upload    Upload your file or directory into an archive

Run 'c14 COMMAND --help' for more information on a command.
go version go1.7.1 linux/amd64

Sorry, I should have mentionned this first :)
I'm not using vendoring, but the Debian package, which is of course way older on stable.
# go version
go version go1.3.3 linux/amd64
# dpkg -l | grep golang
ii  golang                          2:1.3.3-1                            all          Go programming language compiler - metapackage
ii  golang-doc                      2:1.3.3-1                            all          Go programming language compiler - documentation
ii  golang-go                       2:1.3.3-1                            amd64        Go programming language compiler
ii  golang-go-linux-amd64           2:1.3.3-1                            amd64        Go standard library compiled for linux_amd64
ii  golang-go.tools                 0.0~hg20140703-4                     amd64        supplementary Go tools
ii  golang-src                      2:1.3.3-1                            amd64        Go programming language compiler - source files

The same for testing where everything works.
# go version
go version go1.6.3 linux/amd64
# dpkg -l | grep golang
ii  golang-1.6-go                     1.6.3-1                           amd64        Go programming language compiler, linker, compiled stdlib
ii  golang-1.6-src                    1.6.3-1                           amd64        Go programming language - source files
ii  golang-go                         2:1.6.1+1                         amd64        Go programming language compiler, linker, compiled stdlib
ii  golang-src                        2:1.6.1+1                         amd64        Go programming language - source files

So I should just upgrade my go version i guess. Do you have a formal minimum version for this tool?

You can install the 1.6 this version support the vendoring by default without any extra.

Got 1.6 though backports and it solved the problem. If I may suggest, you should add this 1.6 prerequisite to the README, since the error message is not entirely obvious to figure out for people not familiar with go like me :)

Done https://github.com/online-net/c14-cli/commit/e7c7c3cb214fd06df63530a4e861210e7a0a1b6c thank you @jqueuniet  😊


who command not updating (possible libutempter problem)

Expected behavior
When I open a new terminal window, in some terminal emulator, the who command will have a new entry showing my logged in on that pseudo-tty (pts/5 or whatever)
Additional context
Looking online, I found this answer: https://unix.stackexchange.com/questions/441717/w-command-doesnt-show-all-pseudo-terminal-sessions, which suggests that terminal emulators won't, in general, update the file that who reads from, but they can be made to, and specifically that they do so using libutempter.
Next I tried several things.

I tried using guake, which is already bundled with utempter. That didn't help.
Next I tried adding libutempter to konsole (the TE I use), using overrideDerivation, this didn't help.
I tried running utempter manually, installing it through security.wrappers, as I saw in the mosh package, so that it would set the setgid bit. I could then run utempter from the command line, but it just always exited with an error, and didn't output anything. There was no usage text or help text or anything. I looked up online the right arguments to pass it and this didn't help. It sitll just returned error.

this is how I installed it:
  security.wrappers = {
    utempter = {
      source = "${pkgs.libutempter}/lib/utempter/utempter";
      owner = "nobody";
      group = "utmp";
      setuid = false;
      setgid = true;
    };
  };

Metadata

system: "x86_64-linux"
host os: Linux 4.19.91, NixOS, 20.03pre206632.b0bbacb5213 (Markhor)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.3.1
channels(root): "nixos-20.03pre206632.b0bbacb5213"
channels(qolen): "nixos-20.03pre202088.e89b21504f3"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute: libutempter, konsole, guake
# a list of nixos modules affected by the problem
module:

Just to be clear, I don't personally care about the who command so much. The real thing I want is that ytalk/talk will ring on my terminal emulators. As of now, it only rings on ttys (like if I hit ctrl-alt-F3 and sign in there, or on my terminal emulators when I run sudo login and log in.
My assumption was that this is related to what shows up in who, but I could be wrong.

I've discovered that this was an "issue" in xmonad (or rather, this is a feature that other window managers add that xmonad does not)
See https://github.com/xmonad/xmonad/issues/212 for more details

I've discovered that this is actually related to a problem in the utempter package. It's been reported here: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=869617, and I came to nearly the same fix myself before finding that. Should I apply a patch to the nixpkgs version of utempter?

It turns out this is not even a bug with utempter, it's the intended behaviour due to issues of permissions.


Support onTap for images

Hey it would be really nice if you could implement a feature to specifiy an onTap method for images.

You can add it, but you need to Fork. I asked for link taps too but the authour said its not possible. Its is possible...

@gedw99 can you make a pull request for the changes you have done

hey @PonnamKarthik
My fork has been subsumed into a larger project and the code and techniques for transcoding moved into golang from dart. Log story why, but to do with cross platform aspects of reusing the Web template DSL across web and flutter projects So i cant give you a PR for it.
But i think its pretty easy to add to your existing code ?

Since I moved to another library I will close this issue.


Is it possible to import protos using --proto_path?

Hey.
It seems to me that it's impossible for now to import other protos from different locations using --proto_path. If you can implement such feature, it would be nice. I suppose (according the code) that's it's not difficult.
PS: plugin is great:)

It's there, includeDirectories config section. It populates -I which is the same as --proto_path

Oh, you are right. It works. Thank you very much.


Support PNG Sequence - additional if possible

应用程序很好，请问能否添加一些新功能？比如

Support PNG Transparent Sequence
Ability to Add Background Image from file
能够更改所有的秒数（例如在这个图中，应用程序识别出有4秒，能否更改它？)

谢谢！

You can load background image by "设置背景" and remove it by "移除背景".
Hover on button or text to get english description. I'm sorry for my poor ability to add support for multi language.
You can move or zoom it when pressing CTRL. But I'm not sure if there is any bug in this feature.
👌I've added PNG Sequence option.
What does it mean to change total seconds?
更改所有的秒数是什么意思？

What does it mean to change total seconds?
更改所有的秒数是什么意思
就像是改变每秒的时间，比如在动画标签中打开一个spine时显示为4秒，那么是否可以整体改变这个秒数？这样在导出.mp4时可以变成10秒等等。

Can I contribute regarding multi-language support? If so, where should I start? Will you provide a draft in the form of images, and then you will change the UI ?

Can I contribute regarding multi-language support? If so, where should I start? Will you provide a draft in the form of images, and then you will change the UI ?

Maybe I dont have much time to do it.

What does it mean to change total seconds? 更改所有的秒数是什么意思
就像是改变每秒的时间，比如在动画标签中打开一个spine时显示为4秒，那么是否可以整体改变这个秒数？这样在导出.mp4时可以变成10秒等等。
"Like changing the time per second, for example, when opening a spine in the animation tab it appears as 4 seconds, can that duration be changed overall? So later when exporting to .mp4, it could become 10 seconds and so on."

decrease/increase the speed of animation? Or decrease/increase the speed of each individual animation?

decrease/increase the speed of animation, not each individual
im notice this

if I change it like making the speed 2.00x or mixing 2.0s. when exporting to .gif / .mp4 will it have an effect?

Yes. What you see is what you get in most cases.

okay thanks you


Test against multiple ruby versions; update mimemagic

CI is broken, as mimemagic got yanked.
Updates to use GitHub Actions to test against multiple ruby versions

This is awesome.


:heart_eyes: added synchronization among the same POS

It's a Feature, not an Improvement. Use appropriate commit tag

Also, update version


Infinite digest loop error logs too much data

Do you want to request a feature or report a bug?
Enhancement
What is the current behavior?

This goes on for pages and pages.
What is the expected behavior?
I would like the error message to be more legible, and for it not to include all my products JSON including Lorem Ipsum text etc. in it, because it's not being helpful and I can't make out anything meaningful from that mess.
What is the motivation / use case for changing the behavior?
To be able to debug more efficiently.
Which versions of Angular, and which browser / OS are affected by this issue? Did this work in previous versions of Angular? Please also test with the latest stable and snapshot (https://code.angularjs.org/snapshot/) versions.
1.5.8
Other information (e.g. stacktraces, related issues, suggestions how to fix)
Don't output nested object information, I don't think this is necessary. Or at least give us a flag so we might be able to toggle it on or off? Open to other suggestions as well.

First of all, these error messages are not supposed to be legible in the console - they are URL encoded so the data can be presented better in the error page that the URL points to.
But I suppose logging arbitrarily deep objects doesn't help either. Maybe we could have a (configurable?) limit in the depth in which we traverse the logged objects.

@gkalpak Yeah, I think I gave up on clicking those links a long time ago as they often didn't work or  didn't properly show the full extent of the error. There are some open issues in the Angular repo around this from what I saw yesterday when I was searching for my issue, so I don't find it very reliable.
Second, I prefer debugging in the Chrome console, and I often need to inspect network requests and the like, so I have it open most of the time. These monstrously long error messages are occasionally freezing up my console or almost slowing it down to a halt. And I have a pretty high end computer ;)
I just don't think that such long messages are helping anyone. The error seems to be chucking whatever object/array that changed into the log, which could very well be an array of 1000 complex objects that was received from the server.
I think some depth limit should definitely be applied, and for arrays perhaps a limit of how many items are displayed out of that array with something like ...295 more at the end.

This will be (partially) addressed by #15707.

This is basically just a special case of https://github.com/angular/angular.js/issues/14744


istioctl: add links to istio.io in the upgrade error message

Make it a bit easier for user to complete the upgrade.

@yangminzhu: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

lint_istio
812af75cec99e97ceb8233c39b7ee8eaec98b14d
link
/test lint_istio

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

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

Test name
Commit
Details
Rerun command

lint_istio
812af75cec99e97ceb8233c39b7ee8eaec98b14d
link
/test lint_istio

gencheck_istio
812af75cec99e97ceb8233c39b7ee8eaec98b14d
link
/test gencheck_istio

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

In response to a cherrypick label: new pull request created: #23873


Fix and reinstate useful text in com_google_fonts_check_valid_glyphnames

Description
This pull request addresses the problems described at issue #2938
It improves text shown for a FAIL in com.google.fonts/check/valid_glyphnames
To Do

[x] update CHANGELOG.md
[ ] wait for checks to pass (except github/pages, which is stuck)
[x] request a review

@felipesanches ready for review if you have time to take a look. Thanks!


Write binary Simularium files

Use Case
When a user is generating a simularium file, which they will then drag/drop or load from a URL in the Simularium Viewer, it would be nice to output the binary version of simularium file format as well as JSON, that way the files can be smaller, and download and/or load faster.
Solution
Use the simularium binary format documentation (https://docs.google.com/document/d/1Hdvw3XieGrTHd7swILzMXLY-dbu-auJVDvt9K1Zbb_Y/edit#heading=h.xk07om75xuhb) and add functionality to TrajectoryConverter to write_binary() and write_external_binary().
Acceptance Criteria
A file generated from the binary writing functions can be loaded into the Simularium Viewer (once binary file reading is added).

I recommend that this be the default behavior for file writes out of simularium-io once we have implemented reading in the viewer.
In my mind, json output should really only be for debugging use, unit tests, sanity checks, to make sure things are in the right order, etc....

The binary format spec doesn't say what to do about TrajectoryInfo blocks for binary files. I'm assuming it makes more sense for that data to be in JSON, so I guess in a separate metadata file? Is that how SimulariumIO should output it? And then the user drags/downloads multiple files to import in the viewer? @EricJIsaac @toloudis @meganrm @schoinh


feat: mobile main hud

Change Icons in the HUD
Screen scaling. The base resolution for the UI is 1280x720, and if you change the size, the UI will resize to match that size.
Menu navigation UI improved, header increased the size
Joystick now works in an left-bottom area of the screen
Chat only is shown when it's used (on the future, we are going to implement last 5 messages notifications above it)
Implement SafeAreaHUD, an area that the "interactive" UI must be drawn. This is for avoiding physicals parts in the Mobile phone (like a camera, or some parts of it) that you cannot interact

Codecov Report
Attention: 2 lines in your changes are missing coverage. Please review.

Comparison is base (a027e05) 47.37% compared to head (4ec6b75) 47.40%.

Files
Patch %
Lines

...dot-lib/src/scene_runner/global_get_node_helper.rs
0.00%
1 Missing :warning:

...raland-godot-lib/src/scene_runner/scene_manager.rs
95.23%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #169      +/-   ##
==========================================
+ Coverage   47.37%   47.40%   +0.02%
==========================================
  Files         140      140
  Lines       16850    16868      +18
==========================================
+ Hits         7983     7996      +13
- Misses       8867     8872       +5

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


HTMLMixed Mode not applictable

Hey there guys,
I am currently working with codemirror for the first time trying to build a HTML codesection. Following the manual online I have come quite far, but cannot seem to get the HTML Mode to work. A test with theme: "css" worked perfectly. Might very likely be an issue on my side. I appreciate the feedback and the help! Thanks!
My output

My code is:
<!DOCTYPE html>

    <link rel="stylesheet" href="codemirror-5.54.0/lib/codemirror.css">

    <link rel="stylesheet" href="codemirror-5.54.0/theme/material-darker.css">

The output is attached to this post. I have expected a coloring of the tags similiar to .../codemirror-5.54.0/mode/htmlmixed/index.html
Thanks everyone!

Error found. Not all dependencies have been loaded.


Feature request: filter blocks

Currently, there's no real easy way to apply a filter to a text block in Vento, which makes things like using Markdown for long body text quite painful. The best solution I've thought of so far is to assign text to a variable first and then printing it with filters:
{{ set text }}
	Something something main text, [some link](https://vento.js.org),
	some pictures ![some alt text](https://some.site/img/271a237b.png)
{{ /set }}
{{ text |> md }}

But this gets annoying if you need to do this often, like I do. It would be nicer if there's a tag that directly applies some text to some filters and then prints them, with filter chaining of course:
{{ filter strip_indent |> md }}
	Something something main text, [some link](https://vento.js.org),
	some pictures ![some alt text](https://some.site/img/271a237b.png)
{{ /filter }}

There are some drawbacks to this approach - after all, Vento is supposed to be a lot simpler than similar template engines, so a new tag isn't always the brightest idea.
Maybe we should also allow functions that are supposed to take text blocks to have a similarly simple syntax? This is also something you have to do at the moment, which resembles this problem a lot:
{{ function func(content, opts) }}
	{{# some templated stuff using `content` #}}
{{ /function }}

{{ set content }}
	Foo bar baz
	Quux lorem ipsum
{{ /set }}
{{ func(content, { a: 1, b: 2 }) }}

I'm not exactly sure what's the best approach here, but it's something I run into so often that I wrote my own helper tag to make my life easier. Hope we can have something like that upstreamed.

mm, ok, it makes sense. Maybe a echo (or print) tag?
{{ echo |> strip_indent |> md }}
	Something something main text, [some link](https://vento.js.org),
	some pictures ![some alt text](https://some.site/img/271a237b.png)
{{ /echo }}

I'm thinking of maybe echo overlaps raw (https://vento.js.org/syntax/raw/)
So I propose to replace raw with echo (both works similar but echo would allow to use filters). Thus, we don't have to add another tags.

New version released (0.8.0). Now you can do:
{{ echo text |> md }}
	Something something main text, [some link](https://vento.js.org),
	some pictures ![some alt text](https://some.site/img/271a237b.png)
{{ /echo }}


Update example for i8, showing how to use flags

Update the example for ROCm 4.2, rocBLAS PR 558 is required.

@TorreZuk Thanks! REAMD.md is updated, CIs passed, merge now ?

@TorreZuk Thanks! REAMD.md is updated, CIs passed, merge now ?

Very good, sure squash and merge it


[Snyk] Upgrade documentation from 14.0.2 to 14.0.3

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade documentation from 14.0.2 to 14.0.3.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 1 version ahead of your current version.
The recommended version was released 21 days ago, on 2024-01-30.

Release notes

Package name: documentation

14.0.3 - 2024-01-30chore(release): 14.0.3

14.0.2 - 2023-05-19

    from documentation GitHub release notes

Commit messages

Package name: documentation

8aae14b chore(release): 14.0.3
9c42abb build(deps): bump actions/setup-node from 3.6.0 to 3.8.0 (#1614)
d4559be build(deps-dev): bump mock-fs from 5.1.4 to 5.2.0 (#1601)
e030a3f Sort memberof (#1452)
930edd2 Update USAGE.md (#1463)
1cc2f98 fix: fix GFM markdown output (#1553)
4600c97 Remove broken David badge on README (#1611)
12cfa02 Update NODE_API.md (#1616)
de30e89 Update membership.js (#1620)
8fcbeae Fix a few typos on CHANGELOG (#1610)

Compare

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

coverage: 98.209%. remained the same
when pulling 62763368e62b061d7075af3f9d40d4fcf06cf44f on snyk-upgrade-e86059972f05ed63f6e098d1766f186a
into 207f4d900316af2535877ac8be15a5aab2718f6f on main.


Bump build number

As per issue https://github.com/conda-forge/staged-recipes/pull/3435#issuecomment-322226540

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Please submit this from your fork in the future, @brainstorm. Otherwise it will deploy as soon as the CIs pass (i.e. before merging).

Didn't I do precisely that this time, @jakirkham?:

Though it seems this branch was pushed to the feedstock as well. Hence the extra CI builds.

TravisCI failed with binstar_client.errors.Unauthorized: ('Authorization token is no longer valid', 401) ... what am I doing wrong here, @jakirkham ? :-S

This is more fallout from having pushed this branch to the feedstock. Please merge and delete the additional branch from the feedstock. Thanks.

Turns out there is another issue too as this has an expired token (happened in the past few days). Am readding it to staged-recipes to fix that. Sorry for the trouble.


Way to disable the store

In my use case, I am creating and destroying a lot of canvases.
However, every time I call Caman on one of them, it get cached and thus never released by the GC.
Is there a clean way to disable the store?
This is how I am doing it right now:
                var camanNoStore = function(canvas, callback) {
                    var storePutBackup = Caman.Store.put;
                    Caman.Store.put = function() {};
                    /* jshint newcap: false */
                    Caman(canvas, function() {
                        callback.bind(this)();
                    });
                    Caman.Store.put = storePutBackup;
                };

I can then call camanNoStore as I would call Caman.

Actually, I realized this hack doesn't work.
So I can't find anything better than setting Caman.Store.put = function() {}; forever.

Can't you use Caman.Store.flush(name) to remove them? Or does that not work for you?

If you're up for editing the Caman file, you could probably also use the block of code in finishInit() to skip the store step:
Javascript:
 if (!Caman.NodeJS) {
       Store.put(this.id, this);
    }

Coffeescript (caman.coffee):
Store.put @id, @ unless Caman.NodeJS

which could be changed to something like
Store.put @id, @ unless Caman.NodeJS or Caman.DisableStore

And then set DisableStore to true on initialization.

Yes that would be the best option but I am not sure this project is maintained anymore so I am not willing to make a PR for now.

Hi
I am facing the same problem. Any good fix for this? didn't want to change the source code. although it seems like a project closed right now


Create a new SIP for intercepting connections to the wallet

I want to create a SIP that allows for the following:
(i) Intercept the connection to the wallet
(ii) Make a call to an external API to get feedback on the wallet address
(iii) If the feedback is negative block the connection to the wallet with a suitable warning message.

Can someone add me to the repo so I can create a branch for the SIP?

Forked instead


Folder structure in S3

Is there a way to replicate Frappe file's folder structure (via DFP S3 Storage) on S3?
File upload/access works pretty fast, but all files are stored in a single bucket without any folder structure. The structure is available only at Frappe level.
To give you an example, say I save an image file through Frappe+ DFP

Frappe1: home/my_attachment/image1.jpg
Frappe2: home/my_images/image2.jpg
S3: mybucket/image1.jpg, mybucket/imag2.jpg

I am aware that S3 does not really honor typical folder structure, but above structure may create issues if identical file names are used later. At least, console access to S3 does not help me locating the files.

Hi @keithkhl actual implementation does not recreate folder structure in S3, sorry.
I have no clear what are you trying to do, but please check how the S3 key contains File ID/Name, and it is used all along, for file retrieval and storage in both sides (Frappe & S3). I hope you find below screenshots helpful :)

Please do not forget either that you can access DB table (tabFile) and you can find there all data you need, even files buckets and keys:

Hope this helps @keithkhl :)

I close because it is not an issue :)


add wave file parser to readme

add wave file parser to readme

Coverage remained the same at 87.653% when pulling be25bf61942be9297f3d03abf558db8d9d9f1604 on Noise-Labs:master into dee4a6bf27af9643e63ea0fcf221cbf6f554cb90 on Geal:master.