Running ct_icp on KITTI

Hello!
I am trying to set-up ct_icp and give it an initial run on the KITTI odometry dataset. I have downloaded it from the official kitti source and converted the .bin velodyne files to .ply and saved them in the velodyne folder. I renamed the original velodyne folder containing the .bin files
Now I want to run your method by:
./install/CT_ICP/bin/run_odometry -c config/odometry/driving_config.yaml
In the config I have changed the dataset option to:
dataset_options:

dataset: KITTI
root_path: /mnt/hdd/KITTI_ODOMETRY/sequences/
use_all_datasets: false
sequence_options:

sequence_name: 07

If at all possible I would not download your KITTI datset as this would occupy another 70GB of space, when I already have KITTI downloaded.
When running this, I always get the following error:
I20240529 12:15:46.457690 3322870 odometry_runner.cpp:99] [File: odometry_runner.cpp, Line: 99] -- Running the odometry on all the following sequences from the Dataset:
I20240529 12:15:46.457703 3322870 odometry_runner.cpp:102] [File: odometry_runner.cpp, Line: 102] -- Name: 07, Num Frames=1100 - With  Ground Truth Poses
I20240529 12:15:46.457782 3322870 odometry_runner.cpp:129] Running the Odometry on the sequence named KITTI_07
terminate called after throwing an instance of 'std::length_error'
what():  vector::_M_default_append
Caught SIGABRT: usually caused by an abort() or assert()
This really isn't very informative to me right now, so I don't really know how to proceed. I will paste the complete terminal output in the comments. I would greatly appreciate some help! Thanks!

WARNING: Logging before InitGoogleLogging() is written to STDERR
I20240529 12:15:46.365061 3322870 dataset.cpp:1092] Could not load ground truth for sequence 18. Expected at location
I20240529 12:15:46.375315 3322870 dataset.cpp:1092] Could not load ground truth for sequence 11. Expected at location
I20240529 12:15:46.429157 3322870 dataset.cpp:1092] Could not load ground truth for sequence 14. Expected at location
I20240529 12:15:46.429169 3322870 dataset.cpp:1092] Could not load ground truth for sequence 17. Expected at location
I20240529 12:15:46.429175 3322870 dataset.cpp:1092] Could not load ground truth for sequence 13. Expected at location
I20240529 12:15:46.441386 3322870 dataset.cpp:1092] Could not load ground truth for sequence 16. Expected at location
I20240529 12:15:46.441396 3322870 dataset.cpp:1092] Could not load ground truth for sequence 20. Expected at location
I20240529 12:15:46.441403 3322870 dataset.cpp:1092] Could not load ground truth for sequence 12. Expected at location
I20240529 12:15:46.441408 3322870 dataset.cpp:1092] Could not load ground truth for sequence 21. Expected at location
I20240529 12:15:46.441414 3322870 dataset.cpp:1092] Could not load ground truth for sequence 15. Expected at location
I20240529 12:15:46.441419 3322870 dataset.cpp:1092] Could not load ground truth for sequence 19. Expected at location
I20240529 12:15:46.457690 3322870 odometry_runner.cpp:99] [File: odometry_runner.cpp, Line: 99] -- Running the odometry on all the following sequences from the Dataset:
I20240529 12:15:46.457703 3322870 odometry_runner.cpp:102] [File: odometry_runner.cpp, Line: 102] -- Name: 07, Num Frames=1100 - With  Ground Truth Poses
I20240529 12:15:46.457782 3322870 odometry_runner.cpp:129] Running the Odometry on the sequence named KITTI_07
terminate called after throwing an instance of 'std::length_error'
what():  vector::_M_default_append
Caught SIGABRT: usually caused by an abort() or assert()
message for depth: [2]: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x63886590c0) [0x7f7800000000]
message for depth: [3]: /lib/x86_64-linux-gnu/libc.so.6(abort-0x7f1477986729) [0x5]
message for depth: [4]: /lib/x86_64-linux-gnu/libstdc++.so.6(-0x7f1477cc2000) [(nil)]
message for depth: [5]: /lib/x86_64-linux-gnu/libstdc++.so.6(+0) [0x7f1477cc2000]
message for depth: [6]: /lib/x86_64-linux-gnu/libstdc++.so.6(+0xaa300) [0x7f1477d6c300]
message for depth: [7]: /lib/x86_64-linux-gnu/libstdc++.so.6(+0xaa600) [0x7f1477d6c600]
message for depth: [8]: /lib/x86_64-linux-gnu/libstdc++.so.6(_ZSt20__throw_length_errorPKc-0x7f1476d531bf) [0x10100e4]
message for depth: [9]: /home/heidrich/wiesn/ct_icp/install/CT_ICP/lib/libSlamCore.so(-0x7f1477f97298) [0xd68]
message for depth: [10]: /home/heidrich/wiesn/ct_icp/install/CT_ICP/lib/libSlamCore.so(_ZN4slam21ReadStreamAsByteArrayERSi-0x4e687c) [0x7f1477b1aff4]
message for depth: [11]: /home/heidrich/wiesn/ct_icp/install/CT_ICP/lib/libSlamCore.so(_ZN4slam21ReadPointCloudFromPLYERSi+0x580f8) [0x7f1478062118]
message for depth: [12]: /home/heidrich/wiesn/ct_icp/install/CT_ICP/lib/libSlamCore.so(_ZN4slam21ReadPointCloudFromPLYERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE-0x7800a5f0) [0x7f1400000010]
message for depth: [13]: /home/heidrich/wiesn/ct_icp/install/CT_ICP/lib/libCT_ICP.so(_ZNK6ct_icp12PLYDirectory9ReadFrameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x87efe6a0) [0x7f14ffffff20]
message for depth: [14]: /home/heidrich/wiesn/ct_icp/install/CT_ICP/lib/libCT_ICP.so(_ZNK6ct_icp13AFileSequence18GetUnfilteredFrameEm-0x78102e80) [0x7f1400000000]
message for depth: [15]: /home/heidrich/wiesn/ct_icp/install/CT_ICP/lib/libCT_ICP.so(_ZN6ct_icp13AFileSequence19NextUnfilteredFrameEv-0x780fa404) [0x7f140000000c]
message for depth: [16]: /home/heidrich/wiesn/ct_icp/install/CT_ICP/lib/libCT_ICP.so(_ZN6ct_icp16ADatasetSequence9NextFrameEv-0xa0180) [0x7f1478061d30]
message for depth: [17]: ./install/CT_ICP/bin/run_odometry(+0x294465427d78) [0x7f1478061d78]
message for depth: [18]: ./install/CT_ICP/bin/run_odometry(+0x294464ede37d) [0x7f1477b1837d]
message for depth: [19]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main-0x7f1477987f90) [(nil)]

WARNING: Logging before InitGoogleLogging() is written to STDERR
I20240529 12:15:46.365061 3322870 dataset.cpp:1092] Could not load ground truth for sequence 18. Expected at location
I20240529 12:15:46.375315 3322870 dataset.cpp:1092] Could not load ground truth for sequence 11. Expected at location
I20240529 12:15:46.429157 3322870 dataset.cpp:1092] Could not load ground truth for sequence 14. Expected at location
I20240529 12:15:46.429169 3322870 dataset.cpp:1092] Could not load ground truth for sequence 17. Expected at location
I20240529 12:15:46.429175 3322870 dataset.cpp:1092] Could not load ground truth for sequence 13. Expected at location
I20240529 12:15:46.441386 3322870 dataset.cpp:1092] Could not load ground truth for sequence 16. Expected at location
I20240529 12:15:46.441396 3322870 dataset.cpp:1092] Could not load ground truth for sequence 20. Expected at location
I20240529 12:15:46.441403 3322870 dataset.cpp:1092] Could not load ground truth for sequence 12. Expected at location
I20240529 12:15:46.441408 3322870 dataset.cpp:1092] Could not load ground truth for sequence 21. Expected at location
I20240529 12:15:46.441414 3322870 dataset.cpp:1092] Could not load ground truth for sequence 15. Expected at location
I20240529 12:15:46.441419 3322870 dataset.cpp:1092] Could not load ground truth for sequence 19. Expected at location
I20240529 12:15:46.457690 3322870 odometry_runner.cpp:99] [File: odometry_runner.cpp, Line: 99] -- Running the odometry on all the following sequences from the Dataset:
I20240529 12:15:46.457703 3322870 odometry_runner.cpp:102] [File: odometry_runner.cpp, Line: 102] -- Name: 07, Num Frames=1100 - With  Ground Truth Poses
I20240529 12:15:46.457782 3322870 odometry_runner.cpp:129] Running the Odometry on the sequence named KITTI_07
terminate called after throwing an instance of 'std::length_error'
what():  vector::_M_default_append
Caught SIGABRT: usually caused by an abort() or assert()
message for depth: [2]: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x63886590c0) [0x7f7800000000]
message for depth: [3]: /lib/x86_64-linux-gnu/libc.so.6(abort-0x7f1477986729) [0x5]
message for depth: [4]: /lib/x86_64-linux-gnu/libstdc++.so.6(-0x7f1477cc2000) [(nil)]
message for depth: [5]: /lib/x86_64-linux-gnu/libstdc++.so.6(+0) [0x7f1477cc2000]
message for depth: [6]: /lib/x86_64-linux-gnu/libstdc++.so.6(+0xaa300) [0x7f1477d6c300]
message for depth: [7]: /lib/x86_64-linux-gnu/libstdc++.so.6(+0xaa600) [0x7f1477d6c600]
message for depth: [8]: /lib/x86_64-linux-gnu/libstdc++.so.6(_ZSt20__throw_length_errorPKc-0x7f1476d531bf) [0x10100e4]
message for depth: [9]: /home/heidrich/wiesn/ct_icp/install/CT_ICP/lib/libSlamCore.so(-0x7f1477f97298) [0xd68]
message for depth: [10]: /home/heidrich/wiesn/ct_icp/install/CT_ICP/lib/libSlamCore.so(_ZN4slam21ReadStreamAsByteArrayERSi-0x4e687c) [0x7f1477b1aff4]
message for depth: [11]: /home/heidrich/wiesn/ct_icp/install/CT_ICP/lib/libSlamCore.so(_ZN4slam21ReadPointCloudFromPLYERSi+0x580f8) [0x7f1478062118]
message for depth: [12]: /home/heidrich/wiesn/ct_icp/install/CT_ICP/lib/libSlamCore.so(_ZN4slam21ReadPointCloudFromPLYERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE-0x7800a5f0) [0x7f1400000010]
message for depth: [13]: /home/heidrich/wiesn/ct_icp/install/CT_ICP/lib/libCT_ICP.so(_ZNK6ct_icp12PLYDirectory9ReadFrameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x87efe6a0) [0x7f14ffffff20]
message for depth: [14]: /home/heidrich/wiesn/ct_icp/install/CT_ICP/lib/libCT_ICP.so(_ZNK6ct_icp13AFileSequence18GetUnfilteredFrameEm-0x78102e80) [0x7f1400000000]
message for depth: [15]: /home/heidrich/wiesn/ct_icp/install/CT_ICP/lib/libCT_ICP.so(_ZN6ct_icp13AFileSequence19NextUnfilteredFrameEv-0x780fa404) [0x7f140000000c]
message for depth: [16]: /home/heidrich/wiesn/ct_icp/install/CT_ICP/lib/libCT_ICP.so(_ZN6ct_icp16ADatasetSequence9NextFrameEv-0xa0180) [0x7f1478061d30]
message for depth: [17]: ./install/CT_ICP/bin/run_odometry(+0x294465427d78) [0x7f1478061d78]
message for depth: [18]: ./install/CT_ICP/bin/run_odometry(+0x294464ede37d) [0x7f1477b1837d]
message for depth: [19]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main-0x7f1477987f90) [(nil)]

Hi,
It works on the provided files. So I guess it is related to the data format.

Convert the data to ply format
Make sure the folder structure is as below

root@6210a0880c69:/ct_icp/data# tree -L 2
.
|-- 00
|   |-- 00.txt
|   `-- frames
|-- 01
|   |-- 01.txt
|   `-- frames
|-- 02
|   |-- 02.txt
|   `-- frames
|-- 03
|   |-- 03.txt
|   `-- frames
|-- 04
|   |-- 04.txt
|   `-- frames
|-- 05
|   |-- 05.txt
|   `-- frames
|-- 06
|   |-- 06.txt
|   `-- frames
|-- 07
|   |-- 07.txt
|   `-- frames
|-- 08
|   |-- 08.txt
|   `-- frames
|-- 09
|   |-- 09.txt
|   `-- frames
|-- 10
|   |-- 10.txt
|   `-- frames
|-- 11
|   `-- frames
|-- 12
|   `-- frames
|-- 13
|   `-- frames
|-- 14
|   `-- frames
|-- 15
|   `-- frames
|-- 16
|   `-- frames
|-- 17
|   `-- frames
|-- 18
|   `-- frames
|-- 19
|   `-- frames
|-- 20
|   `-- frames
`-- 21
    `-- frames

In frames, each file is named as frame_.ply

Also, the ply should follow their format as shown by the header below:
ply
format binary_little_endian 1.0
element vertex 127097
property float32 x
property float32 y
property float32 z
property float32 timestamp
end_header

I am looking for some tools to convert the data.
If your storage is limited but you do not mind the speed, you can

convert the bin to ply files (it takes several mins)
run the experiments
delete the ply files

@laurenzheidrich  Hi, I had occured the identical error when running, just wonder if you got any solutiuons?
thank you.


Add a FieldButton

Adding a new Field subtype that puts a button on a block. It accepts a callback that will run when clicked. I just drew a slightly smaller rounded rectangle over a normal field input, but I think it looks clickable enough. It accepts either a string label or arbitrary svg, in case you need to fiddle with fonts or colors (e.g. if you want to use FontAwesome to put a pin icon on your button).
I'm using this to implement the location picker:

 GLJ: Coordinate picker on sprite placement


read() doesn't pass the argument to read_average()

https://github.com/fivesixzero/CircuitPython_HX711/blob/main/hx711/__init__.py#L223
read() takes an arg, average_count. If > 1, call read_average() but does not pass the arg. read_average will always use 10 iterations no matter what number > 1 you give to read()

🤦
Good catch, embarassing mistake. 😂
Thanks for posting the issue, I'll get an updated version pushed out with the fix.


Problem with Ligand

We have a pdb file with the La metal as a ligand

and when we run we get this error:

This is the code we are running is
python run.py
--model_type "ligand_mpnn"
--seed 111
--pdb_path "./inputs/test.pdb"
--out_folder "./outputs/test"
--pack_side_chains 1
--number_of_packs_per_design 4
--pack_with_ligand_context 1
--fixed_residues "A3"
--repack_everything 1
Do you know what we could be doing wrong?

Could you share the input PDB so that I can try to replicate this error, please? Feel free to set all coordinates to random numbers if it is a confidential structure.

I have a protein that has an open conformation and upon ligand binding it takes a closed conformation. When I give closed conformation without ligand as input to the LigandMPNN, it works and gives an output. However, if I use open conformation as input, it is showing an error -
ValueError: shape mismatch: value array of shape (1,1104) could not be broadcast to indexing result of shape (1103,).

@Arindam337 The issue is likely occurring because there is a gap somewhere in your structure. I'm also experiencing the same issue when I run structures with missing residues / gaps
@dauparas Would it be possible to extend LigandMPNN support to work with such structures? I'm sure it would be a greatly appreciated feature for many of us.

I have a protein that has an open conformation and upon ligand binding it takes a closed conformation. When I give closed conformation without ligand as input to the LigandMPNN, it works and gives an output. However, if I use open conformation as input, it is showing an error - ValueError: shape mismatch: value array of shape (1,1104) could not be broadcast to indexing result of shape (1103,).

I have a similar error
  File "/people/kimd999/bin/Miniconda3-py311_24.5.0-0-Linux-x86_64/envs/ligandmpnn_env/lib/python3.11/site-packages/prody/atomic/subset.py", line 199, in setData     array[self._indices] = value     ~~~~~^^^^^^^^^^^^^^^ ValueError: shape mismatch: value array of shape (1,2448) could not be broadcast to indexing result of shape (2446,)


[3.x] Improve some argument names for core types

3.x version of #44162.
Fixes https://github.com/godotengine/godot-docs/issues/4805.

I like the changes! But why not use p_target instead of p_to? Don't you think it would be a little bit more clear?

@marcotmotta I didn't really think about it, just tried to make a kinda one to one backport of #44162. For me both p_target and p_to are fine. Maybe @aaronfranke could tell something more about reasoning for change to p_to.

Updated, previously I forgot about Vector2.cs and Vector3.cs.

Thanks!

Cherry-picked for 3.3.1.


Remove dependency on github.com/golang/glog

Please see https://github.com/sigstore/policy-controller/pull/112 for more context.
TLDR - without this being removed, policy-controller will crash on startup due to conflicts with the klog dependency.
This appears to be brought in via github.com/google/certificate-transparency-go. After looking there, it led to a rabbit hole of other dependencies which also rely on glog.
I've opened up the following PRs which may or may not be all of the locations:

https://github.com/google/certificate-transparency-go/pull/962
https://github.com/google/trillian/pull/2787
https://github.com/google/go-licenses/pull/138
https://github.com/grpc/grpc-go/pull/5547

An alternative could be for the sigstore org to maintain a fork of glog, just for replace purposes. The required changeset would be this.

For some context, I tried to work around this issue awhile ago by copying in files from certificate-transparency-go (https://github.com/sigstore/cosign/blob/f2c360eb97e52fa7766ecde370f1a48b910d7404/cmd/cosign/cli/fulcio/fulcioverifier/ctutil/ctutil.go) to avoid pulling in glog.

Seems to be resolved, I don't see a dependency on glog anymore


fix(module:date-picker): fix datePicker show multi panel

PR Checklist
Please check if your PR fulfills the following requirements:

[x ] The commit message follows our guidelines: https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/CONTRIBUTING.md#commit
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Application (the showcase website) / infrastructure changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: 7450
What is the new behavior?
it wiill show normally
Does this PR introduce a breaking change?
[ ] Yes
[ x] No

Other information

This change causes another problem: the cursor in the input element cannot be moved with mousedown

This change causes another problem: the cursor in the input element cannot be moved with mousedown

@wenqi73 thanks for pointer my fault, i have filter input element when prevent default event, pls review again


Fix invalid line stride computation causing OOB array accesses

Fixes #125

Thanks for fixing my mistake!
There should probably be a non-square test case to catch width/height issues like the second commit, and it might as well be a reftest since it's a valid image.

This looks good to me. Could you add a changelog entry + version bump to Cargo.toml, so we can push out a fix right away?

@fintelia : done.


improper precision of near-integer immediate mode (backquote) results

Reported by andrew wittenberg on 21 Feb 2017 17:22 UTC
From user's group email thread on 19 Feb 2017 (Martin Schmidt & Russ Feidler).
 	NOAA/PMEL TMAP
 	FERRET v7.1 (optimized)
 	Linux 2.6.32-642.6.1.el6.x86_64 64-bit - 02/16/17
 	21-Feb-17 12:04

yes? list/prec=12 {`1 + 0.1`, `1 + 1e-7`, `1 + 1e-8`} - 1
 !-> list/prec=12 {1.1, 1.0000001, 1} - 1
             VARIABLE : {1.1, 1.0000001, 1} - 1
             SUBSET   : 3 points (X)
 1   / 1:  0.100000000000
 2   / 2:  0.000000100000
 3   / 3:  0.000000000000

Third element should instead be 0.00000001.
And the following ought to be identical:
yes? list/prec=12 1.000000001,`1.000000001`
 !-> list/prec=12 1.000000001,1
 Column  1: cnst is constant
 Column  2: cnst is constant
                   cnst       cnst
I / *:     1.00000000100  1.00000000000

And similarly:
yes? list/prec=12 0.999999999, `0.999999999`
 !-> list/prec=12 0.999999999, 1
 Column  1: cnst is constant
 Column  2: cnst is constant
                    cnst       cnst
I / *:     0.999999999000  1.00000000000

However this is not a universal truncation error, since the following gives correct results:
yes? list/prec=12 1.000500001,`1.000500001`
 !-> list/prec=12 1.000500001,1.000500001
 Column  1: cnst is constant
 Column  2: cnst is constant
                   cnst       cnst
I / *:     1.00050000100  1.00050000100

So it seems that only numbers close integers are getting excessively truncated.  Is there an epsilon comparison somewhere that needs to be set to double precision?
Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/2510

Comment by ansley.b.manke on 6 Jun 2017 19:26 UTC
This is fixed.
! Third element should instead be 0.00000001.
yes?  list/prec=12 {`1 + 0.1`, `1 + 1e-7`, `1 + 1e-8`} - 1
 !-> list/prec=12 {1.1, 1.0000001, 1.00000001} - 1
             VARIABLE : {1.1, 1.0000001, 1.00000001} - 1
             SUBSET   : 3 points (X)
 1   / 1:  0.100000000000
 2   / 2:  0.000000100000
 3   / 3:  0.000000010000

! The following ought to be identical:
yes? list/prec=12 1.000000001,`1.000000001`
 !-> list/prec=12 1.000000001,1.000000001
 Column  1: cnst is constant
 Column  2: cnst is constant
                   cnst       cnst
I / *:     1.00000000100  1.00000000100

! The following still gives correct results:
yes? list/prec=12 0.999999999, `0.999999999`
 !-> list/prec=12 0.999999999, 0.999999999
 Column  1: cnst is constant
 Column  2: cnst is constant
                    cnst        cnst
I / *:     0.999999999000  0.999999999000

yes? list/prec=12 1.000500001,`1.000500001`
 !-> list/prec=12 1.000500001,1.000500001
 Column  1: cnst is constant
 Column  2: cnst is constant
                   cnst       cnst
I / *:     1.00050000100  1.00050000100

and is tested in bench/err71_prec_return.jnl


220 - Define stage in, process, stage out tasks in entrypoint

Purpose

Run stage in, process, and stage out CWL tasks in entrypoint file so that data is stored locally on EBS.

Notes to consider:

Used example CWL found in this repo to get things working.
Stage out required the use of AWS credentials. I have temporarily stored the short term access credentials in manually created SSM parameters.
Review input parameters to see if these are what we would expect the user to want to change.
Stage in and stage out workflows are defined as constants at the top of the CWL DAG making it easier to change as the cwl Docker container does not need to be rebuilt.

Proposed Changes

[ADD] Modify and add stage in, process, and stage out tasks to CWL DAG entrypoint.

Issues

#220 - Stage-In Task

Testing
Deployed to unity-venue-dev for testing:
Stage-In, Processing, Stage-Out logs
[2024-11-26, 21:18:01 UTC] {pod_manager.py:472} INFO - [base] Executing the CWL workflow: https://raw.githubusercontent.com/mike-gangl/unity-OGC-example-application/refs/heads/main/stage_in.cwl with json arguments: https://raw.githubusercontent.com/mike-gangl/unity-OGC-example-application/refs/heads/main/test/ogc_app_package/stage_in.yml and working directory: /scratch
[2024-11-26, 21:18:01 UTC] {pod_manager.py:472} INFO - [base] Executing the CWL workflow: https://raw.githubusercontent.com/mike-gangl/unity-OGC-example-application/refs/heads/main/process.cwl with json arguments: ./job_args_process.json and working directory: /scratch
...
[2024-11-26, 21:18:10 UTC] {pod_manager.py:472} INFO - [base] + cwltool --outdir stage_in --copy-output https://raw.githubusercontent.com/mike-gangl/unity-OGC-example-application/refs/heads/main/stage_in.cwl https://raw.githubusercontent.com/mike-gangl/unity-OGC-example-application/refs/heads/main/test/ogc_app_package/stage_in.yml
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base] INFO Final process status is success
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base] + stage_in='{
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]     "stage_in_collection_file": {
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]         "location": "file:///scratch/stage_in/8wyg114f/stage-in-results.json",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]         "basename": "stage-in-results.json",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]         "class": "File",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]         "checksum": "sha1$be5051f72925ab11b9f5a21d41e90c309901aa9e",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]         "size": 3024,
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]         "path": "/scratch/stage_in/8wyg114f/stage-in-results.json"
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]     },
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]     "stage_in_download_dir": {
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]         "location": "file:///scratch/stage_in/8wyg114f",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]         "basename": "8wyg114f",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]         "class": "Directory",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]         "listing": [
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]             {
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "class": "File",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "location": "file:///scratch/stage_in/8wyg114f/SNDR.SS1330.CHIRP.20160822T0005.m06.g001.L1_AQ.std.v02_48.G.200425095850.nc",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "basename": "SNDR.SS1330.CHIRP.20160822T0005.m06.g001.L1_AQ.std.v02_48.G.200425095850.nc",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "size": 51875041,
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "checksum": "sha1$34798d328d763432964b132ecb843a35f2046399",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "path": "/scratch/stage_in/8wyg114f/SNDR.SS1330.CHIRP.20160822T0005.m06.g001.L1_AQ.std.v02_48.G.200425095850.nc"
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]             },
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]             {
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "class": "File",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "location": "file:///scratch/stage_in/8wyg114f/SNDR.SS1330.CHIRP.20160822T0011.m06.g002.L1_AQ.std.v02_48.G.200425095901.nc",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "basename": "SNDR.SS1330.CHIRP.20160822T0011.m06.g002.L1_AQ.std.v02_48.G.200425095901.nc",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "size": 52398321,
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "checksum": "sha1$c84575ed7568c9c41f04cec7d3b58488edeec15d",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "path": "/scratch/stage_in/8wyg114f/SNDR.SS1330.CHIRP.20160822T0011.m06.g002.L1_AQ.std.v02_48.G.200425095901.nc"
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]             },
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]             {
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "class": "File",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "location": "file:///scratch/stage_in/8wyg114f/G2040068613-GES_DISC.stac.json",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "basename": "G2040068613-GES_DISC.stac.json",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "size": 1972,
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "checksum": "sha1$0a90d96ddaf8672043dd68d73bb0fd78bdb23697",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "path": "/scratch/stage_in/8wyg114f/G2040068613-GES_DISC.stac.json"
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]             },
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]             {
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "class": "File",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "location": "file:///scratch/stage_in/8wyg114f/G2040068619-GES_DISC.stac.json",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "basename": "G2040068619-GES_DISC.stac.json",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "size": 1988,
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "checksum": "sha1$755f72c08adf732260d0e1e6482bae37c0de7163",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "path": "/scratch/stage_in/8wyg114f/G2040068619-GES_DISC.stac.json"
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]             },
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]             {
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "class": "File",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "location": "file:///scratch/stage_in/8wyg114f/catalog.json",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "basename": "catalog.json",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "size": 529,
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "checksum": "sha1$6d7ad3ef736aa536c8881f72dc6da24c9238fe19",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "path": "/scratch/stage_in/8wyg114f/catalog.json"
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]             },
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]             {
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "class": "File",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "location": "file:///scratch/stage_in/8wyg114f/stage-in-results.json",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "basename": "stage-in-results.json",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "size": 3024,
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "checksum": "sha1$be5051f72925ab11b9f5a21d41e90c309901aa9e",
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]                 "path": "/scratch/stage_in/8wyg114f/stage-in-results.json"
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]             }
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]         ],
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]         "path": "/scratch/stage_in/8wyg114f"
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base]     }
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base] }'
...
[2024-11-26, 21:18:40 UTC] {pod_manager.py:472} INFO - [base] + cwltool https://raw.githubusercontent.com/mike-gangl/unity-OGC-example-application/refs/heads/main/process.cwl ./job_args_process.json
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base] INFO Final process status is success
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base] + process='{
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]     "output": {
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]         "location": "file:///scratch/iu5di8f8",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]         "basename": "iu5di8f8",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]         "class": "Directory",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]         "listing": [
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]             {
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "class": "File",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "location": "file:///scratch/iu5di8f8/.jupyter-server-log.txt",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "basename": ".jupyter-server-log.txt",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "size": 4237,
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "checksum": "sha1$8c41676e84d53043dda407294d503508a0cec4f4",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "path": "/scratch/iu5di8f8/.jupyter-server-log.txt"
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]             },
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]             {
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "class": "File",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "location": "file:///scratch/iu5di8f8/process_out.ipynb",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "basename": "process_out.ipynb",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "size": 20992,
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "checksum": "sha1$c1ae4e28bcee8043bdb4b77ad6b1ca2362dcdc10",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "path": "/scratch/iu5di8f8/process_out.ipynb"
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]             },
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]             {
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "class": "Directory",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "location": "file:///scratch/iu5di8f8/.ipython",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "basename": ".ipython",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "listing": [
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                     {
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                         "class": "Directory",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                         "location": "file:///scratch/iu5di8f8/.ipython/profile_default",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                         "basename": "profile_default",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                         "listing": [
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                             {
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                 "class": "Directory",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                 "location": "file:///scratch/iu5di8f8/.ipython/profile_default/security",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                 "basename": "security",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                 "listing": [],
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                 "path": "/scratch/iu5di8f8/.ipython/profile_default/security"
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                             },
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                             {
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                 "class": "Directory",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                 "location": "file:///scratch/iu5di8f8/.ipython/profile_default/log",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                 "basename": "log",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                 "listing": [],
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                 "path": "/scratch/iu5di8f8/.ipython/profile_default/log"
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                             },
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                             {
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                 "class": "Directory",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                 "location": "file:///scratch/iu5di8f8/.ipython/profile_default/startup",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                 "basename": "startup",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                 "listing": [
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                     {
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                         "class": "File",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                         "location": "file:///scratch/iu5di8f8/.ipython/profile_default/startup/README",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                         "basename": "README",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                         "size": 371,
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                         "checksum": "sha1$375b32a1fcddcc54ad42c5181f0d339c425aa0ec",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                         "path": "/scratch/iu5di8f8/.ipython/profile_default/startup/README"
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                     }
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                 ],
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                 "path": "/scratch/iu5di8f8/.ipython/profile_default/startup"
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                             },
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                             {
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                 "class": "Directory",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                 "location": "file:///scratch/iu5di8f8/.ipython/profile_default/pid",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                 "basename": "pid",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                 "listing": [],
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                 "path": "/scratch/iu5di8f8/.ipython/profile_default/pid"
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                             },
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                             {
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                 "class": "Directory",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                 "location": "file:///scratch/iu5di8f8/.ipython/profile_default/db",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                 "basename": "db",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                 "listing": [],
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                                 "path": "/scratch/iu5di8f8/.ipython/profile_default/db"
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                             }
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                         ],
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                         "path": "/scratch/iu5di8f8/.ipython/profile_default"
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                     }
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 ],
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "path": "/scratch/iu5di8f8/.ipython"
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]             },
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]             {
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "class": "File",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "location": "file:///scratch/iu5di8f8/summary_table.txt",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "basename": "summary_table.txt",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "size": 970,
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "checksum": "sha1$7d0e8f6e60bb22985b269dc9b40bfc6e9bb900cf",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "path": "/scratch/iu5di8f8/summary_table.txt"
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]             },
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]             {
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "class": "File",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "location": "file:///scratch/iu5di8f8/summary_table.txt.json",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "basename": "summary_table.txt.json",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "size": 1024,
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "checksum": "sha1$a40df9c2583bd02f7d70d1a745b7058e784d9615",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "path": "/scratch/iu5di8f8/summary_table.txt.json"
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]             },
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]             {
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "class": "File",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "location": "file:///scratch/iu5di8f8/catalog.json",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "basename": "catalog.json",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "size": 346,
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "checksum": "sha1$d35cb2009088feaa445a0ed4ecd6e5914e6f2c31",
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]                 "path": "/scratch/iu5di8f8/catalog.json"
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]             }
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]         ],
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]         "path": "/scratch/iu5di8f8"
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base]     }
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base] }'
...
[2024-11-26, 21:19:15 UTC] {pod_manager.py:472} INFO - [base] + cwltool https://raw.githubusercontent.com/unity-sds/unity-sps-workflows/refs/heads/219-process-task/demos/cwl_dag_stage_out.cwl --output_dir /scratch/iu5di8f8 --staging_bucket unity-dev-unity-unity-data --collection_id example-app-collection___3 --aws_access_key_id x --aws_secret_access_key x --aws_session_token x
[2024-11-26, 21:19:43 UTC] {pod_manager.py:472} INFO - [base] + stage_out='{
[2024-11-26, 21:19:43 UTC] {pod_manager.py:472} INFO - [base]     "failed_features": {
[2024-11-26, 21:19:43 UTC] {pod_manager.py:472} INFO - [base]         "location": "file:///scratch/failed_features.json",
[2024-11-26, 21:19:43 UTC] {pod_manager.py:472} INFO - [base]         "basename": "failed_features.json",
[2024-11-26, 21:19:43 UTC] {pod_manager.py:472} INFO - [base]         "class": "File",
[2024-11-26, 21:19:43 UTC] {pod_manager.py:472} INFO - [base]         "checksum": "sha1$e9b73c133ee6531ae67bea35e739b18c09efab9b",
[2024-11-26, 21:19:43 UTC] {pod_manager.py:472} INFO - [base]         "size": 45,
[2024-11-26, 21:19:43 UTC] {pod_manager.py:472} INFO - [base]         "path": "/scratch/failed_features.json"
[2024-11-26, 21:19:43 UTC] {pod_manager.py:472} INFO - [base]     },
[2024-11-26, 21:19:43 UTC] {pod_manager.py:472} INFO - [base]     "stage_out_results": {
[2024-11-26, 21:19:43 UTC] {pod_manager.py:472} INFO - [base]         "location": "file:///scratch/stage-out-results.json",
[2024-11-26, 21:19:43 UTC] {pod_manager.py:472} INFO - [base]         "basename": "stage-out-results.json",
[2024-11-26, 21:19:43 UTC] {pod_manager.py:472} INFO - [base]         "class": "File",
[2024-11-26, 21:19:43 UTC] {pod_manager.py:472} INFO - [base]         "checksum": "sha1$0f16c5b8ad6a6f3d76b056ec7a43281dd2e0eb69",
[2024-11-26, 21:19:43 UTC] {pod_manager.py:472} INFO - [base]         "size": 368,
[2024-11-26, 21:19:43 UTC] {pod_manager.py:472} INFO - [base]         "path": "/scratch/stage-out-results.json"
[2024-11-26, 21:19:43 UTC] {pod_manager.py:472} INFO - [base]     },
[2024-11-26, 21:19:43 UTC] {pod_manager.py:472} INFO - [base]     "successful_features": {
[2024-11-26, 21:19:43 UTC] {pod_manager.py:472} INFO - [base]         "location": "file:///scratch/successful_features.json",
[2024-11-26, 21:19:43 UTC] {pod_manager.py:472} INFO - [base]         "basename": "successful_features.json",
[2024-11-26, 21:19:43 UTC] {pod_manager.py:472} INFO - [base]         "class": "File",
[2024-11-26, 21:19:43 UTC] {pod_manager.py:472} INFO - [base]         "checksum": "sha1$c8a735ef8f21cd20aaaea7d5036081043b8d09b7",
[2024-11-26, 21:19:43 UTC] {pod_manager.py:472} INFO - [base]         "size": 1094,
[2024-11-26, 21:19:43 UTC] {pod_manager.py:472} INFO - [base]         "path": "/scratch/successful_features.json"
[2024-11-26, 21:19:43 UTC] {pod_manager.py:472} INFO - [base]     }
[2024-11-26, 21:19:43 UTC] {pod_manager.py:472} INFO - [base] }'

I updated the code to account for a new modular CWL Dag container image:

Kept a single Airflow container as it accommodates the original CWL DAG plus the new modular one.
Built a separate modular CWL docker container image to support modular utilities and entrypoint script.

I think once we merge, we will want to:

Build the Airflow docker container so that it includes the updated unity_sps_utils.py file.
Build the modular Docker container image to test that the Docker build script is working for the CWL DAG modular package
Update the container image referenced in any Airflow Terraform module tfvars file and re-deploy as needed.

@LucaCinquini - I think this is ready to be merged but we will need to coordinate the above steps. Let me know what you think!

Updated for the following changes:

Updated DS container image
Update reference to stage in and stage out workflow links (see PR#20)
Grab project and venue from Airflow environment variables
Update reference to STAC JSON which now use roles to indicate data for stage in download

Tested in unity-venue-dev and the CWL DAG modular workflow ran successfully. I was able to retrieve the summary.txt file produced by the process CWL from the stage out S3 bucket.
@LucaCinquini - I think this may be ready to merge but take a look and let me know if you have any feedback/want to see any changes, thanks!
(We may still want to build the modular Docker container image to test that the Docker build script is working for the CWL DAG modular package)

Successfully tested after merging develop.


Remove dependency on vendor directory from Makefile.

Description
This bit me because the vendor dir didn't update after I changed branches.

Depending on a directory doesn't work because directory mtimes are
updated outside of make.

Rework the vendor target to use a touch file and add an update-vendor target
to rebuild glide.lock.  (This is still done automatically if glide.lock is
removed but I needed a second target to keep the old behaviour once the
vendor target had been fixed.)

Use a flag to ensure the vendor dir is only rebuilt once.  I couldn't think
of a way to avoid this given the way make dependencies work.  There's no
allowance for more than one target being able to complete a task.

@fasaxc is this ready to go?


abnormal result for floating point number and integer comparison

In vanilla lua, both 1000.00e-03 and 1.0 are equal to 1. But in ckb-lua,
[e]% RUST_LOG=debug ckb-debugger --bin ./build/lua-loader -- lua-loader -e 'print(1 == 1.0)'
DEBUG:<unknown>: SCRIPT>true
Run result: 0
Total cycles consumed: 1517518(1.4M)
Transfer cycles: 71270(69.6K), running cycles: 1446248(1.4M)

[e]% RUST_LOG=debug ckb-debugger --bin ./build/lua-loader -- lua-loader -e 'print(1 == 1000.00e-03)'
DEBUG:<unknown>: SCRIPT>false
Run result: 0
Total cycles consumed: 1537276(1.5M)
Transfer cycles: 71270(69.6K), running cycles: 1466006(1.4M)

It doesn't matter. The floating point in scripts is useless.


📖 Doc updates for chart inlining

Summary
This PR udpates the packaging and release documents to account for the current work on merging the KCM and OTC Helm charts into the core Helm chart.
This includes work already merged in #2465 and anticipates work in #2474.
Related issue(s)
Fixes #

/cc @francostellari

The recent force-pushes update the flowchart about the Helm and clusteradm images.

/lgtm

/approve


[FR] - Add a command to obtain the reference script size (in bytes) of a transaction

Internal/External
Internal
Area
Other
Describe the feature you'd like
Ledger now requires the reference script sizes to calculate the transaction minimum fee. To obtain the minimum script size, we need the entire UTXO set, which requires querying the node. This means that to implement the calculate-min-fee without it needing to communicate with the node, we need to pass the reference script size in bytes as an extra parameter.  Thus, we need a new CLI command that queries the nodes to obtain this information.
For reference, here is how the reference script size of a transaction is calculated in the ledger.

cc @CarlosLopezDeLara


Suggest fix

Takes advantage of the Culture to sort results properly
Fixes sorting as well

Fixes #1197

✅ No public API change.

✅ No public API change.


[Improvement][API] Status code should one category one interval

A category code should be in an interval, we set according to the number of bits
For example, 1-2 digits are a large category range, 3-4 digits are a small category range, and 5-8 digits are specific business codes. Don't keep adding from the 10000, which is not convenient for maintenance.

Assigned to me

@CalvinKirs category code design as :  First category(2 digits)-Secondary category(2 digits)-Three-level category(3 digits)
like PROJECT_NOT_FOUNT(1000001, "project {0} not found ", "项目[{0}]不存在")

looks good to me.

update :

update:


Migrate to new data layout to work with upstream clients

See #32 for more information.
To try this branch:

Backup your production.sqlite3 database in case of problems (cp db/production.sqlite3 db/production-backup.sqlite3)
Fetch this pull request to your local Git tree:
git fetch origin refs/pull/36/head:pr/36
Switch to this PR:
git checkout pr/36
Restart your Rack server.  If using Unicorn, send it a SIGUSR2.
As soon as the server restarts, it should migrate to the new schema and you should see this in your logs:

migrating db from version 2
migrated all ciphers to new dedicated fields

The updated upstream Bitwarden clients should just work, though you may want to force a sync from the Settings tab.

Hi,
I've tested this changes with windows native/edge/firefox, android native/firefox.
Except the android native app ( exits on sync) they seem to work as expected.
Many thanks!
cu
...
mike

Just a quick note: today's Android update appears to work perfectly with this branch.

It seems there's still a problem when syncing with the latest chrome extension. Latest Safari und iOS client work well, but chrome just fails with synchronization failed. In the log it seems to be good: [26/Mar/2018:10:56:14 +0200] "GET /api/sync HTTP/1.0" 200 18093 0.0344

hmm... which version of the chrome extension do you have? mine says 1.25.5 and just synced fine.

Same here. Is there a chance to increase log level to get more detailed information?

hmm... it is probably better to create a new issue to further continue the discussion. I still can't reproduce the error, so it might be specific to your state of the application (database contents, ...). I've pushed a debug-logging branch to my fork, which just adds very verbose request and response logging in development mode: https://github.com/universal/bitwarden-ruby/tree/debug-logging .

It seems it didn't migrate the database last time. After I compiled your extended logging branch I got the migration message and all clients sync. Thank you!


[NFC] Insert truncation/primal just before statement

NFC = No functional change
This is a more elegant way to handle this than https://github.com/JuliaDiff/Diffractor.jl/pull/162
we just insert the function that is applied to the arguments just before the statement, rather than just after the argument.
thus avoiding need to dodge phi nodes, and making the ir code more readable.
This is also consistent with how we handle GlobalRefs

Isn't it?
By no functional change I mean, it should have no user visible effects.
But it's not a simply code cleanup that is true. It does change the IR generated.
But not in a way that should effect what actually ends up running.
But if I broke it then obviously it would.
What does it get incorrect?
for some input
%1 = a
%2 = b
%3 = c
%4 = f(%1)

Before this PR we would get
%1 = a
%2 = primal(%1)
%3 = b
%4 = c
%5 = f(%2)

After this PR we would get
%1 = a
%2 = b
%3 = c
%4 = primal(%1)
%4 = f(%4)

What happens if the ssa is a PhiNode? What prevents us from trying to insert a call in the middle of the phi block?

ooh, I never considered that. I was only thinking of invokes and calls.
Yeah, this approach won't work out.


fix: Run Prettier to fix formatting errors

Just ran yarn prettier to fix the issues.

It is concerning that yarn prettier does not produce a test-passing result.

Thanks! Just did this myself, concurrently.
I filed #2704 for the prettier/lint mismatch, with a quick pointer at how to fix it.


adds latency metrics

npm package:
https://www.npmjs.com/package/express-prom-bundle

cc @aditya-konarde @rporres

jenkins build is failing:
npm ERR! peer dep missing<EMAIL_ADDRESS>required by<EMAIL_ADDRESS>Traceback (most recent call last):
  File "/coreapi/main.py", line 168, in <module>
    main()
  File "/coreapi/main.py", line 152, in main
    request_id = run_sa_post(gateway_url, gateway_user_key)
  File "/coreapi/main.py", line 79, in run_sa_post
    if generate_deps_file(ecosystem, manifest) is None:
  File "/coreapi/main.py", line 35, in generate_deps_file
    out = sp.check_output(command, shell=True)
  File "/usr/lib64/python3.6/subprocess.py", line 356, in check_output
    **kwargs).stdout
  File "/usr/lib64/python3.6/subprocess.py", line 438, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command 'cd /coreapi/repo; npm install; npm list --prod --json > npmlist.json' returned non-zero exit status 1.
Build step 'Execute shell' marked build as failure
Setting status of 43cc0817cd73ccedf2c865ffdf1f646ffbba45dd to FAILURE with url https://ci.ext.devshift.net/job/app-sre-qontract-server-gh-pr-check/27/ and message: ' '
Using context: ci.ext.devshift.net PR build
Finished: FAILURE

I have rebased a lot of things, so I'm closing this PR and submitting a new one.


Edited system/core/Loader.php via GitHub see #550

See #550

@derekjones: I added a nother patch, see #550. ->driver does now like ->library in the same case.


What's the release strategy?

I see there are prerelease versions out there since March of 2020. The last stable version release was May 2019. Are there any intentions to release the PRs from the past 18 months as a stable release?

Hi @shawnsparks-work ,
Thank you for asking this question!
We'd like to release a stable release if we can make sure the current master branch is working as expected.
Please feel free to submit a PR to bump the version in VERSION file with an even minor number (for example, 0.16.0), then we can review and merge it when we have enough confidence to release a new version.
Whenever the VERSION file is changed, the GitHub Action workflow will do the DevOps job and the new version will be release automatically.

Hi @shawnsparks-work ,
Thank you for asking this question!
We'd like to release a stable release if we can make sure the current master branch is working as expected.
Please feel free to submit a PR to bump the version in VERSION file with an even minor number (for example, 0.16.0), then we can review and merge it when we have enough confidence to release a new version.
Whenever the VERSION file is changed, the GitHub Action workflow will do the DevOps job and the new version will be release automatically.

when we have enough confidence to release a new version

What's the process for getting the confidence to release a new version?

when we have enough confidence to release a new version

What's the process for getting the confidence to release a new version?

What's the process for getting the confidence to release a new version?

We haven't, but I think we can build this process for now.
I have drafted one:

Create a PR for bumping version, whenever the community feels a need to publish a new release
Wait for this PR has been voted up :+1: by at least 3 developers
We merge the PR after we got enough vote up

Please feel free to let me know if you have any improvement for this process, or you can feel free to create the release PR and start collecting votes! :)

What's the process for getting the confidence to release a new version?

We haven't, but I think we can build this process for now.
I have drafted one:

Create a PR for bumping version, whenever the community feels a need to publish a new release
Wait for this PR has been voted up :+1: by at least 3 developers
We merge the PR after we got enough vote up

Please feel free to let me know if you have any improvement for this process, or you can feel free to create the release PR and start collecting votes! :)


No Darkmode

hi i just tried your example and it does not work also the screen shot you have how did you make it dark mode

@modz2014 , follow this steps:

Prepare MS VS2022, Windows 11 amd64.
Open .sln file with Visual Studio, build in Debug mode.
Switch to Windows 11 Dark  theme. Note, that standard cleanmgr.exe isn't dark.
Before running DarkEnforcer, save important files, since it will upload dll to all processes and something may crash.
Run DarkEnforcer via Visual Studio (without extra elevation/admin rights). It won't show any window, probably. You will see new  running process in Task Manager.
Run standard cleanmgr.exe without extra elevation/admin rights. You should see that it's mostly black now.

can we make this a dynamic library so it application can use it or also i ran your app and click on my button nothing happens

@modz2014 , that button probably does nothing. dll is injected on DarkEnforcer start.
All 'dark' logic is in the dll and could be reused.

well nothing happens

yes

@modz2014 , I've found some uncommitted lines, so I pushed them. Try to kill process, pull changes and rebuild solution. Then follow instructions above - it still works for me.

ok cool


Remove redundant assignment to precip_regrid

precip_regrid was being set to LIS_rc%udef before it was allocated.
This caused LIS, compiled with the GNU compilers (version 7.3), to hang.
Further down in the routine, precip_regrid is allocated and then set
to LIS_rc%udef.
Resolves: #381

I have reviewed the code, and agree with the change.  I will merge this pull request.


About implementation detail

Hi @quan5609, thank you for your great repo. I would like to ask several questions about the technical details:

How long does it takes to train a single scene of the LLFF dataset?
How to obtain the camera poses of the LLFF dataset? Take from the dataset itself or use COLMAP?

Looking forward to your reply. Thanks!

Hi @ngoductuanlhp,

The training time depends on the number of training frames of each specific scene. It took us about 7 hours to train 17 frames of Fern scene on TitanXP.
We use the same COLMAP preprocess pipeline from the original LLFF repo https://github.com/Fyusion/LLFF to obtain the camera poses from sparse images.


Vendors don't sell anything

Somewhere after this version:
SphereServer Version X1-Nightly [WIN64] by www.spherecommunity.net.
Compiled at Feb  2 2020 (15:25:10) [build 3222 / GIT hash c5cd3dece2bff7b011f08c40892556a7b23d79d2]
Vendors no longer sell anything. When you say "buy", they told you that they have no goods for sale.
Here is vendor script and templates:
https://pastebin.com/bLV2iELi
Looks like there is something wrong with @NPCRestock.
We tested this with Rastrero, he had the same problem. Reverting back to Feb 2 2020 version and everything works fine.
Client <IP_ADDRESS>.

looks like @npcrestock is not loading the ítems into the proper layer.

still happen in #3246


[WIP] Clipper2 (beta) wrapper implementation

Clipper2 is beta and is undergoing a rewrite by Angus Johnson
This PR is at experimental state. I have stable 6.4.2 exposed with the interface to be forward compatible with the new version (10.0.0) and could open a separate PR for it.

There's been some recent demand on implementing some kind of ability to perform various operations on polygons, and this PR brings many tasty stuff like:

Polygon merging/subtraction/intersection/xor.
Polygon deflating/offsetting (grow/shrink boundary).
Curve clipping with polygon.
Polygon triangulation (new feature as of Clipper2).

The underlying library differs from already used version present in the engine which is stable 6.4.2.
The new version should have a built-in wrapper for float2int conversion as clipping occurs with integer coordinates to avoid floating point accumulation errors.
Notice that I've already made necessary changes so it works as before in places where Clipper is used.
Relevant issues/feature proposals:
#22275, #3821
Module repo:
https://github.com/Xrayez/godot-clipper
Clipper2 source (beta):
https://sourceforge.net/p/polyclipping/code/HEAD/tree/sandbox/Clipper2/

Clipperlib already exists in Godot at thirdparty/misc, same as
triangulation code.
I guess it would be best to expose what it already exists...
On Tue, Nov 6, 2018 at 2:42 PM Andrii Doroshenko<EMAIL_ADDRESS>wrote:

So there's been some recent demand on implementing some kind of ability to
perform various operations on polygons, and this PR brings many tasty stuff
like:

Polygon merging/subtraction/intersection/xor (basically CSG but in
2D).
Polygon deflating/offsetting (grow/shrink boundary).
Curve clipping with polygon.
Polygon triangulation (new feature as of Clipper2).

I think it would be good to discuss possible implementations as this one
might not be the most optimal one/overkill.
The underlying library differs from already used version present in the
engine which is stable 6.4.2. Clipper2 is beta as of now and this might not
be acceptable, but in my experience it's fairly stable and even already
been used in production by some other Godot users. Either way it's worth to
wrap and bind some useful methods at least for CSG support.

Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/pull/23559, or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2yHRjeUxlPlg1K-YWabMn-4rs4Ieks5uscnsgaJpZM4YQ8f4
.

@reduz: This version of clipper has more features, including triangulation.

If it's better than our current one we could aswell replace it too, i guess

If it's better than our current one we could aswell replace it too, i guess

Yeah this is the main concern I have with Clipper. It's currently used by the sprite editor plugin:
https://github.com/godotengine/godot/blob/4cf5bb027678717263476e676cd23f881eef1ca1/editor/plugins/sprite_editor_plugin.cpp#L53-L64
PRECISION here is used to scale up and down points because clipper requires input to be performed on integers to avoid floating point accumulation error. This is handled by the proposed module transparently.
https://github.com/godotengine/godot/blob/4cf5bb027678717263476e676cd23f881eef1ca1/editor/plugins/sprite_editor_plugin.cpp#L77-L82
This is no longer needed in Clipper2 as it guarantees strictly simple polygons as output.
I'll see if I can refactor the existing use of clipper with this one.

Replaced with new Clipper and refactored expand method in sprite editor plugin and it works alright on my side. There are several compilation errors spotted by CI but these can be fixed I guess. I'm more curious whether core devs are OK with having beta version of Clipper to be present in core.
It's been one year since Angus Johnson released his beta version... Yet he's been active for the last month or so working on this. If anything we could stick to 6.4.2 and just expose methods as reduz suggested. But that would mean no triangulation unit and twice as fast calculations.
I wish Angus to get better ❤
https://sourceforge.net/p/polyclipping/discussion/1148419/thread/ff9241dd3b/#cb12

@Xrayez thank you

Seems like Clipper2 development has resumed recently!
https://sourceforge.net/p/polyclipping/code/541/

All C++ and C# code has been removed, as the new Clipper.pas will need to be translated.
All triangulation code has removed (temporarily) as it no longer works with the updated Clipper class.

That means current wrapper code needs to be updated too at some point...
Taking this into account, it seams reasonable to wrap the older stable version (6.4.2) for now... So I might as well create another pull request just for 6.4.2 and leave this PR until the newer version comes out.

Perhaps the new triangulation features could be used to add internal vertices to 2d meshes? https://github.com/godotengine/godot/issues/20601
not sure if the current implementation uses clipper to create the mesh

@blurymind triangulation in new clipper seems to implement ear-clipping algorithm (just guessing), unfortunately it doesn't have ability to specify internal vertices. It could be made possible to emulate internal vertices as holes in clipper, that way it can triangulate the input taking into account hole's vertices. Not sure if that would interfere with mesh deformation, I haven't dealt with it.

not sure if current implementation uses clipper to create the mesh

Currently it's only used for sprite editor plugin to expand and simplify the mesh of a sprite when creating mesh instance.
I've had experience using poly2tri that does allow to create inner vertices via Steiner points, but the library can't handle degenerate input and throws exceptions:

Since there are no Input validation of the data given for triangulation you need
to think about this. Poly2Tri does not support repeat points within epsilon.

Meaning If inner vertices are added outside polygon, it would crash.

will it get merged I wonder

@balenol not in 3.1 at least. The underlying library's version might be unsatisfactory to be merged (because beta). If that's the case, I'll open a separate pull request with exposed older stable Clipper 6.4.2 with the same interface as in this one (currently present in engine), so the update is smooth in case newer version (10.0.0) is declared stable by Angus Johnson. But that would mean no triangulation unit. Most likely we'll just have to stick to 6.4.2 in this case...

@blurymind For internal vertices, I am not sure if anything other than painting the internal polygons by hand would work, at least not if you want deformation to happen in any way you expect it.. I was planning to implement it that way.

@reduz I don't mind if it's done by painting them by hand, for as long as we can do it :)
I was actually wondering if we could do it with blender and import the mesh via something like @ndee85 's coa-tools godot exporter

Recently I started to question the idea of exposing Clipper as a wrapper class, I think users shouldn't really care about this and it would add unnecessary complexity...
I was thinking that maybe it would be a better idea to expose the relevant methods in Geometry singleton. As reduz pointed out, there's already triangulate_polygon and even clip_polygon (which seems like it's tailored for 3D case rather than 2D), what I'm proposing instead is to expose these kind methods to be available in Geometry singleton:
Array merge_poly_2d(const Vector<Vector2> &poly_a, const Vector<Vector2> &poly_b, bool is_a_open = false);
Array clip_poly_2d(const Vector<Vector2> &poly_a, const Vector<Vector2> &poly_b, bool is_a_open = false);
Array intersect_poly_2d(const Vector<Vector2> &poly_a, const Vector<Vector2> &poly_b, bool is_a_open = false);
Array exclude_poly_2d(const Vector<Vector2> &poly_a, const Vector<Vector2> &poly_b, bool is_a_open = false); // xor
Array offset_poly_2d(const Vector<Vector2> &poly, real_t p_offset, bool is_open = false, int join_type = 0); // negative to shrink, positive to expand
// Array triangulate(const Vector<Vector2> &poly);

Note that clipping operation can be done on poly_a to be a polyline (open path) rather than a polygon (closed path), hence the naming. Also note that that the result of any such method can also yield multiple polygons (possibly with holes which could be distinguished by computing orientation), hence Array is returned (could also return a dictionary separating outer from inner polygons so you won't have to recompute orientation).
Offsettng polylines could also have different flavors which would result in a polygon (join types):

What do you think?

Thx for your work. I hope somedays, something will get merged, as it's a very useful feature for 2d guys.
A thing I can't remember, is polygon2d can have holes in godot? Because, how this will get managed if not?

@TotCac this is the reason I don't use Polygon2D at all. In my project I've come up with Model2D resource that encapsulates boundary and holes as an entity and which could be applied to different 2D objects in theory. In fact I've adapted CSG 3D implementation presented by reduz to work in 2D using Clipper for my project.
That's quite a lot of work to rewrite different parts of engine to incorporate this natively, so I'm so far satisfied with my own specific implementation, so at least something could be exposed and generalized as much as possible to be useful in many use cases.
I also wasn't satisfied with the computational complexity of the underlying triangulation and decomposition libraries in Godot which are quite slow if you want to triangulate a polygon with, for instance, 100 holes in it, and can't handle degenerate input. I'm not really motivated to implement such system too because generalization could negatively impact the performance which I'm not going to trade off in my project.
Clipper 10.0.0 triangulation is quite fast and robust but alas it's in beta/alpha for now, so must stick to 6.4.2.

This one is unlikely to be merged:

Modified thirdparty code bug fixes provided by the original author that I lost track of.
Clipper 10.0.0 is not stable (alpha/beta now).

Closing as being (hopefully) superseded by #28987 implementation that should be more compact and uses stable version currently used by the engine (6.4.2).

Note: even though the branch was deleted, most fixes and additional enhancements were translated to yet work-in-progress module with Clipper 10.0.0 under the hood. Once it's stable enough, some features (like robust triangulation) could be used internally and exposed (or even replaced) in Geometry singleton. That would mean no more Bad Polygon! errors when drawing polygons with draw_polygon or similar.


failed to decode blob sidecars: xx

I trying to set up blob-archiver using docker-compose up and connecting it to my beacon node (with Prysm)
I am getting this error, no idea how to fix it:
archiver_1        | t=2024-03-16T13:12:54+0000 lvl=info msg="Initializing Archiver Service"
archiver_1        | {"level":"trace","service":"client","impl":"http","time":"2024-03-16T13:12:54Z","message":"Context done; closing connection"}
archiver_1        | t=2024-03-16T13:12:54+0000 lvl=info msg="starting metrics server"       addr=<IP_ADDRESS> port=7300
archiver_1        | t=2024-03-16T13:12:54+0000 lvl=info msg="started metrics server"        addr=[::]:7300
archiver_1        | t=2024-03-16T13:12:54+0000 lvl=info msg="Archiver API server started"   address=[::]:8000
archiver_1        | {"level":"trace","service":"client","impl":"http","id":"1de5098c","address":"http://MY_BEACON_NODE:PORT","endpoint":"/eth/v1/beacon/headers/head","time":"2024-03-16T13:12:54Z","message":"GET request"}
archiver_1        | {"level":"trace","service":"client","impl":"http","id":"3ac0b1c","address":"http://MY_BEACON_NODE:PORT","endpoint":"/eth/v1/beacon/blob_sidecars/0xb02f2ca9c5892a4e6a31bea43be747f8f1232a419c012b81d306d86e4a92c207","time":"2024-03-16T13:12:54Z","message":"GET request"}
blob-archiver_create-buckets_1 exited with code 0
archiver_1        | t=2024-03-16T13:12:54+0000 lvl=eror msg="failed to fetch blob sidecars" err="failed to decode blob sidecars: xx"
archiver_1        | {"level":"trace","service":"client","impl":"http","id":"2a5b3e44","address":"http://MY_BEACON_NODE:PORT","endpoint":"/eth/v1/beacon/headers/head","time":"2024-03-16T13:12:55Z","message":"GET request"}
archiver_1        | {"level":"trace","service":"client","impl":"http","id":"11b6f22f","address":"http://MY_BEACON_NODE:PORT","endpoint":"/eth/v1/beacon/blob_sidecars/0xb02f2ca9c5892a4e6a31bea43be747f8f1232a419c012b81d306d86e4a92c207","time":"2024-03-16T13:12:55Z","message":"GET request"}
archiver_1        | t=2024-03-16T13:12:55+0000 lvl=eror msg="failed to fetch blob sidecars" err="failed to decode blob sidecars: xx"
archiver_1        | {"level":"trace","service":"client","impl":"http","id":"4a71ead8","address":"http://MY_BEACON_NODE:PORT","endpoint":"/eth/v1/beacon/headers/head","time":"2024-03-16T13:12:58Z","message":"GET request"}
archiver_1        | {"level":"trace","service":"client","impl":"http","id":"498b6717","address":"http://MY_BEACON_NODE:PORT","endpoint":"/eth/v1/beacon/blob_sidecars/0xb02f2ca9c5892a4e6a31bea43be747f8f1232a419c012b81d306d86e4a92c207","time":"2024-03-16T13:12:58Z","message":"GET request"}
archiver_1        | t=2024-03-16T13:12:58+0000 lvl=eror msg="failed to fetch blob sidecars" err="failed to decode blob sidecars: xx"
archiver_1        | t=2024-03-16T13:12:58+0000 lvl=eror msg="failed to seed archiver with initial block" err="operation failed permanently after 3 attempts: failed to decode blob sidecars: xx"
archiver_1        | t=2024-03-16T13:12:58+0000 lvl=crit msg="Application failed"            message="failed to start: operation failed permanently after 3 attempts: failed to decode blob sidecars: xx"
blob-archiver_archiver_1 exited with code 1

I've checked my beacon api endpoint, it returns the data and blob successfully. Any advise?

@Egozit
Thanks for taking the time to open this issue! We've added this to our backlog, pending to be reviewed.

@Egozit just taken a look at this and this code in the library which does the ssz deserialzation is returning an error.
I tested this on Prysm and Lighthouse and it only seems to be an issue for Prysm. I'll open an issue on the library to confirm. However this PR lets you specify some env vars to enforce json encoding instead of ssz which works for both consensus clients. You can enable this by setting the following env vars:
BLOB_ARCHIVER_L1_BEACON_CLIENT_ENFORCE_JSON: true
BLOB_API_L1_BEACON_CLIENT_ENFORCE_JSON: true

Going to close this issue, as there is a workaround for this (using JSON via the env vars). I'll follow up on the failed SSZ deserialization in the linked issue.


Declaring variable outside the for loop

Hi,
This PR fixes the minor compile errors that I was getting while building libmodsecurity. I was getting the following error:
make[2]: Entering directory `/opt/ModSecurity/examples/multiprocess_c'
gcc -DHAVE_CONFIG_H -I. -I../../src    -I../../headers -I../..  -g -O2 -MT multi-multi.o -MD -MP -MF .deps/multi-multi.Tpo -c -o multi-multi.o `test -f 'multi.c' || echo './'`multi.c
multi.c: In function ‘process_request’:
multi.c:53:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
     for (int i = 0; i < REQUESTS_PER_PROCESS; i++) {
     ^
multi.c:53:5: note: use option -std=c99 or -std=gnu99 to compile your code
make[2]: *** [multi-multi.o] Error 1
make[2]: Leaving directory `/opt/ModSecurity/examples/multiprocess_c'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/opt/ModSecurity/examples'
make: *** [all-recursive] Error 1

Hi @manishmalik,
Thank you for the patch! Merged!


get_lldp_neighbors_detailed borked on Junos 15, MX series

Description of Issue/Question
Because F$%^&ng vendors and the RPC has been changed yet again. On MX series used to be get-lldp-interface-neighbors-information, now it's get-lldp-interface-neighbors.
napalm-junos version
(Paste verbatim output from pip freeze | grep napalm-junos between quotes below)
0.12.0

JunOS version
(Paste verbatim output from show version and haiku between quotes below)
15.1F7.3

MX series.
Error Traceback
(Paste the complete traceback of the exception between quotes below)
Traceback (most recent call last):
          File "/usr/lib/python2.7/dist-packages/salt/utils/napalm.py", line 154, in call
            kwargs.pop(karg)
          File "/usr/local/lib/python2.7/dist-packages/napalm_junos/junos.py", line 659, in get_lldp_neighbors_detail
            lldp_table.get(interface_name=interface)
          File "/usr/local/lib/python2.7/dist-packages/jnpr/junos/factory/optable.py", line 64, in get
            self.xml = getattr(self.RPC, self.GET_RPC)(**rpc_args)
          File "/usr/local/lib/python2.7/dist-packages/jnpr/junos/rpcmeta.py", line 336, in _exec_rpc
            return self._junos.execute(rpc, **dec_args)
          File "/usr/local/lib/python2.7/dist-packages/jnpr/junos/decorators.py", line 63, in wrapper
            result = function(*args, **kwargs)
          File "/usr/local/lib/python2.7/dist-packages/jnpr/junos/decorators.py", line 31, in wrapper
            return function(*args, **kwargs)
          File "/usr/local/lib/python2.7/dist-packages/jnpr/junos/device.py", line 736, in execute
            errs=ex)
        RpcError: RpcError(severity: error, bad_element: get-lldp-interface-neighbors-information, message: error: syntax error
        error: syntax error)

Blocking this, I will reopen under the main repo.

https://github.com/napalm-automation/napalm/issues/428


CI: package up global-state-update-gen

Adds:

.github/workflows/publish-global-state-update-gen.yml

gha workflow that will publish the global-state-update-gen tool on any v* tag to our apt repos
built on both focal and bionic runners

ci/publish_deb_to_repo.sh

handles the juggling of the aptly commands

utils/global-state-update-gen/Cargo.toml

adds fields use by cargo-deb

Ticket:

https://app.zenhub.com/workspaces/cn-sre-60d363546afb85000e491ff6/issues/casper-network/sre/541

bors r+

bors r+

Manually merging, tested locally with no issue. Reason: https://forum.bors.tech/t/resource-not-accessible-by-integration/408/12


[BUG] - Xcode Dependencies Package cannot uncheck permissions

I'm using Xcode 15.0.1 and there's seems to be a bug where you cannot uncheck dependencies packages.
When submitting to Apple, I get lots of ITMS-90683: Missing purpose string in Info.plist as i'm not using all permissions.
I've also tried installing as a pod, but this seems to install all packages?
Anybody know a way around this? I've already tried manually removing packages i'm not using in my target's frameworks, libraries and embedded content.

@ryaaanb I am not reproducing in SPM and Xcode 15.2. Don't use pod, that hasn't been updated in very long. Is this still causing an issue for you?


Add README message now that this repo has been deprecated

What? and Why?

What does this pull request change/fix? Why was it necessary? Add message to README now that this repo has been deprecated.

Checklist

[ ] CHANGELOG.md updated? (if required) Y

Codecov Report

Merging #45 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master     #45   +/-   ##
======================================
  Coverage    82.6%   82.6%
======================================
  Files          10      10
  Lines         322     322
======================================
  Hits          266     266
  Misses         56      56

Continue to review full report at Codecov.

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

As emilio said, it's there, but no changelog, do we need it?


Unable to make field private final java.lang.String java.io.File.path accessible: module java.base does not "opens java.io" to unnamed

I'm trying to build the app for android, but i when i do i get:
Launching lib\main.dart on sdk gphone x86 64 in debug mode...
Upgrading build.gradle
Conflict detected between Android Studio Java version and Gradle version, upgrading Gradle version from 6.7 to 7.6.1.
Upgrading gradle-wrapper.properties
Running Gradle task 'assembleDebug'...
One or more plugins require a higher Android NDK version.
Fix this issue by adding the following to C:\Users\Gabriel\development\flutter_gstreamer_player-master\example\android\app\build.gradle:
android {
ndkVersion "21.4.7075529"
...
}
Checking the license for package Android SDK Build-Tools 29.0.2 in C:\Users\Gabriel\AppData\Local\Android\Sdk\licenses
License for package Android SDK Build-Tools 29.0.2 accepted.
Preparing "Install Android SDK Build-Tools 29.0.2 (revision: 29.0.2)".
"Install Android SDK Build-Tools 29.0.2 (revision: 29.0.2)" ready.
Installing Android SDK Build-Tools 29.0.2 in C:\Users\Gabriel\AppData\Local\Android\Sdk\build-tools\29.0.2
"Install Android SDK Build-Tools 29.0.2 (revision: 29.0.2)" complete.
"Install Android SDK Build-Tools 29.0.2 (revision: 29.0.2)" finished.
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':app:processDebugMainManifest'.

Unable to make field private final java.lang.String java.io.File.path accessible: module java.base does not "opens java.io" to unnamed module @806171c

Try:

Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 2m 25s
Exception: Gradle task assembleDebug failed with exit code 1
I'm using Gstreamer android 1.20.1 like in the example and OpenJDK 11.0.18 2023-01-17. I'm on Windows 11, but I also tried on Linux and I can get the Linux desktop app working, but not the android one.

I tried adding the ndkVersion line but i still get:
Launching lib\main.dart on sdk gphone x86 64 in debug mode...
Running Gradle task 'assembleDebug'...
Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/03 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/03 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/03 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':app:processDebugMainManifest'.

Unable to make field private final java.lang.String java.io.File.path accessible: module java.base does not "opens java.io" to unnamed module @806171c

Try:

Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 5s
Exception: Gradle task assembleDebug failed with exit code 1

Set in gradle.properties this code 👍
org.gradle.jvmargs=-Xmx1536M \
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED \
--add-opens=java.base/java.lang=ALL-UNNAMED \
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED \
--add-opens=java.base/java.io=ALL-UNNAMED \
--add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED


maxHeight issue in Rows

I have a component which use Rows and it has two child Row. Inside the second child row i have three box elements with flex value as "content", "fluid", "content" respectively.Basically it is to render a fixed header and footer, and the middle one will be flexible (depending on the content). Now, i am setting style={{maxHeight: 0.7*WINDOW_HEIGHT}} in the parent Rows.
The issue is even if that middle content is having lesser content, the height is still remaining at 70% of window height.
Ideally it should be flexible depending on the content.

@LTAbhirup could you provide the JSX markup?

@mobily  jsx
<Rows style={{ maxHeight: 0.7 * WINDOW_HEIGHT}}>        <Row>//Another row </Row>        <Row           style={{backgroundColor: '#fff'}}           height="fluid"           paddingX={4}           paddingY={6}         >           {HeaderComponent && {HeaderComponent}} // Header is a box with flex="content"           <Box flex="fluid">{children}</Box>                  {FooterComponent && {FooterComponent}} // Header is a box with flex="content"         </Row>       </Rows> </Rows>

@mobily any update on this ?

@mobily as per the screenshot of your app, i would like that "C" box to take only only the text height .Currently it is taking the remaining height. If the text increases, so the height will also increase.
In my screenshot , I am trying to make a bottommodal which uses the react-native-modal library .The children may be either text / flatlist / scolllview(should be scrollable only when maxHeight is reached.

@LTAbhirup hey again! I have a strong feeling that in this specific case you should use a different approach and different components, here's a solution with no Rows/Row:
<Modal
  isVisible={visible}
  useNativeDriver={true}
  useNativeDriverForBackdrop={true}
  avoidKeyboard={true}
  onBackdropPress={handleClose}
  onBackButtonPress={handleClose}
  style={styles.modal}
  backdropColor={palette.text}
  backdropOpacity={0.5}
  testID="BottomSheet_container"
>
  <Box flex="fluid" alignY="bottom">
    <Box alignX="center" marginBottom={4.5}>
      <IconButton
        name="arrow-bottom"
        color={palette.gray300}
        style={{ backgroundColor: palette.text }}
        onPress={handleClose}
      />
    </Box>
    {HeaderComponent ? {HeaderComponent} : null}
    <Box
      style={{
        ...styles.content,
        maxHeight: 0.5 * WINDOW_HEIGHT,
        backgroundColor: '#fff',
      }}
      paddingX={4}
      paddingY={6}
    >
      {children}
    </Box>
    {FooterComponent ? {FooterComponent} : null}
  </Box>
</Modal>

and the final result:

I'm going to close this issue, if there are any other problems, please open a new issue

Thanks @mobily . I will check.


Check 2612 should be made optional

Suggestion
🔍 Search Terms
useDefineForClassFields
declare override
'override' modifier cannot be used with 'declare' modifier.(1243)
Property 'resident' will overwrite the base property in 'AnimalHouse'. If this is intentional, add an initializer. Otherwise, add a 'declare' modifier or remove the redundant declaration.(2612)
✅ Viability Checklist

My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion
Check 2612 should be made optional.
Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration
https://github.com/microsoft/TypeScript/blob/343191217575c20e2ee7845927d5ca23981cc663/src/compiler/checker.ts#L40954-L40972

📃 Motivating Example
Consider this snippet:
class DogHouse extends AnimalHouse {
  @Prop({
    default: {
      animalStuff: 'food',
      dogStuff: 'dog food',
    }
  })
  override resident!: Dog;
}

This is valid with useDefineForClassFields set to false.
When useDefineForClassFields is set to true, which is the new default of es2022 and later;
the following error is thrown:  Property 'resident' will overwrite the base property in 'AnimalHouse'. If this is intentional, add an initializer. Otherwise, add a 'declare' modifier or remove the redundant declaration.(2612)
This error seems reasonable at first, but it doesn't make sense in the long run.
It only makes sense in the transition period before new es class field behavior becomes universal.
Suppose after 10 years, In year 2032, it's know to all that a class field override will redefine the property in the constructor.
class DogHouse extends AnimalHouse {
  @Prop({
    default: {
      animalStuff: 'food',
      dogStuff: 'dog food',
    }
  })
  override resident!: Dog;
}

Why this snippet triggers error? It's completely valid.
It means the property will be overridden, and the ! indicates that the property is not assigned inside the constructor, but to be assigned by some other means later in runtime. And @Prop is probably doing all the magic behind the scene.
Just pass this through to javascript:
class DogHouse extends AnimalHouse {
  @Prop(...) // To be specified by ecma decorator
  resident;
}

Perfect! We are done!
Ok. That's for all the story.
I expect such option (to disable error 2612) be implemented sooner or later, and eventually becomes default, just like useDefineForClassFields.
I would like to have this option sooner.
It's breaking my valid es2022 compatible code.
Ironically, it's preventing me from adopting the es class field new behavior now, even if my code is capable of the change.
I can PR this if you prefer.
💻 Use Cases
In real-world scenarios, class properties are heavily used with inherence and overrideing.
Such snippet is considered valid and clear:
class DogHouse extends AnimalHouseAfter10TimeExtendingAndHave100InheritedFieldsOverridingEachOther {
  @Prop({
    default: {
      animalStuff: 'food',
      dogStuff: 'dog food',
    }
  })
  override resident!: Dog;
}

Especially when you already have embraced the new mindset of class field being [[define]]ed.
But not so clear with declare coming out of nowhere, even preventing override being specified.
So make this check optional. And disable this check by default when es class field becomes universal.

With proposed compiler option allowImplicitDefineForClassFields.

Since the error message says

If this is intentional, add an initializer

I think I would ultimately agree that writing...
override resident!: Dog;

...should suppress the error (without an additional compiler option), since ! means "treat the property as initialized".

@nomagick Thanks, I understand what you want now.  I was confused in the other issue because it seemed like you needed the property to be removed from the output for this to work at runtime, in which case you would definitely want to use declare to make that clear to people reading the code.  Since you don't need to elide the property though, I agree that the ! should be sufficient here.


new five.Button ( TypeError: pin.replace is not a function )

Hi folks,
I’ve come across an error when adding a new five.Button() to spark-io board.
I’ve looked through the examples in /eg, but there doesn’t seem to be one using a button,
so forgive me if Im missing something about buttons and spark-io - I’m kind of new to this.
"devDependencies": {
  "johnny-five": "^0.8.85",
  "spark-io": "^0.6.1"
}

Here’s the script
var five = require('johnny-five')
var Spark = require('spark-io')

var board = new five.Board({
  io: new Spark({
    token: process.env.SPARK_TOKEN,
    deviceId: process.env.SPARK_DEVICE_ID
  })
})

board.on('ready', function() {
  var button = new five.Button('D3') // Booo!

  button.on('down', function() {
    console.log('down')
  })
})

Here’s the error:
nodebots % node button.js
1438999226193 Device(s) spark-io
1438999227426 Connected spark-io
1438999227601 Repl Initialized
>> /Users/chrisbuttery/Web/nodebots/node_modules/spark-io/lib/spark.js:318
  pinInt = (pin.replace(/A|D/, "") | 0) + offset;
                ^
TypeError: pin.replace is not a function
    at Spark.pinMode (/Users/chrisbuttery/Web/nodebots/node_modules/spark-io/lib/spark.js:318:17)
    at Button.Controllers.DEFAULT.initialize.value (/Users/chrisbuttery/Web/nodebots/node_modules/johnny-five/lib/button.js:29:17)
    at new Button (/Users/chrisbuttery/Web/nodebots/node_modules/johnny-five/lib/button.js:189:10)
    at Board.<anonymous> (/Users/chrisbuttery/Web/nodebots/game-buzzer.js:12:16)
    at emitNone (events.js:67:13)
    at Board.emit (events.js:163:7)
    at doNTCallback0 (node.js:415:9)
    at process._tickDomainCallback (node.js:385:13)

So here are the opts when johnny-five calls it’s button initialisation:
https://github.com/rwaldron/johnny-five/blob/master/lib/button.js#L187
if (typeof this.initialize === "function") {
  this.initialize(opts, function(data) {

    // opts = Options {pin: "D3", pinValue: "D3"}
  }
}

Here are the opts when the button is initialised:
https://github.com/rwaldron/johnny-five/blob/master/lib/button.js#L21
var Controllers = {
  DEFAULT: {
    initialize: {
      value: function(opts, dataHandler) {

        if (Pins.isFirmata(this) && typeof opts.pinValue === "string" && opts.pinValue[0] === "A") {
          opts.pinValue = this.io.analogPins[+opts.pinValue.slice(1)];
        }

        this.pin = +opts.pinValue;

        // opts = Options {pin: "D3", pinValue: "D3"}
        // this = Button {board: Board, io: Spark, id: null, pin: NaN, holdtime: 500…}
        // this.board.io.name = "spark-io"
        // 'Pins.isFirmata(this) = false
        // opts.pinValue = "D3"
        // opts.pinValue[0] === "A" = false
      }
    }
  }
}

… and the spark-io throws an error here:
https://github.com/rwaldron/spark-io/blob/master/lib/spark.js#L325
pinInt = (pin.replace(/A|D/, "") | 0) + offset;

// pin = NaN

There is no mistake in your code, this is just a bug that appears to be the result of some newer changes to Johnny-Five. I'll take a look at it this evening.

new version of Johnny-Five will push out later this evening.

Yeah that works a treat, thanks heaps!

All set—fix is released!

BOOM! :bomb:
Cheers @rwaldron

👏

Hi--
I am also running into the same error. I am pretty to new to this so any guidance is greatly appreciated.

Particle Photon Board
Shield Shield
Johnny Five
Particle-io
Continous Servo

Here's the script:

Pretty much this example
var five = require("johnny-five");
var Particle = require("particle-io");
var board = new five.Board({
  io: new Particle({
    token: "...",
    deviceId: "..."
  })
});

board.on("ready", function() {

  console.log("Use Up and Down arrows for CW and CCW respectively. Space to stop.");

  var servo = new five.Servo.Continuous(10);

  process.stdin.resume();
  process.stdin.setEncoding("utf8");
  process.stdin.setRawMode(true);

  process.stdin.on("keypress", function(ch, key) {

    if (!key) {
      return;
    }

    if (key.name === "q") {
      console.log("Quitting");
      process.exit();
    } else if (key.name === "up") {
      console.log("CW");
      servo.cw();
    } else if (key.name === "down") {
      console.log("CCW");
      servo.ccw();
    } else if (key.name === "space") {
      console.log("Stopping");
      servo.stop();
    }
  });
});

Here's the error:
1471134659325 Device(s) particle-io
1471134661721 Connected particle-io
1471134661821 Repl Initialized
>> Use Up and Down arrows for CW and CCW respectively. Space to stop.
/Users/IanTMoritz/Desktop/Dash of Love/node_modules/particle-io/lib/particle.js:458
  pinInt = (pin.replace(/A|D/, "") | 0) + offset;
                ^

TypeError: pin.replace is not a function
    at Particle.pinMode (/Users/IanTMoritz/Desktop/Dash of Love/node_modules/particle-io/lib/particle.js:458:17)
    at Servo.Controllers.Standard.initialize.value (/Users/IanTMoritz/Desktop/Dash of Love/node_modules/johnny-five/lib/servo.js:59:19)
    at new Servo (/Users/IanTMoritz/Desktop/Dash of Love/node_modules/johnny-five/lib/servo.js:189:8)
    at new Servo.Continuous (/Users/IanTMoritz/Desktop/Dash of Love/node_modules/johnny-five/lib/servo.js:514:10)
    at Board.<anonymous> (/Users/IanTMoritz/Desktop/Dash of Love/bot4.js:16:15)
    at emitNone (events.js:72:20)
    at Board.emit (events.js:166:7)
    at nextTickCallbackWith0Args (node.js:420:9)
    at process._tickDomainCallback (node.js:390:13)

Does it have something to do with the mapping of the shield?
Thanks!


⚠ Processors has degraded performance

In 5af1a79, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 163 ms

Resolved: Processors performance has improved in cf11210.


add java linked list

Fixes #28
By submitting this pull request I confirm I've read and complied with the
below declarations.

[X] I have read the Contribution guidelines and I am confident that my PR reflects them.
[X] I have followed the commit guidelines for this project.
[X] My code follows the standard code structure.
[X] This pull request has a descriptive title. For example, {Tag}: Add {Algorithm/DS name} [{Language}], not Update README.md or Added new code.
[X] This pull request will be closed if I fail to update it even once in a continuous time span of 7 days.
[X] This pull request shall only be reviewed and merged once all the checks passes. No maintainer or supporter shall be obliged to review it before this condition is met.
[X] I have mentioned the issue number correctly (with hyperlink) in this pull request description.

@sangamcse rebase

Hey! I'm GitMate.io! This pull request is being rebased automatically. Please DO NOT push while rebase is in progress or your changes would be lost permanently :warning:

Automated rebase failed! Please rebase your pull request manually via the command line.
Reason:
Command: git rebase base/master

Exit Code: 128

Cause:

.git/rebase-apply/patch:25: new blank line at EOF.
+
warning: 1 line adds whitespace errors.
error: Failed to merge in the changes.

alright rebased

@rugglcon Can you squash all your commits into a single one.
Use this git commit --amend please.

@sangamcse rebase

Hey! I'm GitMate.io! This pull request is being rebased automatically. Please DO NOT push while rebase is in progress or your changes would be lost permanently :warning:

Automated rebase failed! Please rebase your pull request manually via the command line.
Reason:
Command: git rebase base/master

Exit Code: 128

Cause:

.git/rebase-apply/patch:25: new blank line at EOF.
+
warning: 1 line adds whitespace errors.
error: Failed to merge in the changes.

ack b950e535340c8b4c1960734b592a624f541be913