Modbus TCP/IP vMBTCPPortMasterGetCurrInfo() Error (IDFGH-4623)

Environment

Module or chip used:  [ESP32-WROOM-32]
IDF version (run git describe --tags to find it): v4.3-dev-2586-g526f682397
Build System:         [|idf.py]
Compiler version (run xtensa-esp32-elf-gcc --version to find it): xtensa-esp32-elf-gcc (crosstool-NG esp-2020r3) 8.4.0
Operating System:     [Linux]
Using an IDE?: [No|Yes (please give details)]
Power Supply:         [USB]

Problem Description
I am creating a Modbus TCP/IP application where I need to use the slave addresses [1, 2, 200]. However, for the slave address
200 the device resets and gets a problem in port_tcp_master.c file in line 895 specifically in the
if (pxInfo->xSockId > -1) { line.
I tried to debug this and found out that the function vMBTCPPortMasterGetCurrInfo()  returns a wrong item from the
MbSlaveInfo_t ** table.  That happens because my slave address is 200. Therefore, it tries to get the
 xMbPortConfig.pxMbSlaveInfo[xMbPortConfig.ucCurSlaveIndex - 1]; But the ucCurSlaveIndex is 200.
This needs to change into  xMbPortConfig.pxMbSlaveInfo[xMbPortConfig.usMbSlaveInfoCount - 1];
Now, even though I don't get an error, I get the correct pxInfo struct in the code.
Expected Behavior
Actual Behavior
Steps to reproduce

Create a descriptor table with a slave address 200.
Connect to a Modbus TCP/IP device with its IP
Setup the communication as stated in the example tutorial.
Attempt to use mbc_master_get_parameter() to get the data from that slave address.

Code to reproduce this issue
Debug Logs
Guru Meditation Error: Core  0 panic'ed (LoadStoreError). Exception was unhandled.

Core  0 register dump:
PC      : 0x4000c3f0  PS      : 0x00060130  A0      : 0x80058ac0  A1      : 0x3ffe5850
A2      : 0x3ffe5beb  A3      : 0x400902e0  A4      : 0x00000002  A5      : 0x3ffdf738
0x400902e0: prvCopyItemByteBuf at /home/pro_kampas/esp/esp-idf/components/esp_ringbuf/ringbuf.c:466

A6      : 0x00000075  A7      : 0x00000001  A8      : 0x00000000  A9      : 0x400902e0
0x400902e0: prvCopyItemByteBuf at /home/pro_kampas/esp/esp-idf/components/esp_ringbuf/ringbuf.c:466

A10     : 0x00000020  A11     : 0x3ffdf784  A12     : 0x00000000  A13     : 0x00000001
A14     : 0x00000000  A15     : 0x3ffbc058  SAR     : 0x00000016  EXCCAUSE: 0x00000003
EXCVADDR: 0x400902e0  LBEG    : 0x400014fd  LEND    : 0x4000150d  LCOUNT  : 0xffffffff
0x400902e0: prvCopyItemByteBuf at /home/pro_kampas/esp/esp-idf/components/esp_ringbuf/ringbuf.c:466

Backtrace:0x4000c3ed:0x3ffe5850 0x40058abd:0x3ffe5870 0x401c4d07:0x3ffe58a0 0x401ca2ae:0x3ffe58d0 0x401ca403:0x3ffe5be0 0x401c74cc:0x3ffe5d00 0x401bd1ed:0x3ffe6010 0x4013ee2a:0x3ffe6060 0x4013f3f5:0x3ffe6090 0x4013f0cb:0x3ffe60b0 0x4013db12:0x3ffe60f0 0x400941a5:0x3ffe6120
0x401c4d07: __sprint_r at /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/newlib/newlib/libc/stdio/vfprintf.c:433
 (inlined by) __sprint_r at /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/newlib/newlib/libc/stdio/vfprintf.c:403

0x401ca2ae: _vfprintf_r at /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/newlib/newlib/libc/stdio/vfprintf.c:1773 (discriminator 1)

0x401ca403: __sbprintf at /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/newlib/newlib/libc/stdio/vfprintf.c:480

0x401c74cc: _vfprintf_r at /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/newlib/newlib/libc/stdio/vfprintf.c:868 (discriminator 5)

0x401bd1ed: printf at /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/newlib/newlib/libc/stdio/printf.c:56 (discriminator 5)

0x4013ee2a: xMBMasterTCPPortSendResponse at /home/pro_kampas/esp/esp-idf/components/freemodbus/tcp_master/port/port_tcp_master.c:896

0x4013f3f5: eMBMasterTCPSend at /home/pro_kampas/esp/esp-idf/components/freemodbus/modbus/tcp/mbtcp_m.c:145

0x4013f0cb: eMBMasterPoll at /home/pro_kampas/esp/esp-idf/components/freemodbus/modbus/mb_m.c:337 (discriminator 15)

0x4013db12: modbus_tcp_master_task at /home/pro_kampas/esp/esp-idf/components/freemodbus/tcp_master/modbus_controller/mbc_tcp_master.c:60

0x400941a5: vPortTaskWrapper at /home/pro_kampas/esp/esp-idf/components/freertos/port/xtensa/port.c:168

Other items if possible

Hi @ProKampas,
Thank you for your issue.
I can confirm this. When Modbus TCP stack was designed I made some constraints in its design. The short addresses of the slaves in the Dictionary for Modbus parameters (device_parameters) should not have any gaps in between and short address of slave (mb_parameter_descriptor_t::mb_slave_addr) should correspond to its IP address in the table which is referenced by comm_info.ip_addr.  This was described in the documentation and example. On start of stack the mbc_tcp_master_start() registers all slave addresses in master configuration structure and then connects to each slave in list. It supposed that we create the modbus segment and are able to configure the slave addresses accordingly. Because of gap in the slave address the slave information for slave with address 200 is saved in the xMbPortConfig.pxMbSlaveInfo[2] but vMBTCPPortMasterGetCurrInfo() tries to get information from xMbPortConfig.pxMbSlaveInfo[200] which cases issue. I think it worth to fix this and register each slave as a pair (slave_short_add, ip_address) in the configuration. Unfortunately your fix above will not work correctly in all cases. As soon as it is ready I will provide patch for you.

Hi @ProKampas,
Thank you for your issue.
I can confirm this. When Modbus TCP stack was designed I made some constraints in its design. The short addresses of the slaves in the Dictionary for Modbus parameters (device_parameters) should not have any gaps in between and short address of slave (mb_parameter_descriptor_t::mb_slave_addr) should correspond to its IP address in the table which is referenced by comm_info.ip_addr.  This was described in the documentation and example. On start of stack the mbc_tcp_master_start() registers all slave addresses in master configuration structure and then connects to each slave in list. It supposed that we create the modbus segment and are able to configure the slave addresses accordingly. Because of gap in the slave address the slave information for slave with address 200 is saved in the xMbPortConfig.pxMbSlaveInfo[2] but vMBTCPPortMasterGetCurrInfo() tries to get information from xMbPortConfig.pxMbSlaveInfo[200] which cases issue. I think it worth to fix this and register each slave as a pair (slave_short_add, ip_address) in the configuration. Unfortunately your fix above will not work correctly in all cases. As soon as it is ready I will provide patch for you.

Hi @alisitsyn,
Thank you for your response.

Hi @alisitsyn,
Thank you for your response.

Hi @ProKampas,
Please check the patch attached. This patch fixes your issue with short address with gaps in the data dictionary.
0001_fix_modbus_crash_when_short_address_gaps_in_data_dictionary.diff
Please try to use CONFIG_MB_MDNS_IP_RESOLVER, CONFIG_MB_SLAVE_IP_FROM_STDIN options in the menuconfig and let me know if you have any issues.
Thanks.

Hi @ProKampas,
Please check the patch attached. This patch fixes your issue with short address with gaps in the data dictionary.
0001_fix_modbus_crash_when_short_address_gaps_in_data_dictionary.diff
Please try to use CONFIG_MB_MDNS_IP_RESOLVER, CONFIG_MB_SLAVE_IP_FROM_STDIN options in the menuconfig and let me know if you have any issues.
Thanks.

Hi @ProKampas,
Could you provide update for your project? Does the patch work for you?

@ProKampas,
Could you provide some update for this issue?

Hi @alisitsyn,
I couldn't get the patch to work. I am using the solution I explained in the description and it's working fine.

Hi @ProKampas,
It is strange that the patch does not work on your side. Could you share the log for the application with applied patch?
I need to find a reason for your issues.
Thanks.

I tried to apply the patch with git apply but the code was not building correctly. That was my problem.

Hi @ProKampas,
Could you answer to my questions below:

What is the version of IDF do you try to apply the patch for.
Do you see the errors when you apply the patch?
Could you send the compilation log?

Please let me help you to solve this issue. The patch should work just fine, if not I can help you to fix.
Thank you.

Hi @alisitsyn ,
I tested your patch. Sorry for the long wait.

I used the latest release/4.3 for your patch.
I managed to apply the patch successfully.
The same error exists. I want to use slave addresses of 200, 1000, 1100 and this software doesn't allow that. This is my problem. I want to use the Modbus RTU over TCP/IP and that's why I had to make the modifications I explained in this issue and the other one I opened a while ago.
The log from my attempt to start a communication is the following:

I (36822) MB_TCP_MASTER_PORT: TCP master stack initialized.
I (36822) MB_TCP_MASTER_PORT: Add slave IP: <IP_ADDRESS>
I (36822) MB_TCP_MASTER_PORT: Connecting to slaves...
-I (36852) MB_TCP_MASTER_PORT: Connected 1 slaves, start polling...
I (36852) ALF: Modbus comm start ok
E (36932) MB_TCP_MASTER_PORT: Slave info for short address 200 not found.
Guru Meditation Error: Core  0 panic'ed (LoadProhibited). Exception was unhandled.

Core  0 register dump:
PC      : 0x4013df6b  PS      : 0x00060930  A0      : 0x8013e4f8  A1      : 0x3fffbe70
0x4013df6b: xMBMasterTCPPortSendResponse at /home/pro_kampas/esp/esp-idf/components/freemodbus/tcp_master/port/port_tcp_master.c:923

A2      : 0x3ffcca8e  A3      : 0x0000000c  A4      : 0x00000000  A5      : 0x00000010
A6      : 0x3ffb5e40  A7      : 0x3ffb5dfc  A8      : 0x8013df68  A9      : 0x3fffbe50
A10     : 0x00000000  A11     : 0x3ffc8d2c  A12     : 0x00000000  A13     : 0x3ffc0498
A14     : 0x00000001  A15     : 0x00000001  SAR     : 0x00000012  EXCCAUSE: 0x0000001c
EXCVADDR: 0x00000004  LBEG    : 0x400014fd  LEND    : 0x4000150d  LCOUNT  : 0xfffffffb

Backtrace:0x4013df68:0x3fffbe70 0x4013e4f5:0x3fffbea0 0x4013e1c3:0x3fffbec0 0x4013cbe2:0x3fffbf00 0x4009583d:0x3fffbf30
0x4013df68: xMBMasterTCPPortSendResponse at /home/pro_kampas/esp/esp-idf/components/freemodbus/tcp_master/port/port_tcp_master.c:920

0x4013e4f5: eMBMasterTCPSend at /home/pro_kampas/esp/esp-idf/components/freemodbus/modbus/tcp/mbtcp_m.c:145

0x4013e1c3: eMBMasterPoll at /home/pro_kampas/esp/esp-idf/components/freemodbus/modbus/mb_m.c:337 (discriminator 15)

0x4013cbe2: modbus_tcp_master_task at /home/pro_kampas/esp/esp-idf/components/freemodbus/tcp_master/modbus_controller/mbc_tcp_master.c:113

0x4009583d: vPortTaskWrapper at /home/pro_kampas/esp/esp-idf/components/freertos/port/xtensa/port.c:168

@ProKampas ,
I can not check what is wrong on your side. As per log you did not configure the master and slave appropriately. The log says that master could find just one slave and I do not see the required log lines to control the resolving of the data dictionary table. Then master starts connection to one slave and trying to find slave with index 200. I can not control how correct the changes were applied to your project but can see that your code is incorrect and do not function properly. According to this please check the project here. The project requires configured and flashed TCP slaves with index 1 and index 200 in data dictionary (can be easily changed to any address). The project in fact is able to work. Please compile the project and check it. However we did not discuss about slave index > 255, but it is not a big issue. The log is below:
I (2587) esp_netif_handlers: example_connect: sta ip: <IP_ADDRESS>, mask: <IP_ADDRESS>, gw: <IP_ADDRESS>
I (2587) example_connect: Got IPv4 event: Interface "example_connect: sta" address: <IP_ADDRESS>
I (2597) example_connect: Connected to example_connect: sta
I (2597) example_connect: - IPv4 address: <IP_ADDRESS>
I (2607) wifi:Set ps type: 0

I (2607) MASTER_TEST: Query PTR: _modbus._tcp.local
  PTR : mb_slave_tcp_01
  TXT : [3] mb_id=33221100; mac=A8032AEC08C8; board=esp32;
I (5687) MASTER_TEST: Resolved slave mb_slave_tcp_01[<IP_ADDRESS>]:502
I (5697) MASTER_TEST: Index: 0, sl_addr: 1, resolved to IP: [<IP_ADDRESS>]
I (5697) MASTER_TEST: Index: 1, sl_addr: 1, set to IP: [<IP_ADDRESS>]
I (5707) MASTER_TEST: Index: 2, sl_addr: 1, set to IP: [<IP_ADDRESS>]
  PTR : mb_slave_tcp_C8
  TXT : [3] mb_id=33221100; mac=A8032AEC0DFC; board=esp32;
I (5727) MASTER_TEST: Resolved slave mb_slave_tcp_C8[<IP_ADDRESS>]:502
I (5727) MASTER_TEST: Index: 3, sl_addr: 200, resolved to IP: [<IP_ADDRESS>]
I (5737) MASTER_TEST: Index: 4, sl_addr: 200, set to IP: [<IP_ADDRESS>]
I (5747) MASTER_TEST: Index: 5, sl_addr: 1, set to IP: [<IP_ADDRESS>]
I (5757) MASTER_TEST: Index: 6, sl_addr: 1, set to IP: [<IP_ADDRESS>]
I (5757) MASTER_TEST: Index: 7, sl_addr: 1, set to IP: [<IP_ADDRESS>]
I (5767) MASTER_TEST: Resolved 8 cids, with 2 IP addresses
I (5777) MASTER_TEST: Modbus master stack initialized...
I (5777) MB_TCP_MASTER_PORT: TCP master stack initialized.
I (5787) MB_TCP_MASTER_PORT: Add slave IP: <IP_ADDRESS>
I (5797) MB_TCP_MASTER_PORT: Add slave IP: <IP_ADDRESS>
I (5797) MB_TCP_MASTER_PORT: Connecting to slaves...
-W (5807) wifi:<ba-add>idx:0 (ifx:0, 64:d1:54:1a:23:5b), tid:0, ssn:5, winSize:64
-..--I (5867) MB_TCP_MASTER_PORT: Connected 2 slaves, start polling...
I (6017) MASTER_TEST: Start modbus test...
I (6077) MASTER_TEST: Characteristic #0 Data_channel_0 (Volts) value = 1.120000 (0x3f8f5c29) read successful.
I (6137) MASTER_TEST: Characteristic #1 Humidity_1 (%rH) value = 1.340000 (0x3fab851f) read successful.
I (6197) MASTER_TEST: Characteristic #2 Temperature_1 (C) value = 2.340000 (0x4015c28f) read successful.
I (6267) MASTER_TEST: Characteristic #3 Humidity_2 (%rH) value = 2.560000 (0x4023d70a) read successful.
I (6327) MASTER_TEST: Characteristic #4 Temperature_2 (C) value = 3.560000 (0x4063d70a) read successful.
I (6387) MASTER_TEST: Characteristic #5 Humidity_3 (%rH) value = 3.780000 (0x4071eb85) read successful.
I (6447) MASTER_TEST: Characteristic #6 RelayP1 (on/off) value = OFF (0x55) read successful.
I (6517) MASTER_TEST: Characteristic #7 RelayP2 (on/off) value = OFF (0xaa) read successful.
I (7077) MASTER_TEST: Characteristic #0 Data_channel_0 (Volts) value = 1.120000 (0x3f8f5c29) read successful.
I (7137) MASTER_TEST: Characteristic #1 Humidity_1 (%rH) value = 2.440000 (0x401c28f6) read successful.
I (7197) MASTER_TEST: Characteristic #2 Temperature_1 (C) value = 2.340000 (0x4015c28f) read successful.
I (7257) MASTER_TEST: Characteristic #3 Humidity_2 (%rH) value = 2.560000 (0x4023d70a) read successful.
I (7317) MASTER_TEST: Characteristic #4 Temperature_2 (C) value = 3.560000 (0x4063d70a) read successful.
I (7387) MASTER_TEST: Characteristic #5 Humidity_3 (%rH) value = 3.780000 (0x4071eb85) read successful.
I (7447) MASTER_TEST: Characteristic #6 RelayP1 (on/off) value = OFF (0x55) read successful.
I (7507) MASTER_TEST: Characteristic #7 RelayP2 (on/off) value = OFF (0xaa) read successful.
I (8067) MASTER_TEST: Characteristic #0 Data_channel_0 (Volts) value = 1.120000 (0x3f8f5c29) read successful.
I (8127) MASTER_TEST: Characteristic #1 Humidity_1 (%rH) value = 3.540000 (0x40628f5c) read successful.
I (8187) MASTER_TEST: Characteristic #2 Temperature_1 (C) value = 2.340000 (0x4015c28f) read successful.
I (8247) MASTER_TEST: Characteristic #3 Humidity_2 (%rH) value = 2.560000 (0x4023d70a) read successful.
I (8317) MASTER_TEST: Characteristic #4 Temperature_2 (C) value = 3.560000 (0x4063d70a) read successful.
I (8377) MASTER_TEST: Characteristic #5 Humidity_3 (%rH) value = 3.780000 (0x4071eb85) read successful.
I (8437) MASTER_TEST: Characteristic #6 RelayP1 (on/off) value = OFF (0x55) read successful.
I (8497) MASTER_TEST: Characteristic #7 RelayP2 (on/off) value = OFF (0xaa) read successful.
I (9057) MASTER_TEST: Characteristic #0 Data_channel_0 (Volts) value = 1.120000 (0x3f8f5c29) read successful.
I (9117) MASTER_TEST: Characteristic #1 Humidity_1 (%rH) value = 4.640000 (0x40947ae1) read successful.
I (9177) MASTER_TEST: Characteristic #2 Temperature_1 (C) value = 2.340000 (0x4015c28f) read successful.
I (9237) MASTER_TEST: Characteristic #3 Humidity_2 (%rH) value = 2.560000 (0x4023d70a) read successful.
I (9297) MASTER_TEST: Characteristic #4 Temperature_2 (C) value = 3.560000 (0x4063d70a) read successful.
I (9357) MASTER_TEST: Characteristic #5 Humidity_3 (%rH) value = 3.780000 (0x4071eb85) read successful.
I (9417) MASTER_TEST: Characteristic #6 RelayP1 (on/off) value = OFF (0x55) read successful.
I (9477) MASTER_TEST: Characteristic #7 RelayP2 (on/off) value = OFF (0xaa) read successful.
I (10037) MASTER_TEST: Characteristic #0 Data_channel_0 (Volts) value = 1.120000 (0x3f8f5c29) read successful.
I (10097) MASTER_TEST: Characteristic #1 Humidity_1 (%rH) value = 5.740000 (0x40b7ae14) read successful.
I (10157) MASTER_TEST: Characteristic #2 Temperature_1 (C) value = 2.340000 (0x4015c28f) read successful.
I (10217) MASTER_TEST: Characteristic #3 Humidity_2 (%rH) value = 2.560000 (0x4023d70a) read successful.
I (10277) MASTER_TEST: Characteristic #4 Temperature_2 (C) value = 3.560000 (0x4063d70a) read successful.
I (10337) MASTER_TEST: Characteristic #5 Humidity_3 (%rH) value = 3.780000 (0x4071eb85) read successful.
I (10397) MASTER_TEST: Characteristic #6 RelayP1 (on/off) value = OFF (0x55) read successful.
I (10457) MASTER_TEST: Characteristic #7 RelayP2 (on/off) value = OFF (0xaa) read successful.
I (11017) MASTER_TEST: Characteristic #0 Data_channel_0 (Volts) value = 1.120000 (0x3f8f5c29) read successful.
I (11077) MASTER_TEST: Characteristic #1 Humidity_1 (%rH) value = 6.840000 (0x40dae147) read successful.
I (11137) MASTER_TEST: Characteristic #2 Temperature_1 (C) value = 2.340000 (0x4015c28f) read successful.
I (11197) MASTER_TEST: Characteristic #3 Humidity_2 (%rH) value = 2.560000 (0x4023d70a) read successful.
I (11257) MASTER_TEST: Characteristic #4 Temperature_2 (C) value = 3.560000 (0x4063d70a) read successful.
I (11317) MASTER_TEST: Characteristic #5 Humidity_3 (%rH) value = 3.780000 (0x4071eb85) read successful.
I (11377) MASTER_TEST: Characteristic #6 RelayP1 (on/off) value = OFF (0x55) read successful.
I (11437) MASTER_TEST: Characteristic #7 RelayP2 (on/off) value = OFF (0xaa) read successful.
I (11997) MASTER_TEST: Characteristic #0 Data_channel_0 (Volts) value = 1.120000 (0x3f8f5c29) read successful.
I (12057) MASTER_TEST: Characteristic #1 Humidity_1 (%rH) value = 7.940000 (0x40fe147a) read successful.
I (12117) MASTER_TEST: Characteristic #2 Temperature_1 (C) value = 2.340000 (0x4015c28f) read successful.
I (12177) MASTER_TEST: Characteristic #3 Humidity_2 (%rH) value = 2.560000 (0x4023d70a) read successful.
I (12237) MASTER_TEST: Characteristic #4 Temperature_2 (C) value = 3.560000 (0x4063d70a) read successful.
I (12307) MASTER_TEST: Characteristic #5 Humidity_3 (%rH) value = 3.780000 (0x4071eb85) read successful.
I (12367) MASTER_TEST: Characteristic #6 RelayP1 (on/off) value = OFF (0x55) read successful.
I (12437) MASTER_TEST: Characteristic #7 RelayP2 (on/off) value = ON (0xff) read successful.
I (12937) MASTER_TEST: Alarm triggered by cid #7.
I (12937) MASTER_TEST: Destroy master...
I (13937) MASTER_TEST: Modbus master stack destroy...

Please find the project Modbus TCP master slave projects with address gaps. The project contains Modbus master and slave TCP examples).
The project is self-sufficient and overrides the existing Modbus component folder to patched one.

Yes, you are right. This project is working fine.

Sorry, for the delay. This functionality has been merged into master with commit ID 2cad565781eb95ffbbe0840f801016acaca82e86 .
It needs some time to sync with github.

Thanks for reporting, fix on master is available at https://github.com/espressif/esp-idf/commit/2cad565781eb95ffbbe0840f801016acaca82e86 and fix on release/4.3 is available at https://github.com/espressif/esp-idf/commit/5c78283f6eb9deea0b371851e318ea5f00675f14, feel free to reopen if the issue still happens, thanks.

Please find the project Modbus TCP master slave projects with address gaps. The project contains Modbus master and slave TCP examples). The project is self-sufficient and overrides the existing Modbus component folder to patched one.

Good afternoon. I need your help, I downloaded an updated library from your link, where is the issue with the answer for Modbus TCP resolved? the UNIT ID has not been transmitted before. The project worked successfully, but since I need constant polling via Modbus TCP, I excluded the possibility of stopping the driver from the project, and noticed that after some time from 2 to 10 hours, work fails until the esp is completely rebooted. I am attaching the logs from the exchange, I checked it on the simplest project from the "\examples\protocols\modbus\tcp\mb_tcp_master" folder, then I transferred the code to my more complex project, the behavior has not changed
mb_tcp_master.log
I also saw errors in the logs MB_CONTROLLER_MASTER: mbc_master_send_request(94): Master send request failure error=(0x107) (ESP_ERR_TIMEOUT).
I increased the tcp timeout to 2 seconds, errors began to appear less often and the reboot time increased.
The last option worked for almost 10 hours and still the module rebooted, since there is a lot of functionality in my project, I also reduced the CONFIG_FMB_TCP_PORT_MAX_CONN parameter to 3
Errors associated with the socket disappeared and the program worked for ~ 10 hours, in difficult conditions, writing 64 registers with a period of 200 ms, Modbus Slave is used as a slave, I also checked it on a real device.

Hi @pr200sd,
The project is obsolete. The updated feature of Modbus TCP master has been merged to the master of ESP-IDF. Please try to compile your project using the latest master. Also, the freemodbus component in ESP-IDF will be removed.
I would suggest you try using the separate esp-modbus instead.  Here is the repo for it. See the instructions on how to start using this component instead of freemodbus the line set(EXCLUDE_COMPONENTS freemodbus) needs to be added to your project CMakeLists.txt file. If you still see the errors please open the separate issue here.
Thank you.

Do you mean that the slave does not respond with its slave address in the UNITID field of MBAP?

Yes, the library from the attachment "mb_m_s_address_gaps solved" this problem.

Yes, the tcp slave does not set the UID to its short address (the slave currently does not support this). The UID field will is just 0 (does not support RTU over TCP now). The same processing is in the my library
https://github.com/espressif/esp-idf/blob/master/components/freemodbus/tcp_slave/port/port_tcp_slave.c#L717

Yes thanks, with UID everything is clear.
I tested with the new version, example
"\esp-modbus-master\test\tcp\mb_tcp_master" as with previous versions,
at first everything goes well, but after a while errors appear and
the connection does not continue,
in this case I did not wait for a reboot .
ср, 6 апр. 2022 г. в 19:16, Alex Lisitsyn @.***>:

Yes, the tcp slave does not set the UID to its short address (the slave
currently does not support this). The UID field will is just 0 (does not
support RTU over TCP now). The same processing is in the my library
https://github.com/alisitsyn/modbus_support/blob/mb_support/mb_m_s_support_address_gaps/mb_m_s_address_gaps/mb_component/tcp_slave/port/port_tcp_slave.c#L712
https://github.com/espressif/esp-idf/blob/master/components/freemodbus/tcp_slave/port/port_tcp_slave.c#L717
—
Reply to this email directly, view it on GitHub
https://github.com/espressif/esp-idf/issues/6437#issuecomment-1090455085,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMPVINAYGHSQ75Q7XQO5ZVTVDW2FZANCNFSM4WKQZQSQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

@pr200sd,
Just to confirm: did you try the esp-modbus library and original tcp_master example?
If yes, please provide the complete log again to confirm the issue. I need the log of output from idf.py flash monitor command which does backtracing of function calls in the output. For better result please send me complete project of your example including sdkconfig, and build folder with *.map and *.elf files.
Thanks.

Yes, I used the original project, leaving only 2 registers and 1 IP address.
The only moment, I could not add esp-modbus through the component manager,
there were errors in the logs, I placed the folder in components and
from there I launched the project for assembly.
I attached the project with the files, but I did not save the log of
the idf.py flash monitor command,
now I tried to run it from eclipse and the command line,
but in both options I could not enter the command "IP0: <IP_ADDRESS>;"
I work through the Terminal program, everything is entered in it,
the log file attached in the last letter is from this program.
The log monitor.txt file contains information when loading the project.
чт, 7 апр. 2022 г. в 09:45, Alex Lisitsyn @.***>:

@pr200sd https://github.com/pr200sd,
Just to confirm: did you try the esp-modbus library and original
tcp_master example?
If yes, please provide the complete log again to confirm the issue. I need
the log of output from idf.py flash monitor command which does
backtracing of function calls in the output. For better result please send
me complete project of your example including sdkconfig, and build folder
with *.map and *.elf files.
Thanks.
—
Reply to this email directly, view it on GitHub
https://github.com/espressif/esp-idf/issues/6437#issuecomment-1091139488,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMPVINDFZKA3PRD5QH65D3DVD2ABBANCNFSM4WKQZQSQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hi,
Sorry for the delay,

now I tried to run it from eclipse and the command line,
but in both options I could not enter the command "IP0: <IP_ADDRESS>;"

IP to the code, before that it rebooted with an error,

The error happens because you entered the IP address manually in wrong format. The correct format to define the IP addresses manually in the terminal is: "IP0=<IP_ADDRESS>".
The project I sent you already has the dependency with the component manager. Should be able to be compiled on ESP-IDF v5.0. Please check if you have the component manager installed in your environment and your ESP_IDF version.

I attached the project with the files, but I did not save the log of
the idf.py flash monitor command,

Unfortunately do not see the project. The project with your binaries (build folder) needed to backtrace the function calls before crash. Please reproduce the issue and attach the build folder. Also you can use core dump functionality to save backtrace. This also will allow to save backtrace of functions on the moment of crash or WDT triggering. Just use the command the idf.py menuconfig then select Print core dump to UART (UART). Refer to the documentation for core dump above.
Thanks.

Thanks, I'll double-check with the IP address format and restart the test project again, I have ESP-IDF version 4.4, maybe this is the problem. Now I'm checking the work on the latest version of Modbus TCP master that you attached, I just copied it and registered it instead of freemodbus, I use it in my big project, failures still happen, 12-18 hours can work, then crashes and reboot.

Thank you for the information.
Note: The approach is to keep only necessary changes in the project (Data Dictionary). Try to reproduce the issues without the changes related to your big project for now. Once it happens please keep the log and project build folder then please send it to me. I also strongly recommend setting up a coredump, it will help us to find the reason for the issue. It can be very useful for your project later as well.

also attached a log from the monitor, but I can’t enter the IP in it,

I don't know why the regular idf.py flash monitor do not work for you. You can easily enter the IP address in notation: IP0=<IP_ADDRESS> + Enter key as example. Other variant is to use predefined IP as you did before or using the CONFIG_MB_MDNS_IP_RESOLVER to resolve slave IP automatically if it is ESP32 slave.
Thank you for artifacts. Still need your core_dump UART output file in BASE64 format once the issue is triggered.

20220413093143.log
Everything worked before, but I practically didn’t use it, I called it from the eclipse program, I’ll check it from the command line, I think it will work there. Yesterday I tested all day, the reboot did not happen, there are only WD logs, if this can be of any help.

20220414172430.log
Can't get esp to restart, but wd works, this is on the project I attached above.
There are also many messages about ESP_ERR_INVALID_RESPONSE as a slave computer with a Modbus slave.

@pr200sd, Please take a look at the newly created issue above.


Type mismatch issue with configuration

There seems to be a mismatch between what documentation says are the optional parameters: https://qytera-gmbh.github.io/projects/cypress-xray-plugin/section/configuration/xray/#uploadresults
And what's written in the code: https://github.com/Qytera-Gmbh/cypress-xray-plugin/blob/main/src/types/xray/plugin.ts#L47

uploadResults parameter is mandatory for xray configuration.

Thanks, I will look into it.

I included the fix in version 2.0.4. It should be available via npm.


add the new routes

@gandesc
you wrote in #280:
"

run the migrations (php artisan migrate)
add the new routes
check that the routes are fine by running, php artisan route:list, verifying that my new routes are in the list and that they point to the new controllers
"
php artisan migrate works fine
what exactly do you mean with "add the new routes"? Is that at the end from the cli-config, when is written "Copy and paste the following code into your api.php routes file:"?
route_list.txt
That is what i do.
Then there are only the api routes, no named routes. And the named routes point for example to "App\Http\Controllers\Vs\Dogs\Index" . And i had to write App/Dog at the model-Topic. So that seems to be right, but in the file system there is no directory App, only app (small letters). Is that really okay?

what exactly do you mean with "add the new routes"? Is that at the end from the cli-config, when is written "Copy and paste the following code into your api.php routes file:

Yes, that's exactly what I meant.

but in the file system there is no directory App, only app (small letters). Is that really okay?

Yep, that's okay, and it's unrelated to the Enso cli, it's Laravel specific as you have this in the autoload section of composer.json

So, I take it that the new structure works? :)

Until this point, yes. Thx for the answer. I just wasn't sure, because i did not find that entry, you showed me now.
Second point is - so i think - my docker config. I am playing around with some thing at the moment. enso requires a php 7.4 and in my local ubuntu-environment i only have 7.3. ...
docker works fine with postgresql and nginx
but yarn has a bug in yarn serve in this constellation, only yarn build works
Normally i use npm ...

If looking for a docker image with 7.4 maybe this could be useful: chilio/laravel-dusk-ci:php-7.4

my images work, thx a lot. Have one with postgresql and nginx.
Next point is this one:
it looks like the path structure is not entirely correct. After my yarn build i have the menus and when i click it, i always got the message that the json template for the table can not be found. A slash is missing between the permission group and the json file.
...Templates/Vsdogs.json -- should be ...Templates/Vs/dogs.json
Maybe a mistake in my config? But can not find where exacly. I have saved the config-session-file, you can find it in the attachement.

it is your topic from #280:

open the menu, check that the table is loading and displays no results.
I think that this is probably the point where i have to revert the migration and to fill all the templates

have adapted all the paths and templates, but i still get a
"something" went wrong ...
is there a logfile or something like that where i can controll the message?

ok, i have found the laravel log with:
[2020-03-09 15:56:36] local.ERROR: chmod(): Operation not permitted {"userId":1,"exception":"[object] (ErrorException(code: 0): chmod(): Operation not permitted at /var/www/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:198)

ok, corrected.

lastly i hang with a problem with enums
But the main problem is soluted
Thx a lot


IPHONE X HOMEBAR FAIL?

As u can see the home bar/ display size in screen fails after the jailbreak? How do i fix this?

HideBarX is something I’ve always used because I’m paranoid about it causing burn-in anyway and I highly recommend it. (From SparkDev’s Repo)

Yeah iknow that one but that does not fix the problem, i mean the display moved badly as u can see in the following screenshot, look al the way at the bottom and than u can see the difference between jailbroken and non-jailbroken


Added logo in navbar

Kindly review @Suchitra-Sahoo

@Suchitra-Sahoo Plz add level label on this issue before merging

Make the logo and favicon of the website same. Both can't look different

Ok @Suchitra-Sahoo

I have made the favicon and logo same. Kindly review @Suchitra-Sahoo

@AnushkaJainFirst the home page has been updated. You can check the changes by the link of the website but I guess in your branch you have not yet pulled the changes from origin. So do that.

Done @Suchitra-Sahoo

@AnushkaJainFirst I had to revert back your PR because I can see that in the favicon your logo is barely visible. It will be better if you can re disgn it.

@Suchitra-Sahoo....I have designed a new logo with better visibility and
created a PR for it.
PR no. is #244 and issue-no is #127
Attached the screenshot of it in the mail as well as PR. Kindly review!
Regards
Anushka Jain
On Mon, 13 May 2024 at 16:38, Suchitra Sahoo @.***>
wrote:

@AnushkaJainFirst https://github.com/AnushkaJainFirst I had to revert
back your PR because I can see that in the favicon your logo is barely
visible. It will be better if you can re disgn it.
—
Reply to this email directly, view it on GitHub
https://github.com/Suchitra-Sahoo/AgriLearnNetwork/pull/186#issuecomment-2107289118,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BCAQ7K24ZMRQCIR5W6SNZJ3ZCCNLLAVCNFSM6AAAAABHS24UNSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBXGI4DSMJRHA
.
You are receiving this because you were mentioned.Message ID:
@.***>


[SPARK-20848][SQL][Follow-up] Shutdown the pool after reading parquet files

What changes were proposed in this pull request?
This is a follow-up to #18073. Taking a safer approach to shutdown the pool to prevent possible issue. Also using ThreadUtils.newForkJoinPool instead to set a better thread name.
How was this patch tested?
Manually test.
Please review http://spark.apache.org/contributing.html before opening a pull request.

Test build #77314 has started for PR 18100 at commit f60b0b4.

cc @cloud-fan @zsxwing @gatorsmile Please take a look. Thanks

also cc @srowen

LGTM

Test build #77314 has finished for PR 18100 at commit f60b0b4.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/77314/
Test PASSed.

thanks, merging to master/2.2/2.1!


Add tracing for pipeline as per RFC

See https://github.com/wellcomecollection/docs/pull/8

Get in messaging library
Bring into individual applications


Add heights endpoint

This PR solves the issue #3 .
Search can me made by
GET /api/v1/search?height_gt=1230.4&height_lt=4000
GET /api/v1/search?height_gt=1230.4
GET /api/v1/search?height_st=1230.4
The search parameters height_gt , height_lt , height_st are added.

Hi! Thanks for your contribution.
Really Appreciate it.
Approved the PR 🦖


tables names in drift files can't be found when upgrading drift 2.2.0 -> 2.3.0 (drift_dev 2.2.0+1 -> 2.3.2)

I define the database tables in dart files like this:
@DataClassName('DFoo')
class FooTable extends Table {
  @override
  String get tableName => 'foo';

  IntColumn get fooId => integer()();
}

and use drift files for some queries:
import 'database.dart';

selectAll: SELECT * FROM foo;

It worked fine with drift 2.2.0 and when I upgraded to drift 2.3.0 I got errors like:
[WARNING] drift_dev on lib/models/db/foo.drift:
line 12, column 26: `foo` could not be found in any import.

I solved the issue: in fact I was using dao files along the drift files.
In each drift file I had just a single import: import 'dao.dart'; (without importing directly tables.dart)
In the dao file I had :
import 'tables.dart';
import 'database.dart';

This was working until 2.3.0. Now by adding import 'tables.dart'; in the drift file it works well with 2.3.0.
Thank you very much for your small project, it made me found the solution.

Hm that should actually still work as well - I'll take another look.

Actually I misread that - tables imported into a Dart file should not be exposed by default. The behavior in previous drift versions was unintentional.
Maybe we should look into respecting export statements eventually, but I'll close this issue as a wontfix.


Port call fix

This change set fixes a bug in the port:call/1,2 functions, whereby a call to a port that had crashed or terminated would hang indefinitely.
These changes are made under both the "Apache 2.0" and the "GNU Lesser General
Public License 2.1 or later" license terms (dual license).
SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later

wrong branch merge.  closing.


Local pull request success status testing

Docs Build status updates of commit 5bdb8e3:
:clock10: Pending: waiting for processors (14 builds ahead of you)
:warning: Docs Build is busy, currently there are 14 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 5bdb8e3:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

E2E_DocsBranch_Dynamic/index.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Add "click" event to circles and ellipses

Is this change all that's required?  It works for me, but perhaps there are repercussions I don't know about.

This shoudl probably be added to the rightmenu( function  - line 1343 insteaed so it captures all objects - not just circles - and then removed from the marker specific one around line 2048

fixed the PR as per comment and implemented locally. - published as v2.33.0


When targeting a specific framework, the framework needs to be specified

Summary
Describe your changes here.
Fixes #Issue_Number (if available)

Thanks for your PR @Rob-S. However, I'll close this PR for now. Right now, we're not showing parameters by default for any command. I'm happy to discuss if this is something we should fix across the board and not just here. So can you please open a new issue for us to discuss at https://github.com/dotnet/docs/issues?
Some commands synopsis could get really long with the extra info.


Secure VPP debug access

The current method of listening on a TCP socket allows non-root
users on the local host, and remote users to alter the network
configuration.  By switching this to a UNIX socket that only root
can access on the local host, we remove this vulnerability.
Note:  The documented netcat client does not support tab completion.
In the future, we should be able to make a simple CLI program that
will work with tab completion.
Drive by:  Cleaned up an inline bash script so it now reports error
status correctly, and made it more readable.

Coverage remained the same at 76.448% when pulling 2f6b9ce4ef885063cd5a42a7cf070b5f211691ce on nbartos:secure-cli into<PHONE_NUMBER>51d10b527203db3009ae51ed99cdfa on contiv:master.


{"BinTreeNodeReader->readListSize: Invalid token 164"}

What's wrong ? invalid token changed in different send

Did you find a solution?
I'm having the same problrm :(

Hello, I'm having the same problem, found any way to solve this?


HexKinetics' Sniper's Distillation Hits Anti-Raycast Blocks

HexKinetics' Sniper's Distillation (OpPixelRaycast) returns an accurate location on the Anti-Raycast blocks (glass/slate).
This is also a problem with HexGloop's Hexxed Glass.
Versions (truncated)

Minecraft 1.19.2
Quilt Loader 0.26.3
Hex Casting 0.10.3
Oneironaut 0.3.4
HexKinetics 0.7.3
HexGloop 0.2.0

Yeah I've known this was probably the case since I added the blocks (pretty sure sniper's also ignores stealth shroud), but I'm not sure how to make the mixin I'd probably need only try to load when hexkinetics is installed.
Also I don't really want to acknowledge hexkinetics in the first place, since it's so damn jank.


HHH-11867 - @UpdateTimestamp not working with @Inheritance( strategy = JOINED )

https://hibernate.atlassian.net/browse/HHH-11867.
The field is not updated when a field in the child entity is modified because getTableUpdateNeeded( dirtyFields, hasDirtyCollection ) states the parent  table, where the @UpdateTimestamp field is declared, does not require to be updated.
Changes to EntityMetamodel class are deletions of private unused methods.

Hi @vladmihalcea I have included your solution but changed a little bit the test, what do u think?

In your latest commit there is no change to the test:
Showing  with 43 additions and 108 deletions.
+38 −21  hibernate-core/src/main/java/org/hibernate/persister/entity/AbstractEntityPersister.java
+5 −87  hibernate-core/src/main/java/org/hibernate/tuple/entity/EntityMetamodel.java

@vladmihalcea  https://github.com/hibernate/hibernate-orm/pull/2165/commits/b5bd7ad890688a91063a0409068273353f223ed1

Thanks @vladmihalcea,
I'm going to integrate it.

applied upstream


Consider implementing some self-extracting executables

Hi!,
I'm working for the ScummVM project to re-implement the freescape engine. This engine was used to produce a variety of classic videos games such as Driller, Total Eclipse and Castle Master in different computers from the 80s, including AtariST and Amiga.
There are many cases of compressed executable for the AtariST/Amiga releases of the freescape games. For instance, there is a self-extracting AtariST Driller demo that we cannot run since it seems to be packed with some unknown algorithm. Could you please consider implementing some code to perform decompressions of self-extracting executables like this one or at least, taking a look and point us into the right direction on how to do it.
Thanks!

Hi,
The compression in that file is Jam-packer (like the hexdump implies.) The Jam Packer 4.0 has 4 different compression schemes and it looks like it is using the LZH-variant. The other variants include Pack-Ice which itself has multiple variants.
I've been planning to add Pack-Ice and Bytekiller variants for some time, and then implementing Jam Packer will become a real possibility. These are formats that I generally care about.
However, 2 things that I have not been implementing in ancient-library are archive-support and executable packers.
The reason for not implementing archive-support is mostly about time on my part - it would require a magnitude more effort and there are a lot of archival tools, some of which support ancient formats as well (unar, lhasa, deark etc.) Maybe I will change my mind someday if it is useful to someone, but definitely not in near future.
And then there are the executable packers. The reason for not supporting these boils down to 2 reasons:

They are lossy formats. They are made for a specific system, they contain sometimes executables relocated to fixed address, combine sections etc. Putting that toothpaste back to the tube is really hard. If you can't create a working uncompressed executable out of that the process is a lot less useful.
There are incredibly lot of variants to identify them properly. Any tool trying to implement any reasonable subset of them is fighting a losing battle.

Now, onto your specific case. I understand you do not necessarily need a working executable if you are planning to use the file in scummvm, thus this project is more of a digital archeology than tooling.
The contents of that file can be extracted by stripping away the decompressor and starting the file with part that starts with "LZH" then running the JAM Packer (http://umich.edu/~archive/atari/Archivers/jampack4.lzh) in Hatari and getting the file out of it. Whether it is usable for scummvm is a question but definitely it is not executable anymore.
If that does not work, I can try to help but that's not really in scope for this project. Just email me "tz at iki dot fi" and we can continue discussion offline


[SPARK-32490][BUILD] Upgrade netty-all to 4.1.51.Final

What changes were proposed in this pull request?
This PR aims to bring the bug fixes from the latest netty version.
Why are the changes needed?

4.1.48.Final: https://github.com/netty/netty/milestone/223?closed=1(14 patches or issues)
4.1.49.Final: https://github.com/netty/netty/milestone/224?closed=1(48 patches or issues)
4.1.50.Final: https://github.com/netty/netty/milestone/225?closed=1(38 patches or issues)
4.1.51.Final: https://github.com/netty/netty/milestone/226?closed=1(53 patches or issues)

Does this PR introduce any user-facing change?
No
How was this patch tested?
Pass the Jenkins with the existing tests.

Sounds fine, if it doesn't introduce behavior changes or anything.

Jenkins test this please

Can one of the admins verify this patch?

Can one of the admins verify this patch?

ok to test

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31464/
Test PASSed.

@LuciferYang, can you sync and rebase? then the tests should pass in GitHub Actions.

Test build #126841 has started for PR 29299 at commit 06a2b0d.

Test build #126841 has finished for PR 29299 at commit 06a2b0d.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/126841/
Test FAILed.

retest this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31500/
Test PASSed.

Test build #126878 has started for PR 29299 at commit 06a2b0d.

Test build #126878 has finished for PR 29299 at commit 06a2b0d.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/126878/
Test FAILed.

retest this please

Test build #126937 has started for PR 29299 at commit 06a2b0d.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31561/
Test PASSed.

Test build #126937 has finished for PR 29299 at commit 06a2b0d.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/126937/
Test FAILed.

retest this please

Test build #126938 has started for PR 29299 at commit 06a2b0d.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31563/
Test PASSed.

Test build #126938 has finished for PR 29299 at commit 06a2b0d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/126938/
Test PASSed.

thx @dongjoon-hyun @maropu @HyukjinKwon @srowen , I'm very sorry that I've been busy with other things these days and haven't paid attention to this ...

Hi,
Netty is upgraded to 4.1.51.Final by this PR, but it is not released in latest spark artifact on maven repo.
Can someone please confirm.

This was merged to Spark 3.1.0, not 3.0.1. Spark 3.1 is not released.
You can see that in the merge commit: https://github.com/apache/spark/commit/0693d8bbf2942ab96ffe705ef0fc3fe4b0d9ec11


Fix batch_dot with axis=None for 2D tensors #9847

See this issue: https://github.com/keras-team/keras/issues/9847
I created a quick fix that, for 2D tensors, defaults to doing the dot product on the axis index 1 if no axes arguments is provided. From the documentation I gather that this is logical considering how batch_dot() is typically used. Now batch_dotting two 2D-tensors with same shapes results, by default, in a new tensor with the same batch dimension, but the second dimension reduced to 1.
The example case given in the issue still throws error (because in that case the dimensions of the tensors are not compatible with the default behavior I provided), but the error user gets is now more informative.

Okay, I had time today to look further into this and it seems that Theano and TensorFlow backends give completely inconsistent results when using this batch_dot(). I ran a simple set of tests I wrote using both Theano and TensorFlow backends and get very different results in many cases. The most obvious thing is that Theano throws an error if you try to sum over this 0th dimension of the matrix (this comes from Theano implementation of the function), while TensorFlow doesn't. What is more alarming is that the values and even the dimensions of the outputs are different in many cases.
In case someone wants to look at my tests, here are the tests: https://pastebin.com/Ka7Z03nU and here are the Theano results: https://pastebin.com/0JTneTpU and here are the TensorFlow results: https://pastebin.com/ec4kNpjp . If the two backends gave same results, all the lines in the results would match.
I will look into it, but I can't promise any quick results, because I'm not familiar with the backend stuff so much. I think that maybe I will make my test code a bit easier to read and then I'll make an issue about this. This pull request should probably be closed since fixing just this trivial issue in batch_fix is pointless if it otherwise doesn't work as intended.


Fix a bug in the check for <IP_ADDRESS>.h - single email address in subject:emailAddress

See comments on #753. The Check should not disallow multiple emails in the subject field on a compliant cert, but it should only allow a single value in any individual subject:emailAddress field. This PR fixes that issue.

@christopher-henderson @zakird can I beg for a review on this and a patch release for this fix?

LGTM. @christopher-henderson would you be willing to cut a patch?

@zakird and @cardonator thank you for you patience this past week. I went ahead and skipped the RC and went directly to a 3.6.1 patch release for this.

Thanks!


SV - Update follow-ups.md

Missing a space between "för" and "möte".
It might be more missing spaces, but have not double checked it.


Kernel converter

Tool with the below usage is generated.
python3 ../bin/kernelConverter <lib Logic File .>  .
Validated with SGEMM, DGEMM, HPA HGEMM inputs. generated tensile file ran on tensile client.
Flake8 has been ran on the script.

Can we have TransposeA,B in output yaml file?
The logic file name tells which transpose is used.

Can we have TransposeA,B in output yaml file?

It looks like it is because the value was same as default (NT).

@nakajee The plan is to only keep non-default parameters, except for some basic parameters. @aferoz21 Can you add TransposeA, TransposeB, UseBeta, and Batched to the yaml, even if they are the same as default?

- ThreadTile: [4, 4]
- WorkGroup: [16, 8, 2]

It looks like this causes an error....
Could you please confirm the output can work without an error?
Please cover possible scenarios and make sure the output works.

- ThreadTile: [4, 4]
- WorkGroup: [16, 8, 2]

It looks like this causes an error.... Could you please confirm the output can work without an error? Please cover possible scenarios and make sure the output works.

It looks like using []can work.

ThreadTile: [[4, 4]]
WorkGroup: [[16, 8, 2]]

I am OK to put it in the same line as long as it works. You do not need separate process even if the value is list type. We always need to add each value in [ ].

Accidently hit the closed.
Since matrix instruction uses the other format, currently for thread tile and work group I am printing it in next line as like matrix instruction.

- ThreadTile: [4, 4]
- WorkGroup: [16, 8, 2]

It looks like this causes an error.... Could you please confirm the output can work without an error? Please cover possible scenarios and make sure the output works.

Similar to matrix instruction , ThreadTile and Workgroup is printed in the next line. add this test case in my golden suites. if any one have other test cases I can add it my list


Add the additional fence attributes to calls to highlight so that highlighters can then add them to the  tag

I need to be able to pass additional parameters to highlights, such as
~~~ javascript {line-numbers=5 highlight=14-17}

These attributes were not being forwarded from the default fence renderer to the highlight function.
I've added them in as a third parameter, so the change will be transparent to existing code.
Cheers
Dave

~ dupe of #626
Could you post there your use cases? That will help to verify possible signatures.

Here's a typical case:
~~~ javascript {highlight-a="1,4,6,9" highlight-b="2,3"}
function codeFor(name) {
  for (let i = 0; i < CountryCodes.length; i++) {
    if (name == CountryCodes[i][0])
      return CountryCodes[i][1]
  }
  return null
}

codeFor("Canada")
~~~

My highlighter() looks for attributes starting highlight- and adds <mark> tags to the given lines, where the class of the tag depends on the attribute name.
So there are no fixed attribute names: this is just a way of passing a set of values from the markdown level to the stuff that does rendering.
In my code, the type is simply Record<string,string>[].

Oh, I'm sorry. I had the -attrs plugin loaded, and it added attrs the token, which I just passed on.
Hmmm... I really would like to see this functionality: I'm using it daily. Would you like me to

Add attribute parsing here, or
Just pass a string through to the highlighter function?

Dave

Added remainder of fence params as 3rd argument to highlighter, I hope it fixes this issue.

Thanks!
On Tue, Sep 15, 2020 at 9:24 AM Alex Kocharin<EMAIL_ADDRESS>wrote:

Added remainder of fence params as 3rd argument to highlighter, I hope it
fixes this issue.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/markdown-it/markdown-it/pull/706#issuecomment-692749570,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAACTGH5GL2K5WNKBH7B7ETSF52IXANCNFSM4QSN4G6Q
.


Malformed requests with Pseudo Headers in trailers

Expected behavior
According to RFC 7540 Pseudo-header fields MUST NOT appear in trailers. Endpoints MUST treat a request or response that contains undefined or invalid pseudo-header fields as malformed (Section <IP_ADDRESS>). Requests with pseudo-header fields in trailers should be treated as malformed.
Actual behavior
Pseudo-header on trailers requests are not treated as malformed.
Steps to reproduce
Send a request with pseudo-headers in trailers.
Minimal yet complete reproducer code (or URL to code)
Because of using the same headers as trailers, this can be reproduced with the test https://github.com/netty/netty/blob/f1fa227ddf675f055766d04900cce6804fd7f710/codec-http2/src/test/java/io/netty/handler/codec/http2/Http2ConnectionRoundtripTest.java#L1030
Netty version
4.1.97
JVM version (e.g. java -version)
openjdk version "17.0.7" 2023-04-18
IBM Semeru Runtime Open Edition <IP_ADDRESS> (build 17.0.7+7)
Eclipse OpenJ9 VM <IP_ADDRESS> (build openj9-0.38.0, JRE 17 Mac OS X amd64-64-Bit Compressed References 20230418_450 (JIT enabled, AOT enabled)
OpenJ9   - d57d05932
OMR      - 855813495
JCL      - 9d7a231edbc based on jdk-17.0.7+7)
OS version (e.g. uname -a)
Mac OS X x86_64

Looks like it breaks https://github.com/grpc/grpc-java/issues/10707

@natl-set that's a grpc-java issue, which they're fixing.


Training using Kaggle GPU T4 x2 run out of memory after the training has finalized

Using Kaggle account to do the training fails after the model training has completed.
The training of the model actually seems to work (takes ca 7 hours) but it runs out of memory when trying to save/do the final steps related to the new model.

Any suggestions on how to overcome this issue in Kaggle?

a new version will be released today that will solve this issue


[Question] Harvester CSI disk selector

Hello,
I have an harvester cluster with two storage classes : one for SSD and one for HDD. SSD is set as default.
I created a RKE2 cluster on top with the harvester CSI through Rancher and the infrastructure driver. Problem is that the PV created through the kubernetes harvester storage class translate to Longhorn volumes without diskSelector tags set and I don't know what to do to pin them to the default SSD class.
Any Idea?
Thanks.

There is a enhancement developed to allow the configuration of the storage class that should be used via helm values in the harvester-csi driver.
In the meantime you can add an additional parameter "manually" to the daemonset
kubectl -n kube-system edit daemonsets.apps harvester-csi-driver
and then add
        - name: HOST_STORAGE_CLASS
          value: <your storage class name>

to the container with the image image: rancher/harvester-csi-driver:v0.1.3

Thank you Martin!


Get avatar of a GitHub organization.

Proposed Method:
.avatar()
Description
Create a method to scrape the URL of a GitHub organization
To what class it belongs?:
Organization
Note

Make all the changes in the github/organization.py file.
Use a private method  __scrape_page to scrape the page.
Include the method in the documentation.md file.
Upload a screenshot with the PR, demonstrating the method.

Please assign this issue to me under JWOC

Go ahead @PalaVenkiReddy.


how and which tool can i need for output a scatterplot

[ If your code generates visual output like a scatterplot or histogram, you need a tool or end-user application that can render the image
which  tool  it means ,how to do ?
]

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

ID: 6825b235-0949-0488-d8b2-3af7f071d462
Version Independent ID: faf4b2bd-ce94-b9d0-98d7-12c84e09e998
Content: Quickstart: Train a model in Python - SQL Server Machine Learning Services
Content Source: docs/advanced-analytics/tutorials/quickstart-python-train-score-model.md
Product: sql
Technology: machine-learning
GitHub Login: @garyericson
Microsoft Alias: garye

@dqaudithillstone Thank you for your feedback. We are looking into it and will get back to you.

@dqaudithillstone - This comment in the article is just clarifying that a SQL stored procedure is not able to display visual output. So if you have Python code that includes statements to generate visual output, those statements will not be usable if you embed that code in a stored procedure. If you need the visual output, you will need to find a way to generate it outside of the stored procedure, through separate Python code or maybe a standalone application. There are many ways to do this depending on the data and how you want to view it. You could try a Google search for data visualization tools if you need some suggestions.

#please-close

Added some clarification to the article.  PR 13676

#assign:garyericson

#assign:garyericson

#assign:garyericson


fix-bug: issue 24

fix issue 24
every server use a independent fast HTTP client

fix-bug: issue 24


 It always ends up being deleted after some hours and doesnt even show up in the defender history. ion know what to do anymore, pls help

Any issue regarding anti-virus can be resolved by adding it into some kind of exclusion list.
Windows Defender > Exclusions. You can even exclude a whole drive if you want.

Any issue regarding anti-virus can be resolved by adding it into some kind of exclusion list.
Windows Defender > Exclusions. You can even exclude a whole drive if you want.

already did that. multiple times and in different ways. didnt work.

Any issue regarding anti-virus can be resolved by adding it into some kind of exclusion list.
Windows Defender > Exclusions. You can even exclude a whole drive if you want.

already did that. multiple times and in different ways. didnt work.

Exclude the whole folder since r3nzskin injector changes names to avoid detection.

Any issue regarding anti-virus can be resolved by adding it into some kind of exclusion list.
Windows Defender > Exclusions. You can even exclude a whole drive if you want.

already did that. multiple times and in different ways. didnt work.

Exclude the whole folder since r3nzskin injector changes names to avoid detection.

It doesnt work.


Indeed Tests, Refactoring and Docker

Indeed Tests
Hello everyone,
Hope you are all doing well!
Description
I have added unit tests to jobfunnel/indeed.py. These tests were challenging because my goal was to isolate every piece of functionality of the indeed scraper so that if something fails in the future, we can easily find the point of failure. The unit tests were even more challenging because I aimed to make these tests as reliable as one can make them to be, given that they do depend on the network. I did not implement any flaky tests because flaky tests are not as reliable, given that they are flaky tests. Rather the approach I took was to, in some cases, have loose assertions. What I mean by this is that in cases where there was something that was not crucial to the job listing, such as the blurb, the only thing I ensure is that some(at least 1) job listing is returning a blurb of some kind. The data that I considered essential was the job id and the job link, since without these two, we don't have a job to apply to. The job id test test_get_id is the most strict test because without a valid job id we do not have a job at all. By most strict I mean if  any  one job posting fails to yield an id, the entire pytest suite fails. Note that I don't test tags at all because they are added "bonus" data we give to users, and many sites don't even yield any tags whatsoever. Hopefully this is clear in the tests on indeed.py.
Another challenge I came across was the fact that the way we were fetching data such as date, id, title, etc was not very well suited for testing in the sense that did not have these functionality in functions. Because of this I found myself copy pasting this code for all of the tests, and that's not a very efficient or maintainable way to write our tests. So I took the liberty of refactoring all of this functionality and writing wrapper functions for it and making them part of  jobfunnel.py and indeed.py. You can see the details of this refactoring change on this commit b33c18c329e55894a35313651586128cef87b89e. Hopefully we can implement this type of refactoring across all of the scrapers and make that code a little easier to maintain.
readme updates and Docker
I have updated the readme and added some information about our new GlassDoor dynamic and static scheme. Hopefully that is clear enough for users.
I was wondering what your thoughts are on adding a Ubuntu Xenial Docker image pre-built for JobFunneel where developers can pull from and have a clean environment to do testing on? I do testing like this all the time to make sure my development environment does not affect JobFunnel testing and I think other people could benefit from having an image on Docker hub where they don't have to install all of the python dependencies manually and can just do docker pull or something like that.
Hope these changes make sense,
Cheers!
Context of change
Please add options that are relevant and mark any boxes that apply.

[x] Software (software that runs on the PC)
[ ] Library (library that runs on the PC)
[x] Tool (tool that assists coding development)
[ ] Other

Type of change
Please mark any boxes that apply.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Provide instructions so we can reproduce.
Please also list any relevant details for your test configuration.

[x] Tested test_indeed.py in isolation
[x] Tested the pytest suite as a whole

Checklist:
Please mark any boxes that have been completed.

[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[x] I have added tests that prove my fix is effective or that my feature works.
[x] New and existing unit tests pass locally with my changes.
[x] Any dependent changes have been merged and published in downstream modules.

Codecov Report

Merging #82 into master will increase coverage by 12.56%.
The diff coverage is 80.00%.

@@             Coverage Diff             @@
##           master      #82       +/-   ##
===========================================
+ Coverage   45.80%   58.37%   +12.56%
===========================================
  Files          13       13
  Lines        1109     1146       +37
===========================================
+ Hits          508      669      +161
+ Misses        601      477      -124

Impacted Files
Coverage Δ

jobfunnel/jobfunnel.py
47.68% <50.00%> (+15.18%)
:arrow_up:

jobfunnel/indeed.py
87.32% <94.11%> (+59.22%)
:arrow_up:

jobfunnel/glassdoor_dynamic.py
16.52% <0.00%> (+16.52%)
:arrow_up:

jobfunnel/__main__.py
35.89% <0.00%> (+35.89%)
:arrow_up:

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 df8b8a8...6ff722a. Read the comment docs.

looking good!
only nitpick is we should wrap lines at 100 chars, but I dont want that to hold this up.

Yes! Just changed editors(using geany now) recently 😅 Will be sure to enforce this in the future.

Hey @thebigG really appreciate your addition of testing to the code-base, definitely makes the project seem more professional.
Although the pull has already been merged, I left a comment regarding a change to the Regex code in indeed.py which could have a performance impact.

Although the pull has already been merged, I left a comment regarding a change to the Regex code in indeed.py which could have a performance impact.

I saw. Thanks a lot for pointing this out! I don't have time right now to look at these. I will have a new schedule/routine so need some time to re-adjust and find a new time slot for JobFunnel.


Be more cautious when setting zIndex of subitems.

panel.map. would be sometimes undefined when testing. This PR suggest being more cautious when trying to get the panel panel.map.Z_INDEX_BASE.Control.

LGTM please merge

Thanks for the review, @bartvde


[tree widget] fix invalid regex problem

there was a bug where searching for mortality in the tree widget threw an error. This was because one of the matching tokens returned for this query was "mortality)" and the ")" at the end was causing an invalid regex error.

it would be worth adding a test for this, since this ended up causing an irrecoverable bug.
something else worth adding is an error handler around the regexp code, which would be a good failsafe given regex's are tricky and we do a lot of string munging here now

done


YETUS-688. convert key globals from strings to arrays

(!) A patch to the testing environment has been detected.
Re-executing against the patched versions to perform further tests.
The console is at https://builds.apache.org/job/yetus-github-multibranch/job/PR-43/1/console in case of problems.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
104
Docker mode activated.

_ Prechecks _

Subsystem
Report/Notes

Docker
Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/yetus-github-multibranch/job/PR-43/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/yetus/pull/43

Optional Tests
dupname asflicense javac javadoc unit xml compile shellcheck shelldocs

uname
Linux 8549f29e40c6 4.4.0-131-generic #157~14.04.1-Ubuntu SMP Fri Jul 13 08:53:17 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
precommit/src/main/shell/personality/yetus.sh

git revision
master / 9a2b130

Console output
https://builds.apache.org/job/yetus-github-multibranch/job/PR-43/1/console

Powered by
Apache Yetus 0.10.0-SNAPSHOT http://yetus.apache.org

This message was automatically generated.

(!) A patch to the testing environment has been detected.
Re-executing against the patched versions to perform further tests.
The console is at https://builds.apache.org/job/yetus-github-multibranch/job/PR-43/2/console in case of problems.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
115
Docker mode activated.

_ Prechecks _

Subsystem
Report/Notes

Docker
Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/yetus-github-multibranch/job/PR-43/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/yetus/pull/43

Optional Tests
dupname asflicense javac javadoc unit xml compile shellcheck shelldocs

uname
Linux c41c15e7ccc7 4.4.0-137-generic #163-Ubuntu SMP Mon Sep 24 13:14:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
precommit/src/main/shell/personality/yetus.sh

git revision
master / 9a2b130

Console output
https://builds.apache.org/job/yetus-github-multibranch/job/PR-43/2/console

Powered by
Apache Yetus 0.10.0-SNAPSHOT http://yetus.apache.org

This message was automatically generated.

(!) A patch to the testing environment has been detected.
Re-executing against the patched versions to perform further tests.
The console is at https://builds.apache.org/job/yetus-github-multibranch/job/PR-43/3/console in case of problems.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
44
Docker mode activated.

_ Prechecks _

+1
@author
0
The patch does not contain any @author tags.

+1
test4tests
0
The patch appears to include 5 new or modified test files.

_ master Compile Tests _

+1
mvninstall
81
master passed

+1
compile
8
master passed

+1
javadoc
10
master passed

_ Patch Compile Tests _

+1
mvninstall
10
the patch passed

+1
compile
8
the patch passed

+1
javac
8
the patch passed

+1
shellcheck
12
There were no new shellcheck issues.

+1
shelldocs
2
There were no new shelldocs issues.

+1
whitespace
0
The patch has no whitespace issues.

+1
xml
1
The patch has no ill-formed XML file.

+1
javadoc
8
the patch passed

_ Other Tests _

+1
unit
8
precommit in the patch passed.

+1
asflicense
8
The patch does not generate ASF License warnings.

224

Subsystem
Report/Notes

Docker
Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/yetus-github-multibranch/job/PR-43/3/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/yetus/pull/43

Optional Tests
dupname asflicense javac javadoc unit xml compile shellcheck shelldocs

uname
Linux cdb00d0739e7 4.4.0-137-generic #163-Ubuntu SMP Mon Sep 24 13:14:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
precommit/src/main/shell/personality/yetus.sh

git revision
master / 9a2b130

maven
version: Apache Maven 3.3.9

Default Java
1.8.0_191

shellcheck
v0.4.6

Test Results
https://builds.apache.org/job/yetus-github-multibranch/job/PR-43/3/testReport/

Max. process+thread count
98 (vs. ulimit of 2000)

modules
C: precommit U: precommit

Console output
https://builds.apache.org/job/yetus-github-multibranch/job/PR-43/3/console

Powered by
Apache Yetus 0.10.0-SNAPSHOT http://yetus.apache.org

This message was automatically generated.


Create a FAQ

Link to it in the readme, but the FAQ should be a FAQ.md in the root directory.
As noted in #228

This should also probably be linked to, or maybe even duplicated in the wiki section.

I'd vote for in github's wiki section for the start. And once dust settles copy it over to lib.rs such that it is in the root of rustdoc's documentation.

With a makefile it can, which is how I used to import the readme into rustdoc.

The wiki page has been started. I'll leave this issue open for a little bit to generate some traffic. Once we have some good additions/suggestions, etc. I'll put a link to it in the readme as well as create  FAQ.md

Added headings differing usage and implementation related questions. Moved the lifetime one to the implementation section

Good idea :+1:


full screen directive

https://github.com/Teradata/covalent-code-editor/blob/develop/src/platform/code-editor/code-editor.component.ts

Might be of interest https://github.com/ngx-extensions/ngx-extensions/tree/develop/projects/screenfull


Cannot add a new line (shift+enter) in a bullet without it creating another new bullet

Great api!
I've tried every and all combinations to try to get the result below but no luck.  I even tried adding text after a bullet and using inset to mimick it, but inset does not seem to work either.  \n and \r and their combinations were also tried.
Is there a way to update the api to achieve the below?

line 1
new line within the same bullet
line 2

Had the same issue recently. The workaround is to break the string on \n and only add the bullet to the first string. The next one(s) you can add an empty space bullet -> bullet: { code: '0020' }.
If it was a numbered list, you would get disordered numbers because it resets to 1 when you start bullet-ing the next line. In which case you can utilize the 'startAt' property and set it to the correct order.

I had the same issue.  Is there a way to add an option to ignore new line characters so it does not create additional bullets?


[release] Disable git merge to avoid conflict

Disable git merge to avoid conflict on v0.13.0

@ysh329 can you send to the rc-v0.13.0 branch, that way we can directly merge

Let's fix the lint and get it merged


Make market creator full-text-searchable & add more info to getMarketDisputeInfo

Closes #3025.

@bthaile designatedReporter is already a param for getMarkets, so filtering by it is already possible.


how to add an additional mol feature in the graphTensor

I would like to add an additional mol feature in the graphTensor : like molecular weights for example.
it can be a single mol attribute or a vector of attributes.
I want to reuse it in the model not as graph input but as additional input in the beginning of the  MLP part after the graph convolutions part. (aka concatenate this mol vector feature with the graph embedding vector after the Readout)
is it possible ? I see that you have a "y_mask" in the Tox21 case But I cannot use it as inputs unfortunately

So for example molecular descriptors? I guess you could generate molecular descriptors separately (via RDKit) and then just add them to the embedding after the Readout. Have I understood you correctly?

yes correct

I guess there are two ways to incorporate additional information:

Add a virtual super node (like AttentiveFPReadout) and propagate the information from this super node to all other nodes for a number of steps.
Simply just concatenate some precomputed molecular descriptors after the Readout and pass to MLP.

I prefer option 2Envoyé de mon iPhoneLe 30 juin 2023 à 14:45, Alexander Kensert @.***> a écrit :
I guess there are two ways to incorporate additional information:
Add a virtual super node (like AttentiveFPReadout) and propagate the information from this super node to all other nodes for a number of steps.
Simply just concatenate some precomputed molecular descriptors after the Readout and pass to MLP.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

I can't do anything right now and give you a perfect answer, but to give you something already now based on the little information I have:
It tries to build a type spec from the tuple [GraphTensor(...), list(...)] which is not possible. The map should be: .map(lambda x, y: ([x[0].merge(), x[1]], y)) as x is a tuple (or list I guess)
So try that. And make sure that x_train, n_train and y_train all have the same shape[0].

I see it is still failing at the map function again:
Traceback (most recent call last):
File "/Users/tgg/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/data/ops/structured_function.py", line 175, in wrapper_helper
self._output_structure = structure.type_spec_from_value(ret)
File "/Users/tgg/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/data/util/structure.py", line 487, in type_spec_from_value
return tuple([type_spec_from_value(v) for v in element])
File "/Users/tgg/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/data/util/structure.py", line 487, in
return tuple([type_spec_from_value(v) for v in element])
File "/Users/tgg/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/data/util/structure.py", line 507, in type_spec_from_value
raise TypeError("Could not build a TypeSpec for {} with type {}".format(
TypeError: Could not build a TypeSpec for [GraphTensor(
edge_src=<tf.Tensor: shape=(None,), dtype=int32>,
edge_dst=<tf.Tensor: shape=(None,), dtype=int32>,
node_feature=<tf.Tensor: shape=(None, 179), dtype=float32>,
edge_feature=<tf.Tensor: shape=(None, 11), dtype=float32>,
positional_encoding=<tf.Tensor: shape=(None, 16), dtype=float32>,
graph_indicator=<tf.Tensor: shape=(None,), dtype=int32>), <tf.Tensor 'args_5:0' shape=(None,) dtype=int32>] with type list
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/tgg/Documents/models/Guillaume-ochem/molgraphs/run3.py", line 241, in
tf.data.Dataset.from_tensor_slices(((x_train, n_train), y_train_par))
File "/Users/tgg/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/data/ops/dataset_ops.py", line 2240, in map
return map_op._map_v2(
File "/Users/tgg/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/data/ops/map_op.py", line 37, in _map_v2
return _MapDataset(
File "/Users/tgg/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/data/ops/map_op.py", line 107, in init
self._map_func = structured_function.StructuredFunctionWrapper(
File "/Users/tgg/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/data/ops/structured_function.py", line 261, in init
self._function = fn_factory()
File "/Users/tgg/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/eager/polymorphic_function/tracing_compiler.py", line 232, in get_concrete_function
concrete_function = self._get_concrete_function_garbage_collected(
File "/Users/tgg/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/eager/polymorphic_function/tracing_compiler.py", line 202, in _get_concrete_function_garbage_collected
concrete_function, _ = self._maybe_define_concrete_function(args, kwargs)
File "/Users/tgg/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/eager/polymorphic_function/tracing_compiler.py", line 166, in _maybe_define_concrete_function
return self._maybe_define_function(args, kwargs)
File "/Users/tgg/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/eager/polymorphic_function/tracing_compiler.py", line 396, in _maybe_define_function
concrete_function = self._create_concrete_function(
File "/Users/tgg/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/eager/polymorphic_function/tracing_compiler.py", line 300, in _create_concrete_function
func_graph_module.func_graph_from_py_func(
File "/Users/tgg/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/framework/func_graph.py", line 1214, in func_graph_from_py_func
func_outputs = python_func(*func_args, **func_kwargs)
File "/Users/tgg/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/data/ops/structured_function.py", line 238, in wrapped_fn
ret = wrapper_helper(*args)
File "/Users/tgg/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/data/ops/structured_function.py", line 177, in wrapper_helper
raise TypeError(f"Unsupported return value from function passed to "
TypeError: Unsupported return value from function passed to Dataset.map(): ([GraphTensor(
edge_src=<tf.Tensor: shape=(None,), dtype=int32>,
edge_dst=<tf.Tensor: shape=(None,), dtype=int32>,
node_feature=<tf.Tensor: shape=(None, 179), dtype=float32>,
edge_feature=<tf.Tensor: shape=(None, 11), dtype=float32>,
positional_encoding=<tf.Tensor: shape=(None, 16), dtype=float32>,
graph_indicator=<tf.Tensor: shape=(None,), dtype=int32>), <tf.Tensor 'args_5:0' shape=(None,) dtype=int32>], <tf.Tensor 'args_6:0' shape=(None, 1, 6) dtype=float32>).
I used this code:

            x_train = encoder(X_train)
            x_test = encoder(X_test)

            n_train = [molw(smi) for smi in X_train]
            n_test = [molw(smi) for smi in X_test]
            n_train = np.array(n_train)
            n_test = np.array(n_test)

            #n_train_ = tf.RaggedTensor.from_uniform_row_length(n_train, uniform_row_length=1)
            #n_test_ = tf.RaggedTensor.from_uniform_row_length(n_test, uniform_row_length=1)

            train_ds = (
                tf.data.Dataset.from_tensor_slices(((x_train, n_train), y_train))
                .batch(bs)
                .shuffle(1024)
                .map(lambda x, y: ([x[0].merge(), x[1]], y))
                .prefetch(-1)
            )

            test_ds = (
                tf.data.Dataset.from_tensor_slices(((x_test, n_test), y_test))
                .batch(bs)
                .map(lambda x, y: ([x[0].merge(), x[1]], y))
                .prefe

It works for me:
x_aux = np.random.uniform(size=(1128, 5))
# x_train.shape = (1128, None, 12)
# y_train.shape = (1128, 1)

train_ds = tf.data.Dataset.from_tensor_slices(((x_train, x_aux), y_train))
train_ds = train_ds.batch(32)
train_ds = train_ds.shuffle(1024)
train_ds = train_ds.map(lambda x, y: ((x[0].merge(), x[1]), y))
train_ds = train_ds.prefetch(-1)

for (x, x_), y in train_ds:
    print(x.shape, x_.shape, y.shape)
    # (None, 12) (32, 5) (32, 1)

I think it is in the model input definition the issue than

I think it is in the model input definition the issue than

What do you mean? There seem to be no issue, unless you did not supply me with enough information

Yes it works but only if you split the code to create train_ds / test_ds very intersting:
working code:
train_ds = tf.data.Dataset.from_tensor_slices(((x_train, n_train), y_train))
            train_ds = train_ds.batch(bs)
            train_ds = train_ds.shuffle(1024)
            train_ds = train_ds.map(lambda x, y: ((x[0].merge(), x[1]), y))
            train_ds = train_ds.prefetch(-1)

            test_ds = tf.data.Dataset.from_tensor_slices(((x_test, n_test), y_test))
            test_ds = test_ds.batch(bs)
            test_ds = test_ds.map(lambda x, y: ((x[0].merge(), x[1]), y))
            test_ds = test_ds.prefetch(-1)

    ```
Not working code:
```
            """
            train_ds = (
                tf.data.Dataset.from_tensor_slices(((x_train, n_train), y_train_par))
                .batch(bs)
                .shuffle(1024)
                .map(lambda x, y: ([x[0].merge(), x[1]], y))
                .prefetch(-1)
            )

            test_ds = (
                tf.data.Dataset.from_tensor_slices(((x_test, n_test), y_test))
                .batch(bs)
                .map(lambda x, y: ([x[0].merge(), x[1]], y))
                .prefetch(-1)
            )
```

That is interesting indeed :D Not sure why..


CPlus: Watch (purchase|buy).*account

CPlus requests the watch of the watch_keyword (purchase|buy).*account. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

(purchase|buy).*account has been seen in 560 true positives, 245 false positives, and 12 NAAs.

Rejected by Cow in Charcoal HQ. Reason: 'Too many fps on SE combined with approximately 33% fp on MS'


Update DG: User Stories

Updated the details of target user profile, value proposition and user stories for EduConnect.
To be updated or revised.
Fixes #10

LGTM, this fixes #11 as well


feat: support for cross-account CodePipelines

This change adds support for expressing CodePipelines that are cross-account in the CDK.
There is a lot of things happening in this PR, as in order to support this functionality, changes were needed at the framework level. A summary:
1. CrossEnvironmentToken and ResourceIdentifiers
I've added a new Token, CrossEnvironmentToken, that allows references across accounts and/or regions. I've also added a helper class, ResourceIdentifiers, that encapsulates using the new Token. ResourceIdentifiers are mean to be used inside our L2s. Both of these live in @aws-cdk/cdk.
2. Added the concept of a physical name
I've created a new class, PhysicalName, that encompasses our strategies for assigning physical names. I've added the option to pass a physical name when creating S3 Buckets, IAM Roles and CodeBuild Projects (if the API is deemed acceptable, we would need to make changes to other L2s as well of course).
The "old" ways of passing a physical name (bucketName, roleName, etc.) have been kept for now, but we might want to consider removing them in favor of physicalName.
3. Added facilities for automatically generating physical names
Added a new class, PhysicalNameGenerator, that creates physical names at synthesis time. Added it to the Resource class, so that particular resources can override the strategy (used for S3 Buckets, for example). As both IResource and Resource were previously empty, this uncovered a lot of incorrect inheritance hierarchies in our Constructs, where an interface extended IResource, but the implementation class extended Construct, which now failed when IResource has members - fixed those as well.
4. Changed some implicit sub resources to the new physical naming scheme
To facilitate cross-environment usage, the Bucket for a CodePipeline and a Role for CodeBuild Project are now created with PhysicalName.deployTimeOrAssigned().
5. Changes in the CodePipeline Construct
The CodePipeline Construct detects if a resource is from a different account, and automatically generates a bootstrap Role with the correct permissions if it is.

All in all, the changes allow for the following cross-environment customer experience with CodePipeline:
export class CrossAccountPipelineForCodeBuildGood extends cdk.Stack {
    constructor(app: cdk.App, mainAccount: string, buildAccount: string) {
        super(app, 'CrossAccountPipelineForCodeBuildGood', {
            env: {
                account: mainAccount,
            },
        });

        /*************** the CodeBuild Project Stack *************************/

        const buildStack = new cdk.Stack(app, 'CrossAccountPipelineForCodeBuildGoodBuildStack', {
            env: {
                account: buildAccount,
            },
        });

        const project = new codebuild.PipelineProject(buildStack, 'Project', {
            projectName: 'CrossAccountPipelineForCodeBuildGoodProject',
            environment: {
                buildImage: codebuild.LinuxBuildImage.UBUNTU_14_04_OPEN_JDK_8,
            },
        });

        /*************** the Pipeline Stack *************************/

        const repository = codecommit.Repository.import(this, 'Repository', {
            repositoryName: 'ManualTestRepo',
        });
        const sourceOutput = new codepipeline.Artifact();
        new codepipeline.Pipeline(this, 'CrossAccountPipelineForCodeBuildGood', {
            pipelineName: 'CrossAccountPipelineForCodeBuildGood',
            stages: [
                {
                    name: 'Source',
                    actions: [
                        new cpactions.CodeCommitSourceAction({
                            actionName: 'CodeCommit',
                            repository,
                            output: sourceOutput,
                        }),
                    ],
                },
                {
                    name: 'Build',
                    actions: [
                        new cpactions.CodeBuildAction({
                            actionName: 'CodeBuild',
                            project,
                            input: sourceOutput,
                            output: new codepipeline.Artifact(),
                        }),
                    ],
                },
            ],
        });
    }
}

which is exactly the same as creating a non-cross account Pipeline.

Pull Request Checklist

[x] Testing

Unit test added (prefer not to modify an existing test, otherwise, it's probably a breaking change)
CLI change?: coordinate update of integration tests with team
cdk-init template change?: coordinated update of integration tests with team

[x] Docs

jsdocs: All public APIs documented
README: README and/or documentation topic updated

[x] Title and Description

Change type: title prefixed with fix, feat will appear in changelog
Title: use lower-case and doesn't end with a period
Breaking?: last paragraph: "BREAKING CHANGE: <describe what changed + link for details>"
Issues: Indicate issues fixed via: "Fixes #xxx" or "Closes #xxx"

[x] Sensitive Modules (requires 2 PR approvers)

IAM Policy Document (in @aws-cdk/aws-iam)
EC2 Security Groups and ACLs (in @aws-cdk/aws-ec2)
Grant APIs (only if not based on official documentation with a reference)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license.

Updated the PR with the proposed vision. This is still an early version - I'm very keen on the feedback for the names I chose, as well as the API for Construct Library authors.
@eladb and @rix0rrr , I would appreciate a re-review. Thanks!

Thanks for the review @eladb !
One question: how do you see the migration to the 'new' way of specifying a physical name (new s3.Bucket(this, 'B', { physicalName: PhysicalName.of('my-bucket') });? Should we deprecate the 'old' attributes like bucketName, roleName`, etc., but still handle them in the L2s, like I did here, or should we "rip the bandaid" and remove them? That might be quite a gigantic change...
Also, should we do it for all L2s at the same time, or should we migrate gradually, module-by-module?

Rebased on top of 0.30.0.

Something I forgot to comment about: I think the physical name prop should be “bucketName” and not “physicalName”. The type denotes that it’s a physical name so there is no additional benefit in adding another prop.
Which I believe answers your question: this is our last chance to “rip the bandaid”, and we should do it across the entire library through an awslint rule.

(But I would still do it in a subsequent PR)

I'm actually not a huge fan of the bucketName convention. I feel like it only came about because we used to call the logical ID name, and we wanted to distinguish clearly between the two. Now that we switched to calling logical IDs id, I feel like repeating the name of the class in the property is not great.
"Physical names" is a concept in our domain, it's present in the CDK docs, etc. I feel like calling the property that way has value (I think a name is much more important than the type, especially in dynamically-typed languages) - it reinforces that the concepts and code use a shared terminology.
Just my two cents. If you feel strongly that it should remain bucketName, I'll live with it, just wanted to lay out my reasoning.

Implemented some (not all) of Elad's comments.

The latest batch of changes should be close to merge ready, the significant part that is missing are the name changes of the static factory methods of PhysicalName.

Just updated the PR, I've incorporated (hopefully) most of the comments.
@eladb and @rix0rrr , would appreciate another pass over the changes!

New revision. I incorporated most of your comments @eladb , although I had problems with a few (see my replies above).
Would appreciate another round of review.
Thanks!

Newest iteration is out, I've included all your comments from the last revision @eladb .
Hopefully we're close...!

                    __
                   /  \
                  |    |
    _             |    |
  /' |            | _  |
 |   |            |    |
 | _ |            |    |
 |   |            |    |
 |   |        __  | _  |
 | _ |  __   /  \ |    |
 |   | /  \ |    ||    |
 |   ||    ||    ||    |       _---.
 |   ||    ||    |. __ |     ./     |
 | _. | -- || -- |    `|    /      //
 |'   |    ||    |     |   /`     (/
 |    |    ||    |     | ./       /
 |    |.--.||.--.|  __ |/       .|
 |  __|    ||    |-'            /
 |-'   \__/  \__/             .|
 |       _.-'                 /
 |   _.-'      /             |
 |            /             /
 |           |             /
 `           |            /
  \          |          /'
   |          `        /
    \                .'
    |                |
    |                |
    |                | VK
    |                |


Suggested changes to 2023 questions from the Rust Foundation

Suggested edits to the 2023 survey questions from the Rust Foundation team and the board's DEI sub-committee.
The changes we're advocating for primarily relate to the "About you" section and general survey UI/functionality as well as several more minor grammatical suggestions.

I removed the texts marked for deletion and removed the notes.


Add NOMINMAX definition to solve issue C2589

Due to a build issue C2589 on VS 2019, need to add the definition NOMINMAX to solve conflict with max and min macros defined in <windows.h>

LGTM, I'm letting @Firefly35 the final word on this.


Replicator-producer creation should be idempotent

Motivation
Replicator-producer creation should be idempotent and PersistentTopic starts a new Replicator on every invocation. which creates dangling replicator in a system.
Modifications
Create a topic-replicator for a given remote cluster only once.
Result
It prevents to create multiple duplicate replicator.

CLA is valid!

CLA is valid!

CLA is valid!


Risk model semivariance (Issue #219)

Use

to compute the semicovariance matrix, as raised in #219 .

@phschiele This looks great! Definitely will be merged, though I'll wait for #227 then do it all in one go because I'm a bit busy atm.


Fast GELU CUDA kernel

Changes:

GELU with tanh as approximation
using faster approximated tanh for improved speed

Ideas:

give user option to run faster gelu for less accuracy? Currently torch.nn.GELU() is being dispatched and all other variations in the activation registry are unused

Todos:

run tests on different input sizes and benchmark performance trade-off

Closed as this has been implemented by #828


Set Up the SAP Launchpad Service

Tutorials: https://developers.sap.com/tutorials/cp-portal-cloud-foundry-getting-started.html
In the SAP Cloud Platform Trial (BTP) now is not "Launchpad" but "Portal" service

Hi
If you cant see the Launchpad Service tile, your may be using an older trial account. Try this:
Add it to your account via the Entitlements area. Click Configure Entitlements.
Then Add Service Plans. Then search for launchpad, check the standard plan, and click Add 1 Service Plan. Don't forget to save in the next screen.
Another option is to create a new trial account.
Thanks
Lindsay

Hi Lindsay,
thank you for the help, and sorry for the late answer.
Like you said my account is old, I solved with the first solution.
Thank you again,
Sebastiano


Feature preserve data

In this Milestone @albertkantwi , @Graciano1997  and @wacoo  did:

Created a persistence class to handle the following tasks :
** Create dynamically the db folder
** Create dynamically the files [.json]
** Methods to write library data in files
** Methos to read library data from files
update readme
fix linter issues

@MahmoudBakr23  thanks 👍 👍  for recognizing all our efforts


TUnit output

If I'm running a while loop in a [Test] then I get the following output to terminal which pollutes my logs, and it can't be disabled with --verbosity minimal.
[+0/x0/?0] botTest.TUnit.dll (net8.0|x64)(6s)
[+0/x0/?0] botTest.TUnit.dll (net8.0|x64)(9s)
[+0/x0/?0] botTest.TUnit.dll (net8.0|x64)(12s)
[+0/x0/?0] botTest.TUnit.dll (net8.0|x64)(15s)
[+0/x0/?0] botTest.TUnit.dll (net8.0|x64)(18s)
Example code:
while (true)
{
System.Console.WriteLine("something");
await Task.Delay(100);
}

This is part of the Microsoft Testing Platform. You'll want to raise it on here: https://github.com/microsoft/testfx


Fix typos

Found via codespell -S deps -L ro,te and typos --format brief

Pull Request Test Coverage Report for Build d0aa6fc4eae573698190345ebbf1529c1185e539-PR-75

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 8783174b3a2afd56e404b63c3719da40cc3476eb:
0.0%

Covered Lines:
642

Relevant Lines:
642

💛  - Coveralls

Thanks!

:partying_face: :partying_face: :partying_face: :partying_face: :partying_face:


ade20k 640x640

The mmseg official code uses the image scale of (2560, 640) while this repo uses (2048, 640).

The mmseg official code uses the image scale of (2560, 640) while this repo uses (2048, 640).

Hi, in the ADE20K dataset, the long side of images does not exceed 2048 when the short side is 640, so both these two settings are the same. You can use (2560, 640) like mmseg.