Fix thin jar caching when testing the optimized executable

Purpose
$title
Fixes https://github.com/ballerina-platform/ballerina-lang/issues/43579
Approach
When we run the bal test --eliminate-dead-code command, we have to duplicate certain modules to avoid false positive test results. During DCE we categorize modules into three categories,

Optimized modules :- These are used only by the build project. If there are no test cases, all modules will fall under this category. These are cached in the target/cache directory of the project.
Unoptimized modules :- Modules used by the testable pkg. We have to keep these modules pure to avoid false positive test results. See this document for more details. Since these are pure modules, they are cached in the .ballerina file system cache.
Optimized duplicated modules:- Common dependencies used by both build project and testable project. These duplicated modules are optimized and used by the build project. They are bytecode instrumented to avoid clashing with their counterparts in testable pkg dependencies. References in build pkg are also bytecode instrumented to make them visible only to build pkg. These are cached in the target/cache directory of the project along with a _OPTIMIZED suffix for the thin jar.

The error was due to a bug in the retrieval of the cache locations during test execution.
Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

@ayeshLK as of now, ballerina/random is passing all the tests. But ballerina/os is giving the following failures,
Running Tests

	os

	testExecExit has failed.

	testExecNegative has failed.

	testExecWithOutputStdErr has failed.

	testExecWithOutputStdOut has failed.

		[fail] testExecExit:

		   error("No such error: ProcessExecError")
				callableName: nativeOutput moduleName: ballerina.os.1 fileName: process.bal lineNumber: 67
				callableName: output moduleName: ballerina.os.1.Process fileName: process.bal lineNumber: 44
				callableName: testExecExit moduleName: ballerina.os$test.1.tests.os_test fileName: tests/os_test.bal lineNumber: 231
				callableName: testExecExit$lambda13$ moduleName: ballerina.os$test.1.tests.test_execute-generated_1 fileName: tests/test_execute-generated_1.bal lineNumber: 17

		[fail] testExecNegative:

		   error("No such error: ProcessExecError")
				callableName: exec moduleName: ballerina.os.1 fileName: os.bal lineNumber: 130
				callableName: testExecNegative moduleName: ballerina.os$test.1.tests.os_test fileName: tests/os_test.bal lineNumber: 249
				callableName: testExecNegative$lambda14$ moduleName: ballerina.os$test.1.tests.test_execute-generated_1 fileName: tests/test_execute-generated_1.bal lineNumber: 18

		[fail] testExecWithOutputStdErr:

		   error("No such error: ProcessExecError")
				callableName: exec moduleName: ballerina.os.1 fileName: os.bal lineNumber: 130
				callableName: testExecWithOutputStdErr moduleName: ballerina.os$test.1.tests.os_test fileName: tests/os_test.bal lineNumber: 197
				callableName: testExecWithOutputStdErr$lambda11$ moduleName: ballerina.os$test.1.tests.test_execute-generated_1 fileName: tests/test_execute-generated_1.bal lineNumber: 15

		[fail] testExecWithOutputStdOut:

		   error("No such error: ProcessExecError")
				callableName: exec moduleName: ballerina.os.1 fileName: os.bal lineNumber: 130
				callableName: testExecWithOutputStdOut moduleName: ballerina.os$test.1.tests.os_test fileName: tests/os_test.bal lineNumber: 182
				callableName: testExecWithOutputStdOut$lambda10$ moduleName: ballerina.os$test.1.tests.test_execute-generated_1 fileName: tests/test_execute-generated_1.bal lineNumber: 14

		17 passing
		4 failing
		0 skipped

		Test execution time : 0.075s
error: there are test failures

These seems to be external dependencies used in java side. Following is the ErrorCreate usage of ProccessExecError,
https://github.com/ballerina-platform/module-ballerina-os/blob/3fa45fea3557f009b6e828e6275fd9b2bf12572b/native/src/main/java/io/ballerina/stdlib/os/nativeimpl/WaitForExit.java#L44
Could you please check and confirm?


Homebrew-versions linux support and keg paths

I was trying to install gcc49 through homebrew-versions and realized that it didn't have any linuxbrew linux clauses (many OS X specific clauses). I would have thought that the old mainline gcc formula would simply become the versioned gccxx.rb formula once a new gcc formula was released (of course with tweaks for versioned dependencies as well). Support for linux seems a bit sparse for now.
The second issue is that versioned software formulae should have:
Env.append "LDFLAGS", "-Wl,-rpath=${Formula["dependencyxy"].opt_prefix}"
To set the rpath to the keg old versioned library. This is because the default rpath of $(brew --prefix)/lib won't work with keg dependencies because they are unlinked. As a general rule, it might make sense to do $LDFLAGS for the opt_prefix of each dependency automatically, but of course the caveat being that the build process might not respect the env $LDFLAGS variable.

Homebrew/versions is not a supported tap of Linuxbrew. You could, if you like, adopt the maintenance of it. If it goes well, we can start a fork in Linuxbrew/versions.
I agree with your assessment of the RPATH.


[T3A2][W11-A1]Tan Wang Leng

Ready for review.

@yamgent Please acknowledge and close PR. We are now advised to follow this protocol for PR closing to ensure student read our comments.

Thanks for your review!


Run test_single_image.py only get FPS 10

Hi wizyoung:
Thank you for providing this awesome repo!
Based on my test, it takes around 100s to run boxes_, scores_, labels_ = sess.run([boxes, scores, labels], feed_dict={input_data: img}) 1000 times with a 416x416 image. This speed is nearly 5 times slower than 23ms you claimed. I didn't change anything on your  test_single_image.py file.
Could you help me a little bit with this?
Thank you!

By the way, I am using a 32G V100 GPU, with CUDA 9.0 and CuDNN 7.

I use your CPU NMS instead, the speed is boosted up to 80 FPS.
There should be something wrong with TF gpu nms. Thank you for this amazing work! @wizyoung

Thanks for your report. I take a glance and the code is indeed not well optimized. You can refer to train.py that places model and gpu nms op before the session. I will update the code later today when I have time.

I use your CPU NMS instead, the speed is boosted up to 80 FPS.
There should be something wrong with TF gpu nms. Thank you for this amazing work! @wizyoung

Hello, I also tried to use cpu_nms to solve the speed problem, but there was an error.The error is as follows:AttributeError: 'Tensor' object has no attribute 'reshape'.How did you solve it?

I didn't have this problem.
Could you please specify your error or report the full error message and location? I cannot spot this error in the code.

@shen338 On my machine, the speed is fast except for the first image. The first image will take a lot of time. I just tested 10 images in a for loop, the time cost is:
2623.04902077
28.8169384003
29.2549133301
26.9999504089
28.8610458374
28.0549526215
28.1419754028
28.5141468048
28.6440849304
29.492855072

I use your CPU NMS instead, the speed is boosted up to 80 FPS.
There should be something wrong with TF gpu nms. Thank you for this amazing work! @wizyoung

Hello, I also tried to use cpu_nms to solve the speed problem, but there was an error.The error is as follows:AttributeError: 'Tensor' object has no attribute 'reshape'.How did you solve it?

I didn't have this problem.
Could you please specify your error or report the full error message and location? I cannot spot this error in the code.
Traceback (most recent call last):
File "test_single_image.py", line 60, in
boxes, scores, labels = cpu_nms(pred_boxes, pred_scores, args.num_class, max_boxes=100, score_thresh=0.4, iou_thresh=
0.5)
File "D:\YOLOv3_TensorFlow-master\YOLOv3_TensorFlow-master\utils\nms_utils.py", line 133, in cpu_nms
boxes = boxes.reshape(-1, 4)
AttributeError: 'Tensor' object has no attribute 'reshape'

I use your CPU NMS instead, the speed is boosted up to 80 FPS.
There should be something wrong with TF gpu nms. Thank you for this amazing work! @wizyoung

Hello, I also tried to use cpu_nms to solve the speed problem, but there was an error.The error is as follows:AttributeError: 'Tensor' object has no attribute 'reshape'.How did you solve it?

I didn't have this problem.
Could you please specify your error or report the full error message and location? I cannot spot this error in the code.
Traceback (most recent call last):
File "test_single_image.py", line 60, in
boxes, scores, labels = cpu_nms(pred_boxes, pred_scores, args.num_class, max_boxes=100, score_thresh=0.4, iou_thresh=
0.5)
File "D:\YOLOv3_TensorFlow-master\YOLOv3_TensorFlow-master\utils\nms_utils.py", line 133, in cpu_nms
boxes = boxes.reshape(-1, 4)
AttributeError: 'Tensor' object has no attribute 'reshape'

Mistakes don't think tensor reshape properties


JDBC: Merge with master, fix failing tests

Not sure why GitHub displays all the commits here - sorry about that. The last 6 commits should fix the build and get tests to pass.
Note I had to un-exclude netty-transport-unix-common to get the TLS tests to pass.

@lidavidm
There are some JDBC tests failing in CI:
https://github.com/Bit-Quill/arrow/runs/7977813470?check_suite_focus=true#step:6:7191

Thanks, appears to be Java 17/18 compat issues. I'll work through these.
Do you mind if I do a bit of other cleanup here too? (In particular: renaming everything to use flight-sql as the name to make it clear what it's building on)

Looks like some Windows/Java 11 things now, will take a look in a bit…

Thanks, appears to be Java 17/18 compat issues. I'll work through these.
Do you mind if I do a bit of other cleanup here too? (In particular: renaming everything to use flight-sql as the name to make it clear what it's building on)

Sounds good.

Alright, things here should be ready - I did do a bunch of renaming but let me know if we should revert that

@lidavidm LGTM. Did you have any other changes planned?

@jduo no more changes here. I'll take another pass through the Arrow PR itself once this is in, before merging; then the other contributor's PR can go in I think

@jduo any other comments here? I'll do a final review of the PR once this is in (assuming tests actually pass)

I didn't have any other comments. @raymond-lum ?

I didn't have any other comments. @raymond-lum ?

Thanks @lidavidm. Looks great. Down to 1 failing check is amazing and super helpful!

Got it.
Ray
On Tue, Sep 6, 2022 at 12:35 PM David Li @.***> wrote:

The R check failure should be unrelated to this/is just a flaky test/infra
issue
—
Reply to this email directly, view it on GitHub
https://github.com/Bit-Quill/arrow/pull/5#issuecomment-1238571925, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AVXQT3IKR6Z3FJWBTDPN6BLV46MJLANCNFSM57L64D3A
.
You are receiving this because you were mentioned.Message ID:
@.***>

Just to follow up, is there anything else needed here?

James, Defer to you here. I don't think I have any other comments. Ray
…
On Thu, Sep 8, 2022 at 9:06 AM David Li @.> wrote: Just to follow up, is there anything else needed here? — Reply to this email directly, view it on GitHub <#5 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AVXQT3LCECXW6LZYGMTH54LV5IFITANCNFSM57L64D3A . You are receiving this because you were mentioned.Message ID: @.>

LGTM.


Server doesn't work with Python 3.8

Prerequisites
Please answer the following questions for yourself before submitting an issue.

[x] I am running the latest code. Development is very rapid so there are no tagged versions as of now.
[x] I carefully followed the README.md.
[x] I searched using keywords relevant to my issue to make sure that I am creating a new issue that is not already open (or closed).
[x] I reviewed the Discussions, and have a new bug or useful enhancement to share.

Expected Behavior
Working server with python3.8
Current Behavior
$ python3 -m llama_cpp.server
Traceback (most recent call last):
  File "/usr/lib/python3.8/runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/sgx/Projects/cpu-ml-cc/llama-cpp-python/venv/lib/python3.8/site-packages/llama_cpp/server/__main__.py", line 39, in <module>
    from llama_cpp.server.cli import add_args_from_model, parse_model_from_args
  File "/home/sgx/Projects/cpu-ml-cc/llama-cpp-python/venv/lib/python3.8/site-packages/llama_cpp/server/cli.py", line 86, in <module>
    T = TypeVar("T", bound=type[BaseModel])
TypeError: 'type' object is not subscriptable

Environment and Context
The server started using python3.10+ features from version 0.2.25 and it is no longer working with python3.8. The last version which works with python3.8 is 0.2.24

@rgerganov should be fixed now in v0.2.31


Update NikonReader for older versions of data format

Older versions have CentreOfRotationTop and CentreOfRotationBottom instead of ObjectRoll and ObjectOffsetX.
CentreOfRotationTop and CentreOfRotationBottom give the offset of the axis at the top and bottom of the detector in mm at the detector. From these we can calculate the tilt and offset to apply to our geometry.


Parse cli args with the clap crate

Switches from manual arg parsing to clap, which can reduce boilerplate code (e.g. it can automatically parse into types like PathBuf)
Here's how the ferry --help looks:

Thank you for your interest into this project
I will review and merge as soon as possible! :)


Add start_sequence to the example config

The start_sequence parameter currently is not documented. It should at least be included in the example configuration files. But then the issue is, which example value for the sequence should be picked?

Good question. I see 3 options here:

Allow start_sequence to be -1, in which case its ignored
Figure out how to add comments to json
Document all of the config options in the README somewhere.

What do you think?

Since options 1 and 2 are hacks: option 3. I would welcome documentation for the config in general.
Is a .toml based config feasible?

I agree that 3 is best. .toml is probably feasible, haven't looked into it.


.nojekyll files - no good :(

Hi,
I have just been speaking to Loren, who is the author of Yard. One thing we noticed, was that if we put a .nojekyll file in our yard documentation folder, and that folder is a subfolder (with a jeykll site at the gh-pages root folder). Then its not picked up. So either users can have a yard site, or a jekyll site. But not both. This is because of the underscores and (for whatever reason why) jekyll configuration _config.yml file.

This should now be resolved in commit 89180169a433d0565bdd95537b8632924f4ddfe9 by adding an 'includes' field to _config.yml, as described in #324. Though, it's currently only available on the master branch, and is not yet available as gem nor does github pages yet use this version.


GraalJSScriptEngine: NPE when setting empty engine bindings

Fixes #839
Cherry picked from:
69c6c87c8c: GraalJSScriptEngine: NPE when setting empty engine bindings
16d63fa0c2: Correction of the year in the copyright header.
According to our discussion at the GraalVM Community Workshop I'd like to revitalize the release/graal-vm/23.1 branch and downport this trivial fix which already landed in the upstream master branch.
This fix is required to pass the Java 21 JCK tests if the GraalJS module is bundled (i.e. "jlinked") with the JDK as a system module.

Is there anything blocking this backport to 23.1 ?


Socket error: FileSystemException: Directory watcher closed unexpectedly, path = 'c:\Users\This pc\OneDrive\Desktop\loundery_and_housecleaning_service'

Socket error: FileSystemException: Directory watcher closed unexpectedly, path = 'c:\Users\This pc\OneDrive\Desktop\loundery_and_housecleaning_service'
I try to run my flutter project and I face this issue, I search on google but I can't find any answer. this issue is already  posted here  but it is not answered yet

Duplicate of #38853


How to write contract with a json body with a string accepting multiple lines of text ?

Question
I'm using the following versions:

spring-boot 2.1.0.RELEASE
spring-cloud-contract 2.0.2.RELEASE
jackson 2.9.7

I'd like to define a contract where the request accepts a json body with a string accepting multiple lines of text:
request:
  url: /pendingFiles/submit
  queryParameters:
    username: John
  method: POST
  headers:
    Content-Type: application/json
  body:
    comment: |-
      Lorem Ipsum is simply dummy text of the printing and typesetting industry.
      Lorem Ipsum has been the industry's standard dummy text ever since the 1500s...

response:
  status: 202
  body:
    status: success
    message: The new configuration is being applied
    username: John
    comment: |-
      Lorem Ipsum is simply dummy text of the printing and typesetting industry.
      Lorem Ipsum has been the industry's standard dummy text ever since the 1500s...

Is this the way to create that contract, using simply a multiline text in my field (here comment field) ?
If so then there might be an issue with the generated test as it currently produces:
	@Test
	public void validate_test() throws Exception {
		// given:
			RequestSpecification request = given()
					.header("Content-Type", "application/json")
					.body("{\"comment\":\"Lorem Ipsum is simply dummy text of the printing and typesetting industry.\nLorem Ipsum has been the industry's standard dummy text ever since the 1500s...\"}");

		// when:
			Response response = given().spec(request)
					.queryParam("username","John")
					.post("/pendingFiles/submit");

		// then:
			assertThat(response.statusCode()).isEqualTo(202);
		// and:
			DocumentContext parsedJson = JsonPath.parse(response.getBody().asString());
			assertThatJson(parsedJson).field("['message']").isEqualTo("The new configuration is being applied");
			assertThatJson(parsedJson).field("['username']").isEqualTo("John");
			assertThatJson(parsedJson).field("['comment']").isEqualTo("Lorem Ipsum is simply dummy text of the printing and typesetting industry.\nLorem Ipsum has been the industry's standard dummy text ever since the 1500s...");
			assertThatJson(parsedJson).field("['status']").isEqualTo("success");
	}

The problem is with the body where the json contains unquoted character (\n) and when this goes through jackson for parsing it generates the following error:
nested exception is com.fasterxml.jackson.databind.JsonMappingException: Illegal unquoted character ((CTRL-CHAR, code 10)): has to be escaped using backslash to be included in string value
 at [Source: (PushbackInputStream); line: 1, column: 12] (through reference chain: com.stuff.MyClass["comment"])

Notice that if I modify this test to properly escape the \n (to \\n) for the request part, then the test works.
I can workaround this for now by not using the multiline string in my yaml but then it's kind of less practical:
  body:
    comment: Lorem Ipsum is simply dummy text of the printing and typesetting industry.\nLorem Ipsum has been the industry's standard dummy text ever since the 1500s...

Thanks again for your help.

I could not reproduce this issue. It's probably caused by incompatibility. spring-boot 2.1.0 goes with Greenwich Spring Cloud train and with 2.1.x versions of Spring Cloud Contract. Either use 2.1.0 contract version or switch to boot 2.0.x.

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

I tried this with spring-cloud-contract 2.1.0.M2 and spring-boot 2.1.0.RELEASE and I can reproduce the same problem.
Same when I try spring-boot 2.0.7.RELEASE and spring-cloud-contract 2.0.2.RELEASE.
I'll try to setup a test project if I have time to show the issue.

Ok, @benoitheinrich Please provide a sample where this issue happens and I will verify it for you.

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.

Hi, sorry to get back only now but I've finally got a test project that shows the problem:
https://github.com/benoitheinrich/spring-cloud-contract-long-text
Please let me know if you need anything else ?
Thanks.


Trying to get ESP-IDF 4 working, ili9341 errors

I have merged in upstream with ESP-IDF 4 support and turned it on.  The structures have changed a little and the ili9341 driver won't build. Can you enlighten on how to fix this? Something is not getting generated right...
CC ../../lib/lv_bindings/driver/esp32/modlvesp32.c
CC ../../lib/lv_bindings/driver/esp32/modILI9341.c
CC ../../lib/lv_bindings/driver/esp32/modxpt2046.c
CC ../../lib/lv_bindings/driver/esp32/modrtch.c
CC build-TINYPICO/espidfmod/mp_espidf.c
build-TINYPICO/espidfmod/mp_espidf.c:3546:17: error: redefinition of 'mp_spicommon_bus_using_iomux'
STATIC mp_obj_t mp_spicommon_bus_using_iomux(size_t mp_n_args, const mp_obj_t mp_args)
^
build-TINYPICO/espidfmod/mp_espidf.c:3530:17: note: previous definition of 'mp_spicommon_bus_using_iomux' was here
STATIC mp_obj_t mp_spicommon_bus_using_iomux(size_t mp_n_args, const mp_obj_t mp_args)
^
build-TINYPICO/espidfmod/mp_espidf.c:3553:39: error: redefinition of 'mp_spicommon_bus_using_iomux_obj'
STATIC MP_DEFINE_CONST_LV_FUN_OBJ_VAR(mp_spicommon_bus_using_iomux_obj, 1, mp_spicommon_bus_using_iomux, spicommon_bus_using_iomux);
^
build-TINYPICO/espidfmod/mp_espidf.c:76:39: note: in definition of macro 'MP_DEFINE_CONST_LV_FUN_OBJ_VAR'
const mp_lv_obj_fun_builtin_var_t obj_name =
^
build-TINYPICO/espidfmod/mp_espidf.c:3537:39: note: previous definition of 'mp_spicommon_bus_using_iomux_obj' was here
STATIC MP_DEFINE_CONST_LV_FUN_OBJ_VAR(mp_spicommon_bus_using_iomux_obj, 1, mp_spicommon_bus_using_iomux, spicommon_bus_using_iomux);
^
build-TINYPICO/espidfmod/mp_espidf.c:76:39: note: in definition of macro 'MP_DEFINE_CONST_LV_FUN_OBJ_VAR'
const mp_lv_obj_fun_builtin_var_t obj_name =
^
build-TINYPICO/espidfmod/mp_espidf.c: In function 'mp_spi_dev_t_attr':
build-TINYPICO/espidfmod/mp_espidf.c:12173:74: error: passing argument 1 of 'mp_arr_from_uint32_t___16__' discards 'volatile' qualifier from pointer target type [-Werror=discarded-qualifiers]
case MP_QSTR_data_buf: dest[0] = mp_arr_from_uint32_t___16__(data->data_buf); break; // converting from uint32_t [16];
^
build-TINYPICO/espidfmod/mp_espidf.c:10804:17: note: expected 'uint32_t * {aka unsigned int }' but argument is of type 'volatile uint32_t * {aka volatile unsigned int }'
STATIC mp_obj_t mp_arr_from_uint32_t___16__(uint32_t arr)
^
build-TINYPICO/espidfmod/mp_espidf.c:12426:47: error: passing argument 1 of 'memcpy' discards 'volatile' qualifier from pointer target type [-Werror=discarded-array-qualifiers]
case MP_QSTR_data_buf: memcpy(&data->data_buf, mp_arr_to_uint32_t___16__(dest[1]), sizeof(uint32_t)16); break; // converting to uint32_t [16];
^
In file included from /home/jonsmirl/aosp/esp/esp-idf/components/newlib/include/stdlib.h:11:0,
from build-TINYPICO/espidfmod/mp_espidf.c:18:
/home/jonsmirl/aosp/esp/esp-idf/components/newlib/include/string.h:23:15: note: expected 'void * restrict' but argument is of type 'volatile uint32_t ()[16] {aka volatile unsigned int ()[16]}'
_PTR   _EXFUN(memcpy,(_PTR __restrict, const _PTR __restrict, size_t));
^
/home/jonsmirl/aosp/esp/esp-idf/components/newlib/include/_ansi.h:65:30: note: in definition of macro '_EXFUN'
#define _EXFUN(name, proto)  name proto
^
build-TINYPICO/espidfmod/mp_espidf.c: At top level:
build-TINYPICO/espidfmod/mp_espidf.c:12681:5: error: initialization discards 'volatile' qualifier from pointer target type [-Werror=discarded-qualifiers]
(spi_dev_t)&SPI0
^
build-TINYPICO/espidfmod/mp_espidf.c:12691:5: error: initialization discards 'volatile' qualifier from pointer target type [-Werror=discarded-qualifiers]
(spi_dev_t)&SPI1
^
build-TINYPICO/espidfmod/mp_espidf.c:12701:5: error: initialization discards 'volatile' qualifier from pointer target type [-Werror=discarded-qualifiers]
(spi_dev_t)&SPI2
^
build-TINYPICO/espidfmod/mp_espidf.c:12711:5: error: initialization discards 'volatile' qualifier from pointer target type [-Werror=discarded-qualifiers]
(spi_dev_t)&SPI3
^
build-TINYPICO/espidfmod/mp_espidf.c:17757:5: error: initialization discards 'volatile' qualifier from pointer target type [-Werror=discarded-qualifiers]
(rtc_cntl_dev_t*)&RTCCNTL
^
cc1: all warnings being treated as errors
../../py/mkrules.mk:47: recipe for target 'build-TINYPICO/build-TINYPICO/espidfmod/mp_espidf.o' failed
make: *** [build-TINYPICO/build-TINYPICO/espidfmod/mp_espidf.o] Error 1
make: Leaving directory '/home/jonsmirl/aosp/foo/micropython/ports/esp32'
mp_espidf.c.log
mp_espidf.pp.c.log

Another issue lvgl is making a second build directory inside the first one...
jonsmirl@ares:~/aosp/foo/micropython/ports/esp32/build-TINYPICO/build-TINYPICO$ find
.
./frozen_mpy.o
./lodepng
./lodepng/lodepng.P
./lodepng/mp_lodepng.P
./lodepng/lodepng.o
./lodepng/mp_lodepng.o
./lvgl
./lvgl/lv_mpy.o
./lvgl/lv_mpy.P
./espidfmod
./frozen_mpy.P

I got rid of half of them, this definition is duplicated in the esp-if header file:
bool spicommon_bus_using_iomux(spi_host_device_t host);
This is what is left, they are all about discarding volatile on a parameter.
CC ../../lib/lv_bindings/driver/esp32/modrtch.c
CC build-GENERIC_SPIRAM/espidfmod/mp_espidf.c
build-GENERIC_SPIRAM/espidfmod/mp_espidf.c: In function 'mp_spi_dev_t_attr':
build-GENERIC_SPIRAM/espidfmod/mp_espidf.c:12157:74: error: passing argument 1 of 'mp_arr_from_uint32_t___16__' discards 'volatile' qualifier from pointer target type [-Werror=discarded-qualifiers]
case MP_QSTR_data_buf: dest[0] = mp_arr_from_uint32_t___16__(data->data_buf); break; // converting from uint32_t [16];
^
build-GENERIC_SPIRAM/espidfmod/mp_espidf.c:10788:17: note: expected 'uint32_t * {aka unsigned int }' but argument is of type 'volatile uint32_t * {aka volatile unsigned int }'
STATIC mp_obj_t mp_arr_from_uint32_t___16__(uint32_t arr)
^
build-GENERIC_SPIRAM/espidfmod/mp_espidf.c:12410:47: error: passing argument 1 of 'memcpy' discards 'volatile' qualifier from pointer target type [-Werror=discarded-array-qualifiers]
case MP_QSTR_data_buf: memcpy(&data->data_buf, mp_arr_to_uint32_t___16__(dest[1]), sizeof(uint32_t)16); break; // converting to uint32_t [16];
^
In file included from /home/jonsmirl/aosp/esp/esp-idf/components/newlib/include/stdlib.h:11:0,
from build-GENERIC_SPIRAM/espidfmod/mp_espidf.c:18:
/home/jonsmirl/aosp/esp/esp-idf/components/newlib/include/string.h:23:15: note: expected 'void * restrict' but argument is of type 'volatile uint32_t ()[16] {aka volatile unsigned int ()[16]}'
_PTR   _EXFUN(memcpy,(_PTR __restrict, const _PTR __restrict, size_t));
^
/home/jonsmirl/aosp/esp/esp-idf/components/newlib/include/_ansi.h:65:30: note: in definition of macro '_EXFUN'
#define _EXFUN(name, proto)  name proto
^
build-GENERIC_SPIRAM/espidfmod/mp_espidf.c: At top level:
build-GENERIC_SPIRAM/espidfmod/mp_espidf.c:12665:5: error: initialization discards 'volatile' qualifier from pointer target type [-Werror=discarded-qualifiers]
(spi_dev_t)&SPI0
^
build-GENERIC_SPIRAM/espidfmod/mp_espidf.c:12675:5: error: initialization discards 'volatile' qualifier from pointer target type [-Werror=discarded-qualifiers]
(spi_dev_t)&SPI1
^
build-GENERIC_SPIRAM/espidfmod/mp_espidf.c:12685:5: error: initialization discards 'volatile' qualifier from pointer target type [-Werror=discarded-qualifiers]
(spi_dev_t*)&SPI2
^
build-GENERIC_SPIRAM/espidfmod/mp_espidf.c:12695:5: error: initialization discards 'volatile' qualifier from pointer target type [-Werror=discarded-qualifiers]
(spi_dev_t*)&SPI3
^
build-GENERIC_SPIRAM/espidfmod/mp_espidf.c:17741:5: error: initialization discards 'volatile' qualifier from pointer target type [-Werror=discarded-qualifiers]
(rtc_cntl_dev_t*)&RTCCNTL
^
cc1: all warnings being treated as errors
../../py/mkrules.mk:47: recipe for target 'build-GENERIC_SPIRAM/build-GENERIC_SPIRAM/espidfmod/mp_espidf.o' failed

I shut those errors off to get past them..
-Wno-error=unused-variable -Wno-error=deprecated-declarations \
Now I have a link error...
LINK build-GENERIC_SPIRAM/application.elf
build-GENERIC_SPIRAM/build-GENERIC_SPIRAM/espidfmod/mp_espidf.o:(.literal.mp_xt_get_interrupt_handler_arg+0x0): undefined reference to xt_get_interrupt_handler_arg' build-GENERIC_SPIRAM/build-GENERIC_SPIRAM/espidfmod/mp_espidf.o: In function mp_xt_get_interrupt_handler_arg':
mp_espidf.c:(.text.mp_xt_get_interrupt_handler_arg+0x9): undefined reference to xt_get_interrupt_handler_arg' build-GENERIC_SPIRAM/build-GENERIC_SPIRAM/espidfmod/mp_espidf.o:(.rodata.mp_xt_get_interrupt_handler_arg_obj+0xc): undefined reference to xt_get_interrupt_handler_arg'
Makefile:748: recipe for target 'build-GENERIC_SPIRAM/application.elf' failed
make: *** [build-GENERIC_SPIRAM/application.elf] Error 1
I stubbed that out in espidf.c,
inline void *xt_get_interrupt_handler_arg(int n){return NULL;}
Now I can built on ESP IDF 4.0

These patches will allow it to compile with esp-idf 4...
jonsmirl@ares:~/aosp/digi-iot/micropython$ git diff
diff --git a/lib/lv_bindings b/lib/lv_bindings
--- a/lib/lv_bindings
+++ b/lib/lv_bindings
@@ -1 +1 @@
-Subproject commit 77082d701d9d67d7ff0722b2179593c96e41faf9
+Subproject commit 77082d701d9d67d7ff0722b2179593c96e41faf9-dirty
diff --git a/ports/esp32/Makefile b/ports/esp32/Makefile
index b6fd9c76c..b77ce2001 100644
--- a/ports/esp32/Makefile
+++ b/ports/esp32/Makefile
@@ -191,6 +191,7 @@ CFLAGS_COMMON = -Os -ffunction-sections -fdata-sections -fstrict-volatile-bitfie
-mlongcalls -nostdlib
-Wall -Werror -Wno-error=unused-function -Wno-error=unused-but-set-variable
-Wno-error=unused-variable -Wno-error=deprecated-declarations \

   -Wno-error=discarded-array-qualifiers -Wno-error=discarded-qualifiers \
  -DESP_PLATFORM

CFLAGS_BASE = -std=gnu99 $(CFLAGS_COMMON) -DMBEDTLS_CONFIG_FILE='"mbedtls/esp_config.h"' -DHAVE_CONFIG_H
jonsmirl@ares:~/aosp/digi-iot/micropython/lib/lv_bindings$ git diff
diff --git a/driver/esp32/espidf.c b/driver/esp32/espidf.c
index fab6e42..0f0b49d 100644
--- a/driver/esp32/espidf.c
+++ b/driver/esp32/espidf.c
@@ -21,6 +21,7 @@ inline uint32_t gpio_intr_pending_high(void){return 0;}
inline uint32_t gpio_intr_pending(void){return 0;}
inline void gpio_intr_handler_register(gpio_intr_handler_fn_t fn, void *arg){}
inline void gpio_init(void){}
+inline void *xt_get_interrupt_handler_arg(int n){return NULL;}
void task_delay_ms(int ms)
{
diff --git a/driver/esp32/espidf.h b/driver/esp32/espidf.h
index bf87cb7..7905516 100644
--- a/driver/esp32/espidf.h
+++ b/driver/esp32/espidf.h
@@ -53,7 +53,7 @@ static inline void get_ccount(int *ccount)
#include "driver/spi_master.h"
#include "esp_heap_caps.h"
#include "esp_log.h"
-#include "esp_clk.h"
+#include "esp32/clk.h"
#include "driver/adc.h"
#include "driver/i2s.h"
jonsmirl@ares:~/aosp/esp/esp-idf$ git diff
diff --git a/components/driver/include/driver/spi_common.h b/components/driver/include/driver/spi_common.h
index b44159546..15e91cd45 100644
--- a/components/driver/include/driver/spi_common.h
+++ b/components/driver/include/driver/spi_common.h
@@ -319,7 +319,7 @@ bool spicommon_bus_using_iomux(spi_host_device_t host);
*

@return false if any pins are through the GPIO matrix, otherwise true.
*/
-bool spicommon_bus_using_iomux(spi_host_device_t host);
+//bool spicommon_bus_using_iomux(spi_host_device_t host);

/**

@brief Get the IRQ source for a specific SPI host

Hi @jonsmirl !
I've just update lv_micropython to support ESP IDF v4.0-beta1.
Please give it a try and let me know if you see any problems.

Another issue lvgl is making a second build directory inside the first one...

For some reason mpy-cross is also building the lv modules. Apparently py.mk is processed twice - first globally and again for the specific port that is being built.
The only implication is build time (build is just slightly longer), I don't think it affects build outputs.
Do you see any problem with this?

I  am using commit 47de8b5d38721c5132de28efbefa2f4e2d3395fd
These patches are needed in addition to your update.

Maybe I should switch over to the pure Python LCD driver? That would avoid these issues.

I am using commit 47de8b5d38721c5132de28efbefa2f4e2d3395fd

What's that commit? Is it ESP-IDF commit?

The get the newest commit. That's where I fixed this problem...

Ok, I see now there is a new commit, I will try it.

Does this need a patch in ESP-IDF to remove the duplicate definition?

I see it handle duplicate definition. Your fixes are good, I am able to build.
I want to be on IDF4 because Bluetooth support is just about to land in micropython. I am running using the PR.

Does this need a patch in ESP-IDF to remove the duplicate definition?

No. I changed the binding generation script, to avoid generating duplicate definitions:
https://github.com/littlevgl/lv_binding_micropython/blob/736b5f0e37d9017a80b3068416c7dc49f788dbec/gen/gen_mpy.py#L1499-L1505

I want to be on IDF4 because Bluetooth support is just about to land in micropython. I am running using the PR.

@jonsmirl You know that even if some ESP feature is not officially supported in Micropython (such as Bluetooth or any other feature), you can still access it in Micropython through the espidf module.
The espidf module converts ESP-IDF API automatically to Micropython module, based on files included in espidf.h.


Modifying mark set after capturing a continuation

Under Racket, the mark set of a captured continuation is the set at the time the continuation was captured. Pycket's current implementation allows mark sets to be modified after the continuation is captured, since the mark sets are attached directly to each continuation and are mutated by with-continuation-marks.
Example program:
#lang racket/base

(let* ([extract
	    (lambda (k) (continuation-mark-set->list
	       (continuation-marks k)
	       'x))]
       [go
	    (lambda (in?)
          (lambda ()
	    	      (let ([k (with-continuation-mark 'x 10
	    			 (begin0
	    			  (with-continuation-mark 'x 11
	    			    (call/cc                            ;; Capture a continuation (k)
	    			     (lambda (k)
	    			       (with-continuation-mark 'x 12    ;; Modify its mark set
	    				 (if in?
	    				     (extract k)
	    				     k)))))
	    			  (+ 2 3)))])
	    		(if in?
	    		    k
	    		    (extract k)))))])
  ((go #t)))

  ;; racket => (11 10)
  ;; pycket => (12 10)

The mark set of k is modified in Pycket; the result-expr of with-continuation-marks is invoked in tail position so the current continuation is also k.  I suspect a shallow copying of the top continuation frame of with-continuation-marks would solve the problem, but is annoying given the number of continuation types in Pycket (though would allow us to also implement composable continuations easily).  Racket probably just copies the entire mark stack along with the call stack to produce a continuation, but that would ruin all of our nice call/cc benchmarks.

For reference, this example comes from Racket continuation mark test suite.

I think the shallow copy sounds right to me.

Fixed by<PHONE_NUMBER>3202115b528309385136a83092296b


waiting until a condition is met before running reload_cmd

I have a template which sets username/passwords via the API of the application being created by running itself as the reload_cmd
I run confd before the application is started and therefore the reload_cmd cannot run.    It appears to ignore an & if I put in at the end of the reload_cmd to try background it ( with a while loop inside checking for the API being up ).
So I would to either support backgrounding the reload_cmd so that it can move on ( may create race conditions? )  or have a reload_when directive that runs a command in a loop and then moves on and has a callback when the reload_when command has a successful return code.
Thoughts ?

I have temporarily solved this by moving the conf.d/manage.toml file out of the conf.d directory and then after the app starts moving it back into conf.d.  not ideal but it unblocks me.
This does suggest an alternative,  allowing user to specify multiple conf.d directories.  that way I can have something like
./conf.d/config.yml.toml
./conf.d-post/manage.toml

and run confd pointing at both directories once the app is started.

@paulczar The solution for this case is the build a tool out of band that handles the retry logic and not return until complete. I've considered in the past to enhance the reload_cmd, but I've chosen to keep it simple to force a clear pattern of usage.


Suggestion to pass objects via vRouter

Isn't it possible to do with RouteSettings class? For example:
context.vRouter.to(
        RegisterCompleteScreen.routeName,
        arguments: MyDataObject(),
      );

VWidget(
  path: LoginScreen.routeName,
  widget: (context, arguments) => LoginScreen(arguments.data as MyDataObject),
),

Originally posted by @ebelevics in https://github.com/lulupointu/vrouter/issues/111#issuecomment-881836141

This could theoretically be implemented. However the issue is not whether it's possible or isn't, the issue is whether we should be able to do so or not.
It is my belief that this should not be implemented, because of how I see app navigation.
The reason is that navigation != state management. And passing data as you do is a form of state management.
One concrete issue is that with arguments, you have to think about where you come from. This means that it's really easy to forget to pass the arguments when navigating to LoginScreen.routeName from a new place. Even worse, if you carefully remind yourself that you should always pass arguments, you might think arguments.data will never be null. However if you add deep-linking to your app (which are always here for the web for example), argument.data will be null this time.
Only looking at the above mentioned problem you can understand that there is an issue, we need to remember and think about all scenarios, both things we would rather not do as developers. Using a state management library and making it interact with VRouter is way more effective since there are often built to make you think about your usecases.
Feel free to argue or ask for clarification if needed. It's definitely an interesting subject on which I'm always pleased to here what others think :wink: !

Thank you for your answer. I'll probably will tell little background. Right now I'm doing medium-large mobile app, which requires separating features in modules. Coming from Navigator 1.0 it gets messy pretty fast, learning and implementing it on Navigator 2.0  just didn't feel 1.0ish enough and it got complicated really fast. So I was looking for Navigator 2.0 wrapper and found https://github.com/flutter/uxr/blob/master/nav2-usability/comparative-analysis/README.md. First I tried flutter_modular, while it did separate features it just felt lackluster. After inspecting others packages I found VRouter had great github issue management, concise tutorial website (similar to https://bloclibrary.dev/), no code generation and package overall feels more robust and clean. So this built me trust.
But while web routing seemed precise (having experience in Laravel), for my mobile app needs routing seemed hard to grasp. The Custom VRouteElement and Scaling felt amazing for modularity, but stacking pages independently from different modules seems cumbersome.
For example, I thought stackedRoutes[Login(path:"auth/login)", Register(path:"auth/register:)] parameter would let me stack pages in navigation order, but it replaces previous page, which is not what I need. And putting stacked pages (like login->register->confirm register) in multiple stackedRoutes seems wrong for mobile app (I do understand for web app). What if I would want do navigate to "register" initially? As I was testing it did open as (login->register) not as (register) as I was expecting.
And so I also stepped to object passing. But I do agree I can manage it with Bloc for example.
Otherwise at first impression it seemed more suited for webapps but I hope I'm wrong and it's because I'm still trying to understand this package.
little offtopic:
Also my observation and guess is that packages with easier transition and similar feed to old methods gain more popularity despite it's quality or support at first glance.

I'm currently working on medium-large mobile app project, that's why manageable and maintainable structure (inspirited from Reso Coder TDD videos) was important feature. It would be great to see how exactly vRouter is implemented in medium-large scale mobile apps with approx. 7-10 screens. But that's just my opnion.
But so far I found solution how I can make modules within Navigator 1.0 inspired ideas from this package examples and other, so I'm switching back. But I'll keep and eye on this package and test history.
The support is great tho. I'm closing it now.

I would love to have the time to explain how to make this work. I am working with clean architecture as well (though not exactly as Reso coder does) and it's working great.
The main idea is to have interfaces for navigation, and use them by relying on DI.

I really love again how https://bloclibrary.dev/#/flutterfirestoretodostutorial explains his examples - it's clean, structured and visually informative. The additional section for example apps in vrouter.dev would be great addition, tho it would additional require maintenance for breaking changes.
But yeah I do agree the navigation should have easily accessible feature separated interface.
For example I'll share current implementation for "profile" feature routing.
class ProfileRoutes extends Routes {
  @override
  final String path = "home/profile";

  @override
  Widget? nestedRoutes(BuildContext context, RouteSettings settings) {
    super.nestedRoutes(context, settings);

    if (settings.name == ProfileScreen.routeName) return ProfileScreen();

    if (settings.name == ProfileAccountScreen.routeName)
      return ProfileAccountScreen();

    return ErrorScreen();
  }

  @override
  Widget? routes(BuildContext context, RouteSettings settings) {
    super.routes(context, settings);

    if (settings.name == ProfileAccountAboutScreen.routeName)
      return ProfileAccountAboutScreen();

    if (settings.name == ProfileAccountImageScreen.routeName)
      return ProfileAccountImageScreen();

    if (settings.name == ProfileAccountPasswordScreen.routeName)
      return ProfileAccountPasswordScreen();

    if (settings.name == ProfileAccountRemindersScreen.routeName)
      return ProfileAccountRemindersScreen();

    return ErrorScreen();
  }
}

nestedRoutes similary like vRouter are accessed with bottomNavBar Navigators, which changes or pushes or pops new nested screen. routes function will push to rootNavigator new screen on stack which will fill all mobile screen. And all the Routes (abstract class) are connected to MaterialApp widget, which at the end is just a widget as a child to MaterialPageRoute.


Check date/time format against KB metadata specs

omSIPCreator now follows ISO 8601 (premis:eventDateTime) which appears to be used in KB MD specs https://github.com/KBNLresearch/omSipCreator/commit/6793e31389a87d6b62fa6bd8184796d284322708


Placeholder not taken place by the actual image

Check List
Thanks for considering to open an issue. Before you submit your issue, please confirm these boxes are checked.

[x] I have read the wiki page and cheat sheet, but there is no information I need.
[x] I have searched in existing issues, but did not find a same one.
[x] I want to report a problem instead of asking a question. It'd better to use kingfisher tag in Stack Overflow to ask a question.

Issue Description
What
The percentage bar will stuck at 100% like https://github.com/onevcat/Kingfisher/issues/1598#issuecomment-777181249.
Can be resolved by using .loadImmediately().
Kingfisher 6.2.1.
Reproduce
import SwiftUI
import Kingfisher

struct ContentView: View {
    var contents: [Content] {
        (1...100).map {
            Content(
                tag: $0,
                url: "https://github.com/onevcat/Flower-Data-Set/raw/master/rose/rose-\($0).jpg"
            )
        }
    }

    var body: some View {
        List(contents) { content in
            KFContainer(content: content)
        }
    }
}

// MARK: KFContainer
private struct KFContainer: View {
    @State var percentage: Float = 0

    var content: Content
    func placeholder(_ pageNum: Int) -> some View {
        GeometryReader { proxy in
            ZStack {
                Rectangle()
                    .fill(Color(.systemGray5))

                VStack {
                    Text("\(pageNum)")
                        .fontWeight(.bold)
                        .font(.largeTitle)
                        .foregroundColor(.gray)
                        .padding(.bottom, 15)
                    ProgressView(value: percentage, total: 1)
                        .progressViewStyle(LinearProgressViewStyle())
                        .frame(width: proxy.size.width * 0.5)
                }
            }
        }
    }

    var body: some View {
        KFImage(URL(string: content.url))
            .placeholder {
                placeholder(content.tag)
            }
            .onProgress(onWebImageProgress)
            .resizable()
            .scaledToFit()
    }

    func onWebImageProgress(_ received: Int64, _ total: Int64) {
        percentage = Float(received) / Float(total)
    }
}

struct Content: Identifiable {
    var id: Int { tag }

    let tag: Int
    let url: String
}

It might be similar to #1660
I just quoted the comment there:

Maybe you can try to call loadImmediately() after you set up the KFImage to see if it works. Like this:
KFImage.url(url)
    .resizable()
    .onSuccess { r in print("done") }
    .loadImmediately() // Add this after the last chained call for `KFImage`
    .frame(height: 100) // Other `SwiftUI.View` modifiers

In 6.1, we tried a new implementation which "keeps" the image state between KFImage creation, but it caused other problems. So we are now back to the implementation of 6.0. The root cause is that @ObservedObject does not keep itself between views lifetime. @StateObject in iOS 14 is the tool to solve it. However, since we still need to support iOS 13, we cannot use that yet.
loadImmediately() will trigger a load as soon as you configured the KFImage, instead of lazily load it until onAppear is called (which will never happen sometimes when you change something and trigger a re-evaluating of body).


Is the Cassandra-backend branch still in develop?

In my opinion, With the emergence of ScyllaDB, a Cassandra backend  would be the "killer backend" of cayley. But the last commit of Cassandra-beckend branch appears at 8 month ago..

Related question from ScyllaDB's group: https://groups.google.com/forum/#!topic/scylladb-users/_IewBKoa7Ek

+1 to Scylla backend

Considering as a duplicate of #20


Add support for Trust Wallet

trust wallet currently works and can be used in the app.
however, it is not ideal.
web:
currently, we only support trust wallet via wallet connect.
please follow this to integrate direct integration to trust wallet
https://developer.trustwallet.com/trust-wallet-browser-extension/extension-guide
mobile:
currently, we allow connecting when clicking the 'metamask' icon. this is working but incorrect implementation.
we should aim to identify the user wallet directly (when using the wallet native browser on mobile).
please follow this to improve the integration
https://github.com/trustwallet/web3-react-trust-wallet

Adding native support for trust wallet along-side our current authentication logic which is handled by the react-web3 library is possible but going to be a pain.
If we are going through the pain and process of writing a native implementation, I suggest we explore the option of creating an official connector for the web3-react library as PR to their repo.
Benefits are:

we can keep current auth logic as is and simply add a new connector to the list
others will be able to use the connector, saving them the headache

Cons are:

probably a bit more work
going through the process of PR review, approval, package release might take a while

Opportunities:

possibility for joint venture with trust wallet?!

Can you revisit the react-web3 library to see if they already support trust wallet?
I do see it in their code


Tasks/Stories added to Issue links of a Jira "Story" are not getting migrated

Describe the problem
We are trying to migrate Stories from Jira for ADO cloud. We noticed the associated EPIC and sub-tasks are getting migrated but not the other stories/tasks added to issue links as "Associates with" and "Depends on". I have tried adding these sources under "link-map" section in config file but no luck, kindly help us understand in case we missed something here.
To Reproduce
Steps to reproduce the behavior:

A Jira story with an issue link(story/task) added as "Associate with" or "Depends on"
Export
import

Tool version

jira-azuredevops-migrator-3.0.115

Check this issue for mapping depends-on maybe? https://github.com/solidify/jira-azuredevops-migrator/issues/557
Are the Stories/Tasks in the same project? Have you also set up the type mapping?
Are the Stories/Tasks exported as expected?

Hi @Alexander-Hjelm , Yes , the Stories are from same project and also we did setup the type mapping. All the stories are migrated but the relations (Associates with, has to be done before...) are missing for some reason.
"link-map": {
"link": [{
"source": "Epic",
"target": "System.LinkTypes.Hierarchy-Reverse"
},
{
"source": "Parent",
"target": "System.LinkTypes.Hierarchy-Reverse"
},
{
"source": "Relates",
"target": "System.LinkTypes.Related"
},
{
  "source": "Duplicate",
  "target": "System.LinkTypes.Duplicate-Forward"
}]

},
"type-map": {
"type": [
{
"source": "Epic",
"target": "Epic"
},
{
"source": "Story",
"target": "User Story"
},
{
"source": "Bug",
"target": "Bug"
},
{
"source": "Task",
"target": "Task"
},
{
"source": "Sub-task",
"target": "Task"
},{
"source": "Issue Links",
"target": "Task"
}
]
},

Hi @Alexander-Hjelm , Any update on this?

Looks like you might have to add an entry for Associates with in your link map then? Or what is otherwise the missing link type? Make sure it is in the link map.

@Alexander-Hjelm , I tried adding the following but did not work, please let me know if I missed something here
{
"source": "Associates with",
"target": "System.LinkTypes.Related"
},


Window location not setable due invalid argument (long / short option)

Homework

[X] I looked at nativefier --help and https://github.com/jiahaog/nativefier/blob/master/docs/api.md
[X] I searched existing issues, open & closed. Yes, my bug is new.
[X] I'm using the latest version available at https://github.com/jiahaog/nativefier/releases

Bug description
The application location cannot be set with options neither --x and --y
Invalid argument passed: --x .
Nativefier supports short options (like "-n") and long options (like "--name"), all lowercase. Run "nativefier --help" for help.
Aborting

nor -x and -y.
error: unknown option '-x'

Steps to reproduce
nativefier foobar https://google.com --x 10 --y 10

Expected behavior
The location will be set or a short and long option will be available.
Context

Nativefier: 42.0.1
Node.js: 14.15.1
Npm: 6.14.9
OS: (for example: Windows 10 build 1809)
Is it a regression? yes - last working 11.0.2

@codekandis thaaaanks for the fast and precise report! Fixed in 42.0.2, available now in npm.

You're sooo much welcome! I really appreciate your hard work on it and I really like what I get from it!
I can confirm the options are working now. I'd suggest to change the old options --x and --y to the short options -x and -y to become strict with all other options. In conclusion you'd need to introduce the new long options --x-position and y-position in the next major release.

I'd suggest to change the old options --x and --y to the short options -x and -y to become strict with all other options. In conclusion you'd need to introduce the new long options --x-position and y-position in the next major release

@codekandis nope, won't do that, because holy backwards compatibility. I do my best to preserve it, so I prefer a little inconsistency of a special case tested by a unit test over annoying users.

Beside my suggestion I totally agree with that.


[WIP] Fix flashing icons of servers in sidebar

What's this PR do?
Changes order in which servers are loaded and rendered in the sidebar. I'd like to stop doing the latter half by retaining the server tabs
Any background context you want to provide?
#551 should provide the required context.
I've changed the order of loading servers, but rendering items in the sidebar according to the old order is turning out to be a problem (my understanding of how initServer() works is faulty here. Does it not render this.tabs in app/renderer/js/main.js according to the order in which the elements are present in the array?)
This problem is similar to the one I'm currently facing in https://github.com/zulip/zulip-electron/pull/617.
Screenshots? (according to https://github.com/zulip/zulip-electron/pull/621/commits/3ec20ca9f96a633d9229e746adf0144d0bb62d94, last updated on Jan 7)

The refresh you see has been forced by me.
You have tested this PR on:

[x] Windows
[ ] Linux/Ubuntu
[ ] macOS

@akashnimare @abhigyank does this PR look good?

Need some time to review this :)

@kanishk98 can you fix the merge conflicts? Also, the desired behaviour should be -

Load the last active server first and focus the same in the left sidebar
Load all the rest servers in the background + don't focus on the tabs

Updated this PR's logic and also fixed the merge conflicts.
@akashnimare please let me know what you think whenever you're free.

@kanishk98 can we make the code cleaner a bit, maybe something like this -

let lastActiveTab = ConfigUtil.getConfigItem('lastActiveTab');

if (lastActiveTab >= servers.length) {
	lastActiveTab = 0;
}

// Following is the logic to handle which webview we need to load first
for (let i = 0; i < servers.length; i++) {
	if (i === lastActiveTab) {
		// load last active tab first
		DomainUtil.updateSavedServer(servers[lastActiveTab].url, lastActiveTab);
		this.activateTab(lastActiveTab);
		continue;
	}
	// load other webviews
	DomainUtil.updateSavedServer(servers[i].url, i);
	this.tabs[i].webview.load();
}

@akashnimare wouldn't the above snippet load them in order anyway? We would activate only the last active server, yes, but don't we also want to load that one first?

Merged. Thanks, @kanishk98.


[Button] add white color

I cannot find white variation of button's color.
(The basic class only makes the button transparent, not white.)
It seems like the only workaround is using 'basic' button composed with style background-color:white.
I can find some related issues: #111, #4343 but nothing remained now.
Is it rejected feature or PR-welcomed?

Hi @rokoroku. Not sure why the white variation was lost during the transition from SUI version 1 to 2 a couple of years ago, but if you have some time, I’d go for it. It will take some time to be reviewed, though.

Since Fomantic-UI 2.7.0 you can add additional colors (or reduce/change the existing ones) in a single file
https://github.com/fomantic/Fomantic-UI/blob/master/src/themes/default/globals/colors.less
For example, to add white you would add something like:
  @white: {
    color          : @black;
    light          : @grey;
    border         : @black;
    background     : @white;
    header         : @white;
    boxShadow      : @white;
    boxFloatShadow : @white;
    text           : @white;
    lightText      : @white;
    hoverText      : @white;
    focus          : @white;
    lightFocus     : @white;
    down           : @white;
    lightDown      : @white;
    active         : @white;
    lightActive    : @white;
    shadow         : @white;
    lightShadow    : @white;
    hover          : @white;
    lightHover     : @white;
    ribbon         : @white;
    invertedRibbon : @white;
    isDark         : false;
    isVeryDark     : false;
  };

to the @colors mixin and you not only gain white button, but also all other elements which support colors 😉
If especially white makes sense for every component and without any much adjustments is of course questionable though 🤔

Thanks for the information, @lubber-de ! 😂


added host and docstrings to resources module

Added host as an optional argument to all model zoo related functions in grelu.resources so that users can choose which model zoo to load models from.
Added documentation to all grelu.resources functions.

Addresses #16

LGTM. One small fix we can fold into this is to add anonymous="allow" to wandb.login by default, which gave us some trouble in the colab notebook. I think the default is anonymous='never', so wandb forces the users to login. With anonymous='allow' it checks if the user is already logged in, and if not it creates an anonymous credential and moves on.


AI transcription: Live Segments Queue not being consumed normally, Overlay Subtitle Queue has no more latest translation results.

Describe the bug
Use Camera to forward the AI HLS overlay stream, when  occur some error, the AI transcription seems to be blocked, and no more transcription result, and the  Live Segments Queue became more and more longer
It seems that the original live stream is interrupted for a moment, then pushed the stream again.
Then I suspected that there was an interruption in the original video stream, but I watched the video through Whep and during this period, the video played normally and it seemed to have no interruption
Version
v5.14.22, with this PR #193
To Reproduce
Steps to reproduce the behavior:

Go to transcript
Click on start Transcription
Go to Camera
Use the latest AI Transcrition  transcript live stream with subtitle url as source, and forward the AI stream to third SRT server, SRT server can use Restreamer.
Click Start Live, run for a while.
See error

Expected behavior
AI transcription is running normally
Screenshots

Additional context
The Oryx logs as below, it seems that the source stream is unpublish, but after a while the origin stream is recoverd.
node1. xxxx. com is the replaced content
Oryx.txt
The Oryx_2.txt is another test, and has more logs.
Oryx_2.txt

I rolled back my Oryx container version to v5.14.19, and without my PR modify, and there is the same issues.

And the queue ts file order maybe looks like this.

Caused by the overlay command failed when driving fix queue:
[warn] 2024/07/08 12:00:45.492859 [51][1006] transcript: task uuid=6e61fd0f-194a-49f7-803e-f09d9662028c, live=segments=0, asr=segments=1, fix=segments=3, pat=So, on that note, that minor glitch has been resolved. We have fantastic pitches so far today and a really excellent job from all of the pitchers., overlay=segments=9, config is all=true, key=56B, organization=, base=https://api.openai.com/v1, lang=en, overlay=true, forceStyle=Alignment=2,MarginV=20, videoCodecParams=-c:v h264_nvenc -profile:v main -preset:v medium -bf 0, webvtt=true, webvttCueStyle=STYLE
::cue { background-color: blue; color: FFFFFF; font-family: Helvetica; font-size: 15px; }, webvttCueSetting=line:90%  align:center drive fix queue err exit status 1
transcode [-i transcript/355-org-aebe00dc-897f-46d6-9e31-b43c86c9ac3a.ts -vf subtitles=transcript/355-audio-f939a467-5e69-4d1e-b8e2-9a573c85ceed.srt:force_style='Alignment=2,MarginV=20' -c:v h264_nvenc -profile:v main -preset:v medium -bf 0 -c:a aac -copyts -y transcript/355-overlay-47c37aac-5533-44fb-8e8f-43a5c4bace8e.ts]
main.(*TranscriptTask).DriveFixQueue
 /g/platform/transcript.go:1998
main.(*TranscriptWorker).Start.func7
 /g/platform/transcript.go:1174
runtime.goexit
 /usr/local/go/src/runtime/asm_amd64.s:1571

the failed ffmpeg command log is
root@20e03e30a247:/usr/local/oryx/platform/containers/data# ffmpeg -i transcript/1194-org-ecea8993-3b9c-4ec4-a82d-6d199857f28c.ts -vf subtitles=transcript/1194-audio-1b79ae23-c68e-4096-a5a0-62d0ea3eb403.srt:force_style='Alignment=2,MarginV=20' -c:v libx264 -profile:v main -preset:v medium -tune zerolatency -bf 0 -c:a aac -copyts -y transcript/1194-overlay-8e3364c7-c463-450f-b7a9-be5e8df22dfd.ts
ffmpeg version 5.0.2 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.2)
  configuration: --enable-pthreads --extra-libs=-lpthread --pkg-config-flags=--static --disable-shared --enable-static --enable-gpl --enable-nonfree --enable-postproc --enable-bzlib --enable-zlib --enable-libx264 --enable-libmp3lame --enable-libfdk-aac --enable-libxml2 --enable-demuxer=dash --enable-openssl --enable-protocol=tls --enable-protocol=rtmps --enable-filter=drawtext --enable-libfreetype --enable-libfontconfig --enable-libass --enable-libsrt --enable-nvdec --enable-nvenc --enable-cuda --enable-cuvid --enable-cuda-nvcc --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64
  libavutil      57. 17.100 / 57. 17.100
  libavcodec     59. 18.100 / 59. 18.100
  libavformat    59. 16.100 / 59. 16.100
  libavdevice    59.  4.100 / 59.  4.100
  libavfilter     8. 24.100 /  8. 24.100
  libswscale      6.  4.100 /  6.  4.100
  libswresample   4.  3.100 /  4.  3.100
  libpostproc    56.  3.100 / 56.  3.100
[h264 @ 0x55d3c525d380] illegal POC type 14
[h264 @ 0x55d3c525d380] non-existing PPS 2 referenced
[h264 @ 0x55d3c525d380] missing picture in access unit with size 21319
[extract_extradata @ 0x55d3c52b4440] Invalid NAL unit 0, skipping.
    Last message repeated 11 times
[h264 @ 0x55d3c525d380] Invalid NAL unit 0, skipping.

    Last message repeated 6 times
[h264 @ 0x55d3c525d380] Invalid NAL unit 0, skipping.
    Last message repeated 6 times
[h264 @ 0x55d3c525d380] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x55d3c525d380] If you want to help, upload a sample of this file to https://streams.videolan.org/upload/ and contact the ffmpeg-devel mailing list<EMAIL_ADDRESS>[h264 @ 0x55d3c525d380] no frame!
[h264 @ 0x55d3c525d380] non-existing PPS 3 referenced
[extract_extradata @ 0x55d3c52b4440] Invalid NAL unit 0, skipping.
    Last message repeated 2 times
[h264 @ 0x55d3c525d380] Invalid NAL unit 0, skipping.

    Last message repeated 3 times
[h264 @ 0x55d3c525d380] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x55d3c525d380] If you want to help, upload a sample of this file to https://streams.videolan.org/upload/ and contact the ffmpeg-devel mailing list<EMAIL_ADDRESS>[h264 @ 0x55d3c525d380] no frame!
[h264 @ 0x55d3c525d380] time_scale/num_units_in_tick invalid or unsupported (0/3745513472)
[h264 @ 0x55d3c525d380] Overread VUI by 8 bits
[h264 @ 0x55d3c525d380] FMO is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x55d3c525d380] missing picture in access unit with size 92262
[h264 @ 0x55d3c525d380] Invalid NAL unit 0, skipping.
    Last message repeated 18 times
[h264 @ 0x55d3c525d380] sps_id 2 out of range
[h264 @ 0x55d3c525d380] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x55d3c525d380] If you want to help, upload a sample of this file to https://streams.videolan.org/upload/ and contact the ffmpeg-devel mailing list<EMAIL_ADDRESS>[h264 @ 0x55d3c525d380] no frame!
[h264 @ 0x55d3c525d380] SEI type 48 size 1712 truncated at 176
[h264 @ 0x55d3c525d380] missing picture in access unit with size 4945
[h264 @ 0x55d3c525d380] Invalid NAL unit 0, skipping.
    Last message repeated 1 times
[h264 @ 0x55d3c525d380] SEI type 48 size 1712 truncated at 147
[h264 @ 0x55d3c525d380] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x55d3c525d380] If you want to help, upload a sample of this file to https://streams.videolan.org/upload/ and contact the ffmpeg-devel mailing list<EMAIL_ADDRESS>[h264 @ 0x55d3c525d380] no frame!
[h264 @ 0x55d3c525d380] missing picture in access unit with size 24043
[h264 @ 0x55d3c525d380] Invalid NAL unit 0, skipping.
    Last message repeated 7 times
[h264 @ 0x55d3c525d380] sps_id 2 out of range
[h264 @ 0x55d3c525d380] no frame!
[h264 @ 0x55d3c525d380] missing picture in access unit with size 1441
[h264 @ 0x55d3c525d380] Invalid NAL unit 0, skipping.
    Last message repeated 2 times
[h264 @ 0x55d3c525d380] no frame!
[mpegts @ 0x55d3c5256740] Could not find codec parameters for stream 1 (Video: h264 ([27][0][0][0] / 0x001B), none): unspecified size
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
Input #0, mpegts, from 'transcript/1194-org-ecea8993-3b9c-4ec4-a82d-6d199857f28c.ts':
  Duration: 00:00:11.35, start: 0.683000, bitrate: 184 kb/s
  Program 1
  Stream #0:0[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 130 kb/s
  Stream #0:1[0x100]: Video: h264 ([27][0][0][0] / 0x001B), none, 23.50 tbr, 90k tbn
Stream mapping:
  Stream #0:1 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:0 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[NULL @ 0x55d3c525d380] illegal POC type 14
[NULL @ 0x55d3c525d380] non-existing PPS 2 referenced
[NULL @ 0x55d3c525d380] missing picture in access unit with size 21319
[h264 @ 0x55d3c5302ac0] Invalid NAL unit 0, skipping.

[NULL @ 0x55d3c525d380] non-existing PPS 3 referenced
[h264 @ 0x55d3c529c180] Invalid NAL unit 0, skipping.
    Last message repeated 6 times
[h264 @ 0x55d3c529c180] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x55d3c529c180] If you want to help, upload a sample of this file to https://streams.videolan.org/upload/ and contact the ffmpeg-devel mailing list<EMAIL_ADDRESS>[h264 @ 0x55d3c529c180] no frame!
[h264 @ 0x55d3c52ae940] Invalid NAL unit 0, skipping.
    Last message repeated 2 times
[h264 @ 0x55d3c52ae940] no frame!
[NULL @ 0x55d3c525d380] non-existing PPS 1 referenced
[NULL @ 0x55d3c525d380] time_scale/num_units_in_tick invalid or unsupported (0/3745513472)
[NULL @ 0x55d3c525d380] Overread VUI by 8 bits
[NULL @ 0x55d3c525d380] FMO is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[NULL @ 0x55d3c525d380] missing picture in access unit with size 92262
[h264 @ 0x55d3c529f980] Invalid NAL unit 0, skipping.
    Last message repeated 3 times
[h264 @ 0x55d3c529f980] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x55d3c529f980] If you want to help, upload a sample of this file to https://streams.videolan.org/upload/ and contact the ffmpeg-devel mailing list<EMAIL_ADDRESS>[h264 @ 0x55d3c529f980] no frame!
[h264 @ 0x55d3c542a680] Invalid NAL unit 0, skipping.
    Last message repeated 18 times
[h264 @ 0x55d3c542a680] sps_id 2 out of range
[h264 @ 0x55d3c542a680] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x55d3c542a680] If you want to help, upload a sample of this file to https://streams.videolan.org/upload/ and contact the ffmpeg-devel mailing list<EMAIL_ADDRESS>[h264 @ 0x55d3c542a680] no frame!
[NULL @ 0x55d3c525d380] SEI type 48 size 1712 truncated at 176
[NULL @ 0x55d3c525d380] missing picture in access unit with size 4945
[h264 @ 0x55d3c5361800] Invalid NAL unit 0, skipping.
    Last message repeated 1 times
[h264 @ 0x55d3c5361800] SEI type 48 size 1712 truncated at 147
[h264 @ 0x55d3c5361800] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x55d3c5361800] If you want to help, upload a sample of this file to https://streams.videolan.org/upload/ and contact the ffmpeg-devel mailing list<EMAIL_ADDRESS>[h264 @ 0x55d3c5361800] no frame!
[NULL @ 0x55d3c525d380] missing picture in access unit with size 24043
[NULL @ 0x55d3c525d380] missing picture in access unit with size 1441
[h264 @ 0x55d3c5377000] Invalid NAL unit 0, skipping.

    Last message repeated 2 times
[h264 @ 0x55d3c538b400] no frame!
Error while decoding stream #0:1: Invalid data found when processing input
    Last message repeated 7 times
Cannot determine format of input stream 0:1 after EOF
Error marking filters as finished
[aac @ 0x55d3c52fbf40] Qavg: 2861.542
[aac @ 0x55d3c52fbf40] 2 frames left in the queue on closing
Conversion failed!

it seems that if one ffmpeg command failed, then this failed ffmpeg will keep trying again, which will cause the entire queue to appear to not continue running

Use vMIX or OBS to push stream, still have the same error.


Issue 31

Changes Proposed in This PR
This PR fixes a missing select element in the settings to toggle page access, i.e. public or private (requires login).
This PR also addresses the JavaScript module option by adding a select element to toggle this attribute.

closes #31


chore: add issue template config + PR template

Is there a way to get all the links in the old "help" template into this contact_links thing?

Not that I know of 😕


[main] Upgrade to latest dependencies

Cron. -knative-prow-robot
/cc knative-sandbox/channel-wg-leads
/assign knative-sandbox/channel-wg-leads
Produced via:
./hack/update-deps.sh --upgrade --release v0.22
./hack/update-codegen.sh

Details:
bumping knative.dev/eventing c42772d...aecb58c:
  > aecb58c Format markdown (# 5116)
  > 1ba9ebd add test for wrong version of CE (# 5124)
  > e2e9edf Use correlation between send / response events (# 5108)
  > 33cc21a Adjust resources.requests of eventing-webhook (# 5112)
  > 2dcdb47 Add Eventing 1.0 to the roadmap (# 5043)
  > 4e1a66b Update community support instructions with ux issue template info (# 5109)
bumping knative.dev/reconciler-test fe1effb...15364b6:
  > 15364b6 Override time when sending events (# 147)
  > 5af4bb3 Fix # 148 (# 149)
  > 4a40f50 Input method (# 141)
  > d0acc6d add id for correlation (# 148)

/retest


Updates mentioned in https://jira.corp.adobe.com/browse/PLAT-166988

Additional why's and how-to's for Data Prep for Data Collection and corollary updates in the Web SDK guide

@dhwoolsey I've reviewed and merged this PR. Closing.


Buffer Overflow error - likely with Chrome v61.

On 9/18/2017, not long after Issues #326 and #327 occurred, a customer reported this:

can't get Parallax IDE to run consistently on Windows, Mac or Chromebooks.
buffer overflow 6 > 4
buffer overflow 6 > 4
buffer overflow 3 > 2
buffer overflow 3 > 2

Along the way of debugging for Issue #326, I found the code that I believe is causing this, and the way it is written, it treats a potentially-likely response from a connected device (BS2, or otherwise) into a fatal error resulting in toasts instead of a just a prescribed error "Board did not respond..."
Let's discuss the possible resolution once the related code is found again and options are weighed.  It is unclear if this is caused by changes in Chrome v61 or not, but the timing of the occurrence is suspicious as we have not seen this error in the years prior.

Have not seen this error occur since it was reported.  Parallax IDE v0.13 or v0.14 may have "fixed" the problem, though we're keeping this issue open for future use as the code involved may need a slight revision.


Check Besu on LegacyTest Random94

Besu seems unable to process this test.
./retesteth -t LegacyTests/Constantinople/BlockchainTests/ValidBlocks/bcStateTests -- --all --clients "besu" --singletest "randomStatetest94"

Running randomStatetest94_Byzantium
Request: {"jsonrpc":"2.0","method":"test_setChainParams","params":[{
    "params" : {
        "homesteadForkBlock" : "0x00",
        "EIP150ForkBlock" : "0x00",
        "EIP158ForkBlock" : "0x00",
        "byzantiumForkBlock" : "0x00"
    },
    "accounts" : {
        "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
            "balance" : "0x0de0b6b3a7640000",
            "code" : "0x44444243204555",
            "nonce" : "0x00",
            "storage" : {
            }
        },
        "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : {
            "balance" : "0x2e",
            "code" : "0x6000355415600957005b60203560003555",
            "nonce" : "0x00",
            "storage" : {
            }
        },
        "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
            "balance" : "0x084595161401484a000000",
            "code" : "0x",
            "nonce" : "0x00",
            "storage" : {
            }
        }
    },
    "sealEngine" : "NoProof",
    "genesis" : {
        "author" : "0x945304eb96065b2a98b57a48a06ae28d285a71b5",
        "difficulty" : "0x020000",
        "gasLimit" : "0x7fffffffffffffff",
        "extraData" : "0x42",
        "timestamp" : "0x03e8",
        "nonce" : "0x0102030405060708",
        "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
    }
}],"id":1}
Reply: {
  "jsonrpc" : "2.0",
  "id" : 1,
  "result" : true
}
Request: {"jsonrpc":"2.0","method":"test_importRawBlock","params":["0xf90272f90202a0bda2b7e466e793f456294003aee1e702d77e89d852c3d8aa0c1971877356bacaa01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794945304eb96065b2a98b57a48a06ae28d285a71b5a0ee8f47d40d4a9ad58736a2a2b9efa1c76fc67dc0bb3af11fc4da90ccff738f05a074bf1dc886ea419650c420eab7ad6b89d4227d5450b369fdbd8f6ca305c43106a0b778de832730579f58ea453863efb04ee3a88e7399989ac99ea6223a483290a6b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000001887fe0000000000001860449e8c0a3dd845db6f82180a00000000000000000000000000000000000000000000000000000000000000000880000000000000000f86af8688001887effffffffffffff94095e7baea6a6c7c4c2dfeb977efac326af552d87830186a0421ba04c2cdd77d6f05279603e0f2106bff4a0e515e0886a7f9776c663188d68e5f256a0769f54af0f4518bb7b6511d5412c7e288f42bd68bfc5f5a34838787a6cb1cb2fc0"],"id":2}
Reply:
Error: Expected field 'id' not found in config: rpcCall_response (req: '{"jsonrpc":"2.0","method":"test_importRawBlock","params":["0xf90272f90')
{} (bcStateTests/randomStatetest94_Byzantium, fork: Byzantium, block: 0)

That random state test is exceedingly heavy on the sha3 calls, which we are still using Java crypto for.  If you increase the timeouts it will pass.

It's already on the native crypto todo list - https://github.com/hyperledger/besu-native/issues/20

The call return empty {} json instantly.
Increasing timeouts doesn't help

It shouldn't return empty json ever, we should be throwing exceptions and closing the HTTP channel before we send empty data. that may be how retesteth is interpreting a closed channel.
Locally I get successful runs.  So my guess is that this is something in the transport layer.
Can you crank up the logging on the besu node and share the besu logs in a gist?  --logging=debug as the CLI option.  The next level is --logging=TRACE but if it gets into the EVM it is quite verbose

debug log
2020-07-16 23:28:35.764+02:00 | vert.x-eventloop-thread-1 | INFO  | JsonRpcHttpService | JSON-RPC service started and listening on <IP_ADDRESS>:47710
2020-07-16 23:30:48.029+02:00 | vert.x-eventloop-thread-1 | DEBUG | Recycler | -Dio.netty.recycler.maxCapacityPerThread: 4096
2020-07-16 23:30:48.030+02:00 | vert.x-eventloop-thread-1 | DEBUG | Recycler | -Dio.netty.recycler.maxSharedCapacityFactor: 2
2020-07-16 23:30:48.030+02:00 | vert.x-eventloop-thread-1 | DEBUG | Recycler | -Dio.netty.recycler.linkCapacity: 16
2020-07-16 23:30:48.030+02:00 | vert.x-eventloop-thread-1 | DEBUG | Recycler | -Dio.netty.recycler.ratio: 8
2020-07-16 23:30:48.047+02:00 | vert.x-eventloop-thread-1 | DEBUG | AbstractByteBuf | -Dio.netty.buffer.checkAccessible: true
2020-07-16 23:30:48.047+02:00 | vert.x-eventloop-thread-1 | DEBUG | AbstractByteBuf | -Dio.netty.buffer.checkBounds: true
2020-07-16 23:30:48.049+02:00 | vert.x-eventloop-thread-1 | DEBUG | ResourceLeakDetectorFactory | Loaded default ResourceLeakDetector: io.netty.util.ResourceLeakDetector@3d3c873d
2020-07-16 23:30:48.096+02:00 | vert.x-eventloop-thread-1 | DEBUG | ZlibCodecFactory | -Dio.netty.noJdkZlibDecoder: false
2020-07-16 23:30:48.096+02:00 | vert.x-eventloop-thread-1 | DEBUG | ZlibCodecFactory | -Dio.netty.noJdkZlibEncoder: false
2020-07-16 23:30:48.180+02:00 | vert.x-worker-thread-0 | DEBUG | JsonRpcHttpService | JSON-RPC request -> test_setChainParams
2020-07-16 23:30:48.270+02:00 | vert.x-worker-thread-0 | INFO  | ProtocolScheduleBuilder | Protocol schedule created with milestones: [Byzantium: 0]
2020-07-16 23:30:48.615+02:00 | vert.x-worker-thread-1 | DEBUG | JsonRpcHttpService | JSON-RPC request -> test_importRawBlock

besu instance just exit

The next line should be some variant of...
2020-07-20 15:36:51.933-06:00 | vert.x-worker-thread-1 | TRACE | EVM | Depth: 0
Operation: SHA3
PC: 4
Gas cost:<PHONE_NUMBER>607
Gas Remaining:<PHONE_NUMBER>816826795
Depth: 0
Stack:
	0 0x38335dc6a80d9d82607a3e36ad614d619c0f601ec37fe2facea8e5fd183a4f15
	1 0x0000000000000000000000000000000000000000000000000000000000020000
	2 0x0000000000000000000000000000000000000000000000000000000000020000

Which the two inputs were asking to Keccak hash 1.5 Gigs of basically zeros.  I'm thinking we may be running into memory issues on the client and exiting with out of memory as we hash the entire byte array instead of streaming the memory.
How big a box do you have retesteth running on?

16 gig. At least 10 should be allocatable

Transaction is valid per the EVM.  The other possibility is that it takes too long for the SHA3 to calculate before retesteth gets impatient.  Could be another candidate for --lowcpu

If it was memory I would expect logs somewhere, either in the besu log or wherever in the system the oom killer logs its results.

I am debugging locally. Ubuntu 18.04
Free memory > 10 gig.
Seems like it smth to with the memory. If I use up the memory leaving free only 3 gig, then nothing happens in besu log.
however if I clean up more memory for besu to run it start showing some VMTrace. then just stop the execution returning empty response to "test_importRawBlock".
Correction: besu instance does not crash.
the expected result is this
            "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
                "balance" : "0x0de0b6b3a76586a0",
                "code" : "0x44444243204555",
                "nonce" : "0x00",
                "storage" : {
                    "0x7fe0000000000001" : "0x38335dc6a80d9d82607a3e36ad614d619c0f601ec37fe2facea8e5fd183a4f15"
                }
            },

That is... unexpected.  What Java version do you have loaded on the box?  besu --version should have it in the version string.  One option is to try a different version of Java.  Because the part where it keeps the port open and returns empty is not something I've seen yet.

Oh, thanks I will try that for autostop script.
Besu is the last one remaining with restart issues with auto scripts.
But in this case I start besu manually. Let me check the java. (Btw this happens continually only on this random94 test. Other are fine)

java --version
openjdk 11.0.4 2019-07-16
OpenJDK Runtime Environment (build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3)
OpenJDK 64-Bit Server VM (build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3, mixed mode, sharing)

11.0.4 is fairly old.  try 11.0.8 or 14.0.2, or GraalVM 20.1.0

Confirm. Using java 14.0.2 fixes the issue.


refactor(uptime): some minor improvements

Trivial changes that has been waiting for two weeks, landing it.


Use public ECR eks-distro-base as base image

Now that we have eks-distro-base image in public ECR, we can use them as base images for building EKS-D.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/hold


Make TreeSitterError inherit Exception

We don't want our exceptions to go unnoticed or handled by default rescue.
Consumers need to handle them explicitly.

Thanks for replying, I was hoping you'd see it today :)

This would be surprising to me as a user of the gem. Why don't we want them to be handled by default rescue blocks?

Take LoadError for instance. This is not a StandardError. If you look at LanguageLoadError, ParserNotFoundError, and ParserVersionError, at least, these are equivalent to a LoadError. You should absolutely handle them by name. In some sense, they are "unrecoverable" errors.
I would argue that SymbolNotFoundError and QueryCreationError are also similar in nature, in the sense that if you get them, then you're doing something deeply wrong … I will not defend this argument for those 2 errors with my life, but the first 3 are obviously very serious errors IMO. Maybe the strongest argument I can advance for these 2 to be this way is the fact that they inherit TreeSitterError, and treating them differently is
I understand that the standard practice is to inherit StandardError, but maybe that applies to applications more than anything. For libraries, that makes me a bit uncomfortable.
WDYT?


Allow existing coverage metadata to be deleted

This function is used for deleting old coverage metadata info when user replaces the old resource file with a new resource file for an existing resource. Currently, the coverage metadata can't be deleted and can only be updated if the resource has the coverage metadata information.

For resource types that have a single file that contains coverage and resource type specific metadata information, when that file is deleted a subset of metadata should be retained and a subset reset to default values.  When a new file is read the type specific metadata should be populated from the new file.
@gantian127, @hyi, and @pkdash please develop lists of the metadata for netcdf and raster resources and categorize these into those that need to be refreshed when a file is changed, versus retained.  Pabitra please guide the underlying data structure for managing this.

Related to #176

As Dave suggested, I am putting a list of metadata sub-elements for raster resource type here for bookkeeping:
When the raster file is deleted, the following happens:

Spatial Coverage is reset to default values (units and projection are reset to "Unnamed" with other limit values are set to 0.
CellInformation is reset to default values (either 0 or "Unnamed")
All band information from the deleted file is deleted. The default band count is reset to 1 with default BandInformation set to "Unnamed" or empty.
Other metadata manually entered by users such as Title, Abstract, creators, etc., are untouched by deletion of the file.

While the raster file is added, the following happens:

Spatial Coverage is extracted from the file and added into core metadata.
CellInformation is extracted from the file and added into extended metadata.
Band count is extracted from the file, and the corresponding number of bands are added into extended metadata with default values such as "Unnamed" or empty.
4 Other metadata are untouched.

@pkdash Is this something that needs to be addressed at your hs_core level since coverage core metadata is managed at the hs_core level? If this is true, can you reassign this issue to yourself to address it? You may discuss this with Tian to see what is the exact issue. For raster resource type, I think updating/resetting coverage to default values will suffice when replacing an old file with a new file.

Currently once a coverage metadata element is created it can't be deleted. I can change that.

@pkdash will it be possible to do this for 1.4.  Then @hyi can coordinate the raster resource type changes with what you do

@dtarb, @hyi and @gantian127 It seems there is a way to delete coverage metadata elements. In fact, I have done that in my branch '5-time-series-resource-phase-1'. The following line of code will delete all coverage elements of a resource:
resource.metadata.coverages.all().delete()

@pkdash Can you point where in your time series branch you deleted coverage metadata? Currently, Coverage class remove() method raises validation error indicating coverage cannot be deleted. I am trying to replace my current logic to reset coverage to default values with deleting coverage element, and try to find out whether I need to modify anything in the hs_core Coverage class implementation to allow me to do so.

@pkdash Please disregard my earlier comment. I realized I can simply delete the object by using delete() and have tried that and everything works for me at my local branch, so this issue has been resolved.

Fix pushed to github and a pull request has been created to merge it into release-candidate-1.4.0.

Tested it on alpha and it is working now for raster resource type. Adding ready for testing label. @gantian127 You can take a look at raster resource type code on release 1.4.0 branch to see how coverage metadata is deleted when a file is deleted.

I just test that on local dev for netCDFand it works now. Thanks for the work.

Tested by deleting a file from a raster resource and adding another one and the metadata is reset properly


all: unify import alias and sort order

Unify import alias and sort order, and switch protobuf to v2 on exporter/trace that will remove direct github.com/golang/protobuf dependency.

Should I add the importas config to golangci.yml as well?

@damemi PTAL

/gcbrun


bluetooth: bap: Fix shift of BIS_Sync parameter of notification

The PTS BASS/SR/CP test cases fails because of wrong value of the BIS_Sync parameter of the Add Source and Modify Source operations and of notification of Broadcast Audio Scan Control Point.

The internal_state->requested_bis_sync[i] contains the BIS_Sync bitfield described in BASS spec in Table 3.5: Format of Add Source operation

received over the air in Add Source or Modify Source operation, where BIT(0) is allowed and represents BIS_index 1. But the bis_sync field
https://github.com/zephyrproject-rtos/zephyr/blob/90fec53381e08e0909988d3c0f466c91d43eb6cd//include/zephyr/bluetooth/audio/bap.h#L281-L283
is filled like this:
https://github.com/zephyrproject-rtos/zephyr/blob/90fec53381e08e0909988d3c0f466c91d43eb6cd/subsys/bluetooth/audio/bap_broadcast_sink.c#L107-L123
so it seems to be left-shifted by 1 bit relative to internal_state->requested_bis_sync[i]. So to compare them with bits_subset_of(), one should be shifted. The BIS_Sync_State parameter of Broadcast Receive State Characteristic is defined as BIS_Sync, so a shift is needed here too:
(void)net_buf_simple_add_le32(&read_buf, subgroup->bis_sync >> 1);

I'm sorry, I'm still not following how the above does any shifting.
The BIS index bitfields of the subgroups are populated as
subgroup_param->bis_sync |= BIT(bis_data->index);

and since bis_data->index cannot be 0, then BIT(0) is never set.
Can you provide any logs to describe the issue?

Yes, please have a look at logs from BASS/SR/CP/BV-07-C test case:

Bluetooth Protocol Viewer logs:
BASS_SR_CP_BV_07_C_2023_11_03_14_42_42.zip
Zephyr IUT logs:
BASS_SR_CP_BV-07-C_iutctl.log

The PTS sent Modify Source operation with BIS_Sync bitfield set to 0x01.

So because the requested_bis_sync[0] takes its value directly from buffer:
https://github.com/zephyrproject-rtos/zephyr/blob/8ba8c188a0dd57fc6b92d9a1011c86521ff59d7e/subsys/bluetooth/audio/bap_scan_delegator.c#L672
internal_state->requested_bis_sync[0] will be equal to 0x01 (the value that BIT(0) would return).
So since bis_data->index can have values only from range defined for BIS_index, 1-31,  the subgroup_param->bis_sync is not equivalent of BIS_Sync parameter of Modify Source (or Add Source) operation.
And that is why this log in IUT logs appears:
[00:00:16.753,845] <dbg> bt_bap_scan_delegator: bt_bap_scan_delegator_mod_src: Subgroup[0] invalid bis_sync value 2 for 1
and the Modify Source operation fails.

Yes, please have a look at logs from BASS/SR/CP/BV-07-C test case:
* Bluetooth Protocol Viewer logs:
  [BASS_SR_CP_BV_07_C_2023_11_03_14_42_42.zip](https://github.com/zephyrproject-rtos/zephyr/files/13250870/BASS_SR_CP_BV_07_C_2023_11_03_14_42_42.zip)

* Zephyr IUT logs:
  [BASS_SR_CP_BV-07-C_iutctl.log](https://github.com/zephyrproject-rtos/zephyr/files/13250922/BASS_SR_CP_BV-07-C_iutctl.log)

The PTS sent Modify Source operation with BIS_Sync bitfield set to 0x01.

So because the requested_bis_sync[0] takes its value directly from buffer:
https://github.com/zephyrproject-rtos/zephyr/blob/8ba8c188a0dd57fc6b92d9a1011c86521ff59d7e/subsys/bluetooth/audio/bap_scan_delegator.c#L672
internal_state->requested_bis_sync[0] will be equal to 0x01 (the value that BIT(0) would return).
So since bis_data->index can have values only from range defined for BIS_index, 1-31, the subgroup_param->bis_sync is not equivalent of BIS_Sync parameter of Modify Source (or Add Source) operation.
And that is why this log in IUT logs appears: [00:00:16.753,845] <dbg> bt_bap_scan_delegator: bt_bap_scan_delegator_mod_src: Subgroup[0] invalid bis_sync value 2 for 1 and the Modify Source operation fails.

I see.
I think this part was missing for me:

4-octet bitfield. Bit 0-30 = BIS_index[1-31]

So BIS_index 0x01 uses BIT(0).
Which is both counterintuitive and conflicting with

0xxxxxxxxx: 0b1 = Synchronize to BIS_index[x]

As 0b00000000000000000000000000000001 indicates that we are syncing to BIS_index[0] as x is 0 in that case.
Or do you read it differently? That 0b00000000000000000000000000000001 indicates BIS_index[1]?

I would treat those x-es as a wildcard values. There are some examples in BAP_v1.0.1.pdf like this one from 'Figure 6.13: Broadcast Assistant initiates Add Source operation'

which seem to confirm this usage.
But I must say I would sleep better too if the range of allowed values for BIS Indexes started from 0 instead of 1.

I would treat those x-es as a wildcard values. There are some examples in BAP_v1.0.1.pdf like this one from 'Figure 6.13: Broadcast Assistant initiates Add Source operation'

which seem to confirm this usage.
But I must say I would sleep better too if the range of allowed values for BIS Indexes started from 0 instead of 1.

Thanks for that example - That seems to agree with PTS.
I think it makes sense to keep the BAP API to be similar to the ISO API (i.e. BIT(1) means index 1), and then as you've suggested here, we will shift the values when sending/receiving over air.


REQUEST: New membership for Okabe-Rintarou-0

GitHub Username

Okabe-Rintarou-0
Organization you are requesting membership in

kmesh
Requirements

[x] I have reviewed the community membership guidelines
[x] I have joined in the community mailing group and slack
[x] I have watched Kmest-net/kmesh on GitHub to subscribe updates (My account appears in the watchers list)
[x] I have enabled two-factor authentication on my GitHub account
[x] I am actively contributing to 1 or more Kmesh subprojects
[x] I have spoken to my sponsors ahead of this application, and they have agreed to sponsor my application

Sponsors

List of contributions to the Kmesh project

PRs reviewed / authored:
https://github.com/kmesh-net/kmesh/pull/378
https://github.com/kmesh-net/kmesh/pull/357
https://github.com/kmesh-net/kmesh/pull/356
https://github.com/kmesh-net/kmesh/pull/354
https://github.com/kmesh-net/kmesh/pull/345
https://github.com/kmesh-net/kmesh/pull/338
https://github.com/kmesh-net/kmesh/pull/334

Issues authored:

Issues responded to:

welcome

+1 welcome to kmesh

+1 welcome

done


[BUG] Unable to get ACE working for imported RKE2 cluster

Rancher Server Setup

Rancher version: 2.6.8
Installation option (Docker install/Helm Chart): Helm Chart

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc): v1.22.10+k3s1

Information about the Cluster

Kubernetes version: v1.23.6+rke2r2
Cluster Type (Local/Downstream): imported

User Information

What is the role of the user logged in? (Admin)

Describe the bug
When enabling the Authorized Cluster Endpoint for imported RKE2 cluster in the UI. The FQDN and certificate is correctly added to the kubeconfig downloaded from the cluster. When switching the kubeconfig context to the ACE endpoint, kubectl returns the error: "error: You must be logged in to the server (Unauthorized)"
To Reproduce

Create RKE2 cluster
Import in Rancher 2.6.8
Enable ACE in UI en set FQDN and certificate according to the kubeconfig obtained at creation of the RKE2 cluster.
Download kubeconfig from rancher

$ export KUBECONFIG=`pwd`/rancher-kubeconfig.yaml
$ kubectl config get-contexts
CURRENT   NAME          CLUSTER       AUTHINFO   NAMESPACE
*         kube01        kube01        kube01
          kube01-fqdn   kube01-fqdn   kube01
$ kubectl get nodes
NAME               STATUS   ROLES                       AGE   VERSION
kube01-n01   Ready    control-plane,etcd,master   11d   v1.23.6+rke2r2
kube01-n02   Ready    control-plane,etcd,master   11d   v1.23.6+rke2r2
kube01-n03   Ready    control-plane,etcd,master   11d   v1.23.6+rke2r2
$ kubectl config use-context kube01-fqdn
Switched to context "kube01-fqdn".
$ kubectl get nodes
error: You must be logged in to the server (Unauthorized)

Result
$ kubectl get nodes
error: You must be logged in to the server (Unauthorized)

Expected Result
My user token that works on the rancher endpoint, should also work with the ACE endpoint.

Did you add the Webhook in your imported RKE2 cluster https://github.com/rancher/docs/issues/3612

Oh, I didn't. Seems that I was looking at the wrong section of the documentation 🙂 :  https://docs.ranchermanager.rancher.io/reference-guides/cluster-configuration/rancher-server-configuration/rke1-cluster-configuration#authorized-cluster-endpoint
For other readers, this was my missing piece: https://docs.ranchermanager.rancher.io/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters#authorized-cluster-endpoint-support-for-rke2-and-k3s-clusters


Update "Getting Started" to match latest Android Studio

The "Configure" menu includes a dropdown:

I also clarified the UI role of labels (a tab and a checkbox) because I didn't notice them at first.

Some very minor nits, thanks for the PR! We can merge once those are addressed.

Done


Issues trying to train SqueezeNet

When I try to retrain the final layer of SqueezeNet, I get this error:

terminate called after throwing an instance of 'caffe2::EnforceNotMet'
what():  [enforce fail at cross_entropy_op.cu:34] X.ndim() == 2. 4 vs 2 Error from operator:
input: "softmaxout" input: "label" output: "xent" type: "LabelCrossEntropy" device_option { device_type: 1 }

Similar error also arises when I try to train SqueezeNet from scratch. However, if I change the device option to cpu, the error changes slightly (not sure if it provides any insight, but here it is for reference):

terminate called after throwing an instance of 'caffe2::EnforceNotMet'
what():  [enforce fail at accuracy_op.cc:10] X.ndim() == 2. 4 vs 2 Error from operator:
input: "softmax" input: "label" output: "accuracy" type: "Accuracy"

GoogleNet, on the other hand, gives no issues while training or retraining, so it seems to be something specific to the architecture of SqueezeNet. Any ideas?

Hi @amandeepsaini,
Thanks for reporting this issue. The output of the SqueezeNet model has an incompatible shape for the accuracy operator. I updated the train and retrain example. You will need to run with --reshape_output in the case of SqueezeNet.
Let me know how that works.

Works great now, thanks!


Remove specs for cached vizjson that was removed

Since 2 tests fail on master atm, due to https://github.com/CartoDB/cartodb/commit/83ba1a2f2037560310fddce4265277faa0dea889 I think it makes sense to remove those the failing tests that asserts the cache.

I guess someone of you, @Kartones @juanignaciosl @rafatower , is most suitable to review the changes

Frontend tests were OK :+1: (details)

cc @javisantana

Hey @viddo , please don't remove them. @rafatower will disable them (just adding pending) and then we'll work on the fix

Fair enough, will he do it on this PR or should I just close it?

keep it and I'll reuse this ticket if you don't mind

For totally fine, go ahead :)

fixed in #2487 instead

Frontend tests were OK :+1: (details)