Performance test the old schema vs new schema

Summary
Run a handful of different performance tests against the old schema and then the new schema, and compare the results of each.  For us to commit 100% towards the new schema, we want to show that it will at least perform equally well.
Acceptance Criteria

[ ] Run the following tests for each schema, and record the numbers
[ ] Make any adjustments to the tests/performance suite to be able to alternate running against the two schemas

Details / Tasks
Different test conditions to test

100 unique patients, 1 iteration each
1 unique patient, 100 iterations each
2000 unique patients, 3 iterations each

2019 13" 2.8GHz i7 16GB Macbook Pro

100/1
1/100
2000/3

old
40.79s
36.14s
?

new
32.32s
30.45s
?

@alhayward @cbrinson-rise8 @derekadombek @eileenruberto @monicamq I ran some tests last week on main, comparing the differences of the old schema and the new schema using different permutations of unique Synthea patients generated and the number of times those patients were sent to the API (DIBBS_BASIC was used for all tests).   I ran each scenario twice and recorded the faster of the two runs.
The results were very comparable, the new schema edged out the old schema in all 3 tests, but not by much.  A couple of things to note though

The new schema handled some conditions slightly better, like comparisons of birthdates and handling of names with an apostrophe in it (eg O'Connor).  So its worth noting that regarding accuracy, the new schema is handling more edge cases correctly.  If the old schema was handling the apostrophe edge case correctly, it would have resulted in a slightly LONGER run time for the 2000/3 test.
This is fake data, and all of our matches were a result of true matches (the PII looked identical between the first and subsequent calls).  However, this test is mostly focused on performance and not accuracy, so using synthetic data seemed ok.
We have a couple of rather large, and somewhat trivial, changes to make to the new schema to help with performance.  Async database calls and multiprocessing of evaluations.  Adding those now, could have obscured the results of these tests, as we would no longer have been comparing apples to apples.  However, this option is open looking forward (technically we could do it with the old schema as well, but it would require ALOT of work).

With these results, I'm inclined to keep moving forward with the new schema, and delete the old one.  Please let me know if you have any questions or thoughts.


List count pluralization always passes Float::INFINITY

In index.html.haml we have:
      .clearfix.total-count= "#{total_count} #{@model_config.pluralize(total_count).downcase}"
    - else
      .clearfix.total-count=<EMAIL_ADDRESS>#{@model_config.pluralize(@objects.size).downcase}"

And the pluralize method for model is defined as:
      register_instance_option :label_plural do
        (@label_plural ||= {})[::I18n.locale] ||= abstract_model.model.model_name.human(count: Float::INFINITY, default: label.pluralize)
      end

      def pluralize(count)
        count == 1 ? label : label_plural
      end

So, regardless of actual objects count, it will always show the model name in plural (:other pluralization key), such as «5 Новости» instead of «5 Новостей».

I think that I found a problem related to this issue. I've followed the instructions here: https://github.com/sferik/rails_admin/wiki/Navigation
And I get this exception:
Started GET "/admin/" for <IP_ADDRESS> at 2016-06-17 00:13:57 -0300
Processing by RailsAdmin::MainController#dashboard as HTML
ActionView::Template::Error (translation data {:one=>"Doctor", :many=>"Doctores"} can not be used with :count => Infinity):
    15:             - last_used = @most_recent_changes[abstract_model.model.name]
    16:             - active = last_used.try(:today?)
    17:             %td
    18:               %span.show= link_to capitalize_first_letter(abstract_model.config.label_plural), index_path, class: 'pjax'
    19:             %td
    20:               - if last_used
    21:                 = time_ago_in_words last_used
  i18n (0.7.0) lib/i18n/backend/base.rb:142:in `pluralize'
  i18n (0.7.0) lib/i18n/backend/base.rb:40:in `translate'
  i18n (0.7.0) lib/i18n.rb:158:in `block in translate'
  i18n (0.7.0) lib/i18n.rb:154:in `catch'
  i18n (0.7.0) lib/i18n.rb:154:in `translate'
  activemodel (4.2.6) lib/active_model/naming.rb:188:in `human'
  rails_admin (0.8.1) lib/rails_admin/config/model.rb:64:in `block in <class:Model>'
  rails_admin (0.8.1) lib/rails_admin/config/configurable.rb:66:in `instance_eval'
  rails_admin (0.8.1) lib/rails_admin/config/configurable.rb:66:in `block in register_instance_option'
  rails_admin (0.8.1) lib/rails_admin/config/lazy_model.rb:20:in `method_missing'
  rails_admin (0.8.1) app/views/rails_admin/main/dashboard.html.haml:18:in `block in ___sers_etagwerker__rvm_gems_ruby_______gems_rails_admin_______app_views_rails_admin_main_dashboard_html_haml___821114553159719991_70313219148200'
  rails_admin (0.8.1) app/views/rails_admin/main/dashboard.html.haml:10:in `each'
  rails_admin (0.8.1) app/views/rails_admin/main/dashboard.html.haml:10:in `___sers_etagwerker__rvm_gems_ruby_______gems_rails_admin_______app_views_rails_admin_main_dashboard_html_haml___821114553159719991_70313219148200'
  actionview (4.2.6) lib/action_view/template.rb:145:in `block in render'
  activesupport (4.2.6) lib/active_support/notifications.rb:166:in `instrument'
  actionview (4.2.6) lib/action_view/template.rb:333:in `instrument'
  actionview (4.2.6) lib/action_view/template.rb:143:in `render'
  actionview (4.2.6) lib/action_view/renderer/template_renderer.rb:54:in `block (2 levels) in render_template'
  actionview (4.2.6) lib/action_view/renderer/abstract_renderer.rb:39:in `block in instrument'
  activesupport (4.2.6) lib/active_support/notifications.rb:164:in `block in instrument'
  activesupport (4.2.6) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
  activesupport (4.2.6) lib/active_support/notifications.rb:164:in `instrument'
  actionview (4.2.6) lib/action_view/renderer/abstract_renderer.rb:39:in `instrument'
  actionview (4.2.6) lib/action_view/renderer/template_renderer.rb:53:in `block in render_template'
  actionview (4.2.6) lib/action_view/renderer/template_renderer.rb:61:in `render_with_layout'
  actionview (4.2.6) lib/action_view/renderer/template_renderer.rb:52:in `render_template'
  actionview (4.2.6) lib/action_view/renderer/template_renderer.rb:14:in `render'
  actionview (4.2.6) lib/action_view/renderer/renderer.rb:46:in `render_template'
  actionview (4.2.6) lib/action_view/renderer/renderer.rb:27:in `render'
  actionview (4.2.6) lib/action_view/rendering.rb:100:in `_render_template'
  actionpack (4.2.6) lib/action_controller/metal/streaming.rb:217:in `_render_template'
  actionview (4.2.6) lib/action_view/rendering.rb:83:in `render_to_body'
  actionpack (4.2.6) lib/action_controller/metal/rendering.rb:32:in `render_to_body'
  actionpack (4.2.6) lib/action_controller/metal/renderers.rb:37:in `render_to_body'
  actionpack (4.2.6) lib/abstract_controller/rendering.rb:25:in `render'
  actionpack (4.2.6) lib/action_controller/metal/rendering.rb:16:in `render'
  actionpack (4.2.6) lib/action_controller/metal/instrumentation.rb:44:in `block (2 levels) in render'
  activesupport (4.2.6) lib/active_support/core_ext/benchmark.rb:12:in `block in ms'
  /Users/etagwerker/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/benchmark.rb:303:in `realtime'
  activesupport (4.2.6) lib/active_support/core_ext/benchmark.rb:12:in `ms'
  actionpack (4.2.6) lib/action_controller/metal/instrumentation.rb:44:in `block in render'
  actionpack (4.2.6) lib/action_controller/metal/instrumentation.rb:87:in `cleanup_view_runtime'
  activerecord (4.2.6) lib/active_record/railties/controller_runtime.rb:25:in `cleanup_view_runtime'
  actionpack (4.2.6) lib/action_controller/metal/instrumentation.rb:43:in `render'
  remotipart (1.2.1) lib/remotipart/render_overrides.rb:14:in `render_with_remotipart'
  rails_admin (0.8.1) lib/rails_admin/config/actions/dashboard.rb:33:in `block (2 levels) in <class:Dashboard>'
  rails_admin (0.8.1) app/controllers/rails_admin/main_controller.rb:22:in `instance_eval'
  rails_admin (0.8.1) app/controllers/rails_admin/main_controller.rb:22:in `dashboard'
  actionpack (4.2.6) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
  actionpack (4.2.6) lib/abstract_controller/base.rb:198:in `process_action'
  actionpack (4.2.6) lib/action_controller/metal/rendering.rb:10:in `process_action'
  actionpack (4.2.6) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
  activesupport (4.2.6) lib/active_support/callbacks.rb:117:in `call'
  activesupport (4.2.6) lib/active_support/callbacks.rb:117:in `call'
  activesupport (4.2.6) lib/active_support/callbacks.rb:555:in `block (2 levels) in compile'
  activesupport (4.2.6) lib/active_support/callbacks.rb:505:in `call'
  activesupport (4.2.6) lib/active_support/callbacks.rb:505:in `call'
  activesupport (4.2.6) lib/active_support/callbacks.rb:92:in `__run_callbacks__'
  activesupport (4.2.6) lib/active_support/callbacks.rb:778:in `_run_process_action_callbacks'
  activesupport (4.2.6) lib/active_support/callbacks.rb:81:in `run_callbacks'
  actionpack (4.2.6) lib/abstract_controller/callbacks.rb:19:in `process_action'
  actionpack (4.2.6) lib/action_controller/metal/rescue.rb:29:in `process_action'
  actionpack (4.2.6) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'
  activesupport (4.2.6) lib/active_support/notifications.rb:164:in `block in instrument'
  activesupport (4.2.6) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
  activesupport (4.2.6) lib/active_support/notifications.rb:164:in `instrument'
  actionpack (4.2.6) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
  actionpack (4.2.6) lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
  activerecord (4.2.6) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
  actionpack (4.2.6) lib/abstract_controller/base.rb:137:in `process'
  actionview (4.2.6) lib/action_view/rendering.rb:30:in `process'
  actionpack (4.2.6) lib/action_controller/metal.rb:196:in `dispatch'
  actionpack (4.2.6) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
  actionpack (4.2.6) lib/action_controller/metal.rb:237:in `block in action'
  actionpack (4.2.6) lib/action_dispatch/routing/route_set.rb:74:in `call'
  actionpack (4.2.6) lib/action_dispatch/routing/route_set.rb:74:in `dispatch'
  actionpack (4.2.6) lib/action_dispatch/routing/route_set.rb:43:in `serve'
  actionpack (4.2.6) lib/action_dispatch/journey/router.rb:43:in `block in serve'
  actionpack (4.2.6) lib/action_dispatch/journey/router.rb:30:in `each'
  actionpack (4.2.6) lib/action_dispatch/journey/router.rb:30:in `serve'
  actionpack (4.2.6) lib/action_dispatch/routing/route_set.rb:817:in `call'
  railties (4.2.6) lib/rails/engine.rb:518:in `call'
  railties (4.2.6) lib/rails/railtie.rb:194:in `public_send'
  railties (4.2.6) lib/rails/railtie.rb:194:in `method_missing'
  actionpack (4.2.6) lib/action_dispatch/routing/mapper.rb:51:in `serve'
  actionpack (4.2.6) lib/action_dispatch/journey/router.rb:43:in `block in serve'
  actionpack (4.2.6) lib/action_dispatch/journey/router.rb:30:in `each'
  actionpack (4.2.6) lib/action_dispatch/journey/router.rb:30:in `serve'
  actionpack (4.2.6) lib/action_dispatch/routing/route_set.rb:817:in `call'
  rack-pjax (0.8.0) lib/rack/pjax.rb:12:in `call'
  warden (1.2.6) lib/warden/manager.rb:35:in `block in call'
  warden (1.2.6) lib/warden/manager.rb:34:in `catch'
  warden (1.2.6) lib/warden/manager.rb:34:in `call'
  rack (1.6.4) lib/rack/etag.rb:24:in `call'
  rack (1.6.4) lib/rack/conditionalget.rb:25:in `call'
  rack (1.6.4) lib/rack/head.rb:13:in `call'
  remotipart (1.2.1) lib/remotipart/middleware.rb:27:in `call'
  actionpack (4.2.6) lib/action_dispatch/middleware/params_parser.rb:27:in `call'
  actionpack (4.2.6) lib/action_dispatch/middleware/flash.rb:260:in `call'
  rack (1.6.4) lib/rack/session/abstract/id.rb:225:in `context'
  rack (1.6.4) lib/rack/session/abstract/id.rb:220:in `call'
  actionpack (4.2.6) lib/action_dispatch/middleware/cookies.rb:560:in `call'
  activerecord (4.2.6) lib/active_record/query_cache.rb:36:in `call'
  activerecord (4.2.6) lib/active_record/connection_adapters/abstract/connection_pool.rb:653:in `call'
  activerecord (4.2.6) lib/active_record/migration.rb:377:in `call'
  actionpack (4.2.6) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
  activesupport (4.2.6) lib/active_support/callbacks.rb:88:in `__run_callbacks__'
  activesupport (4.2.6) lib/active_support/callbacks.rb:778:in `_run_call_callbacks'
  activesupport (4.2.6) lib/active_support/callbacks.rb:81:in `run_callbacks'
  actionpack (4.2.6) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
  actionpack (4.2.6) lib/action_dispatch/middleware/reloader.rb:73:in `call'
  actionpack (4.2.6) lib/action_dispatch/middleware/remote_ip.rb:78:in `call'
  actionpack (4.2.6) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
  web-console (2.3.0) lib/web_console/middleware.rb:28:in `block in call'
  web-console (2.3.0) lib/web_console/middleware.rb:18:in `catch'
  web-console (2.3.0) lib/web_console/middleware.rb:18:in `call'
  actionpack (4.2.6) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
  railties (4.2.6) lib/rails/rack/logger.rb:38:in `call_app'
  railties (4.2.6) lib/rails/rack/logger.rb:20:in `block in call'
  activesupport (4.2.6) lib/active_support/tagged_logging.rb:68:in `block in tagged'
  activesupport (4.2.6) lib/active_support/tagged_logging.rb:26:in `tagged'
  activesupport (4.2.6) lib/active_support/tagged_logging.rb:68:in `tagged'
  railties (4.2.6) lib/rails/rack/logger.rb:20:in `call'
  actionpack (4.2.6) lib/action_dispatch/middleware/request_id.rb:21:in `call'
  rack (1.6.4) lib/rack/methodoverride.rb:22:in `call'
  rack (1.6.4) lib/rack/runtime.rb:18:in `call'
  activesupport (4.2.6) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call'
  rack (1.6.4) lib/rack/lock.rb:17:in `call'
  actionpack (4.2.6) lib/action_dispatch/middleware/static.rb:120:in `call'
  rack (1.6.4) lib/rack/sendfile.rb:113:in `call'
  railties (4.2.6) lib/rails/engine.rb:518:in `call'
  railties (4.2.6) lib/rails/application.rb:165:in `call'
  rack (1.6.4) lib/rack/lock.rb:17:in `call'
  rack (1.6.4) lib/rack/content_length.rb:15:in `call'
  rack (1.6.4) lib/rack/handler/webrick.rb:88:in `service'
  /Users/etagwerker/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/webrick/httpserver.rb:138:in `service'
  /Users/etagwerker/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/webrick/httpserver.rb:94:in `run'
  /Users/etagwerker/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/webrick/server.rb:294:in `block in start_thread'

  Rendered /Users/etagwerker/.rvm/gems/ruby-2.2.1/gems/actionpack-4.2.6/lib/action_dispatch/middleware/templates/rescues/_source.erb (6.2ms)
  Rendered /Users/etagwerker/.rvm/gems/ruby-2.2.1/gems/actionpack-4.2.6/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.2ms)
  Rendered /Users/etagwerker/.rvm/gems/ruby-2.2.1/gems/actionpack-4.2.6/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.8ms)
  Rendered /Users/etagwerker/.rvm/gems/ruby-2.2.1/gems/actionpack-4.2.6/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (49.4ms)
  Rendered /Users/etagwerker/.rvm/gems/ruby-2.2.1/gems/web-console-2.3.0/lib/web_console/templates/_markup.html.erb (0.4ms)
  Rendered /Users/etagwerker/.rvm/gems/ruby-2.2.1/gems/web-console-2.3.0/lib/web_console/templates/_inner_console_markup.html.erb within layouts/inlined_string (0.3ms)
  Rendered /Users/etagwerker/.rvm/gems/ruby-2.2.1/gems/web-console-2.3.0/lib/web_console/templates/_prompt_box_markup.html.erb within layouts/inlined_string (0.6ms)
  Rendered /Users/etagwerker/.rvm/gems/ruby-2.2.1/gems/web-console-2.3.0/lib/web_console/templates/style.css.erb within layouts/inlined_string (0.3ms)
  Rendered /Users/etagwerker/.rvm/gems/ruby-2.2.1/gems/web-console-2.3.0/lib/web_console/templates/console.js.erb within layouts/javascript (37.9ms)
  Rendered /Users/etagwerker/.rvm/gems/ruby-2.2.1/gems/web-console-2.3.0/lib/web_console/templates/main.js.erb within layouts/javascript (0.3ms)
  Rendered /Users/etagwerker/.rvm/gems/ruby-2.2.1/gems/web-console-2.3.0/lib/web_console/templates/error_page.js.erb within layouts/javascript (0.4ms)
  Rendered /Users/etagwerker/.rvm/gems/ruby-2.2.1/gems/web-console-2.3.0/lib/web_console/templates/index.html.erb

My configuration looks like this:
---
es:
  activerecord:
    models:
      doctor:
        one: "Doctor"
        many: "Doctores"

I'm using version 0.8.1.


Build error, cannot fetch zlib-1.2.11.tar.gz

🐛 Describe the bug
git clone --recursive -b v0.11.0 https://github.com/pytorch/audio torchaudio
cd torchaudio
BUILD_SOX=1 python3 setup.py install

This was working fine up until a day or two ago.  Then it started to not be able to download zlib-1.2.11.tar.gz.  I don't believe it's a connection issue on my end because I am not experiencing other network issues.
-- Git tag: v0.11.0
-- PyTorch dependency: torch
-- Building version 0.11.0+820b383
 --- Initializing submodules
 --- Initialized submodule
 --- Fetching zlib-1.2.11.tar.gz
Traceback (most recent call last):
  File "setup.py", line 181, in <module>
    _main()
  File "setup.py", line 144, in _main
    _fetch_third_party_libraries()
  File "setup.py", line 128, in _fetch_third_party_libraries
    _fetch_archives(_parse_sources())
  File "setup.py", line 122, in _fetch_archives
    torch.hub.download_url_to_file(url, dest, progress=False)
  File "/usr/local/lib/python3.8/dist-packages/torch/hub.py", line 457, in download_url_to_file
    u = urlopen(req)
  File "/usr/lib/python3.8/urllib/request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.8/urllib/request.py", line 531, in open
    response = meth(req, response)
  File "/usr/lib/python3.8/urllib/request.py", line 640, in http_response
    response = self.parent.error(
  File "/usr/lib/python3.8/urllib/request.py", line 569, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.8/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.8/urllib/request.py", line 649, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found

Versions
Note:  this build is being done in docker, whereas collect_env.py was run outside docker, so not all versions are showing appropriately.  It is with PyTorch 1.11
python3 collect_env.py
Collecting environment information...
PyTorch version: N/A
Is debug build: N/A
CUDA used to build PyTorch: N/A
ROCM used to build PyTorch: N/A

OS: Ubuntu 20.04.4 LTS (aarch64)
GCC version: (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
Clang version: Could not collect
CMake version: version 3.16.3
Libc version: glibc-2.31

Python version: 3.8.10 (default, Nov 26 2021, 20:14:08)  [GCC 9.3.0] (64-bit runtime)
Python platform: Linux-5.10.65-tegra-aarch64-with-glibc2.29
Is CUDA available: N/A
CUDA runtime version: 11.4.166
GPU models and configuration: Could not collect
Nvidia driver version: Could not collect
cuDNN version: Probably one of the following:
/usr/lib/aarch64-linux-gnu/libcudnn.so.8.3.2
/usr/lib/aarch64-linux-gnu/libcudnn_adv_infer.so.8.3.2
/usr/lib/aarch64-linux-gnu/libcudnn_adv_train.so.8.3.2
/usr/lib/aarch64-linux-gnu/libcudnn_cnn_infer.so.8.3.2
/usr/lib/aarch64-linux-gnu/libcudnn_cnn_train.so.8.3.2
/usr/lib/aarch64-linux-gnu/libcudnn_ops_infer.so.8.3.2
/usr/lib/aarch64-linux-gnu/libcudnn_ops_train.so.8.3.2
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: N/A

Versions of relevant libraries:
[pip3] numpy==1.17.4
[conda] Could not collect

1.2.11 has mirror on source forge. https://sourceforge.net/projects/libpng/files/zlib/1.2.11/zlib-1.2.11.tar.gz/download

Reminder: This needs to be fixed for 0.11.1 minor release, otherwise source build would not work.

On main branch, can you replace the following lines with the latest?
https://github.com/pytorch/audio/blob/46ed2b98bc4227f12237f14833380f48c015cf8c/third_party/zlib/CMakeLists.txt#L25-L26
URL https://zlib.net/zlib-1.2.12.tar.gz
URL_HASH SHA256=91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9

Thanks @mthrok @nateanl for looking into this today, this worked.

Could someone chime in on NVIDIA/NeMo#3905 when this is resolved?

Hi @coip - @nateanl has landed #2297, so the build should be working now. We will follow-up on updating zlib to 1.2.12.

Can this change be backported to v0.11.0 release as well ? If we want to keep the same version we can just make the following change. All of their URLS seem to be in /fossils now.
  URL https://zlib.net/fossils/zlib-1.2.11.tar.gz
  URL_HASH SHA256=c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1


Using the hard float compiler thumbv7em-none-eabihf problematic

Hi,
I am trying to set up Rust for the first time on a Cortex-M4 based devices
According to the datasheet, the processor supports a single precision FPU:

But the problem is that I can't get into the main function when using the  thumbv7em-none-eabihf compiler. It only works when using thumbv7em-none-eabi.
Output when flashing is working , binary generated with thumbv7em-none-eabi:
rmueller@power-pinguin:~/Rust/va416xx-workspace(main)$ gdb-multiarch -q -x jlink.gdb target/thumbv7em-none-eabi/debug/examples/blinky
Reading symbols from target/thumbv7em-none-eabi/debug/examples/blinky...
0x00002de6 in ?? ()
Resetting target
Breakpoint 1 at 0x44c: file va416xx-hal/examples/blinky.rs, line 9.
Loading section .vector_table, size 0x400 lma 0x0
Loading section .text, size 0x1a8 lma 0x400
Loading section .rodata, size 0x138 lma 0x5a8
Start address 0x00000400, load size 1760
Transfer rate: 132 KB/sec, 586 bytes/write.

Breakpoint 1, blinky::__cortex_m_rt_main_trampoline () at va416xx-hal/examples/blinky.rs:9
9	#[entry]
(gdb)

Output when flashing does not work with thumbv7em-none-eabihf:
rmueller@power-pinguin:~/Rust/va416xx-workspace(main)$ gdb-multiarch -q -x jlink.gdb target/thumbv7em-none-eabihf/debug/examples/blinky
Reading symbols from target/thumbv7em-none-eabihf/debug/examples/blinky...
__stext () at asm.S:57
57	asm.S: No such file or directory.
Resetting target
Breakpoint 1 at 0x464: file va416xx-hal/examples/blinky.rs, line 9.
Loading section .vector_table, size 0x400 lma 0x0
Loading section .text, size 0x1c0 lma 0x400
Loading section .rodata, size 0x138 lma 0x5c0
Start address 0x00000400, load size 1784
Transfer rate: 134 KB/sec, 594 bytes/write.

and nothing is happening. the warning 57	asm.S: No such file or directory. is also appearing here. Maybe this is the reason why I can't flash the application?
Does anyone have an idea what might be happending here? I'm glad that I can get into the main now, but maybe I can't use the FPU now, I' m not sure about that. What exactly is happending in the cortex-m-rt crate when thumbv7em-none-eabihf is used?

The main difference when eabihf is used is this extra code is run in reset before jumping to user main:
https://github.com/rust-embedded/cortex-m-rt/blob/b145dadc8ea934a10a828e27be0d7079b2c76b20/asm.S#L81-L94
This should normally be fine for a Cortex-M4F core, though. Maybe you could set a breakpoint at the reset vector instead of the user main function, and single-step to check which instruction it's getting stuck on? Alternatively, are you able to interrupt (using ctrl-c) in the broken case and see where the CPU is (try info reg to check registers and see what pc is, etc)?

Oh, that looks conspicously similar to some code or sections I have seen in a startup file provided by the vendor:
/*----------------------------------------------------------------------------
  System initialization function
 *----------------------------------------------------------------------------*/
void SystemInit (void)
{

#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U)
  SCB->VTOR = (uint32_t) &__Vectors;
#endif

#if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
  SCB->CPACR |= ((3U << 10U*2U) |           /* set CP10 Full Access */
                 (3U << 11U*2U)  );         /* set CP11 Full Access */
#endif

#ifdef UNALIGNED_SUPPORT_DISABLE
  SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk;
#endif

  SystemCoreClock = HBO; // default HBO CLK
}

I'll check what you suggest soon

Hmm this is really odd, I tried to set a breakpoint at Reset but something seems to be really wrong:
rmueller@power-pinguin:~/Rust/va416xx-workspace(main)$ gdb-multiarch -q target/thumbv7em-none-eabihf/debug/examples/blinky
Reading symbols from target/thumbv7em-none-eabihf/debug/examples/blinky...
(gdb) break Reset
Breakpoint 1 at 0x400: file asm.S, line 44.
(gdb) target remote localhost:2331
Remote debugging using localhost:2331
0x00005af4 in ?? ()
(gdb) s

Could you try si to step a single instruction? You might need to set a later breakpoint as it will take ages to get through the memory initialisation loop, though. I guess the most interesting thing is to see where the CPU is when it crashes/stops progressing, ideally with info reg to dump the program counter and register status at that time. It might be stuck initialising memory or it might have hit a fault and gone to the HardFault handler, in which case we could hopefully figure out what caused it.

Ah, i was already wondering how to do instruction stepping. Not something I need very often :)
0x00004292 in ?? ()
(gdb) c
Continuing.
^C
Program received signal SIGTRAP, Trace/breakpoint trap.
0x00005af4 in ?? ()
(gdb) si
0x00005abc in ?? ()
(gdb) si
0x00005abe in ?? ()
(gdb) c
Continuing.
^C
Program received signal SIGTRAP, Trace/breakpoint trap.
0x00005af4 in ?? ()
(gdb)

It's weird, everytime I stop it's at 0x5af4.. not sure how to continue from here

Could you share the failing elf file, or maybe run arm-none-eabi-nm on it to get function addresses, and see what's at the 0x5af4 address it's stuck at? It's a bit concerning that your stack pointer is 0x1fff_8e28 which is possibly below the bottom of your RAM (assuming it starts at 0x2000_0000), perhaps it's hitting a stack overflow and failing that way. Could you share your memory.x?

There is nothing there.
I've attached both binaries (non-working hard float and working non-hard float)
and the arm-none-eabi-nm output.
Ah, the memory file. I initially suspected it as well.

MEMORY
{
	FLASH : ORIGIN = 0x00000000, LENGTH = 256K
	/* RAM is a mandatory region. This RAM refers to the SRAM_0 */
	RAM : ORIGIN = 0x1FFF8000, LENGTH = 32K
	SRAM_1 : ORIGIN = 0x20000000, LENGTH = 32K
}

binaries.tar.gz
blinky_hf_sections.txt
blinky_sections.txt

Okay, this is odd: The old program is probably running. The MCU loads 256 kB from an external NVM to the instruction SRAM at boot. There is a blinky program running which also produces some RTT output.

If the MCU loads from an external NVM at boot, does that mean it has a small ROM bootloader that runs initially? If so, is it right for your code to be loaded from address 0 (since the Cortex-M4 core will always start execution from address 0)?
It's very unusual to see SRAM mapped to 0x1FFF_8000, since the Cortex-M4 memory map says the whole region 0x0000_0000-0x1FFF_FFFF is code memory and 0x2000_0000 - 0x3FFF_FFFF is for SRAM, but I guess both regions are Normal memory type and permit execution, so it's OK...
It looks like the blinky and blinky-hf ELFs in the tarball are identical (and so are the nm outputs) so no further clues there, but indeed it seems like they won't get to address 5af4 anyway. Hard to see how you're ending up at 5af4 when the code you're programming shouldn't ever jump to such an address though. The memory initialisation in cortex-m-rt will zero your BSS and load any mutable statics from flash, so at least in theory it shouldn't matter what's in the rest of the SRAM. Are there any more details or hints from the vendor's startup code?

The boot process is implemented in hardware if I understood correctly. The datasheet also mentions that all internal SRAMs will be cleared  to 0, but all 256K will always be loaded by default. I have not seen any other details or hints so far

I just tried stepping through the ASM code for the working binary. There are issues when I do that. If I only set as breakpoint in the main, somehow it managed to get there. Maybe it's just a lucky hit that it's working for that code.. But I'm not sure how to proceed from here

I now used asm layout to get a graphical view of all the instructions.
I now have the same issue on both hard float and non hardfloat code that I can't step to a certain address.

From one problem to another:
[ARM none EABI] rmueller@power-pinguin:~/Rust/cortex-m-rt(master)$ ./assemble.sh
+ crate=cortex-m-rt
+ rm -f 'bin/*.a'
+ arm-none-eabi-gcc -g -c -march=armv6s-m asm.S -o bin/cortex-m-rt.o
arm-none-eabi-gcc: fatal error: cannot execute 'cc1': execvp: No such file or directory
compilation terminated.

Might have to try a different cross-compiler..

Very odd! What version of arm-none-eabi-gcc do you have? cc1 should have been distributed with it (for example it's in the ARM downloads). Maybe double check you don't have GCC_EXEC_PREFIX set in your environment.

Its a cross-compiler installed with xPacks
[ARM none EABI] rmueller@power-pinguin:~/Rust/cortex-m-rt(master)$ arm-none-eabi-gcc -v
Using built-in specs.
COLLECT_GCC=arm-none-eabi-gcc
Target: arm-none-eabi
Configured with: /Host/home/ilg/Work/arm-none-eabi-gcc-10.3.1-2.3/linux-x64/sources/gcc/configure --prefix=/Host/home/ilg/Work/arm-none-eabi-gcc-10.3.1-2.3/linux-x64/install/arm-none-eabi-gcc --infodir=/Host/home/ilg/Work/arm-none-eabi-gcc-10.3.1-2.3/linux-x64/install/arm-none-eabi-gcc/share/doc/info --mandir=/Host/home/ilg/Work/arm-none-eabi-gcc-10.3.1-2.3/linux-x64/install/arm-none-eabi-gcc/share/doc/man --htmldir=/Host/home/ilg/Work/arm-none-eabi-gcc-10.3.1-2.3/linux-x64/install/arm-none-eabi-gcc/share/doc/html --pdfdir=/Host/home/ilg/Work/arm-none-eabi-gcc-10.3.1-2.3/linux-x64/install/arm-none-eabi-gcc/share/doc/pdf --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=arm-none-eabi --with-pkgversion='xPack GNU Arm Embedded GCC x86_64' --enable-languages=c,c++ --disable-mingw-wildcard --enable-plugins --enable-lto --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-nls --disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-newlib --with-headers=yes --with-python-dir=share/gcc-arm-none-eabi --with-sysroot=/Host/home/ilg/Work/arm-none-eabi-gcc-10.3.1-2.3/linux-x64/install/arm-none-eabi-gcc/arm-none-eabi --with-native-system-header-dir=/include --with-multilib-list=rmprofile --disable-build-format-warnings --with-system-zlib
Thread model: single
Supported LTO compression algorithms: zlib
gcc version 10.3.1 20210824 (release) (xPack GNU Arm Embedded GCC x86_64)

basically the one with the best Eclipse support. Never had any issues with it but I never tried to compiler an archive from an assembly file before :D

I managed to build it now with a downloaded cross-compiler.
Removing the .bss and .data initialization leads to odd behaviour where the program just loops at weird points.
If I remove the FPU specific sections, it works of course because the binaries will be identical. I could try to enable the FPU during run-time now, but I still have the feeling that something else is wrong..

Yea, it sure sounds like something else is going wrong and it seems unlikely it's just to do with the FPU initialisation in cortex-m-rt. Could you post the different binaries for eabi/eabihf? The ones you posted earlier are both identical.
It might be worth reading through the startup and linker script in the vendor code just to double check they don't set anything else and do load code to address 0 and so forth. Or perhaps compile a blinky elf with their C toolchain and run nm on it to check where the vector table is and see what's loaded into the vector table for stack pointer and reset vector?

Thats a good idea. I managed to build something with MDK-ARM now and it should be possible to debug the files compiled by MDK-ARM with GCC theoretically as well. I'll report back on my findings..

MDK-Arm is working without issues like expected. The reset vector does not appear to be at 0x400 though
Here is the disassembly from the debugger
0x00000330 3275      DCW           0x3275
0x00000332 0000      DCW           0x0000
0x00000334 3279      DCW           0x3279
0x00000336 0000      DCW           0x0000
0x00000338 3389      DCW           0x3389
0x0000033A 0000      DCW           0x0000
0x0000033C 338D      DCW           0x338D
0x0000033E 0000      DCW           0x0000
0x00000340 3455      DCW           0x3455
0x00000342 0000      DCW           0x0000
0x00000344 3459      DCW           0x3459
0x00000346 0000      DCW           0x0000
0x00000348 0383      DCW           0x0383
0x0000034A 0000      DCW           0x0000
0x0000034C 0383      DCW           0x0383
0x0000034E 0000      DCW           0x0000
                 __main:
0x00000350 F8DFD010  LDR.W         sp,[pc,#16]  ; @0x00000364
                 _main_scatterload:
0x00000354 F000FD2A  BL.W          0x00000DAC __scatterload
                 __main_after_scatterload:
0x00000358 4800      LDR           r0,[pc,#0]  ; @0x0000035C
0x0000035A 4700      BX            r0
0x0000035C 5A81      DCW           0x5A81
0x0000035E 0000      DCW           0x0000
                 __rt_lib_shutdown_fini:
0x00000360 F3AF8000  NOP.W
                 __rt_final_cpp:
0x00000364 89E8      DCW           0x89E8
0x00000366 1FFF      DCW           0x1FFF
   292:                 LDR     R0, =SystemInit
0x00000368 4806      LDR           r0,[pc,#24]  ; @0x00000384
   293:                 BLX     R0
0x0000036A 4780      BLX           r0
   294:                 LDR     R0, =__main
0x0000036C 4806      LDR           r0,[pc,#24]  ; @0x00000388
   295:                 BX      R0
   296:                 ENDP
   297:
   298:
   299: ; Dummy Exception Handlers (infinite loops which can be modified)
   300:
   301: NMI_Handler     PROC
   302:                 EXPORT  NMI_Handler               [WEAK]
0x0000036E 4700      BX            r0
   303:                 B       .
   304:                 ENDP
   305: HardFault_Handler\
   306:                 PROC

The reset vector does not start at 0x400 .. I though the vector table size is fixed for the  given architecture. Maybe this is not the case here?

The CPU always reads a vector table from address 0 at boot, and the vector table always contains a stack pointer word, then a reset vector location word, then a word for the location of each exception and interrupt handler (up to 512 for CM4). But, the reset vector itself can live anywhere in memory - the entry in the vector table is a pointer to it. It's common for the linker to put other functions first, so what comes immediately after the vector table is not necessarily the reset vector itself. And, the amount of space used by the vector table depends on how many interrupts are implemented (or even enabled... if you never use the high-numbered interrupts, you could in principle use those slots for code instead).
From the elf you generate from the C tooling (which presumably blinks the LED OK), can you confirm there is a vector table at address 0, the first word is a stack pointer to 0x2000_0000, and the next word (address 4) points to a reset vector function? From the snippet you posted it's hard to tell for sure what's going on. If that all lines up, perhaps the generated reset vector will have clues as to some device-specific startup that's maybe required.

Vector table is at address 0, stack pointer points to 0x1fff89e8 .
I am trying to find out where that number comes from, here is the snipper form the startup file
; <h> Stack Configuration
;   <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>

Stack_Size      EQU     0x00000400

                AREA    STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem       SPACE   Stack_Size
__initial_sp

Reset vector points to 0x369 like expected

It looks like the reset vector just calls SystemInit and then calls main, so all the startup must take place in SystemInit. And seemingly no other special behaviour is required, the stack pointer seems reasonable enough. It runs down, so you expect it to be somewhere above the bottom of the SRAM which is 1fff8000, it's a bit surprising it's only giving you 2536 bytes of stack from a 32kB memory, given there probably isn't anything using the rest of it, but from the startup file perhaps it's deliberately using a small stack?
Does anything look suspicious if you compare the vector table between the working C elf and the not-working Rust elf(s)? Otherwise the only thing left to be suspicious of is the behaviour of SystemInit compared to cortex-m-rt's reset vector... or some other spooky problem. It's still not clear to me how you ended up at 0x5af4 or why it gets stuck there though.

I now managed to run a rust binary generated with the hard float compiler to main.
I tried to replicate the C binary as close as I could by performing the following changes to asm.S and memory.x:

Removed __pre_init call
Remove .bss and .data initialization
Remove barrier calls in the FPU initialization
Change the stack start to be identical to the one used in the C binary

So memory.x looks like this now:
/* This is where the call stack will be allocated. */
/* The stack is of the full descending type. */
/* NOTE Do NOT modify `_stack_start` unless you know what you are doing */
/* SRAM_0 can be used for all busses: Instruction, Data and System */
/* SRAM_1 only supports the system bus */
_stack_start = ORIGIN(RAM) + 0x9e8;

and the asm.S Reset function looks like this
Reset:
  # ARMv6-M does not initialise LR, but many tools expect it to be 0xFFFF_FFFF
  # when reaching the first call frame, so we set it at startup.
  # ARMv7-M and above initialise LR to 0xFFFF_FFFF at reset.
  ldr r4,=0xffffffff
  mov lr,r4

#ifdef HAS_FPU
  # Conditionally enable the FPU.
  # Address of SCB.CPACR.
  ldr r0, =0xE000ED88
  # Enable access to CP10 and CP11 from both privileged and unprivileged mode.
  ldr r1, =(0b1111 << 20)
  # RMW.
  ldr r2, [r0]
  orr r2, r2, r1
  str r2, [r0]
  # Barrier is required on some processors.
  # dsb
  # isb
#endif

4:
  # Preserve `lr` and emit debuginfo that lets external tools restore it.
  # This fixes unwinding past the `Reset` handler.
  # See https://sourceware.org/binutils/docs/as/CFI-directives.html for an
  # explanation of the directives.
.cfi_def_cfa sp, 0
  push {lr}
.cfi_offset lr, 0

  # Jump to user main function. We use bl for the extended range, but the
  # user main function may not return.
  bl main

  # Trap on return.
  udf

  .cfi_endproc
  .size Reset, . - Reset

Of course I'm not happy with these changes and they should not be necessary..

Okay, I this is the hexdump of the rust binary, generated using cargo objdump --example blinky -- -O binary blinky.bin and then hexdump -C blinky.bin > raw_bin.txt:
00000000  00 00 00 20 01 04 00 00  57 04 00 00 7b 05 00 00  |... ....W...{...|
00000010  57 04 00 00 57 04 00 00  57 04 00 00 00 00 00 00  |W...W...W.......|
00000020  00 00 00 00 00 00 00 00  00 00 00 00 57 04 00 00  |............W...|
00000030  57 04 00 00 00 00 00 00  57 04 00 00 57 04 00 00  |W.......W...W...|
00000040  57 04 00 00 57 04 00 00  57 04 00 00 57 04 00 00  |W...W...W...W...|
*

The first two vectors do not look correct here. I'm really confused right now

This might be a flashing related issue. I made a tick at Verify Download in the JLink GDB Server, and the verification failed.

The hexdump looks OK, it has a SP at 0x2000_0000 which is the top of your DataMem0 (since you probably don't have any statics or bss that's likely fine) and a reset vector at 0x00000401 which sounds believable. Are you flashing it the same way as the C elfs? Once it's compiled into an elf they should hopefully be treated exactly the same by flashing tools...

Alright, I think I found the issue. The ROM protection needs to be switched off by setting a certain bit to one. This was performed in Keil-MDK using a *.JLinkScript file. I am still trying to find out how to use a script file like this in the command line, but I now managed to make the hard float image work by sourcing a special gdb file like this with gdb-multiarch -q --batch -ex 'source prep-flash.gdb' :
target remote localhost:2331

echo Disabling watchdog\n
set *0x400210C0 = 0x1ACCE551
set *0x40021008 = 0x0

echo Disabling Instruction Memory protection\n
set *0x40010010 = 0x1

But it looks like the problem was completely unrelated in any case..

Closed for now because the problem was unrelated, everything is working fine now. Nevertheless, thanks a lot for your help :+1:


LilyGo_T5_47 upload the code enter reboot cycle

After upload the code lilygo enter reboot cycle. The log is below.
Rebooting...
ets Jul 29 2019 12:21:46
rst:0xc (SW_CPU_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:4996
load:0x40078000,len:14436
load:0x40080400,len:3240
entry 0x40080610
I (481) psram: This chip is ESP32-D0WD
I (482) spiram: Found 64MBit SPI RAM device
I (482) spiram: SPI RAM mode: flash 80m sram 80m
I (484) spiram: PSRAM initialized, cache is in low/high (2-core) mode.
I (492) cpu_start: Pro cpu up.
I (495) cpu_start: Starting app cpu, entry point is 0x400840c0
I (489) cpu_start: App cpu up.
I (517) cpu_start: Pro cpu start user code
I (517) cpu_start: cpu freq: 240000000
I (517) cpu_start: Application information:
I (522) cpu_start: Project name:     epub-reader
I (527) cpu_start: App version:      e849c1e-dirty
I (533) cpu_start: Compile time:     Jan  3 2022 18:07:48
I (539) cpu_start: ELF file SHA256:  bf1bf981faa088a8...
I (545) cpu_start: ESP-IDF:          4.3.1
I (550) heap_init: Initializing. RAM available for dynamic allocation:
I (557) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (563) heap_init: At 3FFB80E0 len 00027F20 (159 KiB): DRAM
I (569) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (575) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (582) heap_init: At 40095C2C len 0000A3D4 (40 KiB): IRAM
I (588) spiram: Adding pool of 4096K of external SPI memory to heap allocator
I (596) spi_flash: detected chip: generic
I (600) spi_flash: flash io: dio
I (610) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (615) spiram: Reserving pool of 32K of internal memory for DMA/internal allocations
I (625) main: epub list state num_epubs=0
I (625) main: epub list state is_loaded=0
I (635) main: epub list state selected_item=0
I (635) main: Memory before main task start 4413491
I (645) main: Powering up the board
I (645) main: Creating renderer
I (715) main: Starting file system
I (715) main: Using SPIFFS
I (715) SPIFFS: Initializing SPIFFS
I (935) main: Starting battery monitor
I (935) main: Setting up controls
i2c_driver started correctly
I (935) gpio: GPIO[13]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:1
E (945) gpio: gpio_install_isr_service(460): GPIO isr service already installed
ISR trigger install response: 0x103
I (955) main: Controls configured
I (955) EPD: Full clear
abort() was called at PC 0x400851c7 on core 0
Backtrace:0x4008ed8e:0x3ffbe860 0x4008f509:0x3ffbe880 0x40094862:0x3ffbe8a0 0x400851c7:0x3ffbe910 0x40085325:0x3ffbe940 0x400853c1:0x3ffbe960 0x4012eaed:0x3ffbe990 0x40125f13:0x3ffbec50 0x40125d36:0x3ffbeca0 0x40092307:0x3ffbecd0 0x4008fdcf:0x3ffbed00 0x4008307d:0x3ffbed40 0x4009213d:0x3ffbf170
#0  0x4008ed8e:0x3ffbe860 in panic_abort at C:\Users\ddj1.platformio\packages\framework-espidf\components\esp_system/panic.c:368
#1  0x4008f509:0x3ffbe880 in esp_system_abort at C:\Users\ddj1.platformio\packages\framework-espidf\components\esp_system/system_api.c:112
#2  0x40094862:0x3ffbe8a0 in abort at C:\Users\ddj1.platformio\packages\framework-espidf\components\newlib/abort.c:46
#3  0x400851c7:0x3ffbe910 in lock_acquire_generic at C:\Users\ddj1.platformio\packages\framework-espidf\components\newlib/locks.c:139
#4  0x40085325:0x3ffbe940 in _lock_acquire_recursive at C:\Users\ddj1.platformio\packages\framework-espidf\components\newlib/locks.c:167  #5  0x400853c1:0x3ffbe960 in __retarget_lock_acquire_recursive at C:\Users\ddj1.platformio\packages\framework-espidf\components\newlib/locks.c:323
#6  0x4012eaed:0x3ffbe990 in _vfiprintf_r at /builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp32-elf/src/newlib/newlib/libc/stdio/vfprintf.c:853 (discriminator 2)
#7  0x40125f13:0x3ffbec50 in fiprintf at /builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp32-elf/src/newlib/newlib/libc/stdio/fiprintf.c:48
#8  0x40125d36:0x3ffbeca0 in __assert_func at /builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp32-elf/src/newlib/newlib/libc/stdlib/assert.c:58 (discriminator 8)
#9  0x40092307:0x3ffbecd0 in spinlock_acquire at C:\Users\ddj1.platformio\packages\framework-espidf\components\esp_hw_support\include/soc/spinlock.h:122
(inlined by) vPortCPUAcquireMutex at C:\Users\ddj1.platformio\packages\framework-espidf\components\freertos\port\xtensa\include/freertos/portmacro.h:158
(inlined by) vPortEnterCritical at C:\Users\ddj1.platformio\packages\framework-espidf\components\freertos\port\xtensa/port.c:448
#10 0x4008fdcf:0x3ffbed00 in xQueueGenericSend at C:\Users\ddj1.platformio\packages\framework-espidf\components\freertos/queue.c:790
#11 0x4008307d:0x3ffbed40 in provide_out at lib/epdiy/lut.c:427
#12 0x4009213d:0x3ffbf170 in vPortTaskWrapper at C:\Users\ddj1.platformio\packages\framework-espidf\components\freertos\port\xtensa/port.c:168
ELF file SHA256: bf1bf981faa088a8

I'll take a look - can you confirm that you uploaded the filesystem as well as the code?

I can recreate this - I'll see if something has changed in the epd library.

Actually - I get the watchdog timeout, but it can be safely ignored. Can you check that you have uploaded the SPIFFs filesystem with some books in it?

I used the "pio run -t uploadfs", but the problem still exists. The log is below. Could you help me? TKS
Building in release mode
Building SPIFFS image from 'data' directory to .pio\build\lilygo_t5_47\spiffs.bin
/entities_ww2.epub
/pg43-images.epub
Looking for upload port...
Use manually specified: COM3
Uploading .pio\build\lilygo_t5_47\spiffs.bin
esptool.py v3.1
Serial port COM3
Connecting........___
Chip is ESP32-D0WD-V3 (revision 3)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 34:ab:95:5d:10:1c
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Auto-detected Flash size: 16MB
Flash will be erased from 0x00130000 to 0x003fffff...
………………………………………………………………………………

Sometimes the log is different。
Guru Meditation Error: Core  1 panic'ed (StoreProhibited). Exception was unhandled.
Core  1 register dump:
PC      : 0x40093bc0  PS      : 0x00060c33  A0      : 0x80094542  A1      : 0x3ffd0930
A2      : 0x3f800014  A3      : 0x00000017  A4      : 0x3ffb626c  A5      : 0x00060c20
A6      : 0x000000fe  A7      : 0x00000001  A8      : 0x3f847540  A9      : 0x3f8869c4
A10     : 0x0000000f  A11     : 0x1f8840f5  A12     : 0x0037962f  A13     : 0x3f8869cc
A14     : 0x3f847548  A15     : 0xfffffffc  SAR     : 0x00000010  EXCCAUSE: 0x0000001d
EXCVADDR: 0x1f884101  LBEG    : 0x40089d64  LEND    : 0x40089d80  LCOUNT  : 0xffffffff
Backtrace:0x40093bbd:0x3ffd0930 0x4009453f:0x3ffd0950 0x40084ee5:0x3ffd0970 0x400da78f:0x3ffd0990 0x400d339b:0x3ffd09c0 0x400d4142:0x3ffd0a00 0x4009213d:0x3ffd0a60
#0  0x40093bbd:0x3ffd0930 in insert_free_block at C:\Users\ddj1.platformio\packages\framework-espidf\components\heap/heap_tlsf.c:241      (inlined by) block_insert at C:\Users\ddj1.platformio\packages\framework-espidf\components\heap/heap_tlsf.c:269
(inlined by) block_trim_free at C:\Users\ddj1.platformio\packages\framework-espidf\components\heap/heap_tlsf.c:383
(inlined by) block_prepare_used at C:\Users\ddj1.platformio\packages\framework-espidf\components\heap/heap_tlsf.c:460
(inlined by) tlsf_malloc at C:\Users\ddj1.platformio\packages\framework-espidf\components\heap/heap_tlsf.c:758
#1  0x4009453f:0x3ffd0950 in multi_heap_malloc_impl at C:\Users\ddj1.platformio\packages\framework-espidf\components\heap/multi_heap.c:197
#2  0x40084ee5:0x3ffd0970 in heap_caps_malloc at C:\Users\ddj1.platformio\packages\framework-espidf\components\heap/heap_caps.c:145
#3  0x400da78f:0x3ffd0990 in epd_hl_init at lib/epdiy/highlevel.c:35
#4  0x400d339b:0x3ffd09c0 in EpdiyRenderer::EpdiyRenderer(EpdFont const*, EpdFont const*, EpdFont const*, EpdFont const*, unsigned char const*, int, int) at lib/Epub/Renderer/EpdiyRenderer.h:28
(inlined by) Lilygo_t5_47::get_renderer() at src/boards/Lilygo_t5_47.cpp:38
#5  0x400d4142:0x3ffd0a00 in main_task(void*) at src/main.cpp:207
#6  0x4009213d:0x3ffd0a60 in vPortTaskWrapper at C:\Users\ddj1.platformio\packages\framework-espidf\components\freertos\port\xtensa/port.c:168
ELF file SHA256: 4f471b1563bc115a

If I use the battery ,the problem does not exist. So I closed the issue.


Hypr fails to compile on 32-bit Alpine Linux 3.18

Hypr cannot be compiled on 32-bit Alpine Linux.
Steps to reproduce:

Try to compile Hypr on the latest 32-bit version of Alpine.

Expected behavior
I expected Hypr to compile and run normally.
Screenshots
N/A
Anything else?
No
Log:
https://termbin.com/ybuu
Coredump:
N/A (never got that far)

Could you try the following:

Navigate to the build directory created by the failed compilation.

Run the command that failed manually:
/usr/bin/g++  -isystem /usr/include/gtkmm-3.0 -isystem /usr/lib/gtkmm-3.0/include -isystem /usr/include/atkmm-1.6 -isystem /usr/lib/atkmm-1.6/include -isystem /usr/include/gtk-3.0/unix-print -isystem /usr/include/gdkmm-3.0 -isystem /usr/lib/gdkmm-3.0/include -isystem /usr/include/gtk-3.0 -isystem /usr/include/pango-1.0 -isystem /usr/include/sigc++-2.0 -isystem /usr/lib/sigc++-2.0/include -isystem /usr/include/pangomm-1.4 -isystem /usr/lib/pangomm-1.4/include -isystem /usr/include/giomm-2.4 -isystem /usr/lib/giomm-2.4/include -isystem /usr/include/glibmm-2.4 -isystem /usr/lib/glibmm-2.4/include -isystem /usr/include/cairomm-1.0 -isystem /usr/lib/cairomm-1.0/include -isystem /usr/include/cairo -isystem /usr/include/gdk-pixbuf-2.0 -isystem /usr/include/dbus-1.0 -isystem /usr/lib/dbus-1.0/include -isystem /usr/include/atk-1.0 -isystem /usr/include/harfbuzz -isystem /usr/include/freetype2 -isystem /usr/include/glib-2.0 -isystem /usr/lib/glib-2.0/include -isystem /usr/include/at-spi2-atk/2.0 -isystem /usr/include/webp -isystem /usr/include/blkid -isystem /usr/include/at-spi-2.0 -isystem /usr/include/gio-unix-2.0 -isystem /usr/include/libmount -isystem /usr/include/libdrm -isystem /usr/include/pixman-1 -isystem /usr/include/fribidi -isystem /usr/include/libpng16 -std=c++17 -Wall -Wextra -pthread -MD -MT CMakeFiles/Hypr.dir/src/events/events.cpp.o -MF CMakeFiles/Hypr.dir/src/events/events.cpp.o.d -o CMakeFiles/Hypr.dir/src/events/events.cpp.o -c /root/hypr/src/events/events.cpp

Send the errors here

the fix is
-     xcb_atom_t TYPEATOM = NULL;
+     xcb_atom_t TYPEATOM = 0;

the NULL is broken by https://git.musl-libc.org/cgit/musl/commit/?id=98e688a9da5e7b2925dda17a2d6820dddf1fb287 from musl 1.2.3 which defines NULL as nullptr for c++11 (valid by c++ language spec), but that can't be asigned to a non-pointer type. since before it was just '0L', the 0 is equivalent.


Two optimizations: log and allow_llm_to_see_data

Optimize the usage of title in the log function within base.py:
I noticed that the title variable in the log function is not actually used. For example:
    def log(self, message: str, title: str = "Info"):
        print(message)

self.log(title="LLM Response", message=llm_response)

Add the parameter allow_llm_to_see_data=False to the ask function:
When I ran my code, the terminal displayed the following message:
The LLM is not allowed to see the data in your database. Your question requires database introspection to generate the necessary SQL. Please set allow_llm_to_see_data=True to enable this.

I checked the parameters of the ask function to add this parameter but found that the ask function does not have this parameter.
Instead, this parameter is used in the ask function's sql = self.generate_sql(question=question) section. Therefore, I made this modification.

relation: https://github.com/vanna-ai/vanna/pull/435


Improve the documentation around defining primary keys

I had a conversion with @ccapndave on slack about primary keys in ecto and we found the last sentence of the @primary_key section to be confusing. We both though false would refer to autogenerate: false. Also the unless composite keys are defined … part didn't make matters clearer.
I tried to make both parts cleaner by shifting the default to the end and only talking about "generation of a primary key" in the context of @primary_key false – skipping the part about field/3 having an option to make an explicitly created field a primary key.
In favor of removing the complexity there I added a few paragraphs to the "Primary key" section of the docs, which explains when to use @primary_key and/or primary_key: true on field/3.

I'm also wondering if @primary_key - configures the schema primary key. is a good initial summary given that it's not the only way to configure the primary key of a schema.

It might actually be worth adding something clarifying that autogenerate: true refers to autogenerating the id when creating a new record and isn't anything to do with generating fields in the schema.

:heart: :green_heart: :blue_heart: :yellow_heart: :purple_heart:


Module 4 exercises [GOABAONE NTLOEDIBE]

Please "drag & drop" exercise 1
MODULE 4.EXE1-NTLOEDIBE.xlsx
excel file below.

Please "drag & drop" exercise 2 excel file below.
MODULE 4.EXE2-NTLOEDIBE.xlsx

Please "drag & drop" exercise 3 pdf file below.

Please UPDATE THE TITLE of this "Issue" in the title bar above with your name.

If you haven't done so, please go back to Module 4 and make sure to take
the post-training survey. Participating in surveys is required for receiving
the "GALUP Certificate" by the University of Florida.

Well done, Goabaone. You clearly grasped the material outlined in Module 4 and successfully applied it to these exercises. Thank you for your participation! Please make sure to complete the post-training survey here.


A bit confusing while using tab key for social share buttons.

Describe the bug
while using "TAB key" for the social share buttons it is difficult to find out where it is pointing
To Reproduce

Go to https://ccsearch.creativecommons.org/
Search for any of the images
Select an image
4.go to share option
See error

Expected behavior
there should be proper hover or anything else which can let the user know where the pointer is
Screenshots

Additional context
if really a issue,i would like to take this up

Tabbing appears to work seamlessly on Chrome, but falls short on both Firefox and Safari. This issue is not limited to the social icons, but also to items in the top navigation (About, Browse by Collection, Feedback).
@coderbabu10 it would be great if you could inventory and make a list in this ticket where use of tab isn't working, to identify additional areas to fix. I suspect there are more for certain browsers. Good find! We are happy for you to tackle working on this as well.

I'm going to mark this as in progress under the assumption that @coderbabu10 is still interested in working on it (as indicated in the issue body)

It’s been 9 days and I doubt @coderbabu10 is still interested in this issue. Can I take this up instead?

Hey @akandeBolaji sorry!for the delay, i was busy with my proposal that's why I was not able to do it now I will be working on it you can find some other issues
Thank you

@akmadian @annatuma I think its working fine only in all browsers including Chrome and Firefox

@abhisheknaiidu so this can be closed, right?

@kgodey Yup!


Add geometry shader to mesh shader sample

Description
Sample demonstrates how to use mesh shader to achieve the same results as with geometry shader, it loads model from file and visualizes its normals.
Notes
Tested on:
Windows 11
AMD Ryzen 5800X
Nvidia RTX 3070 Ti
32 GB RAM
General Checklist:
Please ensure the following points are checked:

[x] My code follows the coding style
[x] I have reviewed file licenses
[x] I have updated the header Copyright to reflect the current year (CI build will fail if Copyright is out of date)
[x] I have commented any added functions (in line with Doxygen)
[x] I have commented any code that could be hard to understand
[x] My changes do not add any new compiler warnings
[x] My changes do not add any new validation layer errors or warnings
[x] I have used existing framework/helper functions where possible
[ ] My changes build on Windows, Linux, macOS and Android. Otherwise I have documented any exceptions
[x] My changes do not add any regressions
[x] I have tested every sample to ensure everything runs correctly
[x] This PR describes the scope and expected impact of the changes I am making

Sample Checklist
If your PR contains a new or modified sample, these further checks must be carried out in addition to the General Checklist:

[x] I have tested the sample on at least one compliant Vulkan implementation
[x] If the sample is vendor-specific, I have tagged it appropriately
[x] I have stated on what implementation the sample has been tested so that others can test on different implementations and platforms
[x] Any dependent assets have been merged and published in downstream modules
[x] For new samples, I have added a paragraph with a summary to the appropriate chapter in the samples readme

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

This is a great sample!
One thing that we should talk about though is where we actually want to put the ssbo/meshlet creation part. Currently it's part of the framework, so if you want to see how it works you actually how to follow multiple levels of abstraction into the framework. This makes it hard to follow the example, and imo it would be a lot easier to follow this sample if that code was actually part of the sample itself rather than the framework.

hmm... I was actually thinking one of the nice features of this sample is that it puts the changes into the framework.  This could make it useful for other future samples.  It also could make it easier for developers to see what needs to change from an existing gltf loader.
However, Maybe if we do it in both places it would make sense?  not sure how to make that make sense.

That's true. Just two different point of views ;)
Maybe we could do both?
The problem I see with the current approach is that this may make the sample hard to follow. Usually if we show new functionality for the first time, we explicitly do it in the sample itself so you can easily find all things required to get the feature that the sample demonstrates within a single source file (plus header).

Maybe making readme more explicit about changes in the framework would be sufficient? It would make easier following the sample. Which structures were added, where and why, which functions where expanded and how.
On the beginning I was thinking about loading model to SSBO from within the sample but it seemed much easier and less convoluted to fit it into already existing framework.
In case of having model loading function within the sample I would probably replicate substantial amounts of code from the framework (given my lack of experience with Vulkan and 3D rendering), I thought about having separate, additional files (header and source) within the sample folder dedicated to loading model to SSBO but it seemed like unnecessary boilerplate once I looked into framework  and realized that it provides lion's share of what I need to load model to SSBO.


-s option in the lines like npm run clean -s, npm run build:scripts -s, etc - what does that signify.

What does that option mean in that context? Is it a fish command line related option? Does it mean to 'read as a stndin' ? That is the only thing that I can not find - and it was in the bash ref manual. Thx

See https://github.com/keithamus/npm-scripts-example/issues/15

It silences npms output from the subtasks, which makes the log output a little tidier (it is a shortcut for --loglevel=silent. It is not necessary. Remove it to see the difference!

Okay docs are obscure or access to it was confusing for me getting familiar npm scripts, etc- finally found it in the  docs using npm help 7 npm-config in terminal. Thanks and you answered this right as I was typing what I found. Thank you for the response.


Propagate to plane / Kalman on plane / Matriplex with support for scalar operations and VDT

PR description:
Preliminary PR to discuss physics and computational performance of

propagateToPlane / kalmanUpdateOnPlane
Modifications to Matriplex: support scalar operations, usage of VDT.
Use Matriplex modifications to re-express vectorized code for propToPlane (mostly in PropagationMPlex.icc).

Computational performance notes
Before Matriplex / VDT changes the track finding ran about 4-times slower. Matriplex and VDT changes brought this down by about 20% -- so we still have an enormous slowdown which is not understood at all.
Further, the Matriplex vectorization of components by use of Matriplex scalars needs to be re-checked for the new operators and for VDT. Matevz examined the assembler code for the MiniPropagators which used the prototype implementation of this concept (also including some VDT functions ... but not embedded in Matriplex).
Things to check / look at

Compare vtune/igProf profiles for propToPlane vs. the standard implementation. Figure out where time is actually spent. Giuseppe is still working on the Kalman update on plane / in local coordinates.

Matriplex vectorization should be reviewed / consistently tested, along with VDT (there is special pre-processor define that causes fallback from vdt::fast_xyzz() to std::xyzz() functions.

Not quite sure how to go about this on an "industrial scale" -- for all functions / operators and for all usages in specific CMSSW functions.
I have not added simd pragmas ... they were not necessary in the MiniPropagators test. But maybe they can help by triggering some vectorization reports in case they fail.

Known problems / issues

Mario reported a CMSSW problem with static_assert assuring float/double Mplex type for VDT - I only ran standalone builds with gcc-13 on Fedora 39.
unary minus operator is giving me some trouble (member function without an argument didn't work, had to define it outside of the class) -- maybe I did something silly.

Changes added to #151, this is now obsolete, closing.


View as Chart only opens once

SQL Operations Studio Version: sqlops 0.23.6 (8a3011756318a2ded1e6e84332230a2b2bf9c544, 2017-11-06T21:51:43.232Z)
OS Version: Windows_NT x64 10.0.15063

Steps to Reproduce:

Run a simple query (example below)
SELECT * FROM (VALUES (1, 4), (2, 10), (3, 2)) AS A (A, B)
Use the "View as Chart" feature by clicking the button and setting chart settings accordingly
Re-run the query.
The query results are shown and the charting hidden.
Try and open the "View as Chart" window again, but it fails to open when clicking the button (nothing happens)

Actually this looks like a duplicate of #35, please close if you would like.


:wrench: [ShareableCard] The image used when sharing profile cards has been changed to match the one used in Figma.

Issue

None.

Overview (Required)

The image when sharing is slightly different from the one in Figma, so I made some adjustments.

Links

https://www.figma.com/design/XUk8WMbKCeIdWD5cz9P9JC/DroidKaigi-2024-App-UI?node-id=58136-36586&t=ylgkTmFHRoWS9rw9-4

Screenshot (Optional if screenshot test is present or unrelated to UI)

Before
After

#893
This change will not be necessary once the above PR is merged, so I will close it.


grizzly-cli: dependency resolve error

Describe the bug
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
azure-iot-device 2.12.0 requires urllib3<1.27,>=1.26.5, but you have urllib3 2.0.7 which is incompatible.

To Reproduce
Install grizzly-loadtester-cli.
Expected behavior
No PIP errors.

unable to reproduce
cd tmp/
python3 -m venv venv
source venv/bin/activate
python3 -m pip install grizzly-loadtester-cli
# no error
python3 -m pip freeze | xargs pip uninstall -y
python3 -m pip install --no-cache 'grizzly-loadtester-cli @ git+https://github.com/Biometria-se/grizzly-cli.git'
# no error


Android:“physicalViewInsetBottom” calculation logic change cause “fullScreen” Navigation bar area cannot be drawn

io.flutter.view.FlutterView:

io.flutter.embedding.android.FlutterView:

My navigation bar position cannot be drawn when I use the "io.flutter.embedding.android.FlutterView" and using Scaffold widget.

The setting "resizeToAvoidBottomInset: false" is effective, but this will cause the soft keyboard to be unable to handle.
I think the value of "viewInsetBottom" should be calculated like in "io.flutter.view.FlutterView" when the navigation bar is hidden.
Flutter 1.12.13+hotfix.8 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 0b8abb4724 (4 weeks ago) • 2020-02-11 11:44:36 -0800
Engine • revision e1e6ced81d
Tools • Dart 2.7.0
Thanks!

What's the difference between io.flutter.view.FlutterView and io.flutter.embedding.android.FlutterView anyway? I couldn't find the answer anywhere

What's the difference between io.flutter.view.FlutterView and io.flutter.embedding.android.FlutterView anyway? I couldn't find the answer anywhere

Please see where the rad arrow points.In io.flutter.view.FlutterView, when the navigation bar is hidden, use the "calculateBottomKeyBoardInset" method to determine whether there is currently a soft keyboard，return 0 when the soft keyboard is hidden.

2 lines code can resolve this problem.
 return Scaffold(       resizeToAvoidBottomPadding: false, //remove bottom padding       resizeToAvoidBottomInset: true, // enable keyboard resizing    );

2 lines code can resolve this problem.
 return Scaffold( resizeToAvoidBottomPadding: false, //remove bottom padding resizeToAvoidBottomInset: true, // enable keyboard resizing );
This way does not work

I found a way to work
bool canResizeToAvoidBottomInset(BuildContext context) {
  if (context == null) return false;
  var viewInsets = MediaQuery.of(context).viewInsets;
  var insetsBottom = viewInsets.bottom;
  var screenHeight = MediaQuery.of(context).size.height;
  return (screenHeight * 0.18) < insetsBottom;
}

return Scaffold(
     resizeToAvoidBottomInset: canResizeToAvoidBottomInset(context),
     .......
);

fixed by #47683


It should be possible to color grade the tiles.

Walkers was originally derived/extracted from Widnet - a situation awareness app. As such, it is crucial that the app is operable at night, without emitting too much excessive light. To help with that, it should be possible to apply some postprocessing to the downloaded tiles.
It seems that image crate might already be capable of that.

I really love the ICEYE's images look:

Thanks for your great library!
I don't think you need to color the images with image - you should be able to just tint the texture.
I think for example here (https://github.com/podusowski/walkers/blob/3f3ca7aa67ef3f4ebfb63cec8477f35bfd935ccb/walkers/src/tiles.rs#L47C14-L47C30) you could just use any color other than white in add_rect_with_uv to multiply by that color, thus darkening it.

I'll give it a shot (once I finally get into it :) ), thanks!

Hi
I'made a try here (it uses more the TileSource trait): https://github.com/podusowski/walkers/compare/main...Its-Just-Nans:walkers:poc-uv-from-source?expand=1

Looks promising.


Can't use active: selector with useButton

🐛 Bug Report
useButton's onMouseDown and onPointerDown cause the active: CSS selector to not work.
🤔 Expected Behavior
It to work.
😯 Current Behavior
The active style is not applied on click. I'm using Tailwind CSS with the active:opacity-80 and when onMouseDown and onPointerDown are excluded from buttonProps it works fine.
💁 Possible Solution

🔦 Context
I need to be able to apply styles if the CSS selector active: should be applied.
💻 Code Sample
import { createRef } from 'react';
import { useButton } from 'react-aria';

export const Button = ({ children, ...props }: React.PropsWithChildren) => {
  const ref = createRef<HTMLButtonElement>();
  const {
    buttonProps: { /* onMouseDown, onPointerDown, */ ...buttonProps }
  } = useButton({ ...props, children }, ref);

  console.log(buttonProps);

  return (
    <button {...buttonProps} ref={ref} className="font-medium px-3 py-1 bg-blue-500 text-white rounded-full active:opacity-80 text-base">
      Click me
    </button>
  );
};

🌍 Your Environment

Software
Version(s)

react-aria
3.23.1

Browser
Firefox

Operating System
Windows 11

🧢 Your Company/Team

🕷 Tracking Issue (optional)

Could you leverage isPressed from useButton to apply the active style instead?

I think you may want to read https://react-spectrum.adobe.com/blog/building-a-button-part-1.html#touch-interactions as we recommend not using :active because it's not consistent. That said, it's odd that usePress is blocking it, maybe there is something we can do there, but I think it's best not to rely on it.

Both Chrome and Safari works but not Firefox

For future reference, this is the Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=771241 and spec issue for clarification: https://github.com/w3c/csswg-drafts/issues/2262


Error when the database type is set to sql:MYSQL in SQL Connector

When the database type of the sql connector is set as below as shown [1], the following error is thrown.
endpoint<sql:ClientConnector> testDB {
          create sql:ClientConnector(
            sql:MYSQL, "localhost", 3306, "testdb", "root", "root", {maximumPoolSize:5});
    }

error, message: error in sql connector configuration: cannot generate url for unknown database type : SQL:MYSQL
[1] https://ballerinalang.org/docs/by-example/sql-connector

Can you please share the full example which gives the mention error? Couldn't reproduce with the given information.

[1] is the full solution. This was working fine when only MYSQL is used instead of sql:MYSQL
[1] https://github.com/yasassri/ballerina-banking-solution

Found the issue is using "sql:MYSQL" (i.e. with quotes) which is wrong for package string constant.


DOC: adds documentation for heat maps

I added a new notebook that documents heat maps. It shows example heat maps for

the default heat map
after applying colors to the background, not just the text
applying a custom colormap and getting rid of the text. This is the heat map I wanted to generate.

This is great – thanks!


test-branch/execute-job/wrong-commit-sha-on-pr/9f63bd75-b4ea-4e18-a118-e80b7397ab64

PR for testing b5058510c013865ea1cd6ea3979f07466f182112

/canonical/self-hosted-runners/run-workflows 931ad21dd9ace68aaa0a7d341e94de96ad93fa6b


Invalid request when trying to connect after deployment

Hi,
I have followed the Bookshelf tutorial twice and still gets the same error, on my local machine I can connect fine and it works as intended, but once deployed I can't connect anymore, I click on the login button and it just shows me a blank page saying "Invalid request", looking at the browser logs it tells me :
oauth2callback:1 Failed to load resource: the server responded with a status of 400 (BAD REQUEST)
And looking att the Logging in the Google Cloud console I have this error:
{  httpRequest: {   latency:  "0.002s"      referer:  "-"      remoteIp:  "<IP_ADDRESS>"      requestMethod:  "GET"      requestUrl:  "/oauth2callback?state=%7B%22csrf_token%22:%20%2226cc91a669ebae7610217aae7b8d2005d4e316c15ca937a1fd863398fa6629d6%22,%20%22return_url%22:%20%22http://python-bookshelf-app-233609.appspot.com/books/%22%7D&code=4/BgG8KhTW-YYD-HfFpUFr-zMq91FIc-HpO37CxMMW1x-sDMbKNiOtZwX1pCzDdxdHwHByc3kXLHixodWxtoSLEyI&scope=email%20profile%20https://www.googleapis.com/auth/userinfo.email%20https://www.googleapis.com/auth/userinfo.profile"      responseSize:  "15"      status:  400      userAgent:  "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36"     }  insertId:  "15moetfg3fb6nzr"    jsonPayload: {   appLatencySeconds:  "0.000"      httpRequest: {    protocol:  "HTTP/1.1"       }   latencySeconds:  "0.002"      trace:  "dc2baf75b794faea437c4cf98e3ebb94"     }  labels: {   appengine.googleapis.com/instance_name:  "aef-default-20190306t151610-gh20"      appengine.googleapis.com/trace_id:  "dc2baf75b794faea437c4cf98e3ebb94"      compute.googleapis.com/resource_id:  "7209627706937469195"      compute.googleapis.com/resource_name:  "92d83ed0a168"      compute.googleapis.com/zone:  "europe-west3-a"     }  logName:  "projects/python-bookshelf-app-233609/logs/appengine.googleapis.com%2Fnginx.request"    receiveTimestamp:  "2019-03-07T09:52:55.810033951Z"    resource: {   labels: {    module_id:  "default"        project_id:  "python-bookshelf-app-233609"        version_id:  "20190306t151610"       }   type:  "gae_app"     }  timestamp:  "2019-03-07T09:52:51.793Z"    trace:  "projects/python-bookshelf-app-233609/traces/dc2baf75b794faea437c4cf98e3ebb94"   }
Any idea what I could be doing wrong? Or how to fix it? It works fine on my local machine, I have set the authorized domains and Authorized redirect URIs properly (localhost and full domain, with https and http) as said in the bookshelves tutorial.

The bookshelf app example has several phases. I think you're referring to the one at https://cloud.google.com/python/getting-started/authenticate-users. Is that correct?

Closing due to lack of needed details.


Add Statistics to Triton Profiler

Currently, TritonProfiler takes timings from one execution. However, for robust benchmarking it is interesting to see statistics like mean an standard deviation across a larger number of samples.

@jan-ferdinand suggested a related feature. Currently, the profile from the zeroth iteration of a loop is stored and the profiles of later iterations are not collected. It could be possible to merge these profiles and collect statistics over them.
A lot of the machinery for merging task profiles is common across both tasks. It would be a shame to repeat code.

Similar but different: it would be nice to declare the category of a certain task. That way, the measurements for LDE 1, 2, and 3, or for building Merkle trees, can be summed by the profiler.

As per #281, profiling task's runtimes are accumulated across loops. This puts in place most of the bookkeeping required for computing statistics. The last tasks to close this issue are:

record a task's runs individually instead of cumulatively
compute meaningful statistics from the individual runs
present the statistics


FEATURE: Nested Routing

References of examples of Nested Routing

https://codecraft.tv/courses/angular/routing/nested-routes/
https://reactrouter.com/en/main/start/overview
https://router.vuejs.org/guide/essentials/nested-routes.html

Solidjs router also has nested routing https://github.com/solidjs/solid-router#nested-routes


Cleared all console warnings related to linting and errors, fixes #31

Missing JQuery plugin was added in index.html

^Screenshot showing 0 console errors.
closes #31

LGTM! :+1: . Good job!


Dark tray icon

The current tray icon it's difficult to see in KDE:

Can we have the option to choose a dark tray icon?

Uuhm I see there are dark versions of the tray icons in the repo:
https://github.com/samschott/maestral-qt/blob/main/src/maestral_qt/resources/maestral_tray-info-dark.svg
How can I use them?

I have the same issues. I am on the current KDE Neon 5.27 with System Tray 1.0
I notice that within System Tray's Settings, the dark Maestral icon is used.

The tray icon color should be chosen automatically to contrast the background. However, the is a long-standing issue with Qt on KDE where grabbing pixels from the screen also gives "black" pixels, making such heuristics impossible.
To work around this, you can always install your own icons to use, for example by coping the dark icons from this repository to the appropriate location of your distro. This would typically be somewhere in ~/.local/share/icons/. Maestral will always check the system's icon theme first before resorting to using its own icons.

Here's a (somewhat unpleasant) workaround:
#!/usr/bin/env python
# iss837.py - force dark icons when auto-detection fails
# see: https://github.com/samschott/maestral/issues/837

import os
import shutil
from pathlib import Path
from importlib.resources import path, contents

icondest = Path("~/.local/share/icons/hicolor/scalable").expanduser()

if not icondest.exists():
    icondest.mkdir(parents=True, exist_ok=True)

os.chdir(icondest)

darksvgs = [x for x in contents('maestral_qt.resources')
    if x.endswith('-dark.svg')]

for svg in darksvgs:
    with path('maestral_qt.resources', svg) as s:
        shutil.copy(s, s.name)
        lightsvg = s.name.replace('-dark.', '-light.')

If you're using pipx or some other virtual environment system to run Maestral, activate the correct venv before running this script.
# get the script from above, put it in a file named `iss837.py`

# then, activate the correct venv so importlib can find `maestral_qt`
source ~/.local/pipx/venvs/maestral\[gui\]/bin/activate
python iss837.py

If you're using a dark theme, and you're getting dark icons instead of light ones, reverse the dark / light logic above before you run the script.
Hope that helps.

@ernstki Thank you very much!
It didn't work for me and those functions seem to be deprecated, but I took heavy inspiration from your script to write this one that switches tray system icon colors.
You may need to run it with sudo if maestral is installed globally:
#!/usr/bin/env python
# iss837.py - force dark icons when auto-detection fails
# see: https://github.com/samschott/maestral/issues/837

import shutil
import importlib.resources as impres
res = impres.files('maestral_qt.resources')

print("TO UPPERCASE")
for file in res.iterdir():
    if "maestral_tray" in file.name:
        new_file = file.parent / file.name.replace("-dark", "-DARK").replace("-light", "-LIGHT")
        print(f"{file} -> {new_file}")
        shutil.move(file, new_file)

print("SWITCH")
for file in res.iterdir():
    if "maestral_tray" in file.name:
        new_file = file.parent / file.name.replace("-DARK", "-light").replace("-LIGHT", "-dark")
        print(f"{file} -> {new_file}")
        shutil.move(file, new_file)

@raffaem I'll have to go through my shell history on that host, because it doesn't even look like that code would work—lightsvg's not even being used. Probably a copy-paste error on my part.


Set the correct webroot in the LE cron job.

The cron job had a hardcoded webroot instead of using the letsencrypt_webroot variable. This pull request fixes that.

Hi Peter!
Thank you for this PR.
Would you be able to extend it little bit? To keep the backward compatibility default value for letsencrypt_webroot variable is requires. It has to be set to /var/www/letsencrypt.
Thank you


Bhbbranch2

These are mostly simple changes to the home page, but changes I think should be examined/pulled sooner rather than later, especially considering Sebastian is about to change the whole formatting probably.

It's not necessary, but I believe it will be helpful for hypothetical
visitors to our website. However, there's not much stuff on our website
yet, so it might be reasonable to consider adding more stuff on our home
page to make it worth the extra convenient access.
Benja-man
On Mon, Oct 23, 2017 at 9:48 AM, stlgolfer<EMAIL_ADDRESS>wrote:

@stlgolfer commented on this pull request.
In views/partials/header.ejs
https://github.com/MICDSRobotics/Technomaric5190Website/pull/25#discussion_r146290810
:

@@ -49,6 +49,7 @@ a {

		Home

The title of the website, if clicked, will take you home. Do you think
this is still necessary (serious question)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/MICDSRobotics/Technomaric5190Website/pull/25#pullrequestreview-71210689,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AeEFBhEYdW_Q842hJPRhEFTc0cXUbV8Bks5svKcqgaJpZM4QAB4u
.

--
Benjamin E. Hollander-Bodie
Upper School Student
MICDS


Updating/work-with this template for GHA and Azd Devcontainer feature.

We are updating this template to support new features in Github Action.

For the Github Action feature: We will remove two lines of code on container image and add GHA code after checkout step in the .github/workflow/azure-dev.yml file. (Shown as below)

For the Azd Devcontainer feature: We will add  the following code in devcontainer.json file.

"ghcr.io/azure/azure-dev/azd:latest": {}

And remove the relevant code for installing azd in post-create-command.sh file under .devcontainer folder.
curl -fsSL https://aka.ms/install-azd.sh | bash

@rajeshkamal5050 , @manekinekko , @sinedied for notification.

Hi, please can I take on this task?

@SammyBloom are you still working on this issue? If not I can help :)

@SammyBloom are you still working on this issue? If not I can help :)
I have not been able to fix this. Please help me out. And if you don't mind, I would love to know how you fixed it when you do.

Closed by #384

@anfibiacreativa - It seems that your PR only updated the Azd Devcontainer feature, and the related feature of GHA did not seem to be updated.

Hi @zedy-wj I just opened a new PR to add the remaining changes: https://github.com/Azure-Samples/contoso-real-estate/pull/387

Hi @manekinekko, Okay, LGTM!


Syncing all locations on every sync run

Environment

Plugin version: 0.4.1
Platform: Android
OS version: Windows 10 Pro
Device manufacturer and model: Multiple Real Devices (Samsung, Sony, Motorola, BLU)
React Native version: 0.50.0
Plugin configuration options:

{
  desiredAccuracy: 10,
  stationaryRadius: 50,
  distanceFilter: 50,
  locationTimeout: 30,
  notificationTitle: 'Background tracking',
  notificationText: 'enabled',
  debug: false,
  startOnBoot: true,
  stopOnTerminate: false,
  interval: 60000,
  fastestInterval: 30000,
  startForeground: false,
  activitiesInterval: 60000,
  stopOnStillActivity: false,
  url: '<serverurl>',
  syncUrl: '<serverurl>',
  syncThreshold: 50,
  maxLocations: 1000
}

Link to your project: private

Context
I provided a Sync URL to send all locations to my server and the service is sending all locations every time or every once in a while.
Expected Behavior
When sync after the 200 Response the locations should "be marked as deleted or sent" and later just send the locations that could not be sent
Actual Behavior
The service is sending all locations almost every time
Is there a way to check if the locations saved on the device have been sent? when I get the locations with getLocations() I don't see any property indicating sent status

check the status code that your server is returning, it has to return code 200, had the same issue when my server was returning 204

I guess it's a possibility; I previously hijack the response to send code 200 (instead of 201) because the lib only accepted 200 but I saw that a PR was merged and now supposedly accepts 200 and 201 but I guess I will have to do some more checking.

As said check if your server is returning code 200 or 201.


Create schema from url

Edit /schemas/sql and /schemas/graphql to allow for a remote schema url eg: https://raw.githubusercontent.com/pinax-network/substreams-clock/main/schema.sql

Closed by #59


minor typo

I think this is missing a preposition. (Sorry for targeting the wrong branch before.)

Thanks!


Mismatch between fonts for "Followers" and "Following"

I'm not sure if this is intentional or not. It looks like the attributes for the count of Followers and the count of Following is mismatched (slashed zero vs non-slashed zero).

Fixed. Thank you!


Unexpected Lint/UselessAssignment for variables which is used as argument with block and without parentheses.

Expected behavior
Cop Lint/UselessAssignment allows arguments which used in the method.
Actual behavior
Cop Lint/UselessAssignment does not allow arguments which used in the method.
Steps to reproduce the problem
def some_method(x)
  yield x
end

def foo
  a = 1
  some_method a { puts 1 }
end

a is used as an argumement of some_method but Lint/UselessAssignment is detected at line.6.

Offenses:
main.rb:6:3: W: Lint/UselessAssignment: Useless assignment to variable - a.
a = 1

This also happens with block. Lint/UnusedMethodArgument is detected.
def some_method(x)
  yield x
end

def bar(a)
  some_method a { puts 1 }
end

RuboCop version
$ bundle exec rubocop -V
0.47.0 (using Parser <IP_ADDRESS>, running on ruby 2.3.1 x86_64-darwin15)

Thanks for your feedback!
This is the expected behavior.
If parentheses don't exist, some_method a { puts 1 } is interpreted same as some_method(a { puts 1 }) by Ruby.
So, the a identifier is not used as a local variable. It is used as a method call.

I'm actually surprised we don't have some lint cop for situations like
this. Clearly this type of code is quite confusing.
On Tue, Jan 17, 2017 at 22:06 Masataka Kuwabara<EMAIL_ADDRESS>wrote:

Thanks for your feedback!
This is the expected behavior.
If parentheses don't exist, some_method a { puts 1 } is interpreted same
as some_method(a { puts 1 }) by Ruby.
So, the a identifier is not used as a local variable. It is used as a
method call.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/bbatsov/rubocop/issues/3928#issuecomment-273194214,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAGVysghAblVtr9cy9iNHSQD6JrMHcMeks5rTNkEgaJpZM4Llvew
.

I'm actually surprised we don't have some lint cop for situations like this. Clearly this type of code is quite confusing.

Didn't a recent PR add parentheses checks for method calls with arguments? 🤔

Wow, I'm sorry for this code.
I immediately added parentheses and didn't run it 😢
My problem was solved, but another discussion is just starting.
Should I keep this issue opened?

@hkdnet: No worries! Looks like we're discovering opportunities for new cops or to improve existing ones, so let's keep it open for a bit. 😀

I've opened a new ticket and I'll close this one.

I'm actually surprised we don't have some lint cop for situations like this. Clearly this type of code is quite confusing.

Didn't a recent PR add parentheses checks for method calls with arguments? 🤔

Yeah, but I think the cop has too wide scope. I think we should add a configuration to detect only the problem(e.g. CheckOnlyWithBlock: true), or we should add a new cop for the problem(e.g. `Lint/MethodCallWithBlockParentheses).

we should add a new cop for the problem(e.g. `Lint/MethodCallWithBlockParentheses).

I'd go down this route. The other cop that's on PR has a pretty wide scope and it's unlikely it will ever be enabled by default due to serious potential for false positives there.


black container problem only in iOS

hello,
I used react-native-video to show video from internet. in Android it work correctly but in iOS I only get black screen. as a local video from my assets, I can play video. but from server (internet) I get black screen.
I read below links:
https://github.com/react-native-community/react-native-video/issues/821
https://github.com/react-native-community/react-native-video/issues/596
https://github.com/react-native-community/react-native-video/issues/936
https://stackoverflow.com/questions/46512241/react-native-video-shows-blank-screen-in-my-app-without-any-error-log
but none of them helped me!!
render() {
    return (
      <View style={styles.container}>
        <Video
            //source={require('./assets/small.mp4')}
            source={{uri: 'https://techslides.com/demos/sample-videos/small.mp4'}}
            volume={50}
            muted={false}
            paused={false}
            resizeMode="cover"
            repeat={true}
            playInBackground={false}
            playWhenInactive={false}
            style={{
                width: 200,
                height: 200,
            }}
        />

      </View>
    );
  }

I also tested in my iPhone device but not work and have same result.

I always test HTTPS link of the video that streamed from our server and it was not worked.
finally after having a meeting with our backend developer, I understood that our server not supported HTTPS.
Now after supporting HTTPS from our server, it worked correctly.
thanks you.


Avoid building the image twice in docker-publish.yml

There must be a way to do this by caching stuff, but my GitHub-Actions-fu isn't strong enough.

I use the docker/build-push-action@v2 action for pushing.  That doesn't necessarily give you what you want directly, but you could try that with push: false and load: true.  That makes the image available for testing in the next step.  Then you can run your tests, followed by docker push $tag after that.

I'm playing around with this in #7, but without much success so far.


Negative value

Hi, serenity. It's been a while since my last post here. I was assigned to look at other project, now im back with serenity based project may I ask if someone already had a requirement with negative amount input.
I cannot find a way to override minvalue of decimal type on form, please help.

How to added AllowNegatives property to IntegerEditor and DecimalEditor

@Estrusco  Thank you very much. you've been most helpful.


Ray 2.24.0

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Upstream has dropoped support for Python3.8 and there is a build check to make sure one does not even try to build with it. I think this is in anticipation of supporting Python3.12. So I skipped it here.
 I will wait for comments, if there are none I will merge it in a day or so.


⚠ Cioos Pacific CKAN has degraded performance

In c5d21e5, Cioos Pacific CKAN (https://catalogue.cioospacific.ca) experienced degraded performance:

HTTP code: 200
Response time: 15633 ms

Resolved: Cioos Pacific CKAN performance has improved in 685a009 after 3 hours, 28 minutes.


kras configuration broken

Bug Report
For more information, see the CONTRIBUTING guide.
Prerequisites

[x] Can you reproduce the problem in a MWE?
[x] Are you running the latest version?
[x] Did you perform a search in the issues?

Environment Details and Version
Piral 0.14.29
Description
After upgrading from Piral 0.14.23 to 0.14.29 the mock server is no longer working as expected. Scripts in the mocks directory are not getting loaded. Spinning up a new instance with the default template also does not allow to use the provided mock at /api/posts
Steps to Reproduce

npx -p piral-cli piral new --template default
npm start
open http://localhost:1234/api/posts in a browser

Expected behavior
Mock data is returned
Actual behavior
The Piral Instance is loaded.
Possible Origin / Solution
Accessing kras frontend shows that no scripts are loaded.

Alright, thanks for the info.
We stopped generating a default directory, I guess we should include that again.
In the meantime you can create a .krasrc file next to the package.json and put, e.g.,
{
    "injectors": {
        "script": {
            "directory": "src/mocks"
        }
    }
}

in there. This will tell kras to use the src/mocks directory as a source for the script injector.


Added The-Real-Thisas to contributor list.

@The-Real-Thisas , hey there, thanks for your contribution!
I will be sending an e-invite to welcome you to join our organization :).
In the meanwhile, please kindly consider following me, and starring the repositories over here & here.
Take care, and have a good day ahead!


keb: tracing events helper on operation struct

Description
During review of https://github.com/kyma-project/control-plane/pull/2094, @piotrmiskiewicz expressed desire to have event throwing helper on operations struct directly. Before https://github.com/kyma-project/control-plane/pull/2203 this was difficult because of import cycle but now it should be simple to implement such helper there.

/test all


fix: don't allow the root package dependencies to be overwritten in the map

fix: don't allow the root package dependencies to be overwritten in the map

The rewrite map is built recursively scanning the root package dependencies. If
two packages in the tree imported the same dependency with different hash the
last one to be processed would overwrite the first one.

Include a flag in `buildRewriteMapping` to signal when the root package
dependencies are being process and allow them to overwrite the map (adding an
overwrite flag in `addRewriteForDep`) but don't allow the inverse (transitive
dependencies overwriting direct ones).

This change has as a side effect that in a scenario where transitive
dependencies with different versions were overwriting each other that won't be
allowed now, changing in fact the rewrite map, but that would happen only in the
already problematic scenario of dependencies with mismatched versions.

Fixes #44.
Tested locally, it feels that it should have a test but I don't see any testing framework here (it would be nice to have it to easily create dependencies trees and test different scenarios, I'll open an issue about it.)

So, this is a fix but, after thinking about this, I think the better fix is to change the traversal order to breadth first (and ban all overwriting). This catches the case where the root package overrides a dependency version but doesn't apply the same logic recursively.
How about:

Adding rewrites for all dependencies of the current package in one loop.
Recursing in a second loop.

Do you mind merging this anyway while we discuss this other solution in the original issue? (The other gx-go link PR I'm working on already depends on this one, and although not optimal it's still a valid solution that would allow me to concentrate on that before revisiting this one.)

Fair enough. This fixes the immediate issue.


Added copy function with shiftclick

You can copy to clipboard by pressing ctrl/cmd+C after selecting some rows in the table