ASSERT_PARAM(4 13), in llm_util.c at line 215 (IDFGH-6912)

Environment
Development Kit: None
Module or chip used: ESP32-WROVER-E  (16MB)
IDF version (run git describe --tags to find it): v4.3.2
Build System: idf.py
Compiler version (run xtensa-esp32-elf-gcc --version to find it): xtensa-esp32-elf-gcc (crosstool-NG esp-2021r2) 8.4.0
Operating System: Guest OS Ubuntu on Windows
Using an IDE?: No
Power Supply: 3.7V Lithium
Problem Description
The custom board has a connection to AWS IoT MQTT service, a BLE connection a custom app listening to the notification, and a task performing 5-sec windows Bluetooth scanning for non-connectable peripherals at every 5 seconds interval. The crash can be any point in time within hour to sometimes several hours. I have searched the web but could not find anything about the above ASSERT. Not sure if it is related to this issue: https://github.com/espressif/esp-idf/issues/8448
Debugging Logs
ASSERT_PARAM(4 13), in llm_util.c at line 215
Guru Meditation Error: Core  0 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x400843f8: 0000f01d 00004136 f01d0000
Core  0 register dump:
PC      : 0x400843ff  PS      : 0x00060730  A0      : 0x800847b5  A1      : 0x3ffe93e0
A2      : 0x00000000  A3      : 0x00000004  A4      : 0x0000000d  A5      : 0x3f580972
A6      : 0x000000d7  A7      : 0xfffffffc  A8      : 0x8000814b  A9      : 0x3ffe9350
A10     : 0x00000000  A11     : 0x3ffe9373  A12     : 0x3ffe931f  A13     : 0x00000035
A14     : 0x00000000  A15     : 0x3ffe9324  SAR     : 0x00000004  EXCCAUSE: 0x00000000
EXCVADDR: 0x00000000  LBEG    : 0x400846bd  LEND    : 0x400846c5  LCOUNT  : 0x00000000
Backtrace:0x400843fc:0x3ffe93e0 0x400847b2:0x3ffe9400 0x401408a1:0x3ffe9420 0x4013d95b:0x3ffe9470 0x4013abee:0x3ffe94c0 0x40019d11:0x3ffe9500 0x40055b4d:0x3ffe9520 0x401311a3:0x3ffe9540 0x40131824:0x3ffe9560

With esp-idf 4.3.2, the crash happened on all units from within an hour to a few.
The crash happens during a periodic call of esp_ble_gap_start_scanning(5), right after the gap event ESP_GAP_BLE_SCAN_START_COMPLETE_EVT.
After reverting back to esp-idf to 4.3.1, no crash was observed on 5 units that had been running over 20 hours.

After reverting back to esp-idf to 4.3.1, no crash was observed on 5 units that had been running over 20 hours.

@chewhs00
Can you use "git bisect" to figure out the first bad commit?
Also please decode the backtrace.

@AxelLin , after going thru "git bisect", this is what I found:

Add @xiongweichao @xiewenxiang @BetterJincheng

Just noticed 4.3.3 has been released. Any update if this issue has been taken care of?

Hi mbisso64,
Have you tried on IDF4.3.3? Could you please give us the ELF file to generate the backtrace ?
Could you please let us know which Host are you using?  Give more info about the assert, it will help to reproduce the issue.
Thanks,
Satish

Using IDF v4.4.1 and  I regularly get this issue. Moreover after core reset there is some error because my esp cannot get ip. I do reset by pushing reset button and everythnig works back again.

Hi @MrHause,
Could you please tell us the steps to reproduce the issue/example your running?
Thanks,
Satish

Sure, my code is more advanced right now. But I started with gatc_multi_connect example. I use ESP32-POE-ISO by OLIMEX.
In this example someone put start_scan() function in ESP_GATTC_WRITE_CHAR_EVT.
It was ok because it allowed to connect to the next device. But whenerver I was sending ble msg I got this event and the start scanning function was called. So when I was sending a lot of ble data the scanning procedure were started too often. After a while it was causing described error and core was reset. I'm using ethernet and mqtt protocol also. After reset esp cannot get ip address.
I solved this by moving the start_scan() function from ESP_GATTC_WRITE_CHAR_EVT to other event what allows scannig for multiple devices but scanning is now not started when I send messages. Hope I explained it clearly. Someone put start_scan() function in wrong event to allow scanning for multiple devices. It worked as follow: When esp connected to DEVICE_1 and got  ESP_GATTC_WRITE_CHAR_EVT event it was starting scannig for DEVICE_2. But the consequence was that scanning procedure was starting after every send message also.

Hi @MrHause ,
Thank You for the steps will try to reproduce the issue and get back to you .....!!!
Regards,
Satish

Hi @MrHause ,
I have gone through the code looks like the start_scan() function is not the issue Host can start the scan at any point if scanning has already progressed controller will disallow the command.
I'm trying to reproduce the issue but have not yet hit it,  Meanwhile could you please attach the ELF file and core dump here so that I can backtrack and find the root cause of it .
Thanks,
Satish

Hi, @MrHause,
I Have gone through the code and assert it looks like in the connection state we have received the REJ_IND_PDU cause the assert. We were not expecting REJ_IND_PDU in the connection state from the peer device, Once you have hit this assertion we need to find out which PDU of ESP32 peer has sent REJ IND PDU and the root cause of it.
without OTA or reproduction little tricky.
Once you hit the issue again if OTA is impossible for you, I will provide a debug binary for the same.
Thanks,
Satish

May be related to the fix https://github.com/espressif/esp-idf/issues/6800

Trying to follow up if there is a fix on this which I do not have this issue with  idf 4.3.1. Same issue occurs on v4.4.4
I would like to migrate to a newer idf since v.4.3.1 has an issue with BT pairing with certain Android phones https://github.com/espressif/esp-idf/issues/6800

Does the issue still exist in the latest version?

Does the issue still exist in the latest version?

Last I checked the issue still exists with idf 4.4.4. I didn't get a chance to try it on 5.1.1 since there are a lot of code compatibility issues that require some changes on our codes.

I use idf stable(5.1.2), and still see this issue.
In this project, ble and wifi(websocket client) are uesd at the same time.
No matter CONFIG_SW_COEXIST_ENABLE is enable or not, esp32 resets itself in hours.
I (109550) WIFI_MSG: heap remain: 877099
E (110260) NimBLE: ble_adv_list_refresh ble_adv_list is empty
I (110260) NimBLE: GAP procedure initiated: discovery;
I (110270) NimBLE: own_addr_type=0 filter_policy=0 passive=0 limited=0 filter_duplicates=0
I (110270) NimBLE: duration=150ms
I (110280) NimBLE:

ASSERT_PARAM(4 9), in llm_util.c at line 215
Guru Meditation Error: Core  0 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40086f68: 0000f01d 00004136 f01d0000
Core  0 register dump:
PC      : 0x40086f6f  PS      : 0x00060830  A0      : 0x8008722e  A1      : 0x3ffd2ba0
A2      : 0x00000000  A3      : 0x00000004  A4      : 0x00000009  A5      : 0x3f4f0cdd
A6      : 0x000000d7  A7      : 0xfffffffc  A8      : 0x8000814b  A9      : 0x3ffd2b10
A10     : 0x00000000  A11     : 0x3ffd2b33  A12     : 0x3ffd2adf  A13     : 0x00000035
A14     : 0x00000000  A15     : 0x3ffd2ae4  SAR     : 0x00000004  EXCCAUSE: 0x00000000
EXCVADDR: 0x00000000  LBEG    : 0x40095a1d  LEND    : 0x40095a2d  LCOUNT  : 0xfffffffe
Backtrace: 0x40086f6c:0x3ffd2ba0 0x4008722b:0x3ffd2bc0 0x40111ca9:0x3ffd2be0 0x4010ea27:0x3ffd2c30 0x4010b9de:0x3ffd2c80 0x40019d11:0x3ffd2cc0 0x40055b4d:0x3ffd2ce0 0x400ffecb:0x3ffd2d00 0x40100542:0x3ffd2d20 0x40097f86:0x3ffd2d50

Hi JD-SX,
Could you please share the nimble log as well or the scenario of ble or the role of ble in your application?
Please share the IDF commit ID.
Thanks,
Satish

@JD-SX
I can provide a library to fix the issue(workaround). Please provide me with the commit ID you are using.

@JD-SX
This is the fixed library. Please replace the libbtdm_app.a file in esp-idf/components/bt/controller/lib_esp32/esp32/. I don't know the specific commit you are using. This commit is based on the latest master branch and was created with the commit ID adc49dfed747b51a715817fa1d749e79f81a513c.
libbtdm_app.zip

Hi JD-SX
could you please try with the attached lib by @zhp0406 , let us know if it helps.
Thanks,
Satish

@JD-SX This is the fixed library. Please replace the libbtdm_app.a file in esp-idf/components/bt/controller/lib_esp32/esp32/. I don't know the specific commit you are using. This commit is based on the latest master branch and was created with the commit ID adc49df. libbtdm_app.zip

Thank you, I will test it and check the result.

Hi JD-SX could you please try with the attached lib by @zhp0406 , let us know if it helps. Thanks, Satish

I tested with the libbtdm.a for several hours, and got the same error.
idf_py_stdout_output_14560.zip
I (59320) PTO: QQQ: 0 0.076
I (59320) PTO: QQQ: 2 0.094
I (59320) PTO: QQQ: 3 0.076
I (59320) NimBLE: GATT procedure initiated: write;
I (59320) NimBLE: att_handle=16 len=22

I (59330) NimBLE: GATT procedure initiated: write;
I (59330) NimBLE: att_handle=16 len=21

I (59340) NimBLE: GATT procedure initiated: write;
I (59340) NimBLE: att_handle=16 len=21

E (60150) NimBLE: ble_adv_list_refresh ble_adv_list is empty
I (60150) NimBLE: GAP procedure initiated: discovery;
I (60150) NimBLE: own_addr_type=0 filter_policy=0 passive=0 limited=0 filter_duplicates=0
I (60160) NimBLE: duration=150ms
I (60160) NimBLE:

ASSERT_PARAM(4 9), in llm_util.c at line 215
Guru Meditation Error: Core  0 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40086f68: 0000f01d 00004136 f01d0000
Core  0 register dump:
PC      : 0x40086f6f  PS      : 0x00060a30  A0      : 0x8008722e  A1      : 0x3ffd3350
A2      : 0x00000000  A3      : 0x00000004  A4      : 0x00000009  A5      : 0x3f4f0ccd
A6      : 0x000000d7  A7      : 0xfffffffc  A8      : 0x8000814b  A9      : 0x3ffd32c0
A10     : 0x00000000  A11     : 0x3ffd32e3  A12     : 0x3ffd328f  A13     : 0x00000035
A14     : 0x00000000  A15     : 0x3ffd3294  SAR     : 0x00000004  EXCCAUSE: 0x00000000
EXCVADDR: 0x00000000  LBEG    : 0x40095a1d  LEND    : 0x40095a2d  LCOUNT  : 0xfffffffe
Backtrace: 0x40086f6c:0x3ffd3350 0x4008722b:0x3ffd3370 0x40111c7d:0x3ffd3390 0x4010e9fb:0x3ffd33e0 0x4010b9b2:0x3ffd3430 0x40019d11:0x3ffd3470 0x40055b4d:0x3ffd3490 0x400ffe9f:0x3ffd34b0 0x40100516:0x3ffd34d0 0x40097f86:0x3ffd3500
The decoded result is:
xtensa-esp32-elf-addr2line -pfiaC -e build/sta_fw_neo.elf 0x40086f6c:0x3ffd3350 0x4008722b:0x3ffd3370 0x40111c7d:0x3ffd3390 0x4010e9fb:0x3ffd33e0 0x4010b9b2:0x3ffd3430 0x40019d11:0x3ffd3470 0x40055b4d:0x3ffd3490 0x400ffe9f:0x3ffd34b0 0x40100516:0x3ffd34d0 0x40097f86:0x3ffd3500
0x40086f6c: r_assert at ??:?
0x4008722b: r_assert_param at ??:?
0x40111c7d: r_llm_pdu_defer at ??:?
0x4010e9fb: r_lld_pdu_check at ??:?
0x4010b9b2: r_lld_evt_deffered_elt_handler at ??:?
0x40019d11: ?? ??:0
0x40055b4d: ?? ??:0
0x400ffe9f: r_rw_schedule at ??:?
0x40100516: btdm_controller_task at ??:?
0x40097f86: vPortTaskWrapper at C:/Users/jdhua/.espressif/frameworks/esp-idf-v5.1.2/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:162

I do a fullclean and test again, and see some reset due to "coex_bt_callback at arch_main.c"
I (382270) NimBLE: GATT procedure initiated: write;
I (382280) NimBLE: att_handle=16 len=21
send start...done: 13 ms, 497 bytes
I (382750) WIFI_MSG: heap remain: 877043
I (383080) NimBLE: GAP procedure initiated: discovery;
I (383080) NimBLE: own_addr_type=0 filter_policy=0 passive=0 limited=0 filter_duplicates=0
I (383090) NimBLE: duration=150ms
I (383090) NimBLE:
ASSERT_PARAM(4 9), in llm_util.c at line 215
Guru Meditation Error: Core  0 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40086f68: 0000f01d 00004136 f01d0000
0x40086f68: coex_bt_callback at arch_main.c:?
Core  0 register dump:
PC      : 0x40086f6f  PS      : 0x00060030  A0      : 0x8008722e  A1      : 0x3ffd3340
0x40086f6f: r_assert at ??:?
A2      : 0x00000000  A3      : 0x00000004  A4      : 0x00000009  A5      : 0x3f4f0be1
A6      : 0x000000d7  A7      : 0xfffffffc  A8      : 0x8000814b  A9      : 0x3ffd32b0
A10     : 0x00000000  A11     : 0x3ffd32d3  A12     : 0x3ffd327f  A13     : 0x00000035
A14     : 0x00000000  A15     : 0x3ffd3284  SAR     : 0x00000004  EXCCAUSE: 0x00000000
EXCVADDR: 0x00000000  LBEG    : 0x40095a1d  LEND    : 0x40095a2d  LCOUNT  : 0xfffffffe
0x40095a1d: strcmp at /builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp32-elf/src/newlib/newlib/libc/machine/xtensa/strcmp.S:533
0x40095a2d: strcmp at /builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp32-elf/src/newlib/newlib/libc/machine/xtensa/strcmp.S:544
Backtrace: 0x40086f6c:0x3ffd3340 0x4008722b:0x3ffd3360 0x401115a1:0x3ffd3380 0x4010e2e3:0x3ffd33d0 0x4010b29a:0x3ffd3420 0x40019d11:0x3ffd3460 0x40055b4d:0x3ffd3480 0x400ffc83:0x3ffd34a0 0x401002fa:0x3ffd34c0 0x40097f86:0x3ffd34f0
0x40086f6c: r_assert at ??:?
0x4008722b: r_assert_param at ??:?
0x401115a1: r_llm_pdu_defer at ??:?
0x4010e2e3: r_lld_pdu_check at ??:?
0x4010b29a: r_lld_evt_deffered_elt_handler at ??:?
0x40019d11: r_ke_event_schedule in ROM
0x40055b4d: r_rwip_schedule in ROM
0x400ffc83: r_rw_schedule at ??:?
0x401002fa: btdm_controller_task at ??:?
0x40097f86: vPortTaskWrapper at C:/Users/jdhua/.espressif/frameworks/esp-idf-v5.1.2/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:162

The following is a log of events that occurred during one night, comprising a total of 25 resets.
Each reset occurred for the same reason every time.
I (2101040) WIFI_MSG: heap remain: 876871
I (2101520) NimBLE: GAP procedure initiated: discovery;
I (2101520) NimBLE: own_addr_type=0 filter_policy=0 passive=0 limited=0 filter_duplicates=0
I (2101520) NimBLE: duration=150ms
I (2101530) NimBLE:

ASSERT_PARAM(4 9), in llm_util.c at line 215
Guru Meditation Error: Core  0 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40086f68: 0000f01d 00004136 f01d0000
Core  0 register dump:
PC      : 0x40086f6f  PS      : 0x00060830  A0      : 0x8008722e  A1      : 0x3ffd3340
A2      : 0x00000000  A3      : 0x00000004  A4      : 0x00000009  A5      : 0x3f4f0bd1
A6      : 0x000000d7  A7      : 0xfffffffc  A8      : 0x8000814b  A9      : 0x3ffd32b0
A10     : 0x00000000  A11     : 0x3ffd32d3  A12     : 0x3ffd327f  A13     : 0x00000035
A14     : 0x00000000  A15     : 0x3ffd3284  SAR     : 0x00000004  EXCCAUSE: 0x00000000
EXCVADDR: 0x00000000  LBEG    : 0x40095a1d  LEND    : 0x40095a2d  LCOUNT  : 0xfffffffe
xtensa-esp32-elf-addr2line -pfiaC -e build/sta_fw_neo.elf 0x40086f6c:0x3ffd3340 0x4008722b:0x3ffd3360 0x40111a61:0x3ffd3380 0x4010e7df:0x3ffd33d0 0x4010b796:0x3ffd3420 0x40019d11:0x3ffd3460 0x40055b4d:0x3ffd3480 0x400ffc83:0x3ffd34a0 0x401002fa:0x3ffd34c0 0x40097f86:0x3ffd34f0
0x40086f6c: r_assert at ??:?
0x4008722b: r_assert_param at ??:?
0x40111a61: r_llm_pdu_defer at ??:?
0x4010e7df: r_lld_pdu_check at ??:?
0x4010b796: r_lld_evt_deffered_elt_handler at ??:?
0x40019d11: ?? ??:0
0x40055b4d: ?? ??:0
0x400ffc83: r_rw_schedule at ??:?
0x401002fa: btdm_controller_task at ??:?
0x40097f86: vPortTaskWrapper at C:/Users/jdhua/.espressif/frameworks/esp-idf-v5.1.2/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:162

@JD-SX
could you give me your commit id ？I will give you a new lib based on the commit you used.

@JD-SX
Before using the new library, you need to delete your previous build. In your first log, the library I provided did not take effect, and the second log is incomplete, as I cannot see the version information. In the future, when you provide logs, please make sure to give me the complete log.thks.

Based on the log you provided earlier, I noticed that you are using version v5.1.2. However, I am not certain about the specific commit you are using. Therefore, I have generated the library for you based on the latest commit (7380f96017424c7be5d8e3229bf81ceb0869cc54) in release/v5.1. Please start another round of testing, and make sure that the library is up to date during the testing process.
6697dfa.zip
I (31) boot: ESP-IDF v5.1.2-691-g7380f96017-dirty 2nd stage bootloader
I (31) boot: compile time Feb  6 2024 11:54:18
I (33) boot: Multicore bootloader
I (37) boot: chip revision: v3.1
I (41) boot.esp32: SPI Speed      : 40MHz
I (46) boot.esp32: SPI Mode       : DIO
I (50) boot.esp32: SPI Flash Size : 2MB
I (55) boot: Enabling RNG early entropy source...
I (60) boot: Partition Table:
I (64) boot: ## Label            Usage          Type ST Offset   Length
I (71) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (79) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (86) boot:  2 factory          factory app      00 00 00010000 00100000
I (94) boot: End of partition table
I (98) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=20cach (134316) map
I (155) esp_image: segment 1: paddr=00030cd4 vaddr=3ffbdb60 size=049d8h ( 18904) load
I (162) esp_image: segment 2: paddr=000356b4 vaddr=40080000 size=0a964h ( 43364) load
I (181) esp_image: segment 3: paddr=00040020 vaddr=400d0020 size=82288h (533128) map
I (373) esp_image: segment 4: paddr=000c22b0 vaddr=4008a964 size=0e04ch ( 57420) load
I (410) boot: Loaded app from partition at offset 0x10000
I (410) boot: Disabling RNG early entropy source...
I (422) cpu_start: Multicore app
I (422) cpu_start: Pro cpu up.
I (422) cpu_start: Starting app cpu, entry point is 0x4008137c
0x4008137c: call_start_cpu1 at /home/zhanghaipeng/esp/esp-idf/components/esp_system/port/cpu_start.c:159
I (0) cpu_start: App cpu up.
I (440) cpu_start: Pro cpu start user code
I (440) cpu_start: cpu freq: 160000000 Hz
I (440) cpu_start: Application information:
I (445) cpu_start: Project name:     gatt_server_demos
I (450) cpu_start: App version:      qa-test-v5.1.3-20240129-7-g7380
I (457) cpu_start: Compile time:     Feb  6 2024 11:54:13
I (464) cpu_start: ELF file SHA256:  c997416f...
I (469) cpu_start: ESP-IDF:          v5.1.2-691-g7380f96017-dirty
I (476) cpu_start: Min chip rev:     v0.0
I (480) cpu_start: Max chip rev:     v3.99
I (485) cpu_start: Chip rev:         v3.1
I (490) heap_init: Initializing. RAM available for dynamic allocation:
I (497) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAM
I (503) heap_init: At 3FFB6388 len 00001C78 (7 KiB): DRAM
I (509) heap_init: At 3FFB9A20 len 00004108 (16 KiB): DRAM
I (515) heap_init: At 3FFC70A0 len 00018F60 (99 KiB): DRAM
I (522) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (528) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (534) heap_init: At 400989B0 len 00007650 (29 KiB): IRAM
I (542) spi_flash: detected chip: gd
I (545) spi_flash: flash io: dio
W (549) spi_flash: Detected size(8192k) larger than the size in the binary image header(2048k). Using the size in the binary image header.
I (563) coexist: coex firmware version: 77cd7f8
I (568) app_start: Starting scheduler on CPU0
I (572) app_start: Starting scheduler on CPU1
I (572) main_task: Started on CPU0
I (582) main_task: Calling app_main()
I (602) BTDM_INIT: BT controller compile version [6697dfa]
I (602) BTDM_INIT: Bluetooth MAC: 08:b6:1f:ed:4e:42
I (612) phy_init: phy_version 4791,2c4672b,Dec 20 2023,16:06:06

@JD-SX Based on the log you provided earlier, I noticed that you are using version v5.1.2. However, I am not certain about the specific commit you are using. Therefore, I have generated the library for you based on the latest commit (7380f96) in release/v5.1. Please start another round of testing, and make sure that the library is up to date during the testing process. 6697dfa.zip
I (31) boot: ESP-IDF v5.1.2-691-g7380f96017-dirty 2nd stage bootloader I (31) boot: compile time Feb 6 2024 11:54:18 I (33) boot: Multicore bootloader I (37) boot: chip revision: v3.1 I (41) boot.esp32: SPI Speed : 40MHz I (46) boot.esp32: SPI Mode : DIO I (50) boot.esp32: SPI Flash Size : 2MB I (55) boot: Enabling RNG early entropy source... I (60) boot: Partition Table: I (64) boot: ## Label Usage Type ST Offset Length I (71) boot: 0 nvs WiFi data 01 02 00009000 00006000 I (79) boot: 1 phy_init RF data 01 01 0000f000 00001000 I (86) boot: 2 factory factory app 00 00 00010000 00100000 I (94) boot: End of partition table I (98) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=20cach (134316) map I (155) esp_image: segment 1: paddr=00030cd4 vaddr=3ffbdb60 size=049d8h ( 18904) load I (162) esp_image: segment 2: paddr=000356b4 vaddr=40080000 size=0a964h ( 43364) load I (181) esp_image: segment 3: paddr=00040020 vaddr=400d0020 size=82288h (533128) map I (373) esp_image: segment 4: paddr=000c22b0 vaddr=4008a964 size=0e04ch ( 57420) load I (410) boot: Loaded app from partition at offset 0x10000 I (410) boot: Disabling RNG early entropy source... I (422) cpu_start: Multicore app I (422) cpu_start: Pro cpu up. I (422) cpu_start: Starting app cpu, entry point is 0x4008137c 0x4008137c: call_start_cpu1 at /home/zhanghaipeng/esp/esp-idf/components/esp_system/port/cpu_start.c:159
I (0) cpu_start: App cpu up. I (440) cpu_start: Pro cpu start user code I (440) cpu_start: cpu freq: 160000000 Hz I (440) cpu_start: Application information: I (445) cpu_start: Project name: gatt_server_demos I (450) cpu_start: App version: qa-test-v5.1.3-20240129-7-g7380 I (457) cpu_start: Compile time: Feb 6 2024 11:54:13 I (464) cpu_start: ELF file SHA256: c997416f... I (469) cpu_start: ESP-IDF: v5.1.2-691-g7380f96017-dirty I (476) cpu_start: Min chip rev: v0.0 I (480) cpu_start: Max chip rev: v3.99 I (485) cpu_start: Chip rev: v3.1 I (490) heap_init: Initializing. RAM available for dynamic allocation: I (497) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAM I (503) heap_init: At 3FFB6388 len 00001C78 (7 KiB): DRAM I (509) heap_init: At 3FFB9A20 len 00004108 (16 KiB): DRAM I (515) heap_init: At 3FFC70A0 len 00018F60 (99 KiB): DRAM I (522) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM I (528) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM I (534) heap_init: At 400989B0 len 00007650 (29 KiB): IRAM I (542) spi_flash: detected chip: gd I (545) spi_flash: flash io: dio W (549) spi_flash: Detected size(8192k) larger than the size in the binary image header(2048k). Using the size in the binary image header. I (563) coexist: coex firmware version: 77cd7f8 I (568) app_start: Starting scheduler on CPU0 I (572) app_start: Starting scheduler on CPU1 I (572) main_task: Started on CPU0 I (582) main_task: Calling app_main() I (602) BTDM_INIT: BT controller compile version [6697dfa] I (602) BTDM_INIT: Bluetooth MAC: 08:b6:1f:ed:4e:42 I (612) phy_init: phy_version 4791,2c4672b,Dec 20 2023,16:06:06

Thank you.
I'll perform a fullclean, apply the new library, and then proceed with the next round of testing.

When applying the new library(https://6697dfa.zip/), encountered the following issue during link stage:
[1364/1366] Linking CXX executable sta_fw_neo.elfFAILED: sta_fw_neo.elf
cmd.exe /C "cd . && C:\Users\jdhua.espressif\tools\xtensa-esp32-elf\esp-12.2.0_20230208\xtensa-esp32-elf\bin\xtensa-esp32-elf-g++.exe -mlongcalls -Wno-frame-address -Wl,--cref -Wl,--defsym=IDF_TARGET_ESP32=0 -Wl,--Map=C:/SiriuXense/Dev/github/fw-siriux_baby_station/fw/sta_fw_neo/build/sta_fw_neo.map -Wl,--no-warn-rwx-segments -fno-rtti -fno-lto -Wl,--gc-sections -Wl,--warn-common -T esp32.peripherals.ld -T esp32.rom.ld -T esp32.rom.api.ld -T esp32.rom.libgcc.ld -T esp32.rom.newlib-data.ld -T esp32.rom.syscalls.ld -T memory.ld -T sections.ld @CMakeFiles\sta_fw_neo.elf.rsp -o sta_fw_neo.elf  && cd ."
c:/users/jdhua/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:/Users/jdhua/.espressif/frameworks/esp-idf-v5.1.2/components/bt/controller/lib_esp32/esp32\libbtdm_app.a(rf_espressif.o):(.iram1.26+0x0): undefined reference to phy_bt_ifs_set' c:/users/jdhua/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:/Users/jdhua/.espressif/frameworks/esp-idf-v5.1.2/components/bt/controller/lib_esp32/esp32\libbtdm_app.a(rf_espressif.o):(.iram1.26+0x13): undefined reference to phy_bt_ifs_set'
c:/users/jdhua/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:/Users/jdhua/.espressif/frameworks/esp-idf-v5.1.2/components/bt/controller/lib_esp32/esp32\libbtdm_app.a(lm_sco.o):(.text+0x4): undefined reference to lm_nb_sync_active' c:/users/jdhua/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:/Users/jdhua/.espressif/frameworks/esp-idf-v5.1.2/components/bt/controller/lib_esp32/esp32\libbtdm_app.a(lm_sco.o):(.text+0x8): undefined reference to lm_sync_nego'
c:/users/jdhua/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:/Users/jdhua/.espressif/frameworks/esp-idf-v5.1.2/components/bt/controller/lib_esp32/esp32\libbtdm_app.a(lm_sco.o):(.text+0xc): undefined reference to lm_sync_conf' c:/users/jdhua/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:/Users/jdhua/.espressif/frameworks/esp-idf-v5.1.2/components/bt/controller/lib_esp32/esp32\libbtdm_app.a(lm_sco.o):(.text+0x10): undefined reference to lm_nego_cnt'
c:/users/jdhua/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:/Users/jdhua/.espressif/frameworks/esp-idf-v5.1.2/components/bt/controller/lib_esp32/esp32\libbtdm_app.a(lm_sco.o):(.text+0x14): undefined reference to lm_nego_cntl' c:/users/jdhua/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:/Users/jdhua/.espressif/frameworks/esp-idf-v5.1.2/components/bt/controller/lib_esp32/esp32\libbtdm_app.a(lm_sco.o):(.text+0x18): undefined reference to lm_nego_max_cnt'
c:/users/jdhua/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:/Users/jdhua/.espressif/frameworks/esp-idf-v5.1.2/components/bt/controller/lib_esp32/esp32\libbtdm_app.a(lm_sco.o):(.text+0x1c): undefined reference to `lm_nego_pkt_used'
collect2.exe: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
ninja failed with exit code 1, output of the command is in the C:\SiriuXense\Dev\github\fw-siriux_baby_station\fw\sta_fw_neo\build\log\idf_py_stderr_output_1552 and C:\SiriuXense\Dev\github\fw-siriux_baby_station\fw\sta_fw_neo\build\log\idf_py_stdout_output_1552
=========================================================
Using 'git log' to check the latest commit, the result is as follows:
PS C:\Users\jdhua.espressif\frameworks\esp-idf-v5.1.2> git log -p -2
error: cannot spawn less: No such file or directory
commit 482a8fb2d78e3b58eb21b26da8a5bedf90623213 (HEAD, tag: v5.1.2)
Author: Aditya Patwardhan<EMAIL_ADDRESS>Date:   Fri Nov 10 08:08:53 2023 +0550
change(version): Update version to 5.1.2

diff --git a/components/esp_common/include/esp_idf_version.h b/components/esp_common/include/esp_idf_version.h
index 824079ecd8..55adeb9e59 100644
--- a/components/esp_common/include/esp_idf_version.h
+++ b/components/esp_common/include/esp_idf_version.h
@@ -15,7 +15,7 @@ extern "C" {
/** Minor version number (x.X.x) /
#define ESP_IDF_VERSION_MINOR   1
/* Patch version number (x.x.X) */
-#define ESP_IDF_VERSION_PATCH   1
+#define ESP_IDF_VERSION_PATCH   2
/**

Macro to convert IDF version number into an integer
diff --git a/tools/cmake/version.cmake b/tools/cmake/version.cmake
index 3547139a5d..aa6435c858 100644
--- a/tools/cmake/version.cmake
+++ b/tools/cmake/version.cmake
@@ -1,5 +1,5 @@
set(IDF_VERSION_MAJOR 5)
set(IDF_VERSION_MINOR 1)
-set(IDF_VERSION_PATCH 1)
+set(IDF_VERSION_PATCH 2)

set(ENV{IDF_VERSION} "${IDF_VERSION_MAJOR}.${IDF_VERSION_MINOR}.${IDF_VERSION_PATCH}")
commit 9f2a2dbda6c91c93d5d75736d3676455e532f40f
Merge: 5b3a8ac503 287255026e
Author: Jiang Jiang Jian<EMAIL_ADDRESS>Date:   Thu Nov 9 16:37:36 2023 +0800
Merge branch 'bugfix/ble_update_lib_1027_5.1' into 'release/v5.1'

ble: update c6 h2 lib to 5bd7cb83, c2 lib to 1d31e175

See merge request espressif/esp-idf!26711

@JD-SX
The commit you're using doesn't seem right. The lib I provided to you is based on the latest commit 7380f96 from the release/v5.1 branch.
v5.1.2-691-g7380f96017

idf_py_stdout_output_1388.zip
@zhp0406
I used a specific version of IDF(7380f96), along with a specified library(6697dfa). After running for ten hours, there was one reset, but it was unrelated to Bluetooth. I believe the issue has been resolved. Thank you.

@JD-SX
Ok,
1-could you please tell me in what scenario this issue occurs?
2-Can you assist me in reproducing the problem?
3-What actions were taken with WiFi and BLE respectively? If only BLE is running, will this issue still occur?
Thank you very much.

@JD-SX Ok, 1-could you please tell me in what scenario this issue occurs? 2-Can you assist me in reproducing the problem? 3-What actions were taken with WiFi and BLE respectively? If only BLE is running, will this issue still occur? Thank you very much.

Esp32 connects to 2~4 nrf52840 with notification enable, and also connect to remote server by websocket. Esp32 polls each nrf42840 for data retrieving each second, and send data to server.

The ble & wifi coexist issue is solved by adopted the library(6697dfa). The new issue is rising when destorying websocket; might be stack overflow.

websocket client keeps connection with server and send data to server. ble central collects data from each nrf52840.
I configured the wifi task with a larger stack (8192 bytes) two hours ago; so far so good.
I well test ble only situation if the same issue occurs.

Closing the issue as solved, if you will encounter any more issues feel free to reopen this or create a new issue.
Cheers!


Fix backtick with a following quote

It seems that a quote follwoing the backtick doesn't work well:

Looks better now, at least according to GH's render:

Old one for comparison:

Before submitting the PR make sure the following are checked:

[x] Updated documentation.

Nice catch, didn't know that.

Hmm, I am not sure how to update the documentation after it has been published 😕


V1 - Add the possibility to manage a distant node

Context
Following a PoC, we decided to extend and improve this plug-in.
See all details about V1 and its logic here.
User flow

User installs Thyra in his machine
User installs the node-manager plugin
User can install a node on a distant server, with a new wallet
User can manage a node on a distant server

Manage = start, stop, restart

How to
When new testnet is launch, we will have to publish a new image on docker hub.
Technical details
Give the technical insights so anyone in the team can tackle the tasks - Dev

[x] we fork massa-docker-core community repo
[x] we publish a docker image on docker hub
[x] we use ansible to install docker on the remote host

[x] we copy the docker-compose.yml file to the remote host
[x] we pull the docker image

the API contains:

[x] endpoint to send the node id, ip, username, ssh secret key, discord id (optional), wallet password.
[x] endpoint the start
[x] endpoint to stop
[x] endpoint to get status

[x] CPU
[x] RAM
[x] Disk

[x] endpoint to get logs (debugging purpose)
[x] update the node (new testnet episode): as long as we publish a new docker image on docker hub, the user can call the /install endpoint to update his node

[ ] provide API specification

postman collection linked to unit tests OR swagger file generated from code

monitoring info:

[x] wallet balance
[x] rolls

Further improvements:

[x] handle multiple nodes

[ ] chose node in frontend

[x] user can send custom docker-compose file
[x] user can drag and drop sshkeyfile instead of copy/paste its content
[x] backup wallet: download the wallet file so that the user can have it

[x] endpoint that download the .zip file

[ ] buy a VPS for the user

QA testing
Does this task require some QA tests ?
If yes, explain how to validate it

Code review: please see the code.

canceled : features chose node in frontend


Separate buttons for Retweet and Quote

Instead of two clicks, one click is faster. There's plenty of space for it.

There's probably a good reason Twitter didn't do this themselves. Having a confirm is also useful to prevent accidental retweets. I accidentally tap like on a lot of tweets when scrolling through my feed.

I agree about the value of the having that confirmation. Besides that, I don't even know how we'd go about accomplishing this since we'd have to generate the HTML for the extra button and bind an event to it that we don't even know what the function is. That event listener is bound with React.
I'm not interested, except that I'm curious to know how someone would do it.

Alright. Passing on this.

@paulmolluzzo Could probably have had that button just el.click() the quote or RT button in the retweet dialog.


Allow specifying shim

This allow specifying the shim binary name/path to be used.
For instance docker calls its shim docker-containerd-shim.

Codecov Report

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

@@           Coverage Diff           @@
##           master     #838   +/-   ##
=======================================
  Coverage   59.57%   59.57%
=======================================
  Files           5        5
  Lines         757      757
=======================================
  Hits          451      451
  Misses        199      199
  Partials      107      107

Continue to review full report at Codecov.

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

LGTM

LGTM

Can you rebase?

@crosbymichael done


Fix error handling on invalid root passphrase

When the user insists on an invalid passphrase (or aborts the operation), CryptoService.GetPrivateKey will try the correct root location first, correctly failing, and then try to look for the root key in the $gun subdirectory, and so will return the last error, a confusing

open $path: no such file or directory

So, recognize the passphrase-related errors and fail with them directly.
Also remove misleading passphrase-related error handling in NotaryRepository.Initialize:

It is on a path where those errors can never happen
The specific error handling would silently ignore the error, which can’t be right anyway.

Should a test be added for CryptoService.GetPrivateKey to ensure the right error gets propagated?

That would be good.

Thanks for the reviews! Updated:

Added tests for CryptoService.GetPrivateKey directly.
Split the conceptually separate NotaryRepository.Initialize change into a separate commit.
Added a slightly-related cleanup to CryptoService tests.

Looks like it needs a rebase, but LGTM.  Thank you for the fix and great testing refactor!

LGTM
Please rebase against master then we'll be able to merge.

Rebased. codecov results are at https://codecov.io/github/mtrmac/notary?ref=e19e7fc44d6b8428ae3eee965d70b93ca4c5a8aa , I’m not sure why github says “Waiting for status to be reported”.


Added Car Demo Source Code and Updated Documentation

Added source code form Chris's Car demo repo under the 'src/' directory.
Changed formatting of readme file and added content:

Link to Chris's source code GitHub Repo
Forward to project documentation 'src/project-info.md'

Updated .gitignore to exclude:

'src/target' : This is where this project dumps its compilation files and executable.

Other team-members reviewed this and said it worked. Merging this myself since they forgot to approve it.


Set fonts based on the language

Ability to automatically change font when switching to a different language

It would be great if we could set a font that will be used when the buffer we use has a different language.

What if a buffer has multiple languages? What if there are multiple buffers with different languages? Fonts in emacs are set per-frame, not per-buffer.

It would be great if we could set a font that will be used when the buffer we use has a different language.

Buffer-local fonts could be pulled off with careful application of face-remap (to apply a font on a per-buffer basis). This could interfere with plugins that use face-remap, however, like solaire-mode, mixed-pitch-mode and variable-pitch-mode.
Alternatively, you could add a hook to input-method-activate-hook to call set-frame-font when a certain input method is detected:
(add-hook! 'input-method-activate-hook
  (pcase current-input-method
    ("welsh"
     (set-frame-font (font-spec :family "Hack" :size 13)))
    ("ucs"
     (set-frame-font (font-spec :family "Fira Code" :size 15)))
    ...))

You could also use set-fontset-font to remap certain character sections of a font to other fonts.

In any case, this seems like too broad a request for Doom with too vague a concept or purpose (beyond my expertise, anyway). I think it'd make a good, independent Emacs plugin, since it has little to do with Doom Emacs, in particular.


UHF-9832: Run phpcbf on helfi_api_base.

Check that PHPCS tests pass

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 82.05%. Comparing base (d063d49) to head (2393798).

Additional details and impacted files
@@             Coverage Diff              @@
##               main     #166      +/-   ##
============================================
- Coverage     82.21%   82.05%   -0.16%
  Complexity      561      561
============================================
  Files            76       76
  Lines          1906     1906
============================================
- Hits           1567     1564       -3
- Misses          339      342       +3

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


cleanup: ppm sc api

What type of PR is this?
/kind cleanup
Any specific area of the project related to this PR?
/area libscap
/area libsinsp
Does this PR require a change in the driver versions?
What this PR does / why we need it:
Refactors ppm_sc/tp/events APIs, introducing a new set class by generalizing Falco falco_event_types class.

properly use ppm_sc and ppme enum (defined as types now) in ppm_sc sinsp API
added a libsinsp::events:: namespace that holds ppm_sc,tp,events related static functions
renamed sinsp_{ppm_sc,tp} source files to sinsp_events_{ppm_sc,tp}
ported tp enum to a ppm_tp_code type
added libsinsp::events::set template class

Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
refactor(userspace)!: renamed multiple events related API; moreover, added a new libsinsp::events namespace where all the new APIs live. Finally, addeda libsinsp::events::set class to manage the ppm_sc/tp/events types.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/cc @jasondellaluce @incertum @Andreagit97

Need to fix libsinsp interesting_syscalls and interesting_tracepoints tests.

@jasondellaluce NOTE: i am still open to update APIs namings, since now we have a proper namespace and proper types.

It's amazing how much more clarity this refactor and renaming achieves, well done 👏 ! Also nice addition get_sc_set_from_cat!
@FedeDP may I kindly ask you to consider adding two more mapping functions?

names_to_event_set no current use case, but let's try to be future proof if possible
event_set_to_sc_set adding this as well may give more options to convert the evt types from the filters to state sets

Would say let's move forward and get this out of WIP. @Andreagit97 @jasondellaluce @FedeDP what additional testing would you suggest before merging? From my perspective it looks already pretty ready, but let's be extra careful with this critical refactor.

may I kindly ask you to consider adding two more mapping functions?

Implemented, together with all_event_set ;)
Moreover, updated scap.h related APIs to take an uint8_t array (instead of uint32_t), and optimized their calls by adding a new libsinsp::events::set.data() method that returns underlying uint8_t vector data.

Latest commit added unit tests for libsinsp::events::set class.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/hold

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP, incertum
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP,incertum]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/unhold

/milestone 0.11.0


Error on_built_entity

I built a fence, walked a little ways and destroyed a tree. Happened for the host in MP, I was client.

Seems like it might have been caused by AAI's prevention of building near biter spawners removing the entity.

Another error of a similar variety on deconstruct with robots


[Request] Add 'Activity' instrumentation and 'OpenTelemetry.Instrumentation.FluentFTP' package

FTP Server OS: All
FTP Server Type: All
Client Computer OS: All
FluentFTP Version: n/a
Framework: Core 3.1+
I propose the FTP calls are wrapped in Activity instances which provide native support for tracing instrumentation. Once the calls are wrapped, a separate OpenTelemetry.Instrumentation.FluentFTP package could be provided to register the activity with the OpenTelemetry pipeline, similar to how OpenTelemetry.Instrumentation.Http works today.
The standard instrumentation could add obvious properties to the Activity's Tags so they are included in the trace information, and then the user could optionally enrich the data with custom logs via the instrumentation options (again, similar to how existing instrumentations work).
I understand the library provides ILogger integration support, but this is not enough to get proper timing and relationship information with other parts of the request. By providing tracing support, consumers will be able to clearly see how the FTP calls are influencing their requests and be able to see all associated log entries with that trace.
The presence of a specific trace for FTP also makes the external dependency/call apparent in traces, which is in and of itself a very useful piece of information.
Once the instrumentation package is created, I'd suggest the library authors to seek how to add the instrumentation library to the OpenTelemetry registry, so it is also discoverable there.
More on distributed tracing here:

https://learn.microsoft.com/en-us/dotnet/core/diagnostics/distributed-tracing

Ok so first up, thanks for this bold idea.
OpenTelemetry sounds cool.
What would the final use case be? Users track each FTP request/response and then see how much time it takes or something of the sort?
Or are you saying that each internal command like UploadFile should be one Activity and then we can track how long that command took etc.

What would be the scope of this library be? I don't know much about OpenTelemetry.

AFAIK the library will basically "tell the OTEL hosted service to listen to a specific activity source" via an extension method. When you create activities, you specify their "operation name". This works like a key that OTEL can "listen to" when informed about it. I believe the main idea behind the extension is to hide this small implementation detail from the library so it is easier for consumers to "consume" the instrumentation.
The extension point would be the TracerProviderBuilder class for an initial tracing-only instrumentation. Metrics-related instrumentation could also be added later by extending the MeterProviderBuilder.
The main reason for having this as an external library is the dependencies on the OTEL core libraries that it has: you wouldn't want those to be part of the normal library as that would bring unnecessary stuff to those who don't care about it.

What would the final use case be? Users track each FTP request/response and then see how much time it takes or something of the sort? Or are you saying that each internal command like UploadFile should be one Activity and then we can track how long that command took etc.

The main idea is to have the FTP requests "participate" explicitly on distributed tracing involving the application. You can then tell who started the FTP request, how long it took compared to the rest of the trace, all details about it, etc.
Regarding the granularity of the activity, I actually don't know. I believe this would be completely up to you and the community to decide.
From what I can tell, there are well-defined "high level" operations, and then there is the low-level "Execute" method. Since the high level operations seem to be so well-defined, maybe it could defined the granularity of Activity operations. However, implementing it at the low level would obviously be much easier since it is a single centralized point.
Maybe there is a discussion to be had here regarding what is the "raw requests" vs what are the "high level operations". For example, EntityFramework has OTEL instrumentation, and so does SqlClient. EF relies on SqlClient internally. When both instrumentations are active, both show up: SqlClient nested under EF. In that stack, EF is the "high level abstraction" and SqlClient is the "low-level" one. Could serve as inspiration here.

I'm not sure how heavy the data of Activity is, because we are doing hundreds of FTP commands per second. Where is this data stored? locally in memory or like sent over the wire to the OpenTelemetry server/host?

I don't know everything in detail, but AFAIK, activities are near-zero cost abstractions that are only actually "used" if there is anyone listening for them. If you add activities around the FTP operations, but don't activate any "listeners", basically nothing happens.
When instrumentation is linked to the OTEL pipeline, you pass the "operationName" so OTEL can start listening for any activities with that name. The underlying mechanisms are event-based and use IObservables to push telemetry data to the listeners.
The data lives in the client for as long as needed depending on the configurations for each pipeline (metrics, traces, logs). OTEL defines a few standard configurations, for example "how long should the app batch telemetry data before it pushes them out", "how much data should be batched", "how data should be sampled if sampling is active" (part of the data is ignored here).
OTEL relies on a HostedService that runs in background in the same process that is emitting telemetry data. This hosted service is where the listeners wait for data, aggregate them, and send them to the defined "exporters".
There are many different exporters, including things such as a "Console" exporter which just prints everything in the console. Then there are exporters that are vendor-specific, such as Datadog, Azure Log Monitor, Google, AWS, etc. And finally, there is a general-purpose "OpenTelemetry Protocol" exporter, which exports the data using a common form defined by OTEL that some monitoring tools have now implemented.

https://github.com/open-telemetry/opentelemetry-dotnet/tree/main/src

https://github.com/open-telemetry/opentelemetry-dotnet-contrib/tree/main/src

The application can then export directly to some monitoring tool, or it can export to a "collector" application/agent, that then exports the data to a vendor tool. There are many such collector applications, but the "standard" one is from OTEL itself:

https://github.com/open-telemetry/opentelemetry-collector
https://github.com/open-telemetry/opentelemetry-collector-contrib

Similar to the dotnet libraries, there is a "default" and a "contrib" project. Most of the vendor-specific stuff is in contrib, for example the various exporters supported:

https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter

Also the package name, OpenTelemetry.Instrumentation.FluentFTP or FluentFTP.OpenTelemetry ? I would prefer the latter but you can suggest what it should be.

To be honest, I don't know... the packages I've consumed thus far for instrumentation have always followed the OpenTelemetry.Instrumentation.* format. It is possible that OTEL itself defines a good practice around these names but I've not looked into it. My understanding is that external vendors actually collaborate inside the dotnet-contrib repo and put the instrumentation libraries over there.
Take for example the Redis instrumentation:

https://www.nuget.org/packages/OpenTelemetry.Instrumentation.StackExchangeRedis/1.0.0-rc9.7
https://github.com/open-telemetry/opentelemetry-dotnet-contrib/tree/main/src/OpenTelemetry.Instrumentation.StackExchangeRedis

A good indicator is also looking at the overall list of existing Instrumentations in there:

A significant portion of those are not from Microsoft themselves. Some are not even major players, such as Hangfire, MassTransit, Quartz...
It might make sense to propose your instrumentation as a new folder in that same repository, though I'm not aware of how that process works today (I'm not a library author myself).
Hope this clarifies some of your questions. I've been mostly a user of existing instrumentations thus far so I don't have all the information myself on how one would implement it's own instrumentation package and align it with existing ones in terms of standardization, naming, etc.

Superb information, very well expressed.

From what I can tell, there are well-defined "high level" operations, and then there is the low-level "Execute" method. Since the high level operations seem to be so well-defined, maybe it could defined the granularity of Activity operations. However, implementing it at the low level would obviously be much easier since it is a single centralized point.

Yes, perfectly correct. However a single high level operation like UploadFile or UploadDirectory may execute multiple Execute's and so we may want to track it in a single Activity as such because it is a single action.
Looking at the kind of providers, it does not seem we fit into any of the contrib repos you linked. We are just a client library. All the other projects seem to be major cloud services.
There are only 58 open telemetry providers out there. As for publishing with the OpenTelemetry. prefix, only OT authors can do that as the prefix is reserved.
I don't mind accommodating this, but I would definitely need more relevant information to make any progress. A PR would be even better :)

However a single high level operation like UploadFile or UploadDirectory may execute multiple Execute's and so we may want to track it in a single Activity as such because it is a single action.

Interesting. This might either warrant 2 distinct levels of activities (one that represents the high level operation, and another for each individual execution), or the activity can leverage the "Events" abstraction to register each individual execution:

https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.activity.events?view=net-7.0

I confess I don't quite exactly know the semantics around these "events" though, so more investigation would be needed.

Looking at the kind of providers, it does not seem we fit into any of the contrib repos you linked. We are just a client library. All the other projects seem to be major cloud services.

Do you mean the list of OpenTelemetry exporters? That was shared just to give some visibility of what monitoring tools the OTEL collector can interface with and is unrelated to FluentFTP.
The list of OTEL instrumentations though, like I mentioned earlier, contains libraries such as MassTransit (a not-that-big-and-known ESB), Hangfire which is just an abstraction for background jobs, Quartz which is another known task-scheduler library, even Redis which is a distributed-cache as a service. None of these are "major cloud services". Maybe you misunderstood me there.
The most direct similar instrumentations that I'd probably look into when implementing the FluentFTP instrumentation, would be

The HTTP one (for a simple "centralized-wrapper-activity" approach):

https://github.com/open-telemetry/opentelemetry-dotnet/tree/main/src/OpenTelemetry.Instrumentation.Http

The EFCore + SQLClient combo (for the more complex "high-level activity with multiple low-level child activities" approach)

https://github.com/open-telemetry/opentelemetry-dotnet/tree/main/src/OpenTelemetry.Instrumentation.Http
https://github.com/open-telemetry/opentelemetry-dotnet-contrib/tree/main/src/OpenTelemetry.Instrumentation.EntityFrameworkCore

For example our peers are:

SSH.NET
DnsClient.NET

I think OTEL instrumentation for both would eventually make sense. I'd probably want it if I was using either.
To be honest, if I was part of the OTEL team in any capacity, I'd probably be actively looking out for well-known libraries like these that interface with external systems/protocols/etc and pushing as much as possible those folks towards OTEL as I feel that would benefit the entire ecosystem greatly over time.
For now though, I've only been focusing on libraries that I myself use directly in our projects. I've made a similar request to Jimmy over at MediatR for example (but he wasn't that ecstatic about the idea :( :

https://github.com/jbogard/MediatR/discussions/762

As well as TcpClient, which we do use directly in some very odd integration paths:

https://github.com/open-telemetry/opentelemetry-dotnet-contrib/issues/501

There are only 58 open telemetry providers out there.

Not exactly sure what your point on this one is, but if you are talking about the fact that there are very few instrumentation libraries at this point, that's totally the case. OTEL has just reached a point where the protocol has stabilized the data model for each telemetry type, so a ton of instrumentation libraries are actually at a Release Candidate state, or lower (some are in beta). I believe this will grow substantially as it becomes fully stable in the next few months (I'm assuming here) and a lot more instrumentation will be created.

As for publishing with the OpenTelemetry. prefix, only OT authors can do that as the prefix is reserved.

That makes sense to me. I guess you as a library author would have to reach out to folks in the .NET OTEL contrib repo and see how a new instrumentation from a different library can be integrated there (again, probably the same process folks from MassTransit, or Quartz, or other external libraries had to do). Since I'm not part of that team, I have no idea how it works. All I see is the "evidence" that external library instrumentations exist there 😆

I don't mind accommodating this, but I would definitely need more relevant information to make any progress. A PR would be even better :)

I'd honestly love to dedicate time to this but I just cannot justify it right now. The reason I decided to post this request (to provide a bit more context to you), is because I'm part of a big company and I discovered a few days ago that we had some FTP interactions in one of our bigger legacy applications. Those interactions are using some custom FTP stuff (so not this library), and I immediately realized we'll eventually migrate towards using your library, and at that point it would be awesome to have native OTEL instrumentation in place as we've been adopting OTEL in all of our newer projects.
We are not working on that migration at this time, however, and I suspect it will be a while before we get to that (perhaps a couple years even).
The intention behind this issue was to bring as much awareness as possible about the benefits surrounding OTEL instrumentation, and to potentially get other people excited enough that they would want to implement this in the meantime.

Thanks again for the long and detailed answer.

I think OTEL instrumentation for both would eventually make sense. I'd probably want it if I was using either.

Yes. I heard a lot about OTEL but yet to use it first hand.

The list of OTEL instrumentations though, like I mentioned earlier, contains libraries such as MassTransit (a not-that-big-and-known ESB), Hangfire which is just an abstraction for background jobs, Quartz which is another known task-scheduler library, even Redis which is a distributed-cache as a service.

I see. I figured they were all cloud services and figured I don't belong among that bunch, a misconception on my part.

Not exactly sure what your point on this one is..

My point was that I didn't see any protocol client libraries. But your point was that OTEL was new and so I should be an early adopter. Ok with me.

That makes sense to me. I guess you as a library author would have to reach out to folks in the .NET OTEL contrib repo

FOSS is so weird! I see OTEL repos have 100+ PRs so I'm wondering how receptive they would be. Anyhoo its fine either ways, even if I do FluentFTP.OpenTelemetry, I'm cool with it and there are other libraries doing the same (on the same nuget search page you can see those). I hate putting myself in a position where superior FOSS authors can reject my work, it seems counter productive. So if I build this, I will publish it under a NS I control.

I'd honestly love to dedicate time to this but I just cannot justify it right now.

Fine with me, I could do it, but I am busy too. I think to start this project we would need 1 major user to alpha test it OR 1 major contributor. I will help as I can.

Not exactly sure what your point on this one is..

My point was that I didn't see any protocol client libraries. But your point was that OTEL was new and so I should be an early adopter. Ok with me.

Gotcha. But yes, you'd be an early adopter at this point indeed :)
To be fair, while the OTEL libraries themselves are new, the underlying .NET types are fairly old at this point. For example, I'm pretty sure HTTP and AspNetCore have been instrumented with Activity for a very long time now. The only thing that was "added" for OTEL was the listener part, which is actually probably the smallest component of it.
Point being that there was actually already some value to be had by just adding Activity instrumentation even before OTEL was defined. The difference OTEL makes is that it unifies the listening/publishing logic so nobody has to create a custom library for that part.

FOSS is so weird! I see OTEL repos have 100+ PRs so I'm wondering how receptive they would be. Anyhoo its fine either ways, even if I do FluentFTP.OpenTelemetry, I'm cool with it and there are other libraries doing the same (on the same nuget search page you can see those). I hate putting myself in a position where superior FOSS authors can reject my work, it seems counter productive. So if I build this, I will publish it under a NS I control.

I do agree it is weird. Honestly, I don't know how the whole development flow works in these "shared" repos, but I can totally understand you wanting to have more control of your own library.
The only reason I brought it up was because I started seeing those non-Microsoft third party vendor packages in there and figured their intention was to standardize naming and centralize in that repo.
I'd probably still recommend reaching out to them either through a Discussion or Issue thread just to understand a bit better what the idea of the contrib repo is when it comes to arbitrary non-MS libraries such as this, but at the end of the day like you said it's up to you on how you want to host it.
Regardless of what you opt for in the future, do check out how one adds instrumentation libraries to the OTEL Registry, as that might bring you additional visibility.

Closing until OP gets time to actually use this or help us to create it.

Closing until OP gets time to actually use this or help us to create it.

I'd suggest keeping it open in case other people want to help with it in the meantime, perhaps marking it with a "up-for-grabs" or similar label? This is a very broad feature and applies to basically anyone using the library.
Closing as not planned usually indicates you have no intention of adding it as the proposal was rejected.
Up to you of course.

Have a look at how some other client libraries such as DuendeSoftware/IdentityServer are doing tracing.
It is just a matter of creating an Activity
https://github.com/DuendeSoftware/IdentityServer/pull/698/files


Exec() not working

My Log Fails with
PHP Notice:  Use of undefined constant SSH2_TERM_UNIT_CHARS - assumed 'SSH2_TERM_UNIT_CHARS'

How can I fix this?

I think I did forget to install ssh2 before :) problem solved


sharenlearn

sharenlearn for jwoc

@Pabitra145 , you have not created views for footer in views.py. If you don't create views then no reverse match found exception will be thrown.
Carefully follow urls.py , templates , views.py and observe how other templates are created and rendered.

@Pabitra145 , you have not created views for footer in views.py. If you don't create views then no reverse match found exception will be thrown.
Carefully follow urls.py , templates , views.py and observe how other templates are created and rendered.

@Pabitra145 , also try to give a more relevant title to the PR with description

@Pabitra145 , also try to give a more relevant title to the PR with description


drivers: ethernet: stm32f7: Enable use of HAL V2 API

Point to the modified version of hal_stm32 which allow to use ETH HAL V2 on stm32F7.
Update zephyr driver to allow it.
Signed-off-by: Erwan Gouriou<EMAIL_ADDRESS>

Hello
I had check the CONFIG_ETH_STM32_HAL_API_V2 on the board Nucleo_F767ZI
( SOC_SERIES_STM32F7X) with iperf
We can see the result after in excel file attachment:
To solve the UDP server Zephyr issue :
NOK  eth_stm32_hal: HAL_ETH_ErrorCallback errorcode:8 dmaerror:8480
You can remove bit ETH_DMAIER_AISE like that:
Into zephyrproject\modules\hal\stm32\stm32cube\stm32f7xx\drivers\src\ stm32f7xx_hal_eth.c
In function HAL_StatusTypeDef HAL_ETH_Start_IT(ETH_HandleTypeDef *heth)
Before :
__HAL_ETH_DMA_ENABLE_IT(heth, (ETH_DMAIER_NISE | ETH_DMAIER_RIE | ETH_DMAIER_TIE  | ETH_DMAIER_FBEIE | ETH_DMAIER_AISE | ETH_DMAIER_RBUIE));
after
HAL_ETH_DMA_ENABLE_IT(heth, (ETH_DMAIER_NISE | ETH_DMAIER_RIE | ETH_DMAIER_TIE  |  ETH_DMAIER_FBEIE  | ETH_DMAIER_RBUIE));
iperf test HAL_V2 vs HAL_V1.xlsx

Thanks @Desvauxm-st for the report.
Problem reported is similar to already identified issue on F4 platform with same API that is being analyzed separately.
Then I understand that validation of this change is positive and can be merged.
(Note that API V2 is disabled by default. Outstanding issues are not blocking)


Direct nearby uploads fab buttons visibility problem

Summary:
On Direct Nearby Uploads New branch visibilities of FABs are problematic.
Steps to reproduce:
Get the code in directNearbyUploadsNew branch.

Go Nearby Activity.
Select a marker.
Click to plus fab
Press back button until bottom sheet is hidden.
You will see FABs on left upper corner for a moment.*
If you try to click around naw draver icon FABs will appear again with their actions (Yes this happens :))

Expected behavior:

FABs shouldn't displayed on left corner for a moment
FABs should stay hidden even if we touch on their position

Observed behavior:

FABs on the corner

Device and Android version:
API 19
Screen-shots:

Would you like to work on the issue?
I already did, twice...
Firstly I learned I have to remove anchors to be able to hide FABs. We already do this in current code:
    private void hideFAB() {
        //get rid of anchors
        //Somehow this was the only way https://stackoverflow.com/questions/32732932/floatingactionbutton-visible-for-sometime-even-if-visibility-is-set-to-gone
        CoordinatorLayout.LayoutParams p = (CoordinatorLayout.LayoutParams) fabPlus
                .getLayoutParams();
        p.setAnchorId(View.NO_ID);
        fabPlus.setLayoutParams(p);
        fabPlus.hide();
        fabCamera.hide();
        fabGallery.hide();
    }

    private void showFAB() {
        CoordinatorLayout.LayoutParams p = (CoordinatorLayout.LayoutParams) fabPlus.getLayoutParams();
        p.setAnchorId(getActivity().findViewById(R.id.bottom_sheet_details).getId());
        fabPlus.setLayoutParams(p);
        fabPlus.show();
    }

There is similar complaints on the comments under this issue: https://stackoverflow.com/questions/31269958/floatingactionbutton-doesnt-hide
However I couldn't find a solution yet.

Does anyone experienced this before?
Do you able to reproduce this after lollipop?

While I was adding recenter button I also faced problem in which fab button was not getting displayed in Android version 19.
I resolved it by adding fab button below linear layout in the relative layout.
I would like to work on this issue and see if I can resolve it.
Thanks :)

Actually they are visible, our problem is a little different. But still I will be appreciated if you find a solution. However, I suggest not to assign this task to nobody (so that everyone can try to find a solution simultaneously) since it needs to be solved as soon as possible.

Sure @neslihanturan it would be better not assigning to anyone since everyone can try :)

Checking visibility in action listeners solved wrong actions +
Currently working on being displayed very short moment before getting hidden

Then this issue will be done.

i was working on it , and i got this errors
issue

Actually if you look at the referenced PR, you will see this issue is solved already.


Fix package import

https://app.clickup.com/t/869550z1z

Are we not removing the src folder from package?


No saved files in \saves, \gamefiles, \backups.  Could really use some help

First, Wolveix, WOW!! Excellent docker setup.  Works really well; was able to load previous saved games into the "c:...\saved" folder on host, loaded it into the server perfectly.  Server runs good all is well, except, none of the new saves are being saved from the container to the "\saved" folder on the local host.  They are mapped in docker, but no game files, no backups, nothing.  Beyond frustrating and I'm new to docker and the like.  Is it possible to mount the host folders again (i.e. c:...\config\saves to /saves on the container) without losing the current saves on the container?  There are many, many hours on the saves in the container but I have no access to them on the host to back them up.
I would be super grateful if it's possible to get the saves off the container and onto the host.  Thank you for your time, I really appreciate it.
Environment
PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
USER
steam
HOMEDIR
/home/steam
STEAMCMDDIR
/home/steam/steamcmd
AUTOPAUSE
true
AUTOSAVEINTERVAL
300
AUTOSAVENUM
3
AUTOSAVEONDISCONNECT
true
CRASHREPORT
true
DEBUG
false
DISABLESEASONALEVENTS
false
GAMECONFIGDIR
/config/gamefiles/FactoryGame/Saved
GAMESAVESDIR
/home/steam/.config/Epic/FactoryGame/Saved/SaveGames
MAXPLAYERS
4
PGID
1000
PUID
1000
SERVERBEACONPORT
15000
SERVERGAMEPORT
7777
SERVERIP
<IP_ADDRESS>
SERVERQUERYPORT
15777
SKIPUPDATE
false
STEAMAPPID
1690800
STEAMBETA
false
Mounts
/HOME/STEAM/STEAMCMD
/var/lib/docker/volumes/56f9b05dbe3daaf5071aea3fb2c02add0acd8759250429c815dd6249b4103164/_data
/SAVES
C:\Users\MTCL.docker\config\saves
/BACKUPS
C:\Users\MTCL.docker\config\backups
/GAMEFILES
C:\Users\MTCL.docker\config\gamefiles
Ports
15000/udp
<IP_ADDRESS>:15000
15777/udp
<IP_ADDRESS>:15777
7777/udp
<IP_ADDRESS>:7777
System Specs (please complete the following information):
-Windows 11
-Docker for Windows

Hey! I'm just about to head to sleep (I'm in the UK), but I just wanted to comment to say don't panic! Your saves should absolutely be within the container :) I can't remember the appropriate directories off of the top of my head, but it's likely that something either outside or inside of the container has been incorrectly mapped (we had to do some symlinking to get around some hardcoded config stuff in CSS's server). I will get back to you tomorrow with something more meaningful :)
Also, thank you so much for the kind words!

Thank you so much Wolveix!  I really appreciate your time!  Thank you again!  I look forward to hearing from you.

Sorry for getting back to you so late! It's been a busy day. Would you mind sharing what your Docker run or docker-compose.yml looks like, please? Just helps to get an idea of what is and isn't mapped :)
Also, could you exec into the container and run ls -lah /home/steam/.config/Epic/FactoryGame/Saved/SaveGames, please? You should be able to open command prompt (WIN + R, cmd), and run docker exec -it satisfactory-server /bin/bash to enter the container (assuming that your container name is satisfactory-server and not something else.

Hey @Helias7700! Were you able to get this working?

I'm going to close this, but feel free to re-open if the issue persists :)


Clarification of "Only for Developers" advice

Hello,
I have been meaning to get some good error printout thing, and Term seemed like a possibility. However, I found this warning:

Exactly under what circumstances do, I have to worry about this?
I do a decent about pf package development within SciML, and don't want to mess things up there. Is it unless I actively try to integrate this fro errors in my packages, it will be fine, and I can just install it in my local environment? Or should I be careful here as well
(sorry, I am not super savvy when it comes to Julia dev stuff)

Hey,
The idea with term's repr and stacktraces functionality is that you overwrite function's that are normally defined in Base, the default library. If you just do that in your local environment (e.g. through yuou startup.jl), that's fine. You'll see the effects of using Term, but when you release your package to others they won't be affected by it.
However, if you, say, call install_term_stacktrace in your package, then any user of that package will also have Term overwrite the error-handling code in Base. Your users may not want that (e.g. they use other packages to do stuff with stacktraces), but by you inserting that in your code you're imposing it on them.
Hope that makes it clearer, but let me know otherwise.

Great, I will define it in startup.jl then and leave it there. Just wanted to ensure I didn't cause a major mess-up for many people... Thanks for the quick answer!


Memory leaks

I've found a couple of memory leaks.
The first is in the WindowNotification. The JWindow never has dispose() called on it, so Swing will retain a reference (and related resources) forever. I'd suggest calling dispose() from hide().
The second is in SimpleNotificationManager. If you enable fading, the Fader task will be retained by the Timer, which in turn means the Notification is retained after hide() is called. I think it's probably inappropriate to use a non-Swing timer here, given that you're doing UI operations. One way to fix the leak would be to have a small manager class that holds the Faders while fading is in progress, and remove them when they are done. A Swing Timer could then call your Fader manager.
For better performance on laggy systems, I'd also suggest that Fader should use the current time to determine how opaque the notification should be, rather than requiring a fixed number of calls. As it stands, if the system is under load, the user has to wait for each "step" to render.
I've found these fairly straightforward to reproduce by creating WindowNotifications periodically with a Swing Timer, passing them to a QueueNotificationManager and waiting for the rendering to become jerky. It only took 50 or so notifications before things became sluggish for me (obviously system-dependant). If you monitor garbage collection, you'll find the JWindows never get reclaimed.

Hi @99-bottles,
Thanks for letting me know and taking the time to open such a detailed issue. I'll have these fixed up this weekend.

@99-bottles: Might take a few more days actually---quite busy right now.

I fixed the dispose() issue, but am having some confusion with the Fader memory leaks. In the old system, the Faders were never garbage collected, and neither were their Notifications. After my update implementing your suggestions, the Faders are collected, but the JWindows are not, even after dispose() is called and no references are held. Perhaps this could be best illustrated with a simple test:
public class TestDemo {
	public static void test() {
		JFrame frame = new JFrame();
		frame.setSize(500, 500);
		frame.setVisible(true);
		try {
			Thread.sleep(2000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		frame.dispose();
		frame = null;

	}

	public static void main(String[] args) {
		test();
		try {
			Thread.sleep(1000000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}
}

During the second sleep(), I manually perform a garbage collection in the memory analyzer; however, the JWindow instances are still not reclaimed. Any ideas?

Sorry I didn't respond earlier, I missed the email.
I think what you're seeing is probably due to the way the garbage collector works.  You can force the issue by writing a loop which creates new JWindows every second. You should find that not disposing them results in an OutOfMemoryError. If you override finalize() and print something out, once you add a call to to dispose() you should see old instances get finalized in batches as the heap space starts filling up with garbage.

That makes sense, thanks for the clarification!


Validate fields in New program registration

When the user does not enter any kind of information and click on save button the system only displays the red ale message “Please select an admission date.”
Location: Registration module- Program enrollment- New Program

@Benilde do you mean that it should also show the alert for state field? What if admission date is also provided, does it show the state alert?

@valvijo  Yes. It only shows for the Admission date.

@valvijo Please see the updates that I have done on the Issue

I see, in OpenMRS app we can create a program without state but the admission date is required. I'm not sure if we should validade state in PoC UI

@valvijo do we need to make this compulsory, in OpenMRS it can be optional when creating a program. Can @eurico how is this done currectly at the facilities that you have interacted with?

related to #111

@ningosi we can not make it required here if in OpenMRS it is not. We need to understand why state is not compulsory? Maybe @eurico can give us an answer


Discriminator not set in case of inherited classes

We faced the problem, that the discriminator is not set in case of inherited classes.
We replaced line 20 in file NJsonSchema/src/NJsonSchema.CodeGeneration.TypeScript/Templates/Class.liquid by removing the 'Model.' prefix.
Current:
{% if GenerateConstructorInterface or Model.HasBaseDiscriminator -%}
Suggestion:
{% if GenerateConstructorInterface or HasBaseDiscriminator -%}
That solved our problem.
Is that a proper solution for our problem?

Indeed it seems that i missed to remove the model. prefix when i migrated to liquid... strange that noone run into this earlier (i use ctor interfaces).


Codelabs have empty contents section

On codelab pages like this, the contents section is empty (because there are no H2 elements) and shouldn't be displayed:

Also, the font size of H2 elements is too large and content tends to run on (just) to the following line::

(View image full size.)

fixed in #1953


WIP usb: stm32: implement usb_detach

disable STM32's usb irq and clock.
Trying to fix the issue #16023
Signed-off-by: Jun Li<EMAIL_ADDRESS>

@ydamigos I'm trying to use this PR to fix a blocking issue #16023. My original implementation was also calling the function HAL_PCD_DeInit() to de-initialize USB device. However, that function gets stuck somewhere.

Tried just adding HAL_PCD_DevDisconnect(&usb_dc_stm32_state.pcd), still got stuck. :-(

@jli157 I'll try to have a look this weekend.

@ydamigos any further comments?

@jli157 I took a look at it during last weekend. It is clear that we should call HAL_PCD_DeInit() in usb_dc_detach(), but I failed to get it work. Moreover, I tried to run tests/subsys/usb/device/ on my stm32f3_disco and it crashes. I'll try to find sometime and debug it.

@jli157 , any plan for this work?

@jli157 , any plan for this work?

I've made some workaround to make sure my project can go ahead without being blocked by this one but you know it is still a workaround. I'm hoping to have @ydamigos 's help. Hopefully he can find some time to take a look at this one again.

@jli157, @ydamigos is this PR still valid?

@jli157 do you plan to continue this PR ?

It is just workaround:) I’m not sure if the current code base has already done this one.   I’m expecting some USB experts like you to take care of the issue.
This can be closed.

@erwango Feel free to close this PR if #22827 addresses the same goal.

@erwango Feel free to close this PR if #22827 addresses the same goal.

Txs, closing, let's focus on #22827


Added Alibaba cloud kafka service support (confluent kafka)

What content needs to be created or modified?
Alibaba Cloud Kafka service Pub/Sub support. (confluent kafka)
Additional context
dapr/components-contrib#968

Can you please create the PR for this?

We can't put this in dapr/dapr until there's docs in place.

@cshi0 since this isn't specific to Alibaba cloud, can you please make sure you document this in a vendor neutral way?
For example confluent provides a managed service on AWS, Google Cloud and Azure. https://www.confluent.io/confluent-cloud/

Is this a duplicate of https://github.com/dapr/docs/pull/1669 ?

Is this a duplicate of #1669 ?

It is the PR for this issue

@greenie-msft please close. This will not be completed in contrib.

Not implemented


Automated Package Upgrade

:tada: This PR is included in version 25.4.130 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Spawn selection missing entrances

We've assigned a number of entrances as we find them, that's all normal. Once the other player found ToT, he went adult and at some point checked his spawn. It was in child shooting gallery.
It seems that some interiors, once placed in the tracker, don't show up for selection as a spawn point.
So far: Both shooting galleries disappear from spawn selection once placed. Bombchu bowling also disappears
It's not all of them though, as I noticed that Guardhouse/Poe Collector still stays. Mask shop and Treasure Chest Game seem to be others that don't disappear.

Root cause is filtering on the grouping tag field to prevent duplicate aliases. When a group is exhausted, there is no tagrep to show the option. Groups of one are the easiest to notice, where the tag is used as an interior alias different from the overworld side alias. Solution is to maintain the last tagrep as the tagrep after linking. Non-one-way-warps will still filter on aLink/eLink to prevent showing linked entrances.


DPOTrainer.get_batch_logps() got an unexpected keyword argument 'average_log_prob'

https://github.com/princeton-nlp/SimPO/blob/baf9b8428dc1d602de1801a4e19dde295916cea7/scripts/simpo_trainer.py#L88
is get_batch_logps function supposed to be modified in some way in this class?

should probably be something like
       all_logps_1, all_logps_2 = self.get_batch_logps(
            all_logits,
            concatenated_batch["concatenated_labels"],
            # average_log_prob=True,
            is_encoder_decoder=self.is_encoder_decoder,
            label_pad_token_id=self.label_pad_token_id,
        )

        all_logps = all_logps_1 / all_logps_2


Check the wording for tenantId vs tenantIdDomain

https://docs.microsoft.com/en-us/azure/active-directory/develop/reference-app-manifest#identifieruris-attribute
"<tenantId> - Every Azure Azure AD tenant comes with two initial domains in the form of <tenantId>.onmicrosoft.com, where <tenantID> is the initial domain name the tenant creator specified at tenant"

Please check tenantId wording. I would have expected
https://<tenantIdDomain>.onmicrosoft.com/<string> | https://contoso.onmicrosoft.com/productsapi
- <appId> - The application identifier (appId) property of the application object.
- <string> - The string value for the host or the api path segment.
- <tenantId> - A GUID generated by Azure to represent the tenant within Azure.
- <tenantIdDomain> - <tenantIdDomain>.onmicrosoft.com, where <tenantIdDomain> is the initial domain name the tenant creator specified at tenant creation.
- <verifiedCustomDomain> - A verified custom domain configured for your Azure AD tenant.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 3f7ced07-0b71-715f-749b-180567591c72
Version Independent ID: 8c533d7b-a058-3f1a-c296-9c0305f85f13
Content: Understanding the Azure Active Directory app manifest - Microsoft identity platform
Content Source: articles/active-directory/develop/reference-app-manifest.md
Service: active-directory
Sub-service: develop
GitHub Login: @rwike77
Microsoft Alias: ryanwi

@mikeblakeuk
Thanks for your feedback! We will investigate and update as appropriate.

@mikeblakeuk
Thanks for your feedback! I've assigned this issue to the author who will investigate and update as appropriate.

@mikeblakeuk  Thanks for pointing this out, I believe you are correct.  I'll update the article.

I just merged the updates you suggested, which should publish tomorrow.  Closing this issue, now.  Thanks again.  #please-close


release a new version (so we can take advantage of the security update)

a simple
npm publish

should be enough right?
or is there anything we can help with?

It seems like this npm package is owned by @dignifiedquire, rather than @karmarunnerbot used in our scripts to npm publish.

Is this why version 1.4.0 is not available on npmjs?

I don't have permission to publish the package.

@johnjbarton you have now
On 22. Oct 2018, 16:44 +0200, johnjbarton<EMAIL_ADDRESS>wrote:

I don't have permission to publish the package.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

sooo is it possible to get a release? or anything else blocking?

I still cannot release:
npm ERR! You do not have permission to publish "karma-browserstack-launcher". Are you logged in as the correct user? : karma-browserstack-launcher

The instructions I use are here:
http://karma-runner.github.io/3.0/dev/maintaining.html
esp:  npm login karmarunnerbot

Only these people have publish rights:
$ npm owner ls karma-browserstack-launcher
dignifiedquire<EMAIL_ADDRESS>donato<EMAIL_ADDRESS>morethanreal<EMAIL_ADDRESS>robwalch<EMAIL_ADDRESS>vojtajina<EMAIL_ADDRESS>zzo<EMAIL_ADDRESS>

Looks like @johnjbarton should have access to publish as his own account, according to npm access:
$ npm access ls-collaborators karma-browserstack-launcher
{
  "morethanreal": "read-write",
  "robwalch": "read-write",
  "dignifiedquire": "read-write",
  "johnjbarton": "read-write",
  "zzo": "read-write",
  "vojtajina": "read-write",
  "donato": "read-write"
}

Also, would be great to get https://github.com/karma-runner/karma-browserstack-launcher/pull/138 pulled in as well before the release so that patch fixes can just be picked up automatically

Are there any updates on this one?

Hello, as @harrysarson mentionned it has been 2 weeks, is it possible to have an update on the release ?
This our only package with npm audit issue in https://github.com/BabylonJS/Babylon.js and the worse is that it has already been fixed, just not deployed.

@johnjbarton can you publish a release?

We (at Browserstack), are trying to connect with the collaborators, and get this published ASAP. Will update here once done.
Regards

@johnjbarton has as much permissions as I do to publish this - he's the current maintainer and will need to publish.  I have added 'karmarunnerbot' as a maintainer on npmjs as well.

also it's up to @johnjbarton to grant permissions to this repo not me sorry :) . maybe he's on vacation?

Hi @johnjbarton , Happy New Year!
I was wondering if you can grant @kalamcs publish permissions for this repo and for npm.

The npm and github-repo permissions are completely independent. I cannot publish to npm nor delegate that permission.  I've asked zzo@ to add me.


ExtensionData for Operations won't allow objects with properties named "type"

Hi, I'm using NSwag to generate swagger definition file and using custom IOperationProcessor implementation to add new node at operation's level.
The below code(part of IOperationProcessor.Process method) won't add type property to the result schema, all other fields are added fine, if I use TYPE it is also included, but type seems like is filtered out/ignored.
context.OperationDescription.Operation.ExtensionData[Key] = new
{
     type="any value",
     otherNormalField="other value",
     ...
};

I would assume that extension data has to support any property names - is that correct?
Please advise!

That is strange, maybe "type" is somehow already defined on the operation?
Needs investigation.


[feature] Add support for gamepad/xinput api

Is it possible for robotjs to implement xinput emulation?

This issue has been closed because it has been inactive for > 240 days.
You may reopen this issue if it has been closed in error.


Add Clarity support

Adding support for the Clarity Smart Contract language
Checklist:

[x] I am adding a new language.

[x] The extension of the new language is used in hundreds of repositories on GitHub.com.

Search results for .clar extension

[x] I have included a real-world usage sample for all extensions added in this PR:

Sample source(s):

Proof of Transfer consensus mechanism
Bitcoin Naming Service
Cost voting mechanism

Sample license(s): GPL-3.0 (all)

[x] I have included a syntax highlighting grammar
[ ] I have updated the heuristics to distinguish my language from others using the same extension.

Usage isn't quite there yet:
Total files found: 1315
Unique public user/repos: 170
Unique owners: 117

Unique public user/repos

I realised earlier that saying "unique user/repos" is redundant, since a repository can't logically be owned by more than one user. Perhaps we can simplify our docs by counting users only?

I realised earlier that saying "unique user/repos" is redundant, since a repository can't logically be owned by more than one user. Perhaps we can simplify our docs by counting users only?

I've been using this to allow for a bit more flexibility as it allows users to have multiple repos, with the added unique users hinting at if there's a few users disproportionately contributing to the total repos.

Usage isn't quite there yet:
Total files found: 1315 Unique public user/repos: 170 Unique owners: 117

Thanks for sharing! Is there a way to run this analysis on my end? I tried Harvester but hitting this issue: https://github.com/Alhadis/Harvester/issues/17#issuecomment-964500628

@lildude could you please run the analysis again? and if you could help me with guidance on how to run it on my own, that'd be great.
thanks!

@lildude in parallel, we're also working on updating the Clarity LSP (https://github.com/hirosystems/clarity-lsp), to make it compatible with https://github.dev, and being on linguist would already be a great addition!
Any change you could give us the new numbers? Thank you so much for your help.

I'm not performing reviews of PRs or popularity checking until I've got the time to start working on the next release (likely to be in early Feb at the earliest).

Any update on the total count of Clarity :user/:repo? We had a lot of activity over the holidays and think we should be past the 200 threshold needed for inclusion in Linguist.

Whoops, looks like we've got CI failures that need addressing first.

Fixed it.


AWS Traffic Mirroring Equivalent

The page is missing an Azure equivalent solution for AWS Traffic Mirroring.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 7b3207bf-471c-33f5-7fb1-0d0a8400e040
Version Independent ID: f2dc9465-d889-7d8a-02b8-0c0d6125512c
Content: Comparing AWS and Azure networking options - Azure Architecture Center
Content Source: docs/aws-professional/networking.md
Service: architecture-center
Sub-service: cloud-fundamentals
GitHub Login: @doodlemania2
Microsoft Alias: pnp

Thanks for reporting - this issue is under review. This is a Microsoft Internal DevOps Bug ID # 369410

@EdPrice-MSFT
This PR can be closed; notes in OneNote

This has been logged for a future improvement. Thank you!


[question] Is it possible to change rust code and hot reload the app?

I want to put most of the business logic in the native code. So most changes happen in the rust side. It would greatly reduce the overhead of change-build-test loop if the debug app is automatically hot reloaded when the rust code is changed.
Is it possible to achieve this? Sorry to ask before trying myself because I am very noob on flutter.

Short answer is not in the near future. Unlike Dart, Rust does not have any built-in mechanism for hot-reloading, and the few experiments that exist in this space right now are very complicated. I recommend reading this blog post from fasterthanlime if you want to take a glimpse of what's needed to bring hot-reload to Rust.

Thanks! The source is very helpful


Potential new inspections (based on old ideas)

Here's a list of not implemented inspections I removed in #281.
It would be good to review this list and prioritise based on usefulness and which ones we would like to see implemented first.

AbstractTrait
AbstractValueInTrait
ChainedPackageClause
ClassExtendsApp
DefaultArgUse
EqualInspection
HardCodedWindowsFileSeparator
HashcodeInspection
MethodWithUnitReturnIsParameterless
NoClone
NoSuperClone
OptionGetGetOrElse
SetSeqToDistinctStub
UnusedLocalVal
UppercaseLChecker
UselessObjectVisibility
VarFields
collections/ExistsIncompatibleType
collections/FilterDotSizeComparison
collections/ListTail
exception/CaughtExceptionImmediatelyRethrown
exception/ProhibitedExceptionThrown
matching/FruitlessMatch
math/IntDivisionAssignedToFloat
naming/FieldNames
naming/VariableNames
option/InexhausticOptionMatch
option/OptionComparison
option/OptionHead
string/NegativeStringMultiplication
unneccesary/UnnecessaryCatchBlock
unneccesary/UnnecessaryStoreBeforeReturn
unneccesary/UnnecessarySubstring

I would also be up for implementing some of these. But I have no idea regarding prioritization.

I would also be up for implementing some of these. But I have no idea regarding prioritization.

I don't think there is any specific priority. Is there anything specific on that list that you feel strongly about?


⚠ ClamAV has degraded performance

In ad97a4f, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 224 ms

Resolved: ClamAV performance has improved in 60c1168.


Response Quality control

Hi,
This is one of the best implementations of a gpt2 bot so far. I tried many, but this is the fastest of all.
I'm currently testing the medium-cpu model for a "Quick response" generation for chat application. It works, but the responses seem to be reddit-inspired. They contain slang language like 'gib' instead of give etc. Can get violent at times.
How can I make it "professional". So that it only gives good responses to be used in business/professional applications?
Thanks!!

The best you can do is to fine tune it on your custom dataset, even a few texts (<100mb) can do a trick. This bot reflects an average discussion on Reddit, and business is not an integral part of it. You can also experiment with the temperature and other params that control creativity, and decrease it to get “normality”. Or penalize shorter responses. Or include a ranker or two to filter out responses that would lead to shorter discussions on Reddit. There are a lot of ways, each having its own pros and cons.


Introduce jsonPatch operator

:tada: This issue has been resolved in version 2.5.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[DS-3775] Hibernate session bug when submitting item with Versioning enabled

https://jira.duraspace.org/browse/DS-3775

That sounds great.
I'm on vacation right now, but will update the PR within a few days.

@tomdesair The reloadEntity call has been moved to HandleUtil as requested.

Thanks @jsavell ! That will also prevent future issues with the HandleUtil.obtainHandle method.


Chapters don't display right

When chapters/verses are found in the input text, they usually output wrong. For example: chapters 1-9 output as chapters 10-90 for some reason.

This no longer seems to be the case, but I'm not sure what change fixed this. This probably deserves a closer look when I have the chance.


fix: Remove TPM from Windows 10 preference

What this PR does / why we need it:
Windows 10 does not strictly require a TPM. A TPM without persistence might even lead to data loss, when encryption keys are lost.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

Windows 10 preference now boots from UEFI instead of BIOS

/lgtm

/approve

/cherry-pick release-0.4


Fetcher config is updated! 🙋🏻♂

Users now don't have to pass the RawAPI or Televerse instance to the Fetcher constructor anymore. The thought that since the user is already passing the token why can't we just use it to construct the RawAPI on our side ended up here.
Now, everything is as simple as:
  Bot bot = Bot(token, fetcher: LongPolling());

Or with a webhook like this:
  Bot bot = Bot(token, fetcher: Webhook(_server, url: url));

Before it was like:
  Bot bot = Bot(token, fetcher: LongPolling(RawAPI(token),),);

Or for webhook like this:
  Bot bot = Bot(token, fetcher: Webhook(RawAPI(token), _server, url: url,));

Easy, right?


LSB Bible: Italics are trimming the space

When there is an italic word in an LSB Bible verse the plugin is trimming the space.
The reason for this appears to be because in the bolls.life API response the italicized word includes the space within the html tags and I presume that when converting these to markdown that you are performing a trim.
For example, in Genesis 1:11, calling bolls.life/get-verse/LSB/1/1/11/ results in
{
    "pk": 3421186,
    "verse": 11,
    "text": "Then God said, “Let the earth sprout vegetation, plants yielding seed, <i>and </i>fruit trees on the earth bearing fruit after their kind with seed in them”; and it was so."
}

Note the seed, <i>and </i>fruit
While the output from the plugin results in:
###### 11
Then God said, “Let the earth sprout vegetation, plants yielding seed, *and*fruit trees on the earth bearing fruit after their kind with seed in them”; and it was so.

Note the seed, *and*fruit
Looking at the code in main.ts it appears that the place where the space is removed is on line 830
.replace(/\s*<\/\s*i*\s*>/g, "*") // Italics open tag

Using the Genesis 1.11 example, this regex is matching the following

This probably affects the other tags as well, though I have not found examples of them yet

Thoroughly investigated, very nice!
I believe I did this because asterisk italics break with whitespace. Perhaps moving the whitespace outside the italicized section would be a better fix.

Here's the fix I opted for:
// Replace x</i> with x*
.replace(/(\s*)<\s*\/\s*i\s*>/g, (_, ws) => { return "*" + ws })

Apparently, replace supports passing a function that returns the replacement String. The regular expression matches the tag and captures the white-space in ws, which is re-added back to the replaced result in a way that does not break the markdown italics.
This should be the result:
from "<i>Hello </i>world!"
into "*Hello* world!"

That looks like a great solution!


Add backup restore

Short description:
More details:
What this PR does / why we need it:
Which issue(s) this PR fixes:
Special notes for reviewer:
Bug:

/verified

!verified

!cherry-pick v4.11

!cherry-pick v4.11


faster small better

so this will break all other dockerfiles.... but the buildpack deps is sooooo big thats why its so slow on vfs

GCC image needs libc6-dev.

my b
On Wed, Feb 3, 2016 at 12:52 PM, Brian Goff<EMAIL_ADDRESS>wrote:

GCC image needs libc6-dev.
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/pull/19978#issuecomment-179458646.

--
Jessie Frazelle
4096R / D4C4 DD60 0D66 F65A 8EFC  511E 18F3 685C 0022 BFF3
pgp.mit.edu http://pgp.mit.edu/pks/lookup?op=get&search=0x18F3685C0022BFF3

so im wondering how difficult it will be to get all the other dockerfiles on board with this :innocent:

closing in favor of #19504


Read block operation failed with error

Hi, Thanks for developing the pipeline to detect the SV. I got some error when I run the speedseq sv pipeline
[E::bgzf_read] Read block operation failed with error 33 after 0 of 4 bytes
Traceback (most recent call last):
  File "/home/taoyan/miniconda3/envs/speedseq/speedseq//bin/svtyper", line 1806, in <module>
    sys.exit(main())
  File "/home/taoyan/miniconda3/envs/speedseq/speedseq//bin/svtyper", line 1801, in main
    args.max_reads)
  File "/home/taoyan/miniconda3/envs/speedseq/speedseq//bin/svtyper", line 1532, in sv_genotype
    read_batch, many = gather_reads(sample, chromB, posB, ciB, z, read_batch, max_reads)
  File "/home/taoyan/miniconda3/envs/speedseq/speedseq//bin/svtyper", line 1315, in gather_reads
    min(pos + ci[1] + fetch_flank, chrom_length))):
  File "pysam/libcalignmentfile.pyx", line 2094, in pysam.libcalignmentfile.IteratorRowRegion.__next__
IOError: truncated file

caused by the pysam version. After I downgraged to pysam version0.9.0, all is fine