text:
RBD Docker driver not properly attaching volumes on first start.

Summary
The rexray docker plugin/service is not properly attaching docker volumes within a swarm environment when a container is started with a newly created volume. Instead of an RBD volume, a local volume is created and attached to the container despite the use of an "external" volume option within the compose file. A workaround for the issue is to launch the container on each swarm node, one at a time, and remove the local volume after the service has been removed. This seems to enable the rexray plugin to properly attach the volume to a container on next start.
Bug Reports
On CentOS 7 servers running a Docker swarm environment, RBD volumes are not properly attached on first launch of a container that mounts a volume created with the docker/rexray command.
Version and Service Info
Rexray Version
$ rexray version
REX-Ray
-------
Binary: /usr/bin/rexray
Flavor: client+agent+controller
SemVer: 0.11.1
OsArch: Linux-x86_64
Commit: 1608180686ac4426b04941b4002fb33b9efd972e
Formed: Tue, 19 Dec 2017 14:26:34 PST

Docker Version:
$ docker -v
Docker version 17.12.0-ce, build c97c6d6

Kernel/System:
$ uname -a
Linux hostname 3.10.0-693.11.6.el7.x86_64 #1 SMP Thu Jan 4 01:06:37 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

$ cat /etc/*release
CentOS Linux release 7.4.1708 (Core)
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

CentOS Linux release 7.4.1708 (Core)
CentOS Linux release 7.4.1708 (Core)

Ceph Version:
ceph -v
ceph version 12.2.2 (cf0baeeeeba3b47f9427c6c97e2144b094b7e5ba) luminous (stable)

Rexray Service Status:
● rexray.service - rexray
   Loaded: loaded (/etc/systemd/system/rexray.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2018-02-26 15:57:49 PST; 4h 57min ago
 Main PID: 5956 (rexray)
   Memory: 10.8M
   CGroup: /system.slice/rexray.service
           └─5956 /usr/bin/rexray start

Feb 26 15:58:00 hostname rexray[5956]: 888b "88bo,888oo,__    oP"''"Yo,   888b "88bo,888   888,,8P"'
Feb 26 15:58:00 hostname rexray[5956]: MMMM   "W" """"YUMMM,m"       "Mm, MMMM   "W" YMM   ""'mM"
Feb 26 15:58:00 hostname rexray[5956]: REX-Ray
Feb 26 15:58:00 hostname rexray[5956]: -------
Feb 26 15:58:00 hostname rexray[5956]: Binary: /usr/bin/rexray
Feb 26 15:58:00 hostname rexray[5956]: Flavor: client+agent+controller
Feb 26 15:58:00 hostname rexray[5956]: SemVer: 0.11.1
Feb 26 15:58:00 hostname rexray[5956]: OsArch: Linux-x86_64
Feb 26 15:58:00 hostname rexray[5956]: Commit: 1608180686ac4426b04941b4002fb33b9efd972e
Feb 26 15:58:00 hostname rexray[5956]: Formed: Tue, 19 Dec 2017 14:26:34 PST

Expected Behavior
A volume should be able to be created outside of a Docker compose file with either the rexray volume create or docker volume create command while still being able to attach that volume to a container upon first start.
Actual Behavior
Please see the summary.
Steps To Reproduce
Our environment consists of a Docker swarm and rexray service + plugin running on a CentOS 7 operating system. We have a Ceph storage cluster running luminous (12.2.2)

Create a 1G RBD volume vi the rexray plugin using one of the following commands:  docker volume create --driver rexray --opt size=1 --opt fsType=xfs --name test_vol  or rexray volume create --fsType xfs --size 1 test_vol.

Launch the Docker service within a stack using the following command: docker stack deploy prefix -c debug.yaml

Navigate to node that service launched on: docker node ps prefix_debug

View the local volume that has been attached to the container. The volume is available but has not been attached or mounted to the node running the swarm service container.

$ docker volume ls
rexray              other_test_vol
local                 test_vol

$ rexray volume ls
docker.other_test_vol       other_test_vol       available    1
docker.test_vol      test_vol        available    1

Kill the container/service, delete the local volume and then relaunch the container. Notice that the RBD volume is now properly attached to the container on the node that the local volume was removed from.

$ docker service rm prefix_debug

$ docker volume rm test_vol

$ docker volume ls
rexray              other_test_vol
rexray              test_vol

$ docker stack deploy prefix -c debug.yaml

$ rexray volume ls
ID                         Name                Status       Size
docker.other_test_vol       other_test_vol       available    1
docker.test_vol       test_vol       attached     1

Configuration Files
Rexray Config:
rexray:
  #logLevel: debug
  logLevel: warn
libstorage:
  service: rbd
  integration:
    volume:
      operations:
        create:
          default:
            size: 100
rbd:
  defaultPool: pool_name
  cephArgs: "--id docker -K /etc/ceph/keyring"

Docker Compose config: (debug.yaml)
version: '3.3'

services:
  test:
    image: 127.0.0.1:5000/test
    volumes:
      - type: volume
        source: test_vol
        target: /mnt

volumes:
  test_vol:
    external: true

Dockerfile:
FROM centos:7.4.1708

RUN rm -rf /var/cache/yum

RUN yum update -y

CMD ["/bin/sh", "-c", "while true; do sleep 2; df -h >> /var/log/test.log; done"]

Logs
To be posted soon.

Rexray Service Logs:
This logs span the period of time where the container was initially launched (including the local volume attachment) and then removed. It shows the volume being removed and then stack service redeployed.

                          ⌐▄Q▓▄Ç▓▄,▄_
                         Σ▄▓▓▓▓▓▓▓▓▓▓▄π
                       ╒▓▓▌▓▓▓▓▓▓▓▓▓▓▀▓▄▄.
                    ,_▄▀▓▓ ▓▓ ▓▓▓▓▓▓▓▓▓▓▓█
                   │▄▓▓ _▓▓▓▓▓▓▓▓▓┌▓▓▓▓▓█
                  _J┤▓▓▓▓▓▓▓▓▓▓▓▓▓├█▓█▓▀Γ
            ,▄▓▓▓▓▓▓^██▓▓▓▓▓▓▓▓▓▓▓▓▄▀▄▄▓▓Ω▄
            F▌▓▌█ⁿⁿⁿ  ⁿ└▀ⁿ██▓▀▀▀▀▀▀▀▀▀▀▌▓▓▓▌
             'ⁿ_  ,▄▄▄▄▄▄▄▄▄█_▄▄▄▄▄▄▄▄▄ⁿ▀~██
               Γ  ├▓▓▓▓▓█▀ⁿ█▌▓Ω]█▓▓▓▓▓▓ ├▓
               │  ├▓▓▓▓▓▌≡,__▄▓▓▓█▓▓▓▓▓ ╞█~   Y,┐
               ╞  ├▓▓▓▓▓▄▄__^^▓▓▓▌▓▓▓▓▓  ▓   /▓▓▓
                  ├▓▓▓▓▓▓▓▄▄═▄▓▓▓▓▓▓▓▓▓  π ⌐▄▓▓█║n
                _ ├▓▓▓▓▓▓▓▓▓~▓▓▓▓▓▓▓▓▓▓  ▄4▄▓▓▓██
                µ ├▓▓▓▓█▀█▓▓_▓▓███▓▓▓▓▓  ▓▓▓▓▓Ω4
                µ ├▓▀▀L   └ⁿ  ▀   ▀ ▓▓█w ▓▓▓▀ìⁿ
                ⌐ ├_                τ▀▓  Σ⌐└
                ~ ├▓▓  ▄  _     ╒  ┌▄▓▓  Γ
                  ├▓▓▓▌█═┴▓▄╒▀▄_▄▌═¢▓▓▓  ╚
               ⌠  ├▓▓▓▓▓ⁿ▄▓▓▓▓▓▓▓┐▄▓▓▓▓  └
               Ω_.└██▓▀ⁿÇⁿ▀▀▀▀▀▀█≡▀▀▀▀▀   µ
               ⁿ  .▄▄▓▓▓▓▄▄┌ ╖__▓_▄▄▄▄▄*Oⁿ
                 û▌├▓█▓▓▓██ⁿ ¡▓▓▓▓▓▓▓▓█▓╪
                 ╙Ω▀█ ▓██ⁿ    └█▀██▀▓█├█Å
                     ⁿⁿ             ⁿ ⁿ^
:::::::..  .,::::::    .,::      .::::::::..    :::.  .-:.     ::-.
;;;;'';;;; ;;;;''''    ';;;,  .,;; ;;;;'';;;;   ;;';;  ';;.   ;;;;'
 [[[,/[[['  [[cccc       '[[,,[['   [[[,/[[['  ,[[ '[[,  '[[,[[['
 $$$$$$c    $$""""        Y$$$Pcccc $$$$$$c   c$$$cc$$$c   c$$"
 888b "88bo,888oo,__    oP"''"Yo,   888b "88bo,888   888,,8P"'
 MMMM   "W" """"YUMMM,m"       "Mm, MMMM   "W" YMM   ""'mM"

REX-Ray
-------
Binary: /usr/bin/rexray
Flavor: client+agent+controller
SemVer: 0.11.1
OsArch: Linux-x86_64
Commit: 1608180686ac4426b04941b4002fb33b9efd972e
Formed: Tue, 19 Dec 2017 14:26:34 PST

time="2018-02-26T21:43:58-08:00" level=info msg="mount command" args="-o bind /var/lib/rexray/volumes/test_vol/data /var/lib/rexray/docker/volumes/test_vol" cmd=mount
time="2018-02-26T21:43:58-08:00" level=info msg="mount command" args="-o remount /var/lib/rexray/volumes/test_vol/data /var/lib/rexray/docker/volumes/test_vol" cmd=mount
time="2018-02-26T21:43:58-08:00" level=info msg="unmount command" cmd=umount path="/var/lib/rexray/docker/volumes/test_vol"
time="2018-02-26T21:43:58-08:00" level=info msg="unmount command" cmd=umount path="/var/lib/rexray/volumes/test_vol"
time="2018-02-26T21:44:02-08:00" level=info msg="mount command" args="-o bind /var/lib/rexray/volumes/test_vol/data /var/lib/rexray/docker/volumes/test_vol" cmd=mount
time="2018-02-26T21:44:02-08:00" level=info msg="mount command" args="-o remount /var/lib/rexray/volumes/test_vol/data /var/lib/rexray/docker/volumes/test_vol" cmd=mount

It appears based on inspection of Docker entries within /var/log/messages that there maybe an issue with the non-default Ceph authentication keyring I have specified in the /etc/rexray/config.yml. Here are the volume related Docker log entries from /var/log/messages.

Feb 26 21:57:28 hostname dockerd: time="2018-02-26T21:57:28-08:00" level=error msg="time=\"2018-02-27T05:57:28Z\" level=error msg=\"resource not found\" host=\"unix:///var/run/rexray/494531276.sock\" instanceID=\"rbd=0.0.0.0\" resourceID=\"test_vol\" route=volumeInspect server=flower-oriole-qa service=rbd storageDriver=rbd task=0 time=1519711048824 tls=false txCR=1519711048 txID=a7bd408c-3b12-4797-7075-e2d5da65701e " plugin=6841bf8ed09625e28b129c0d1d6b8dceec1ead20f550b1b5352bf0068934e32a
Feb 26 21:57:28 hostname dockerd: time="2018-02-26T21:57:28-08:00" level=error msg="time=\"2018-02-27T05:57:28Z\" level=error msg=\"error: api call failed\" error.resourceID=\"test_vol\" host=\"unix:///var/run/rexray/494531276.sock\" route=volumeInspect server=flower-oriole-qa time=1519711048824 tls=false txCR=1519711048 txID=a7bd408c-3b12-4797-7075-e2d5da65701e " plugin=6841bf8ed09625e28b129c0d1d6b8dceec1ead20f550b1b5352bf0068934e32a
Feb 26 21:57:28 hostname dockerd: time="2018-02-26T21:57:28-08:00" level=error msg="time=\"2018-02-27T05:57:28Z\" level=error msg=\"docker-legacy: Get: test_vol: failed: resource not found\" host=\"unix:///var/run/rexray/494531276.sock\" integrationDriver=linux osDriver=linux service=rbd storageDriver=libstorage time=1519711048824 " plugin=6841bf8ed09625e28b129c0d1d6b8dceec1ead20f550b1b5352bf0068934e32a
Feb 26 21:57:39 hostname dockerd: time="2018-02-26T21:57:39.338166367-08:00" level=warning msg="Volume name test_vol already exists for driver local, not including volume returned by rexray"
Feb 26 21:57:42 hostname dockerd: time="2018-02-26T21:57:42.549420774-08:00" level=warning msg="Volume name test_vol already exists for driver local, not including volume returned by rexray"
Feb 26 21:59:06 hostname rexray: time="2018-02-26T21:59:06-08:00" level=debug msg="running command" args=[rbd info -p docker test_vol --format json] env=[CEPH_ARGS=--id docker -K /etc/ceph/ceph.client.docker.keyring] host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeInspect server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711146779 tls=false txCR=1519711146 txID=1f6ded03-03a9-4871-7670-3249a01494ef
Feb 26 21:59:06 hostname rexray: time="2018-02-26T21:59:06-08:00" level=debug msg="running command" args=[rbd info -p docker test_vol --format json] env=[CEPH_ARGS=--id docker -K /etc/ceph/ceph.client.docker.keyring] host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeInspect server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711146870 tls=false txCR=1519711146 txID=d1f7c823-4e2b-4e31-41a6-8bc4e0fdea7f
Feb 26 21:59:06 hostname rexray: time="2018-02-26T21:59:06-08:00" level=debug msg="running command" args=[rbd status --pool docker test_vol --format json] env=[CEPH_ARGS=--id docker -K /etc/ceph/ceph.client.docker.keyring] host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeInspect server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711146957 tls=false txCR=1519711146 txID=d1f7c823-4e2b-4e31-41a6-8bc4e0fdea7f
Feb 26 21:59:07 hostname rexray: time="2018-02-26T21:59:07-08:00" level=debug msg="attaching volume" driverName=rbd host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeAttach server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711147058 tls=false txCR=1519711147 txID=ef5a9f3d-4c20-4a84-7e1e-f5f4925dc193 volumeID="docker.test_vol"
Feb 26 21:59:07 hostname rexray: time="2018-02-26T21:59:07-08:00" level=debug msg="running command" args=[rbd info -p docker test_vol --format json] env=[CEPH_ARGS=--id docker -K /etc/ceph/ceph.client.docker.keyring] host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeAttach server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711147058 tls=false txCR=1519711147 txID=ef5a9f3d-4c20-4a84-7e1e-f5f4925dc193
Feb 26 21:59:07 hostname rexray: time="2018-02-26T21:59:07-08:00" level=debug msg="running command" args=[rbd status --pool docker test_vol --format json] env=[CEPH_ARGS=--id docker -K /etc/ceph/ceph.client.docker.keyring] host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeAttach server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711147145 tls=false txCR=1519711147 txID=ef5a9f3d-4c20-4a84-7e1e-f5f4925dc193
Feb 26 21:59:07 hostname rexray: time="2018-02-26T21:59:07-08:00" level=debug msg="running command" args=[rbd map --pool docker test_vol] env=[CEPH_ARGS=--id docker -K /etc/ceph/ceph.client.docker.keyring] host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeAttach server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711147200 tls=false txCR=1519711147 txID=ef5a9f3d-4c20-4a84-7e1e-f5f4925dc193
Feb 26 21:59:07 hostname rexray: time="2018-02-26T21:59:07-08:00" level=debug msg="running command" args=[rbd info -p docker test_vol --format json] env=[CEPH_ARGS=--id docker -K /etc/ceph/ceph.client.docker.keyring] host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeAttach server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711147270 tls=false txCR=1519711147 txID=ef5a9f3d-4c20-4a84-7e1e-f5f4925dc193
Feb 26 21:59:07 hostname rexray: time="2018-02-26T21:59:07-08:00" level=debug msg="http header" Libstorage-Localdevices=[rbd=docker.test_vol::/dev/rbd1,docker.spack_mirror::/dev/rbd0] host="unix:///var/run/rexray/773822414.sock" route=volumeInspect server=lime-hisser-so time=1519711147433 tls=false txCR=1519711147 txID=8739a3c7-39f0-4f4a-47e8-100009393457
Feb 26 21:59:07 hostname rexray: time="2018-02-26T21:59:07-08:00" level=debug msg="running command" args=[rbd info -p docker test_vol --format json] env=[CEPH_ARGS=--id docker -K /etc/ceph/ceph.client.docker.keyring] host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeInspect server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711147433 tls=false txCR=1519711147 txID=8739a3c7-39f0-4f4a-47e8-100009393457
Feb 26 21:59:08 hostname rexray: time="2018-02-26T21:59:08-08:00" level=debug msg="http header" Libstorage-Localdevices=[rbd=docker.test_vol::/dev/rbd1,docker.spack_mirror::/dev/rbd0] host="unix:///var/run/rexray/773822414.sock" route=volumeInspect server=lime-hisser-so time=1519711148159 tls=false txCR=1519711148 txID=1e7c8632-d381-4c79-52e6-ec6b89d1450a
Feb 26 21:59:08 hostname rexray: time="2018-02-26T21:59:08-08:00" level=debug msg="running command" args=[rbd info -p docker test_vol --format json] env=[CEPH_ARGS=--id docker -K /etc/ceph/ceph.client.docker.keyring] host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeInspect server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711148160 tls=false txCR=1519711148 txID=1e7c8632-d381-4c79-52e6-ec6b89d1450a
Feb 26 21:59:10 hostname rexray: time="2018-02-26T21:59:10-08:00" level=info msg="mount command" args="-o bind /var/lib/rexray/volumes/test_vol/data /var/lib/rexray/docker/volumes/test_vol" cmd=mount
Feb 26 21:59:10 hostname rexray: time="2018-02-26T21:59:10-08:00" level=info msg="mount command" args="-o remount /var/lib/rexray/volumes/test_vol/data /var/lib/rexray/docker/volumes/test_vol" cmd=mount
Feb 26 21:59:10 hostname rexray: time="2018-02-26T21:59:10-08:00" level=debug msg="http header" Libstorage-Localdevices=[rbd=docker.test_vol::/dev/rbd1,docker.spack_mirror::/dev/rbd0] host="unix:///var/run/rexray/773822414.sock" route=volumeInspect server=lime-hisser-so time=1519711150139 tls=false txCR=1519711150 txID=125d6d59-5084-468a-6cb9-ef0254bb75bb
Feb 26 21:59:10 hostname rexray: time="2018-02-26T21:59:10-08:00" level=debug msg="running command" args=[rbd info -p docker test_vol --format json] env=[CEPH_ARGS=--id docker -K /etc/ceph/ceph.client.docker.keyring] host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeInspect server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711150140 tls=false txCR=1519711150 txID=125d6d59-5084-468a-6cb9-ef0254bb75bb
Feb 26 21:59:10 hostname rexray: time="2018-02-26T21:59:10-08:00" level=debug msg="http header" Libstorage-Localdevices=[rbd=docker.test_vol::/dev/rbd1,docker.spack_mirror::/dev/rbd0] host="unix:///var/run/rexray/773822414.sock" route=volumeInspect server=lime-hisser-so time=1519711150232 tls=false txCR=1519711150 txID=c2b3d343-307c-4310-4203-298babf2c32e
Feb 26 21:59:10 hostname rexray: time="2018-02-26T21:59:10-08:00" level=debug msg="running command" args=[rbd info -p docker test_vol --format json] env=[CEPH_ARGS=--id docker -K /etc/ceph/ceph.client.docker.keyring] host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeInspect server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711150232 tls=false txCR=1519711150 txID=c2b3d343-307c-4310-4203-298babf2c32e
Feb 26 21:59:10 hostname rexray: time="2018-02-26T21:59:10-08:00" level=debug msg="http header" Libstorage-Localdevices=[rbd=docker.test_vol::/dev/rbd1,docker.spack_mirror::/dev/rbd0] host="unix:///var/run/rexray/773822414.sock" route=volumeInspect server=lime-hisser-so time=1519711150362 tls=false txCR=1519711150 txID=4fb48c26-a386-4ac9-4826-c775962699f0
Feb 26 21:59:10 hostname rexray: time="2018-02-26T21:59:10-08:00" level=debug msg="running command" args=[rbd info -p docker test_vol --format json] env=[CEPH_ARGS=--id docker -K /etc/ceph/ceph.client.docker.keyring] host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeInspect server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711150363 tls=false txCR=1519711150 txID=4fb48c26-a386-4ac9-4826-c775962699f0
Feb 26 21:59:10 hostname rexray: time="2018-02-26T21:59:10-08:00" level=info msg="unmount command" cmd=umount path="/var/lib/rexray/docker/volumes/test_vol"
Feb 26 21:59:10 hostname rexray: time="2018-02-26T21:59:10-08:00" level=info msg="unmount command" cmd=umount path="/var/lib/rexray/volumes/test_vol"
Feb 26 21:59:10 hostname rexray: time="2018-02-26T21:59:10-08:00" level=debug msg="http header" Libstorage-Localdevices=[rbd=docker.test_vol::/dev/rbd1,docker.spack_mirror::/dev/rbd0] host="unix:///var/run/rexray/773822414.sock" route=volumeInspect server=lime-hisser-so time=1519711150695 tls=false txCR=1519711150 txID=ce232c10-9f39-4b14-716e-0eabef3572fc
Feb 26 21:59:10 hostname rexray: time="2018-02-26T21:59:10-08:00" level=debug msg="running command" args=[rbd info -p docker test_vol --format json] env=[CEPH_ARGS=--id docker -K /etc/ceph/ceph.client.docker.keyring] host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeInspect server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711150696 tls=false txCR=1519711150 txID=ce232c10-9f39-4b14-716e-0eabef3572fc
Feb 26 21:59:10 hostname rexray: time="2018-02-26T21:59:10-08:00" level=debug msg="http header" Libstorage-Localdevices=[rbd=docker.test_vol::/dev/rbd1,docker.spack_mirror::/dev/rbd0] host="unix:///var/run/rexray/773822414.sock" route=volumeInspect server=lime-hisser-so time=1519711150788 tls=false txCR=1519711150 txID=984a611c-fd06-4cf3-6007-dea191dade8f
Feb 26 21:59:10 hostname rexray: time="2018-02-26T21:59:10-08:00" level=debug msg="running command" args=[rbd info -p docker test_vol --format json] env=[CEPH_ARGS=--id docker -K /etc/ceph/ceph.client.docker.keyring] host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeInspect server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711150789 tls=false txCR=1519711150 txID=984a611c-fd06-4cf3-6007-dea191dade8f
Feb 26 21:59:10 hostname rexray: time="2018-02-26T21:59:10-08:00" level=debug msg="http header" Libstorage-Localdevices=[rbd=docker.test_vol::/dev/rbd1,docker.spack_mirror::/dev/rbd0] host="unix:///var/run/rexray/773822414.sock" route=volumeDetach server=lime-hisser-so time=1519711150952 tls=false txCR=1519711150 txID=edaca5bb-3a2d-4c73-6dbc-cbf2392950c3
Feb 26 21:59:10 hostname rexray: time="2018-02-26T21:59:10-08:00" level=debug msg="detaching volume" driverName=rbd host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeDetach server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711150956 tls=false txCR=1519711150 txID=edaca5bb-3a2d-4c73-6dbc-cbf2392950c3 volumeID="docker.test_vol"
Feb 26 21:59:11 hostname rexray: time="2018-02-26T21:59:11-08:00" level=debug msg="running command" args=[rbd info -p docker test_vol --format json] env=[CEPH_ARGS=--id docker -K /etc/ceph/ceph.client.docker.keyring] host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeDetach server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711151046 tls=false txCR=1519711150 txID=edaca5bb-3a2d-4c73-6dbc-cbf2392950c3
Feb 26 21:59:11 hostname rexray: time="2018-02-26T21:59:11-08:00" level=debug msg="running command" args=[rbd status --pool docker test_vol --format json] env=[CEPH_ARGS=--id docker -K /etc/ceph/ceph.client.docker.keyring] host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeDetach server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711151133 tls=false txCR=1519711150 txID=edaca5bb-3a2d-4c73-6dbc-cbf2392950c3
Feb 26 21:59:11 hostname rexray: time="2018-02-26T21:59:11-08:00" level=debug msg="running command" args=[rbd info -p docker test_vol --format json] env=[CEPH_ARGS=--id docker -K /etc/ceph/ceph.client.docker.keyring] host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeInspect server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711151773 tls=false txCR=1519711151 txID=ecaafc1e-b611-44d0-5d43-8f045e5e7d87
Feb 26 21:59:11 hostname rexray: time="2018-02-26T21:59:11-08:00" level=debug msg="running command" args=[rbd info -p docker test_vol --format json] env=[CEPH_ARGS=--id docker -K /etc/ceph/ceph.client.docker.keyring] host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeInspect server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711151868 tls=false txCR=1519711151 txID=df3aa181-8df1-47b3-79c8-0553f2bbc3cf
Feb 26 21:59:11 hostname rexray: time="2018-02-26T21:59:11-08:00" level=debug msg="running command" args=[rbd status --pool docker test_vol --format json] env=[CEPH_ARGS=--id docker -K /etc/ceph/ceph.client.docker.keyring] host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeInspect server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711151951 tls=false txCR=1519711151 txID=df3aa181-8df1-47b3-79c8-0553f2bbc3cf
Feb 26 21:59:12 hostname rexray: time="2018-02-26T21:59:12-08:00" level=debug msg="attaching volume" driverName=rbd host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeAttach server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711152055 tls=false txCR=1519711152 txID=080e52f5-24e0-4595-6020-63a25fd597e9 volumeID="docker.test_vol"
Feb 26 21:59:12 hostname rexray: time="2018-02-26T21:59:12-08:00" level=debug msg="running command" args=[rbd info -p docker test_vol --format json] env=[CEPH_ARGS=--id docker -K /etc/ceph/ceph.client.docker.keyring] host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeAttach server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711152055 tls=false txCR=1519711152 txID=080e52f5-24e0-4595-6020-63a25fd597e9
Feb 26 21:59:12 hostname rexray: time="2018-02-26T21:59:12-08:00" level=debug msg="running command" args=[rbd status --pool docker test_vol --format json] env=[CEPH_ARGS=--id docker -K /etc/ceph/ceph.client.docker.keyring] host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeAttach server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711152142 tls=false txCR=1519711152 txID=080e52f5-24e0-4595-6020-63a25fd597e9
Feb 26 21:59:12 hostname rexray: time="2018-02-26T21:59:12-08:00" level=debug msg="running command" args=[rbd map --pool docker test_vol] env=[CEPH_ARGS=--id docker -K /etc/ceph/ceph.client.docker.keyring] host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeAttach server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711152194 tls=false txCR=1519711152 txID=080e52f5-24e0-4595-6020-63a25fd597e9
Feb 26 21:59:12 hostname rexray: time="2018-02-26T21:59:12-08:00" level=debug msg="running command" args=[rbd info -p docker test_vol --format json] env=[CEPH_ARGS=--id docker -K /etc/ceph/ceph.client.docker.keyring] host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeAttach server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711152269 tls=false txCR=1519711152 txID=080e52f5-24e0-4595-6020-63a25fd597e9
Feb 26 21:59:12 hostname rexray: time="2018-02-26T21:59:12-08:00" level=debug msg="http header" Libstorage-Localdevices=[rbd=docker.test_vol::/dev/rbd1,docker.spack_mirror::/dev/rbd0] host="unix:///var/run/rexray/773822414.sock" route=volumeInspect server=lime-hisser-so time=1519711152417 tls=false txCR=1519711152 txID=0c4081bf-778c-4783-654b-90b8652931c4
Feb 26 21:59:12 hostname rexray: time="2018-02-26T21:59:12-08:00" level=debug msg="running command" args=[rbd info -p docker test_vol --format json] env=[CEPH_ARGS=--id docker -K /etc/ceph/ceph.client.docker.keyring] host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeInspect server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711152417 tls=false txCR=1519711152 txID=0c4081bf-778c-4783-654b-90b8652931c4
Feb 26 21:59:13 hostname rexray: time="2018-02-26T21:59:13-08:00" level=debug msg="http header" Libstorage-Localdevices=[rbd=docker.test_vol::/dev/rbd1,docker.spack_mirror::/dev/rbd0] host="unix:///var/run/rexray/773822414.sock" route=volumeInspect server=lime-hisser-so time=1519711153105 tls=false txCR=1519711153 txID=08a652ee-caac-4c29-52ee-e62e689ba508
Feb 26 21:59:13 hostname rexray: time="2018-02-26T21:59:13-08:00" level=debug msg="running command" args=[rbd info -p docker test_vol --format json] env=[CEPH_ARGS=--id docker -K /etc/ceph/ceph.client.docker.keyring] host="unix:///var/run/rexray/773822414.sock" instanceID="rbd=0.0.0.0" route=volumeInspect server=lime-hisser-so service=rbd storageDriver=rbd task=0 time=1519711153105 tls=false txCR=1519711153 txID=08a652ee-caac-4c29-52ee-e62e689ba508
Feb 26 21:59:13 hostname rexray: time="2018-02-26T21:59:13-08:00" level=info msg="mount command" args="-o bind /var/lib/rexray/volumes/test_vol/data /var/lib/rexray/docker/volumes/test_vol" cmd=mount
Feb 26 21:59:13 hostname rexray: time="2018-02-26T21:59:13-08:00" level=info msg="mount command" args="-o remount /var/lib/rexray/volumes/test_vol/data /var/lib/rexray/docker/volumes/test_vol" cmd=mount

Hello @gabaker,
The choice of the local volume plugin is something that is up to Docker.
Feb 26 21:57:39 hostname dockerd: time="2018-02-26T21:57:39.338166367-08:00" level=warning msg="Volume name test_vol already exists for driver local, not including volume returned by rexray"
Can you try this with a brand new volume that definitely has not been seen by the Docker hosts?

This is output when I inspect the rexray docker plugin config. This looks limiliar to #1090, although I can docker volume ls on all swarm nodes without issue and docker volume inspect of newly created volumes (with a minor delay) provides the expected output before the first instance of the container is launched.

$ docker plugin inspect 6841bf8ed096
[
    {
        "Config": {
            "Args": {
                "Description": "",
                "Name": "",
                "Settable": null,
                "Value": null
            },
            "Description": "REX-Ray for Ceph RBD",
            "DockerVersion": "17.11.0-ce",
            "Documentation": "https://github.com/thecodeteam/rexray/.docker/plugins/rbd",
            "Entrypoint": [
                "/rexray.sh",
                "rexray",
                "start",
                "-f",
                "--nopid"
            ],
            "Env": [
                {
                    "Description": "",
                    "Name": "DOCKER_LEGACY",
                    "Settable": [
                        "value"
                    ],
                    "Value": "true"
                },
                {
                    "Description": "",
                    "Name": "REXRAY_FSTYPE",
                    "Settable": [
                        "value"
                    ],
                    "Value": "ext4"
                },
                {
                    "Description": "",
                    "Name": "REXRAY_LOGLEVEL",
                    "Settable": [
                        "value"
                    ],
                    "Value": "warn"
                },
                {
                    "Description": "",
                    "Name": "LIBSTORAGE_INTEGRATION_VOLUME_OPERATIONS_MOUNT_ROOTPATH",
                    "Settable": [
                        "value"
                    ],
                    "Value": ""
                },
                {
                    "Description": "",
                    "Name": "LINUX_VOLUME_ROOTPATH",
                    "Settable": [
                        "value"
                    ],
                    "Value": ""
                },
                {
                    "Description": "",
                    "Name": "LINUX_VOLUME_FILEMODE",
                    "Settable": [
                        "value"
                    ],
                    "Value": ""
                },
                {
                    "Description": "",
                    "Name": "RBD_CEPHARGS",
                    "Settable": [
                        "value"
                    ],
                    "Value": ""
                },
                {
                    "Description": "",
                    "Name": "RBD_DEFAULTPOOL",
                    "Settable": [
                        "value"
                    ],
                    "Value": "rbd"
                },
                {
                    "Description": "",
                    "Name": "RBD_TESTMODULE",
                    "Settable": [
                        "value"
                    ],
                    "Value": "false"
                },
                {
                    "Description": "The name of the CSI plug-in used by the CSI module.",
                    "Name": "X_CSI_DRIVER",
                    "Settable": [
                        "value"
                    ],
                    "Value": ""
                },
                {
                    "Description": "A flag that disables the CSI to libStorage bridge.",
                    "Name": "X_CSI_NATIVE",
                    "Settable": [
                        "value"
                    ],
                    "Value": "false"
                },
                {
                    "Description": "",
                    "Name": "CSI_ENDPOINT",
                    "Settable": [
                        "value"
                    ],
                    "Value": ""
                }
            ],
            "Interface": {
                "Socket": "rexray.sock",
                "Types": [
                    "docker.volumedriver/1.0"
                ]
            },
            "IpcHost": false,
            "Linux": {
                "AllowAllDevices": true,
                "Capabilities": [
                    "CAP_SYS_ADMIN"
                ],
                "Devices": null
            },
            "Mounts": [
                {
                    "Description": "",
                    "Destination": "/dev",
                    "Name": "",
                    "Options": [
                        "rbind"
                    ],
                    "Settable": null,
                    "Source": "/dev",
                    "Type": "bind"
                },
                {
                    "Description": "",
                    "Destination": "/etc/ceph",
                    "Name": "",
                    "Options": [
                        "rbind"
                    ],
                    "Settable": null,
                    "Source": "/etc/ceph",
                    "Type": "bind"
                }
            ],
            "Network": {
                "Type": "host"
            },
            "PidHost": false,
            "PropagatedMount": "/var/lib/rexray",
            "User": {},
            "WorkDir": "",
            "rootfs": {
                "diff_ids": [
                    "sha256:d65e9c4ce3eb58b7740355eef646497309faf345d30b1127580f4d9555603bb2"
                ],
                "type": "layers"
            }
        },
        "Enabled": true,
        "Id": "6841bf8ed09625e28b129c0d1d6b8dceec1ead20f550b1b5352bf0068934e32a",
        "Name": "rexray/rbd:latest",
        "PluginReference": "docker.io/rexray/rbd:latest",
        "Settings": {
            "Args": [],
            "Devices": [],
            "Env": [
                "DOCKER_LEGACY=true",
                "REXRAY_FSTYPE=ext4",
                "REXRAY_LOGLEVEL=warn",
                "LIBSTORAGE_INTEGRATION_VOLUME_OPERATIONS_MOUNT_ROOTPATH=",
                "LINUX_VOLUME_ROOTPATH=",
                "LINUX_VOLUME_FILEMODE=",
                "RBD_CEPHARGS=",
                "RBD_DEFAULTPOOL=docker",
                "RBD_TESTMODULE=false",
                "X_CSI_DRIVER=",
                "X_CSI_NATIVE=false",
                "CSI_ENDPOINT="
            ],
            "Mounts": [
                {
                    "Description": "",
                    "Destination": "/dev",
                    "Name": "",
                    "Options": [
                        "rbind"
                    ],
                    "Settable": null,
                    "Source": "/dev",
                    "Type": "bind"
                },
                {
                    "Description": "",
                    "Destination": "/etc/ceph",
                    "Name": "",
                    "Options": [
                        "rbind"
                    ],
                    "Settable": null,
                    "Source": "/etc/ceph",
                    "Type": "bind"
                }
            ]
        }
    }
]

@clintkitson  I think I have tracked down the problem. The rexray service was configured correctly (see the config file) and produced the expected results when volumes were created. However, the rexray Docker plugin did not have the correct authentication keyring/user and therefore could not mount newly created volumes. It isnt clear to me from the documentation what features are provided by the docker plugin vs rexray service. In our environment we seem to need both to be able to create, launch, and managed container volumes. Should I be able to use docker volumes with RBD using just the plugin or is the service also required?

I see. Check the configuration file directly for the managed plugin here. All options listed are what are capable inside the plugin. Otherwise, this file can be updated to include more options and the managed plugin can be rebuilt.
https://github.com/rexray/rexray/blob/master/.docker/plugins/rbd/config.json#L62-L135

Great, thanks for the info. Do you need to have the service installed to use the plugin? The service provides the rexray command, but does it impact mapping RBDs to containers within Docker?

No the service is not needed, you should be choosing either the managed
plugin or to run the service via your init system.
Having both at the same time is definitely problematic.
On Tue, Feb 27, 2018 at 11:39 AM gabaker notifications@github.com wrote:

Great, thanks for the info. Do you need to have the service installed to
use the plugin? The service provides the rexray command, but does it impact
mapping RBDs to containers within Docker?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rexray/rexray/issues/1182#issuecomment-368999392, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABVMMYeRGHw4-zLMg4ybz5e-D6KzZFrqks5tZFklgaJpZM4SUYbf
.

authors: clintkitson gabaker

repo: rexray/rexray


text:
fix: remove Default impl, return empty original bytes after preserv…

…ing exif

closes #33
closes #35

source: gharchive/pull-request

repo: rfdzan/jippigy

license: MIT

license_type: permissive

license_source: github-api


text:
Dash manifest error 503

hi what can cause this warning (error since i can t get the list)
./youtube-dl rtzlT78OEks --verbose
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'rtzlT78OEks', u'--verbose']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2015.05.20
[debug] Python version 2.7.6 - Linux-3.16.0-38-generic-x86_64-with-Ubuntu-14.04-trusty
[debug] exe versions: none
[debug] Proxy map: {}
[youtube] rtzlT78OEks: Downloading webpage
[youtube] rtzlT78OEks: Extracting video information
[youtube] rtzlT78OEks: Downloading DASH manifest
WARNING: [youtube] rtzlT78OEks: Skipping DASH manifest: ExtractorError(u'Could not download DASH manifest: HTTP Error 503: Service Unavailable (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.',)
[debug] Invoking downloader on u'https://r2---sn-upoxu-25gs.googlevideo.com/videoplayback?ipbits=0&key=yt5&sver=3&signature=BC7CA90797BF1B8AA34AB9B1578504EFCBC7BB0B.D8231D5C80AFEE51737095C65469F8BADA0747CA&fexp=901441%2C9408142%2C9408420%2C9408710%2C9413503%2C9415304%2C952612&requiressl=yes&initcwndbps=3815000&expire=1433105689&sparams=dur%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Cmime%2Cmm%2Cms%2Cmv%2Cpl%2Cratebypass%2Crequiressl%2Csource%2Cupn%2Cexpire&source=youtube&mm=31&ratebypass=yes&ip=195.154.92.102&id=o-ANNSrbKYSe1zrHeCkRlCN7tXvYTkGmx7QtBvfsNte-UY&ms=au&mt=1433084050&mv=m&pl=22&dur=391.743&mime=video%2Fmp4&itag=22&upn=YIPSGECZAB0'
[download] Resuming download at byte 4929711
[download] Destination: CYPRIEN - CLASH DES GITANS-rtzlT78OEks.mp4
[download]   5.8% of 98.24MiB at 571.17KiB/s ETA 02:45^C
ERROR: Interrupted by user

thanks

Well, it's most likely an issue on Youtube's server (as indicated by the HTTP Error 503: Service Unavailable). It should be temporary (I can't reproduce the warning), so please try again and see if the problem persists.

Closing as no response for a long time and it looks like a temporary YouTube-side issue. Feel free to leave a comment here if the same problem appears again.

source: gharchive/issue

authors: naglis smolleyes yan12125

license: Unlicense


text:
xhamster.com downloads broken

I'm trying to grab a video from xhamster, looks as if they changed their html (again).
youtube-dl --verbose http://de.xhamster.com/movies/3070725/hot_latex_lesbians.html
[debug] System config: []
[debug] User config: [u'--title']
[debug] Command-line args: [u'--verbose', u'http://de.xhamster.com/movies/3070725/hot_latex_lesbians.html']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2015.07.28
[debug] Python version 2.7.8 - Linux-3.16.7-21-desktop-x86_64-with-SuSE-13.2-x86_64
[debug] exe versions: ffmpeg 2.7.2, ffprobe 2.7.2, rtmpdump 2.4
[debug] Proxy map: {'no': 'localhost, 127.0.0.1, .eregion.de, .eregion.home'}
[XHamster] 3070725: Downloading webpage
WARNING: unable to extract thumbnail; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
ERROR: Unable to extract media URL; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 656, in extract_info
ie_result = ie.extract(url)
File "/usr/bin/youtube-dl/youtube_dl/extractor/common.py", line 279, in extract
return self._real_extract(url)
File "/usr/bin/youtube-dl/youtube_dl/extractor/xhamster.py", line 100, in _real_extract
video_url = extract_video_url(webpage)
File "/usr/bin/youtube-dl/youtube_dl/extractor/xhamster.py", line 52, in extract_video_url
raise ExtractorError('Unable to extract media URL')
ExtractorError: Unable to extract media URL; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Can confirm that video starts downloading correctly using master. Looks like media URL extraction was fixed in 354b4b8604ec13ccf4bd89b9d1b77cb7246fe379, and thumbnail extraction in 251a44b776264c17d7799e017b856143c6cacd9a.

This issue is already fixed and will be available in the next version of youtube-dl.

authors: YuukieO dstftw gebn


text:
beeg change api version to V6 1750

Video downloading but cannot be watching...
#youtube-dl -v 'http://beeg.com/5936679'
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-v', u'http://beeg.com/5936679']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.04.06
[debug] Python version 2.7.6 - Linux-3.13.0-74-generic-x86_64-with-Ubuntu-14.04-trusty
[debug] exe versions: ffmpeg N-79139-gde1a0d4, ffprobe N-79139-gde1a0d4, rtmpdump 2.4
[debug] Proxy map: {}
[Beeg] 5936679: Downloading JSON metadata
[debug] Invoking downloader on u'https://video.beeg.com//key=-46WUei-C4WElcrKU9rkew%2Cend=1460029329%2Climit=1%2Cx=88.255.184.101/720p/5936679.mp4'
[download] Destination: Sexy brunette shows her friend why she loves her-5936679.mp4
[download] 100% of 923.48KiB in 00:17

This is what beeg serves as 720p for this particular video. Other formats work fine. Watching in browser works since it uses 480p by default.

authors: badproject dstftw


text:
CBSNews unable to download video

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like that [x])
Use Preview tab to see how your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2016.05.30.2. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.

[X] I've verified and I assure that I'm running youtube-dl 2016.05.30.2

Before submitting an issue make sure you have:

[X] At least skimmed through README and most notably FAQ and BUGS sections
[X] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[X] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add -v flag to your command line you run youtube-dl with, copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
$ youtube-dl http://www.cbsnews.com/news/gorilla-harambe-death-cincinnati-zoo-debate-on-parents-role/ --verbose
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'http://www.cbsnews.com/news/gorilla-harambe-death-cincinnati-zoo-debate-on-parents-role/', u'--verbose']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.05.30.2
[debug] Python version 2.7.11+ - Linux-4.5.0-2-amd64-x86_64-with-debian-stretch-sid
[debug] exe versions: ffmpeg 3.0.2-2, ffprobe 3.0.2-2, rtmpdump 2.4
[debug] Proxy map: {}
[CBSNews] gorilla-harambe-death-cincinnati-zoo-debate-on-parents-role: Downloading webpage
ERROR: Unable to extract video JSON info; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 676, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 341, in extract
    return self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/cbsnews.py", line 58, in _real_extract
    webpage, 'video JSON info'), video_id)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 653, in _html_search_regex
    res = self._search_regex(pattern, string, name, default, fatal, flags, group)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 644, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract video JSON info; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

...
<end of log>

If the purpose of this issue is a site support request please provide all kinds of example URLs support for which should be included (replace following example URLs by yours):

Single video:   http://www.cbsnews.com/news/gorilla-harambe-death-cincinnati-zoo-debate-on-parents-role/

Description of your issue, suggested solution and other information
The video URL given above fails to download.  I have included the verbose output and updated right before trying.
It may be related to this issue:
https://github.com/rg3/youtube-dl/issues/7010
However that issue was closed and it sounds like it was related to it being a live video which this one is not.

try to download the video directly using the video url untill the extraction of video in article pages fixed.
for this article the video url is http://www.cbsnews.com/videos/cops-investigate-gorilla-incident-at-cincinnati-zoo.

That URL works normally.  I actually already obtained the video from another source and was just making this report as I did not see any bugs related to it.  It is already a known issue that you cannot download video's from the article page?  I guess I missed it in the open bugs.


text:
Include metricsgraphics CSS

When a metricsgraphics plot appears in the notebook right now, it's a black and white graphic:

This package needs to make the metricsgraphics CSS get included somehow (I have no idea).

If it gets included by creating an HTML element in the notebook it's ok though.

Making it happen via JavaScript when the script is loaded seems reasonable.

repo: rgbkrk/metrics-graphics-jupyter

license_source: bigquery


text:
[ Feature ] Fast toggles on node headers ( same as group headers )

Mute / bypass toggles on group headers is a great feature !
Is it possible to add this for nodes as well ?

I just came by to make this feature request! I find myself looking for the "Fast Muter/Bypasser" node, as the nature of ComfyUI, having one hand on the mouse all the time, means I don't use keyboard shortcuts as often. Having a button on the node header would be awesome to mute/bypass.

I believe this is the commit that added the buttons to groups. There's a lot to ingest here though.
https://github.com/rgthree/rgthree-comfy/commit/f8c01087f7b59414b1744142c6355e9509c0aae6

It would be nice if the fast toggles could be added per group / node, instead of being a global feature.

repo: rgthree/rgthree-comfy


text:
Adjust the volume of beep.wav

Hello everyone,
Is there a (hidden) possibility to adjust the volume of beep * .wav?
The volume is too high for me, but the following speech output should be loud.
An exchange of files is not possible because of Docker.

I have an idea of how to do this. It's complicated by the Hermes playBytes message just being WAV audio data, so anything extra like "50% volume" needs to be tucked into WAV metadata.

You can also make a custom beep.wav file and change the mapping.  This would allow you to adjust its intensity and even change it all together.  I have my system using a few custom response this way.

I think this shouldn't be an option in Rhasspy, as @DeadEnded mentioned you can use a custom .wav already. It would be cleaner to adjust the audio backend volume (alsa hardware/softvol or pulseaudio) via MQTT Commands.

I think this shouldn't be an option in Rhasspy, as @DeadEnded mentioned you can use a custom .wav already. It would be cleaner to adjust the audio backend volume (alsa hardware/softvol or pulseaudio) via MQTT Commands.

I agree in the general case, but I think there it would be useful for when the user wants to independently control different types of audio output in Rhasspy.
My plan is to have the volume that rhasspy-speakers-cli-hermes plays a WAV at be 100% by default, but adjustable with extra metadata. The dialogue manager can send a volume scalar between 0 and 1 for beeps, and the text to speech services can do the same.

Please try 2.5.8 and re-open if an issue is found.

authors: DeadEnded benedikt-bartscher capitaenz synesthesiam

repo: rhasspy/rhasspy


text:
#27 new feature: add init mode

I tried to add a new init command that makes the env vars obsolete, but please test this first on UNIX and MAC, as I am developing under Windows.
The idea is to replace the environment vars needed by eatlocal with a local .env file. As the tool can be installed via pip we cannot rely on a local .env in the repository. Instead, I choose to create a new file under .eatlocal/.env in the user home directory. pathlib's Path().home() makes sure that we have the correct user directory under all supported OS,
Now what is happening is the following:
eatlocal init will ask the user for their username, password and local pybites repo. Once confirmed, it will store these values under .eatlocal/.env. Next time you run eatlocal, it will load these variables with dotenv_variables, not with dotenv_load so they are directly loaded as a dictionary and not stored as env vars in the system (which is only temporarily for the current session but still, we don't need this). So whenever the username or the local repository changes, the user can just run eatlocal init again.
When you try to run a command without init first, you will see the following two messages:
⚠ Could not find or read .eatlocal/.env in your home directory.
Please run eatlocal init first.

@rhelmstedter if we want to do this, I have to update the REadme, too. BEcause we no longer need any env vars, so we can delete all the sections about setting env vars for different OS

repo: rhelmstedter/eatlocal


text:
Repository structure

Hey guys!
I'm currently thinking about the repository structure. At the moment, the master features only the most basic boilerplate, to avoid libs and clutter that are not needed for some people.
The different extensions like routing, streaming and so on reside in dedicated feature branches.
I am not sure, if I like this approach.
On the one hand, I want to provide a very basic template that you don't need to delete half of the packages from when working with it and that illustrates the basic SSR workflow. On the other hand, I want to provide a full jump-start-boilerplate for PWA at some point soon.
The full example could go into master and the feature branches could hold the basic example and extended examples or the approach like it is now continues.
I need your feedback :-)

@rherwig I like the approach of having the full stack in the master branch with feature branches for specific branches.

After some re-thinking I like the idea of master being basic, maybe a new repo with the real world stack ready and keep specific examples in this repo? By the way I've used this template to write a production ready app so I'm happy to help with providing a real world example.

@crabbits SGTM. I'm creating a separate issue to collect, which feature users want to have in the real world example.

authors: crabbits rherwig


text:
I have the build success but the localhost:3000 is having errors

What is the current behavior?
But the localhost:3000 is saying no bundle.js
Add a screenshot (if applicable)

What is the expected behaviour?
Steps to reproduce

Work around (if any)
Environment (include versions)
OS:
Device:
Browser:
Node version ($ node -v):
NPM version ($ npm -v):
Other notes

Hi @txs , one of the recent refactors broke Dev mode.
I've just committed a fix for this. Please check & let me know.
Thanks.

thanks I'll clone again and try!

After install, the npm warm tell me to install file-loader, react@15.4.1, and react-native@0.28
However, after I run the web. It show me error about react-native. so I install it. Then, it tell me to use react@15.3.2. What should I do?

Please add react-native-web in the package.json

I delete everything and use yarn! And everything work except the warning in console.log
'Warning: "tintColor" is not a valid style property.
StyleSheet defaultSelectedIcon: {
"tintColor": "rgb(0, 122, 255)"
}
Valid style props: [
"MozOsxFontSmoothing",
"WebkitFontSmoothing",
"WebkitOverflowScrolling",
"alignContent",
"alignItems",
"alignSelf",
"appearance",
"backfaceVisibility",
"backgroundAttachment",
"backgroundClip",
"backgroundColor",
"backgroundImage",
"backgroundOrigin",
"backgroundPosition",
"backgroundRepeat",
"backgroundSize",
"borderBottomColor",
"borderBottomLeftRadius",
"borderBottomLeftRadius$noI18n",
"borderBottomRightRadius",
"borderBottomRightRadius$noI18n",
"borderBottomStyle",
"borderBottomWidth",
"borderColor",
"borderLeftColor",
"borderLeftColor$noI18n",
"borderLeftStyle",
"borderLeftStyle$noI18n",
"borderLeftWidth",
"borderLeftWidth$noI18n",
"borderRadius",
"borderRightColor",
"borderRightColor$noI18n",
"borderRightStyle",
"borderRightStyle$noI18n",
"borderRightWidth",
"borderRightWidth$noI18n",
"borderStyle",
"borderTopColor",
"borderTopLeftRadius",
"borderTopLeftRadius$noI18n",
"borderTopRightRadius",
"borderTopRightRadius$noI18n",
"borderTopStyle",
"borderTopWidth",
"borderWidth",
"bottom",
"boxShadow",
"boxSizing",
"clear",
"color",
"cursor",
"display",
"flex",
"flexBasis",
"flexDirection",
"flexGrow",
"flexShrink",
"flexWrap",
"float",
"font",
"fontFamily",
"fontSize",
"fontStyle",
"fontWeight",
"height",
"justifyContent",
"left",
"left$noI18n",
"letterSpacing",
"lineHeight",
"listStyle",
"margin",
"marginBottom",
"marginHorizontal",
"marginLeft",
"marginLeft$noI18n",
"marginRight",
"marginRight$noI18n",
"marginTop",
"marginVertical",
"maxHeight",
"maxWidth",
"minHeight",
"minWidth",
"opacity",
"order",
"outline",
"overflow",
"overflowX",
"overflowY",
"padding",
"paddingBottom",
"paddingHorizontal",
"paddingLeft",
"paddingLeft$noI18n",
"paddingRight",
"paddingRight$noI18n",
"paddingTop",
"paddingVertical",
"position",
"resizeMode",
"right",
"right$noI18n",
"textAlign",
"textAlign$noI18n",
"textAlignVertical",
"textDecorationLine",
"textOverflow",
"textRendering",
"textShadowColor",
"textShadowOffset",
"textShadowOffset$noI18n",
"textShadowRadius",
"textTransform",
"top",
"transform",
"transition",
"unicodeBidi",
"userSelect",
"visibility",
"whiteSpace",
"width",
"wordWrap",
"writingDirection",
"writingDirection$noI18n",
"zIndex"
]
printWarning @ warning.js:36
warning @ warning.js:60
styleError @ StyleSheetValidation.js:58
validateStyleProp @ StyleSheetValidation.js:25
validateStyle @ StyleSheetValidation.js:45
create @ index.js:55
(anonymous) @ TabNavigator.js:170
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ Tabs.js:1
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ index.js:16
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ App.js:4
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ index.web.js:8
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ bootstrap 69bf5d8…:578
webpack_require @ bootstrap 69bf5d8…:555
(anonymous) @ bootstrap 69bf5d8…:578
(anonymous) @ bootstrap 69bf5d8…:578
warning.js:36Warning: Invalid prop overflow of value scroll supplied to StyleSheet scroll, expected one of ["auto","hidden","visible"].
StyleSheet scroll: {
"overflow": "scroll"
}
printWarning @ warning.js:36
warning @ warning.js:60
styleError @ StyleSheetValidation.js:58
validateStyleProp @ StyleSheetValidation.js:36
validateStyle @ StyleSheetValidation.js:45
create @ index.js:55
(anonymous) @ TabBar.js:15
(anonymous) @ bundle.js:34809
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ bundle.js:66968
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ MainView.js:9
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ App.js:9
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ index.web.js:8
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ bootstrap 69bf5d8…:578
webpack_require @ bootstrap 69bf5d8…:555
(anonymous) @ bootstrap 69bf5d8…:578
(anonymous) @ bootstrap 69bf5d8…:578
warning.js:36Warning: "elevation" is not a valid style property.
StyleSheet tabbar: {
"backgroundColor": "black",
"elevation": 4,
"shadowColor": "black",
"shadowOpacity": 0.1,
"shadowRadius": 1,
"shadowOffset": {
"height": 1
},
"zIndex": 1
}
Valid style props: [
"MozOsxFontSmoothing",
"WebkitFontSmoothing",
"WebkitOverflowScrolling",
"alignContent",
"alignItems",
"alignSelf",
"appearance",
"backfaceVisibility",
"backgroundAttachment",
"backgroundClip",
"backgroundColor",
"backgroundImage",
"backgroundOrigin",
"backgroundPosition",
"backgroundRepeat",
"backgroundSize",
"borderBottomColor",
"borderBottomLeftRadius",
"borderBottomLeftRadius$noI18n",
"borderBottomRightRadius",
"borderBottomRightRadius$noI18n",
"borderBottomStyle",
"borderBottomWidth",
"borderColor",
"borderLeftColor",
"borderLeftColor$noI18n",
"borderLeftStyle",
"borderLeftStyle$noI18n",
"borderLeftWidth",
"borderLeftWidth$noI18n",
"borderRadius",
"borderRightColor",
"borderRightColor$noI18n",
"borderRightStyle",
"borderRightStyle$noI18n",
"borderRightWidth",
"borderRightWidth$noI18n",
"borderStyle",
"borderTopColor",
"borderTopLeftRadius",
"borderTopLeftRadius$noI18n",
"borderTopRightRadius",
"borderTopRightRadius$noI18n",
"borderTopStyle",
"borderTopWidth",
"borderWidth",
"bottom",
"boxShadow",
"boxSizing",
"clear",
"color",
"cursor",
"display",
"flex",
"flexBasis",
"flexDirection",
"flexGrow",
"flexShrink",
"flexWrap",
"float",
"font",
"fontFamily",
"fontSize",
"fontStyle",
"fontWeight",
"height",
"justifyContent",
"left",
"left$noI18n",
"letterSpacing",
"lineHeight",
"listStyle",
"margin",
"marginBottom",
"marginHorizontal",
"marginLeft",
"marginLeft$noI18n",
"marginRight",
"marginRight$noI18n",
"marginTop",
"marginVertical",
"maxHeight",
"maxWidth",
"minHeight",
"minWidth",
"opacity",
"order",
"outline",
"overflow",
"overflowX",
"overflowY",
"padding",
"paddingBottom",
"paddingHorizontal",
"paddingLeft",
"paddingLeft$noI18n",
"paddingRight",
"paddingRight$noI18n",
"paddingTop",
"paddingVertical",
"position",
"resizeMode",
"right",
"right$noI18n",
"textAlign",
"textAlign$noI18n",
"textAlignVertical",
"textDecorationLine",
"textOverflow",
"textRendering",
"textShadowColor",
"textShadowOffset",
"textShadowOffset$noI18n",
"textShadowRadius",
"textTransform",
"top",
"transform",
"transition",
"unicodeBidi",
"userSelect",
"visibility",
"whiteSpace",
"width",
"wordWrap",
"writingDirection",
"writingDirection$noI18n",
"zIndex"
]
printWarning @ warning.js:36
warning @ warning.js:60
styleError @ StyleSheetValidation.js:58
validateStyleProp @ StyleSheetValidation.js:25
validateStyle @ StyleSheetValidation.js:45
create @ index.js:55
(anonymous) @ TabBar.js:15
(anonymous) @ bundle.js:34809
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ bundle.js:66968
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ MainView.js:9
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ App.js:9
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ index.web.js:8
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ bootstrap 69bf5d8…:578
webpack_require @ bootstrap 69bf5d8…:555
(anonymous) @ bootstrap 69bf5d8…:578
(anonymous) @ bootstrap 69bf5d8…:578
warning.js:36Warning: "shadowColor" is not a valid style property.
StyleSheet tabbar: {
"backgroundColor": "black",
"elevation": 4,
"shadowColor": "black",
"shadowOpacity": 0.1,
"shadowRadius": 1,
"shadowOffset": {
"height": 1
},
"zIndex": 1
}
Valid style props: [
"MozOsxFontSmoothing",
"WebkitFontSmoothing",
"WebkitOverflowScrolling",
"alignContent",
"alignItems",
"alignSelf",
"appearance",
"backfaceVisibility",
"backgroundAttachment",
"backgroundClip",
"backgroundColor",
"backgroundImage",
"backgroundOrigin",
"backgroundPosition",
"backgroundRepeat",
"backgroundSize",
"borderBottomColor",
"borderBottomLeftRadius",
"borderBottomLeftRadius$noI18n",
"borderBottomRightRadius",
"borderBottomRightRadius$noI18n",
"borderBottomStyle",
"borderBottomWidth",
"borderColor",
"borderLeftColor",
"borderLeftColor$noI18n",
"borderLeftStyle",
"borderLeftStyle$noI18n",
"borderLeftWidth",
"borderLeftWidth$noI18n",
"borderRadius",
"borderRightColor",
"borderRightColor$noI18n",
"borderRightStyle",
"borderRightStyle$noI18n",
"borderRightWidth",
"borderRightWidth$noI18n",
"borderStyle",
"borderTopColor",
"borderTopLeftRadius",
"borderTopLeftRadius$noI18n",
"borderTopRightRadius",
"borderTopRightRadius$noI18n",
"borderTopStyle",
"borderTopWidth",
"borderWidth",
"bottom",
"boxShadow",
"boxSizing",
"clear",
"color",
"cursor",
"display",
"flex",
"flexBasis",
"flexDirection",
"flexGrow",
"flexShrink",
"flexWrap",
"float",
"font",
"fontFamily",
"fontSize",
"fontStyle",
"fontWeight",
"height",
"justifyContent",
"left",
"left$noI18n",
"letterSpacing",
"lineHeight",
"listStyle",
"margin",
"marginBottom",
"marginHorizontal",
"marginLeft",
"marginLeft$noI18n",
"marginRight",
"marginRight$noI18n",
"marginTop",
"marginVertical",
"maxHeight",
"maxWidth",
"minHeight",
"minWidth",
"opacity",
"order",
"outline",
"overflow",
"overflowX",
"overflowY",
"padding",
"paddingBottom",
"paddingHorizontal",
"paddingLeft",
"paddingLeft$noI18n",
"paddingRight",
"paddingRight$noI18n",
"paddingTop",
"paddingVertical",
"position",
"resizeMode",
"right",
"right$noI18n",
"textAlign",
"textAlign$noI18n",
"textAlignVertical",
"textDecorationLine",
"textOverflow",
"textRendering",
"textShadowColor",
"textShadowOffset",
"textShadowOffset$noI18n",
"textShadowRadius",
"textTransform",
"top",
"transform",
"transition",
"unicodeBidi",
"userSelect",
"visibility",
"whiteSpace",
"width",
"wordWrap",
"writingDirection",
"writingDirection$noI18n",
"zIndex"
]
printWarning @ warning.js:36
warning @ warning.js:60
styleError @ StyleSheetValidation.js:58
validateStyleProp @ StyleSheetValidation.js:25
validateStyle @ StyleSheetValidation.js:45
create @ index.js:55
(anonymous) @ TabBar.js:15
(anonymous) @ bundle.js:34809
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ bundle.js:66968
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ MainView.js:9
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ App.js:9
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ index.web.js:8
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ bootstrap 69bf5d8…:578
webpack_require @ bootstrap 69bf5d8…:555
(anonymous) @ bootstrap 69bf5d8…:578
(anonymous) @ bootstrap 69bf5d8…:578
warning.js:36Warning: "shadowOpacity" is not a valid style property.
StyleSheet tabbar: {
"backgroundColor": "black",
"elevation": 4,
"shadowColor": "black",
"shadowOpacity": 0.1,
"shadowRadius": 1,
"shadowOffset": {
"height": 1
},
"zIndex": 1
}
Valid style props: [
"MozOsxFontSmoothing",
"WebkitFontSmoothing",
"WebkitOverflowScrolling",
"alignContent",
"alignItems",
"alignSelf",
"appearance",
"backfaceVisibility",
"backgroundAttachment",
"backgroundClip",
"backgroundColor",
"backgroundImage",
"backgroundOrigin",
"backgroundPosition",
"backgroundRepeat",
"backgroundSize",
"borderBottomColor",
"borderBottomLeftRadius",
"borderBottomLeftRadius$noI18n",
"borderBottomRightRadius",
"borderBottomRightRadius$noI18n",
"borderBottomStyle",
"borderBottomWidth",
"borderColor",
"borderLeftColor",
"borderLeftColor$noI18n",
"borderLeftStyle",
"borderLeftStyle$noI18n",
"borderLeftWidth",
"borderLeftWidth$noI18n",
"borderRadius",
"borderRightColor",
"borderRightColor$noI18n",
"borderRightStyle",
"borderRightStyle$noI18n",
"borderRightWidth",
"borderRightWidth$noI18n",
"borderStyle",
"borderTopColor",
"borderTopLeftRadius",
"borderTopLeftRadius$noI18n",
"borderTopRightRadius",
"borderTopRightRadius$noI18n",
"borderTopStyle",
"borderTopWidth",
"borderWidth",
"bottom",
"boxShadow",
"boxSizing",
"clear",
"color",
"cursor",
"display",
"flex",
"flexBasis",
"flexDirection",
"flexGrow",
"flexShrink",
"flexWrap",
"float",
"font",
"fontFamily",
"fontSize",
"fontStyle",
"fontWeight",
"height",
"justifyContent",
"left",
"left$noI18n",
"letterSpacing",
"lineHeight",
"listStyle",
"margin",
"marginBottom",
"marginHorizontal",
"marginLeft",
"marginLeft$noI18n",
"marginRight",
"marginRight$noI18n",
"marginTop",
"marginVertical",
"maxHeight",
"maxWidth",
"minHeight",
"minWidth",
"opacity",
"order",
"outline",
"overflow",
"overflowX",
"overflowY",
"padding",
"paddingBottom",
"paddingHorizontal",
"paddingLeft",
"paddingLeft$noI18n",
"paddingRight",
"paddingRight$noI18n",
"paddingTop",
"paddingVertical",
"position",
"resizeMode",
"right",
"right$noI18n",
"textAlign",
"textAlign$noI18n",
"textAlignVertical",
"textDecorationLine",
"textOverflow",
"textRendering",
"textShadowColor",
"textShadowOffset",
"textShadowOffset$noI18n",
"textShadowRadius",
"textTransform",
"top",
"transform",
"transition",
"unicodeBidi",
"userSelect",
"visibility",
"whiteSpace",
"width",
"wordWrap",
"writingDirection",
"writingDirection$noI18n",
"zIndex"
]
printWarning @ warning.js:36
warning @ warning.js:60
styleError @ StyleSheetValidation.js:58
validateStyleProp @ StyleSheetValidation.js:25
validateStyle @ StyleSheetValidation.js:45
create @ index.js:55
(anonymous) @ TabBar.js:15
(anonymous) @ bundle.js:34809
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ bundle.js:66968
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ MainView.js:9
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ App.js:9
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ index.web.js:8
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ bootstrap 69bf5d8…:578
webpack_require @ bootstrap 69bf5d8…:555
(anonymous) @ bootstrap 69bf5d8…:578
(anonymous) @ bootstrap 69bf5d8…:578
warning.js:36Warning: "shadowRadius" is not a valid style property.
StyleSheet tabbar: {
"backgroundColor": "black",
"elevation": 4,
"shadowColor": "black",
"shadowOpacity": 0.1,
"shadowRadius": 1,
"shadowOffset": {
"height": 1
},
"zIndex": 1
}
Valid style props: [
"MozOsxFontSmoothing",
"WebkitFontSmoothing",
"WebkitOverflowScrolling",
"alignContent",
"alignItems",
"alignSelf",
"appearance",
"backfaceVisibility",
"backgroundAttachment",
"backgroundClip",
"backgroundColor",
"backgroundImage",
"backgroundOrigin",
"backgroundPosition",
"backgroundRepeat",
"backgroundSize",
"borderBottomColor",
"borderBottomLeftRadius",
"borderBottomLeftRadius$noI18n",
"borderBottomRightRadius",
"borderBottomRightRadius$noI18n",
"borderBottomStyle",
"borderBottomWidth",
"borderColor",
"borderLeftColor",
"borderLeftColor$noI18n",
"borderLeftStyle",
"borderLeftStyle$noI18n",
"borderLeftWidth",
"borderLeftWidth$noI18n",
"borderRadius",
"borderRightColor",
"borderRightColor$noI18n",
"borderRightStyle",
"borderRightStyle$noI18n",
"borderRightWidth",
"borderRightWidth$noI18n",
"borderStyle",
"borderTopColor",
"borderTopLeftRadius",
"borderTopLeftRadius$noI18n",
"borderTopRightRadius",
"borderTopRightRadius$noI18n",
"borderTopStyle",
"borderTopWidth",
"borderWidth",
"bottom",
"boxShadow",
"boxSizing",
"clear",
"color",
"cursor",
"display",
"flex",
"flexBasis",
"flexDirection",
"flexGrow",
"flexShrink",
"flexWrap",
"float",
"font",
"fontFamily",
"fontSize",
"fontStyle",
"fontWeight",
"height",
"justifyContent",
"left",
"left$noI18n",
"letterSpacing",
"lineHeight",
"listStyle",
"margin",
"marginBottom",
"marginHorizontal",
"marginLeft",
"marginLeft$noI18n",
"marginRight",
"marginRight$noI18n",
"marginTop",
"marginVertical",
"maxHeight",
"maxWidth",
"minHeight",
"minWidth",
"opacity",
"order",
"outline",
"overflow",
"overflowX",
"overflowY",
"padding",
"paddingBottom",
"paddingHorizontal",
"paddingLeft",
"paddingLeft$noI18n",
"paddingRight",
"paddingRight$noI18n",
"paddingTop",
"paddingVertical",
"position",
"resizeMode",
"right",
"right$noI18n",
"textAlign",
"textAlign$noI18n",
"textAlignVertical",
"textDecorationLine",
"textOverflow",
"textRendering",
"textShadowColor",
"textShadowOffset",
"textShadowOffset$noI18n",
"textShadowRadius",
"textTransform",
"top",
"transform",
"transition",
"unicodeBidi",
"userSelect",
"visibility",
"whiteSpace",
"width",
"wordWrap",
"writingDirection",
"writingDirection$noI18n",
"zIndex"
]
printWarning @ warning.js:36
warning @ warning.js:60
styleError @ StyleSheetValidation.js:58
validateStyleProp @ StyleSheetValidation.js:25
validateStyle @ StyleSheetValidation.js:45
create @ index.js:55
(anonymous) @ TabBar.js:15
(anonymous) @ bundle.js:34809
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ bundle.js:66968
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ MainView.js:9
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ App.js:9
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ index.web.js:8
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ bootstrap 69bf5d8…:578
webpack_require @ bootstrap 69bf5d8…:555
(anonymous) @ bootstrap 69bf5d8…:578
(anonymous) @ bootstrap 69bf5d8…:578
warning.js:36Warning: "shadowOffset" is not a valid style property.
StyleSheet tabbar: {
"backgroundColor": "black",
"elevation": 4,
"shadowColor": "black",
"shadowOpacity": 0.1,
"shadowRadius": 1,
"shadowOffset": {
"height": 1
},
"zIndex": 1
}
Valid style props: [
"MozOsxFontSmoothing",
"WebkitFontSmoothing",
"WebkitOverflowScrolling",
"alignContent",
"alignItems",
"alignSelf",
"appearance",
"backfaceVisibility",
"backgroundAttachment",
"backgroundClip",
"backgroundColor",
"backgroundImage",
"backgroundOrigin",
"backgroundPosition",
"backgroundRepeat",
"backgroundSize",
"borderBottomColor",
"borderBottomLeftRadius",
"borderBottomLeftRadius$noI18n",
"borderBottomRightRadius",
"borderBottomRightRadius$noI18n",
"borderBottomStyle",
"borderBottomWidth",
"borderColor",
"borderLeftColor",
"borderLeftColor$noI18n",
"borderLeftStyle",
"borderLeftStyle$noI18n",
"borderLeftWidth",
"borderLeftWidth$noI18n",
"borderRadius",
"borderRightColor",
"borderRightColor$noI18n",
"borderRightStyle",
"borderRightStyle$noI18n",
"borderRightWidth",
"borderRightWidth$noI18n",
"borderStyle",
"borderTopColor",
"borderTopLeftRadius",
"borderTopLeftRadius$noI18n",
"borderTopRightRadius",
"borderTopRightRadius$noI18n",
"borderTopStyle",
"borderTopWidth",
"borderWidth",
"bottom",
"boxShadow",
"boxSizing",
"clear",
"color",
"cursor",
"display",
"flex",
"flexBasis",
"flexDirection",
"flexGrow",
"flexShrink",
"flexWrap",
"float",
"font",
"fontFamily",
"fontSize",
"fontStyle",
"fontWeight",
"height",
"justifyContent",
"left",
"left$noI18n",
"letterSpacing",
"lineHeight",
"listStyle",
"margin",
"marginBottom",
"marginHorizontal",
"marginLeft",
"marginLeft$noI18n",
"marginRight",
"marginRight$noI18n",
"marginTop",
"marginVertical",
"maxHeight",
"maxWidth",
"minHeight",
"minWidth",
"opacity",
"order",
"outline",
"overflow",
"overflowX",
"overflowY",
"padding",
"paddingBottom",
"paddingHorizontal",
"paddingLeft",
"paddingLeft$noI18n",
"paddingRight",
"paddingRight$noI18n",
"paddingTop",
"paddingVertical",
"position",
"resizeMode",
"right",
"right$noI18n",
"textAlign",
"textAlign$noI18n",
"textAlignVertical",
"textDecorationLine",
"textOverflow",
"textRendering",
"textShadowColor",
"textShadowOffset",
"textShadowOffset$noI18n",
"textShadowRadius",
"textTransform",
"top",
"transform",
"transition",
"unicodeBidi",
"userSelect",
"visibility",
"whiteSpace",
"width",
"wordWrap",
"writingDirection",
"writingDirection$noI18n",
"zIndex"
]
printWarning @ warning.js:36
warning @ warning.js:60
styleError @ StyleSheetValidation.js:58
validateStyleProp @ StyleSheetValidation.js:25
validateStyle @ StyleSheetValidation.js:45
create @ index.js:55
(anonymous) @ TabBar.js:15
(anonymous) @ bundle.js:34809
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ bundle.js:66968
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ MainView.js:9
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ App.js:9
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ index.web.js:8
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ bootstrap 69bf5d8…:578
webpack_require @ bootstrap 69bf5d8…:555
(anonymous) @ bootstrap 69bf5d8…:578
(anonymous) @ bootstrap 69bf5d8…:578
index.js:72Running application "rhinosapp" with appParams: {"rootTag":"#react-root"}. development-level warnings are ON, performance optimizations are OFF
warning.js:36Warning: Failed prop type: Invalid prop overflow of value scroll supplied to View, expected one of ["auto","hidden","visible"].
Bad object: {
"overflow": "scroll"
}
in View (created by TabBar)
in TabBar (created by TabBarTop)
in TabBarTop (created by TabViewTransitioner)
in div (created by View)
in View (created by TabViewTransitioner)
in div (created by View)
in View (created by TabViewTransitioner)
in TabViewTransitioner (created by TabViewAnimated)
in TabViewAnimated (created by MainView)
in MainView (created by SimpleNavigator)
in div (created by View)
in View (created by AnimatedComponent)
in AnimatedComponent (created by SimpleNavigator)
in SimpleNavigator (created by App)
in div (created by View)
in View (created by App)
in div (created by View)
in View (created by AnimatedComponent)
in AnimatedComponent (created by SideMenu)
in div (created by View)
in View (created by SideMenu)
in SideMenu (created by App)
in App (created by ReactNativeApp)
in div (created by View)
in View (created by ReactNativeApp)
in ReactNativeApp
printWarning @ warning.js:36
warning @ warning.js:60
checkReactTypeSpec @ checkReactTypeSpec.js:81
validatePropTypes @ ReactElementValidator.js:153
createElement @ ReactElementValidator.js:189
render @ TabBar.js:290
(anonymous) @ ReactCompositeComponent.js:793
measureLifeCyclePerf @ ReactCompositeComponent.js:74
_renderValidatedComponentWithoutOwnerOrContext @ ReactCompositeComponent.js:792
_renderValidatedComponent @ ReactCompositeComponent.js:819
performInitialMount @ ReactCompositeComponent.js:361
mountComponent @ ReactCompositeComponent.js:257
mountComponent @ ReactReconciler.js:47
performInitialMount @ ReactCompositeComponent.js:370
mountComponent @ ReactCompositeComponent.js:257
mountComponent @ ReactReconciler.js:47
mountChildren @ ReactMultiChild.js:240
_createInitialChildren @ ReactDOMComponent.js:699
mountComponent @ ReactDOMComponent.js:524
mountComponent @ ReactReconciler.js:47
performInitialMount @ ReactCompositeComponent.js:370
mountComponent @ ReactCompositeComponent.js:257
mountComponent @ ReactReconciler.js:47
mountChildren @ ReactMultiChild.js:240
_createInitialChildren @ ReactDOMComponent.js:699
mountComponent @ ReactDOMComponent.js:524
mountComponent @ ReactReconciler.js:47
performInitialMount @ ReactCompositeComponent.js:370
mountComponent @ ReactCompositeComponent.js:257
mountComponent @ ReactReconciler.js:47
performInitialMount @ ReactCompositeComponent.js:370
mountComponent @ ReactCompositeComponent.js:257
mountComponent @ ReactReconciler.js:47
performInitialMount @ ReactCompositeComponent.js:370
mountComponent @ ReactCompositeComponent.js:257
mountComponent @ ReactReconciler.js:47
performInitialMount @ ReactCompositeComponent.js:370
mountComponent @ ReactCompositeComponent.js:257
mountComponent @ ReactReconciler.js:47
mountChildren @ ReactMultiChild.js:240
_createInitialChildren @ ReactDOMComponent.js:699
mountComponent @ ReactDOMComponent.js:524
mountComponent @ ReactReconciler.js:47
performInitialMount @ ReactCompositeComponent.js:370
mountComponent @ ReactCompositeComponent.js:257
mountComponent @ ReactReconciler.js:47
performInitialMount @ ReactCompositeComponent.js:370
mountComponent @ ReactCompositeComponent.js:257
mountComponent @ ReactReconciler.js:47
performInitialMount @ ReactCompositeComponent.js:370
mountComponent @ ReactCompositeComponent.js:257
mountComponent @ ReactReconciler.js:47
mountChildren @ ReactMultiChild.js:240
_createInitialChildren @ ReactDOMComponent.js:699
mountComponent @ ReactDOMComponent.js:524
mountComponent @ ReactReconciler.js:47
performInitialMount @ ReactCompositeComponent.js:370
mountComponent @ ReactCompositeComponent.js:257
mountComponent @ ReactReconciler.js:47
mountChildren @ ReactMultiChild.js:240
_createInitialChildren @ ReactDOMComponent.js:699
mountComponent @ ReactDOMComponent.js:524
mountComponent @ ReactReconciler.js:47
performInitialMount @ ReactCompositeComponent.js:370
mountComponent @ ReactCompositeComponent.js:257
mountComponent @ ReactReconciler.js:47
performInitialMount @ ReactCompositeComponent.js:370
mountComponent @ ReactCompositeComponent.js:257
mountComponent @ ReactReconciler.js:47
mountChildren @ ReactMultiChild.js:240
_createInitialChildren @ ReactDOMComponent.js:699
mountComponent @ ReactDOMComponent.js:524
mountComponent @ ReactReconciler.js:47
performInitialMount @ ReactCompositeComponent.js:370
mountComponent @ ReactCompositeComponent.js:257
mountComponent @ ReactReconciler.js:47
performInitialMount @ ReactCompositeComponent.js:370
mountComponent @ ReactCompositeComponent.js:257
mountComponent @ ReactReconciler.js:47
performInitialMount @ ReactCompositeComponent.js:370
mountComponent @ ReactCompositeComponent.js:257
mountComponent @ ReactReconciler.js:47
mountChildren @ ReactMultiChild.js:240
_createInitialChildren @ ReactDOMComponent.js:699
mountComponent @ ReactDOMComponent.js:524
mountComponent @ ReactReconciler.js:47
performInitialMount @ ReactCompositeComponent.js:370
mountComponent @ ReactCompositeComponent.js:257
mountComponent @ ReactReconciler.js:47
performInitialMount @ ReactCompositeComponent.js:370
mountComponent @ ReactCompositeComponent.js:257
mountComponent @ ReactReconciler.js:47
performInitialMount @ ReactCompositeComponent.js:370
mountComponent @ ReactCompositeComponent.js:257
mountComponent @ ReactReconciler.js:47
mountComponentIntoNode @ ReactMount.js:105
perform @ Transaction.js:138
batchedMountComponentIntoNode @ ReactMount.js:127
perform @ Transaction.js:138
batchedUpdates @ ReactDefaultBatchingStrategy.js:63
batchedUpdates @ ReactUpdates.js:98
_renderNewRootComponent @ ReactMount.js:321
_renderSubtreeIntoContainer @ ReactMount.js:402
render @ ReactMount.js:423
renderApplication @ renderApplication.js:28
run @ index.js:45
runApplication @ index.js:84
(anonymous) @ index.web.js:12
webpack_require @ bootstrap 69bf5d8…:555
fn @ bootstrap 69bf5d8…:86
(anonymous) @ bootstrap 69bf5d8…:578
webpack_require @ bootstrap 69bf5d8…:555
(anonymous) @ bootstrap 69bf5d8…:578
(anonymous) @ bootstrap 69bf5d8…:578
warning.js:36Warning: Failed prop type: Invalid props.style key elevation supplied to View.
Bad object: {
"backgroundColor": "black",
"elevation": 4,
"shadowColor": "black",
"shadowOpacity": 0.1,
"shadowRadius": 1,
"shadowOffset": {
"height": 1
},
"zIndex": 1,
"width": "102%"
}
Valid keys: [
"borderColor",
"borderTopColor",
"borderRightColor",
"borderBottomColor",
"borderLeftColor",
"borderRadius",
"borderTopLeftRadius",
"borderTopRightRadius",
"borderBottomLeftRadius",
"borderBottomRightRadius",
"borderStyle",
"borderTopStyle",
"borderRightStyle",
"borderBottomStyle",
"borderLeftStyle",
"borderLeftColor$noI18n",
"borderRightColor$noI18n",
"borderTopLeftRadius$noI18n",
"borderTopRightRadius$noI18n",
"borderBottomLeftRadius$noI18n",
"borderBottomRightRadius$noI18n",
"borderLeftStyle$noI18n",
"borderRightStyle$noI18n",
"borderWidth",
"borderBottomWidth",
"borderLeftWidth",
"borderRightWidth",
"borderTopWidth",
"boxSizing",
"height",
"margin",
"marginBottom",
"marginHorizontal",
"marginLeft",
"marginRight",
"marginTop",
"marginVertical",
"maxHeight",
"maxWidth",
"minHeight",
"minWidth",
"padding",
"paddingBottom",
"paddingHorizontal",
"paddingLeft",
"paddingRight",
"paddingTop",
"paddingVertical",
"width",
"alignContent",
"alignItems",
"alignSelf",
"flex",
"flexBasis",
"flexDirection",
"flexGrow",
"flexShrink",
"flexWrap",
"justifyContent",
"order",
"bottom",
"left",
"position",
"right",
"top",
"borderLeftWidth$noI18n",
"borderRightWidth$noI18n",
"left$noI18n",
"marginLeft$noI18n",
"marginRight$noI18n",
"paddingLeft$noI18n",
"paddingRight$noI18n",
"right$noI18n",
"transform",
"backfaceVisibility",
"backgroundColor",
"opacity",
"overflow",
"zIndex",
"backgroundAttachment",
"backgroundClip",
"backgroundImage",
"backgroundPosition",
"backgroundOrigin",
"backgroundRepeat",
"backgroundSize",
"boxShadow",
"cursor",
"outline",
"overflowX",
"overflowY",
"transition",
"userSelect",
"visibility",
"WebkitOverflowScrolling"
]
in View (created by AnimatedComponent)
in AnimatedComponent (created by TabBar)
in TabBar (created by TabBarTop)
in TabBarTop (created by TabViewTransitioner)
in div (created by View)
in View (created by TabViewTransitioner)
in div (created by View)
in View (created by TabViewTransitioner)
in TabViewTransitioner (created by TabViewAnimated)
in TabViewAnimated (created by MainView)
in MainView (created by SimpleNavigator)
in div (created by View)
in View (created by AnimatedComponent)
in AnimatedComponent (created by SimpleNavigator)
in SimpleNavigator (created by App)
in div (created by View)
in View (created by App)
in div (created by View)
in View (created by AnimatedComponent)
in AnimatedComponent (created by SideMenu)
in div (created by View)
in View (created by SideMenu)
in SideMenu (created by App)
in App (created by ReactNativeApp)
in div (created by View)
in View (created by ReactNativeApp)
in ReactNativeApp'

@txs the warning is intentional according to react-native-web's author. I know it's annoying & will follow up with him.
https://github.com/necolas/react-native-web/issues/104
I'm closing this issue, feel free to create a new issue if you want.

Thanks for helping
On Dec 14, 2016 08:40, "Duc Ng" notifications@github.com wrote:

Closed #1 https://github.com/rhinos-app/rhinos-app-dev/issues/1.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rhinos-app/rhinos-app-dev/issues/1#event-892929856,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAh1WcexNrzI4I9qs29pSO5g6tUXkEWoks5rHzr9gaJpZM4LK9N3
.

authors: ngduc txs

repo: rhinos-app/rhinos-app-dev

license: mit


text:
🛑 BOS2 is down

In 524bfde, BOS2 ($URL_BOS2) was down:

HTTP code: 0
Response time: 0 ms

Resolved: BOS2 is back up in a4feb33 after 39 minutes.

repo: rholak/upptime


text:
🛑 BOS2 is down

In b907716, BOS2 ($URL_BOS2) was down:

HTTP code: 0
Response time: 0 ms

Resolved: BOS2 is back up in d542607 after 23 minutes.


text:
behavior of number of classes option

There is a need to unify what each discretization method return with weird "nb" option.
Since v1, some cases are handled with a default number of classes and an error message for higher breaks than values.
But there is still cases who need unification.
When nb is...

a floating number => strange result with all methods
1 => does it makes sense to run a method if we knows from start that it should return [min, max] or an empty array with minmax: false option. Why not intercept this case before running a discretization.
0 => is there a reason to allow it? Return default nb=5 or an error message?

@TomBor @neocarto, do any of you intend to make this contribution?
If not, I volunteer to do so (in which case would it be OK for you @TomBor to review it?).

Ok for me. Thanks @mthh

@mthh I'm fine with reviewing your contribution!

authors: TomBor mthh neocarto

repo: riatelab/statsbreaks


text:
Rice document: Table footnotes

Move table footnotes inside of table, and do not treat them as footnotes but as notes within table, with letter references rather than numbers. HTML2Doc needs to ignore these footnotes.
Figure footnotes will do the same.

Steps:

In Asciidoctor-ISO
** Renumber footnotes sequentially
** Take table and figure footnotes out of the sequence, and number them by letter instead, restarting each table
** Give same number for repeated footnote text

In IsoDoc
** Place table and figure footnotes inside of tables and figures, instead of in the footnote sequence of Word

Done Asciidoctor-ISO component.

Working for Table 1 in Rice document; not yet for Table 2 (which needs to create new tfoot container), and need to take care of borders.

Need tab after footnotes. Figure footnotes need to be merged into figure key, and (since they are in the figure itself) have no footnote reference.

Tab inserted after footnotes.

Figure footnotes added into Key.

repo: riboseinc/isodoc


text:
exercise on continuations (from previous course)

Hello, I was looking at an exercise presented in a previous course (here: https://github.com/gioenn/pl/blob/master/ex4.rkt)
it mimics a parallel computation with tasks, a queue and accessory coroutines like enqueue, dequeue, fork and yield.
code is as following
(define *queue* '())

(define (empty-queue?)
  (null? *queue*))

(define (enqueue x)
  (set! *queue* (append *queue* (list x))))

(define (dequeue)
  (let ((x (car *queue*)))
    (set! *queue* (cdr *queue*))
    x))

(define (fork proc)
  (call/cc (lambda(k)
             (enqueue k)
             (proc))))

(define (yield)
  (call/cc (lambda(k)
             (enqueue k)
             ((dequeue)))))

(define (c-exit)
  (if (empty-queue?)
      (exit)
      ((dequeue))))

(define ((do-stuff-n-print str max))
  (let loop ((n 0))
    (display str)
    (display " ")
    (display n)
    (newline)
    (yield)
    (if (< n max)
        (loop (+ 1 n))
        (c-exit))))

(define (main)
  (begin
    (fork (do-stuff-n-print "This is A" 3))
    (fork (do-stuff-n-print "This is B" 4))
    (displayln "End")
    (c-exit)))

running (main) will fork A and B and display "end".
this is the output:
This is A 0
This is B 0
This is A 1
End
This is B 1
This is A 2
This is B 2
This is A 3
This is B 3
This is B 4

in my understanding each fork puts in the queue the continuation (at the point it is called) and then call the process being forked.
When fork A 3 is called , the continuation and therefore what is enqueued should be "fork B, display end".
Afterwards process "do stuff n print A 3" is called, it will print "A 0" and yield.
Yield enqueues the continuation (this time it will be the loop inside dostuffnprint) and executes the result of dequeue ( there are double parenthesis around dequeue in yield).
The result of dequeue is the fist of the queue "fork B, display end, loop A=0" -> fork B.
The fork will enqueue the continuation (which should be display END ?) and executes dostuffnprint B 4.
"B 0" will be printed and yield called which will enqueue the loop in B.
At this point the queue should be  "display end, loop A=0, (display end?), loop B=0"
and in my understanding "display end" should be called;
WHICH DOESN'T HAPPEN because another round of loop in A -> A 1 is called before printing end and continuing with alternating the two "processes", without calling end again even it is part of the continuation of fork A and of the continuation of fork B.
so what i don't understand is:

why there is another round of A 1 instead of calling immediately display end after A 0 and B 0
why display end is not called twice

i'm sure it is something silly i can't grasp, but i figured to ask it here and not privately to share the knowledge.
Thanks,
Massimo.

Hi,
it took me a while to understand what's going on so I'll post what I understood hoping I'm right.
I think end is not displayed right after A0 and B0 because yield also enqueues its continuation, so when it is called by A0 the (if (< n max) ...) continuation is enqueued after the (do-stuff-n-print of B0).

Hi and thank you for helping!
I agree that yield enqueues its continuation, thus when its called by A0 it enqueues the continuation consisting of (if(< n max) which i originally called loop A = 0 in the first post.
But, in my opinion, since fork enqueues its continuation as well,
"fork A" enqueues "fork B" and "display end" BEFORE process A is executed;
meaning that when A will yield, the queue will be  "fork B, display end" and "loop A = 0" will be appended at the end of it resulting in  "fork B, display end, loop A=0".
Or maybe i didn't understand what you are trying to tell me.

Fork A enqueues just a continuation that leads to fork B, not two continuations "fork B" and "display end"
Have you tried to follow what the program is doing by drawing the queue on paper?

yes, i even written in the first post what i think the the queue is at every iteration.
This is interesting, i thought that by "continuation" we mean "whatever is next" , and not just "the next procedure".
Thats why by continuation of fork A i intend al the subsequent procedures, such as fork B and display.
But maybe i understood it wrong

Let's try to follow the execution step by step (almost)

First of all, remember that
do-something-n-print
is a thunk (i.e. a lambda function!)

Let's start by executing
(fork (do-stuff-n-print "This is A" 3))
The evaluation of (do-stuff ...) produces a lambda function, which is then passed to fork

Forks puts the current continuation (that is, as someone said, "whatever there is next", in this case (fork (do-stuff-n-print "This is B" 4)) [let's call it CC1]) in the queue, and then evaluates the procedure passed in as proc. The state of the queue right now is (CC1)

The evaulation of proc caueses the line This is A 0 to be printed. After print, yield is invoked. This implies that the current continuation (the call to if (< n max) [call it CC_A1]) is enqueued (state of the queue (CC1 | CCA1)) and the first continuation from the queue is dequeued and evaluated (state of the queue (CCA1)).

The evaluation of the continuation extracted from the queue leads to the call of (fork (do-stuff-n-print "This is B" 4)). As of point 3, current continuation (in this case displayln "End" [CCE]) is enqueued, the evaulation of proc prints out "This is B 0" and by invoking yield the current continuation (if (< n max), call it CCB1) is enqueued. Current state of the queue is (CCA1 | CCE | CCB1)). Then first continuation in the queue is taken back, so we restart from where we left with CCA1.

Next instruction is the if (< n max), then there is the jump back of the loop and "This is A 1" is printed out. Again, the yield enqueues current continuation (as before, it enqueues a reference to if (< n max) [CCA2]) and dequeues CCE. Current queue is (CCB1 | CCA2).

CCE is evaluated, this prints out "End" and calls (c-exit).The c-exit dequeues the first continuation in queue, that is CCB1.

Like point 6, here we print out "This is B 1", we enqueue current continuation (CCB2) and dequeue first element in queue (CCA2). Current queue is (CCB2).

We can go on like this until we print out "This is B 3". Just before the invocation of the yield the state of the queue is (CCA4). Now the yield" enqueues CCB4 and dequeues CCA4. Since the max for A is 3, the ifinstead of printing out "This is A 4" goes into thec-exit```, which simply extracts first element from the queue (that is CCB4)

Finally, we print out "This is B 4", we reach again the yield and we enqueue CCB5. Like before, yield takes out the first (and only) element from the queue (that is CCB5), reaches a c-exit that finds the queue empty and the program ends.

Hope this clarifies any doubt

What bothered me in the first place was that the continuation of (fork A) should be "whatever is next" meaning both (fork B) AND (display end).
After discussing with a friend after class we agreed that:

the continuation is indeed everything after forkA (if you think at it as a saved Program Counter) it is indeed correct to say that the continuation are all the next instructions (and imprecise to say just the next one)
i was thinking atomically, and thus i put in the queue each and every subsequent instruction in the continuation of (fork A). this led me to think i should have called display end right after forking B .
But this is WRONG because  (fork B) and (display end) are part of the SAME continuation of fork A (called CC1 in the previous example)  meaning that they will occupy just one spot in the queue as a continuation entity and after resuming it and forking B we jump back once again, discarding the rest of the continuation .

That was what i misunderstood.
TL;DR: continuation is a BLOCK of instructions, not just the next one. But as such, it is a block occupying just one spot in the queue and not as many as the instructions in it.

Good job, it seems you're figuring it out.
Just a little correction to the final point of @leadermaxone. The continuation point the next instruction. When the computation restarts from that point, it goes on procedurally on the instructions that follow the one point by the continuation.
Indeed:
(define cont #f)

(displayln "Before1")

(define (during)
  (begin
    (displayln "Before3")
(call/cc (lambda (k)

           (set! cont k) ))
           (displayln "Before4")))

(during)

(displayln "After1")
(displayln "After2")
(displayln "After3")

Before1
Before3
Before4
After1
After2
After3

(cont)

Before4

authors: fcremo leadermaxone osioalberto riccardotommasini

repo: riccardotommasini/plp


text:
can.Message() argument 'extended_id' is 'is_extended_id'?

when I debug code, I've got a problem below:
"canMsg = can.Message(arbitration_id=reqId, extended_id=extended)
TypeError: init() got an unexpected keyword argument 'extended_id'"
the argument 'extended_id' is named 'is_extended_id' in hardbyte/python-can.

Ok, I'll have a look into this one, Sorry for the delay responding
On Tue, 25 Aug 2020 at 10:16, 王存强 notifications@github.com wrote:

when I debug code, I've got a problem below:
"canMsg = can.Message(arbitration_id=reqId, extended_id=extended)
TypeError: init() got an unexpected keyword argument 'extended_id'"
the argument 'extended_id' is named 'is_extended_id' in
hardbyte/python-can.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/richClubb/python-uds/issues/56, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMQRVGW6MDD4UJZAQKTAFLSCN6PRANCNFSM4QKNQPYQ
.

authors: richClubb wangcunqiang

repo: richClubb/python-uds


text:
Update README.md

Update the latest survey paper for radiology report generation and its GitHub repository.

邮件已收到！

authors: AlonzoLeeeooo JiarunLiu


text:
Universe

User should be able to pass a state through iterations of their callback. So far in my experiments I have added another &mut parameter to the callback so that each execution can modify the universe and remember it later. Do we want to think about the execution as centered on the universe or on the device? e.g. universe.run(config, canvas, callback) or config.run(universe, canvas, callback).

i'm curious why this can't be done with Rust's capture of variables in closures?
let mut myUniverse = Universe::new();
run(move |canvas,event|{
     my_universe.do_something();
});

authors: nbrr richardanaya

repo: richardanaya/conifer


text:
blit

@nbrr I feel like a function like this would be useful to a simple non-blending layering system
In my mind, the more I think about this challenge of layering, there more I feel it's likely that we can't do full screen layering, I think the best we could probably do, is to be able to draw a much smaller image with a mask on it.  In old school graphics language, I used to hear this called "blitting", maybe there's something we can learn from the ideas.
In this PR, I just did something super primitive.