[jira] [Commented] (DISPATCH-1487) Improve the parsing of message annotations
[ https://issues.apache.org/jira/browse/DISPATCH-1487?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17459598#comment-17459598 ] ASF GitHub Bot commented on DISPATCH-1487: -- codecov-commenter commented on pull request #1458: URL: https://github.com/apache/qpid-dispatch/pull/1458#issuecomment-994201727 # [Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/1458?src=pr=h1_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) Report > Merging [#1458](https://codecov.io/gh/apache/qpid-dispatch/pull/1458?src=pr=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) (9e21527) into [main](https://codecov.io/gh/apache/qpid-dispatch/commit/906b9314fc5e1d4f3286cc7de81a97cd18c56198?el=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) (906b931) will **decrease** coverage by `0.20%`. > The diff coverage is `77.81%`. [![Impacted file tree graph](https://codecov.io/gh/apache/qpid-dispatch/pull/1458/graphs/tree.svg?width=650=150=pr=rk2Cgd27pP_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/qpid-dispatch/pull/1458?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) ```diff @@Coverage Diff @@ ## main#1458 +/- ## == - Coverage 84.75% 84.54% -0.21% == Files 116 117 +1 Lines 2862028901 +281 == + Hits2425624434 +178 - Misses 4364 4467 +103 ``` | [Impacted Files](https://codecov.io/gh/apache/qpid-dispatch/pull/1458?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) | Coverage Δ | | |---|---|---| | [src/amqp.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1458/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL2FtcXAuYw==) | `100.00% <ø> (ø)` | | | [tests/parse\_test.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1458/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-dGVzdHMvcGFyc2VfdGVzdC5j) | `69.10% <0.00%> (ø)` | | | [src/router\_node.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1458/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9ub2RlLmM=) | `92.72% <20.00%> (-0.73%)` | :arrow_down: | | [tests/buffer\_test.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1458/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-dGVzdHMvYnVmZmVyX3Rlc3QuYw==) | `68.48% <60.20%> (-26.60%)` | :arrow_down: | | [src/message.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1458/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL21lc3NhZ2UuYw==) | `87.29% <85.71%> (-0.20%)` | :arrow_down: | | [src/parse.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1458/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3BhcnNlLmM=) | `85.03% <86.25%> (-2.93%)` | :arrow_down: | | [src/buffer\_field\_api.h](https://codecov.io/gh/apache/qpid-dispatch/pull/1458/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL2J1ZmZlcl9maWVsZF9hcGkuaA==) | `93.84% <93.84%> (ø)` | | | [src/router\_config.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1458/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb25maWcuYw==) | `96.42% <100.00%> (+0.01%)` | :arrow_up: | | [src/iterator.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1458/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL2l0ZXJhdG9yLmM=) | `88.20% <0.00%> (-1.28%)` | :arrow_down: | | [src/router\_core/delivery.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1458/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL2RlbGl2ZXJ5LmM=) | `93.34% <0.00%> (-0.74%)` | :arrow_down: | | ... and [5
[GitHub] [qpid-dispatch] codecov-commenter commented on pull request #1458: DISPATCH-1487: inter-router annotations re-factor
codecov-commenter commented on pull request #1458: URL: https://github.com/apache/qpid-dispatch/pull/1458#issuecomment-994201727 # [Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/1458?src=pr=h1_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) Report > Merging [#1458](https://codecov.io/gh/apache/qpid-dispatch/pull/1458?src=pr=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) (9e21527) into [main](https://codecov.io/gh/apache/qpid-dispatch/commit/906b9314fc5e1d4f3286cc7de81a97cd18c56198?el=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) (906b931) will **decrease** coverage by `0.20%`. > The diff coverage is `77.81%`. [![Impacted file tree graph](https://codecov.io/gh/apache/qpid-dispatch/pull/1458/graphs/tree.svg?width=650=150=pr=rk2Cgd27pP_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/qpid-dispatch/pull/1458?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) ```diff @@Coverage Diff @@ ## main#1458 +/- ## == - Coverage 84.75% 84.54% -0.21% == Files 116 117 +1 Lines 2862028901 +281 == + Hits2425624434 +178 - Misses 4364 4467 +103 ``` | [Impacted Files](https://codecov.io/gh/apache/qpid-dispatch/pull/1458?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) | Coverage Δ | | |---|---|---| | [src/amqp.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1458/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL2FtcXAuYw==) | `100.00% <ø> (ø)` | | | [tests/parse\_test.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1458/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-dGVzdHMvcGFyc2VfdGVzdC5j) | `69.10% <0.00%> (ø)` | | | [src/router\_node.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1458/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9ub2RlLmM=) | `92.72% <20.00%> (-0.73%)` | :arrow_down: | | [tests/buffer\_test.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1458/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-dGVzdHMvYnVmZmVyX3Rlc3QuYw==) | `68.48% <60.20%> (-26.60%)` | :arrow_down: | | [src/message.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1458/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL21lc3NhZ2UuYw==) | `87.29% <85.71%> (-0.20%)` | :arrow_down: | | [src/parse.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1458/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3BhcnNlLmM=) | `85.03% <86.25%> (-2.93%)` | :arrow_down: | | [src/buffer\_field\_api.h](https://codecov.io/gh/apache/qpid-dispatch/pull/1458/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL2J1ZmZlcl9maWVsZF9hcGkuaA==) | `93.84% <93.84%> (ø)` | | | [src/router\_config.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1458/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb25maWcuYw==) | `96.42% <100.00%> (+0.01%)` | :arrow_up: | | [src/iterator.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1458/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL2l0ZXJhdG9yLmM=) | `88.20% <0.00%> (-1.28%)` | :arrow_down: | | [src/router\_core/delivery.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1458/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL2RlbGl2ZXJ5LmM=) | `93.34% <0.00%> (-0.74%)` | :arrow_down: | | ... and [5 more](https://codecov.io/gh/apache/qpid-dispatch/pull/1458/diff?src=pr=tree-more_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) | | -- [Continue to review full report at
[jira] [Resolved] (PROTON-2476) [proton-c] Trace level logging prints large transfer messages
[ https://issues.apache.org/jira/browse/PROTON-2476?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Stitcher resolved PROTON-2476. - Fix Version/s: proton-c-0.37.0 Assignee: Andrew Stitcher Resolution: Fixed > [proton-c] Trace level logging prints large transfer messages > - > > Key: PROTON-2476 > URL: https://issues.apache.org/jira/browse/PROTON-2476 > Project: Qpid Proton > Issue Type: Test > Components: proton-c >Reporter: Ganesh Murthy >Assignee: Andrew Stitcher >Priority: Major > Fix For: proton-c-0.37.0 > > > The transfer frames printed by proton trace level logging are very large. > This leads the Dispatch Travis CI to terminate the test run with the > following message > > {noformat} > The job exceeded the maximum log length, and has been terminated. {noformat} > [https://app.travis-ci.com/github/apache/qpid-dispatch/jobs/551423517#L7947] > The large transfer frames can be seen here - > [https://app.travis-ci.com/github/apache/qpid-dispatch/jobs/551423517#L7945] > > The transfer frames must be truncated. -- This message was sent by Atlassian Jira (v8.20.1#820001) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (PROTON-2448) Implement a dumping AMQP values without using pn_data_t
[ https://issues.apache.org/jira/browse/PROTON-2448?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17459474#comment-17459474 ] ASF subversion and git services commented on PROTON-2448: - Commit 89082f1eb4c1ca16407bc0a612b3b439868a2749 in qpid-proton's branch refs/heads/main from Andrew Stitcher [ https://gitbox.apache.org/repos/asf?p=qpid-proton.git;h=89082f1 ] PROTON-2476: Restore truncation behaviour for transfer frame traces The logging changes that came with PROTON-2448 had the side effect of no longer truncating the message payloads that came along with transfer frames. This meant that these trace lines could get extremely long if applications were sending long messages and could also take a very long time to allocate memory and format the string. > Implement a dumping AMQP values without using pn_data_t > --- > > Key: PROTON-2448 > URL: https://issues.apache.org/jira/browse/PROTON-2448 > Project: Qpid Proton > Issue Type: New Feature > Components: proton-c >Reporter: Andrew Stitcher >Assignee: Andrew Stitcher >Priority: Major > > Printing AMQP values is widely used in proton especially for frame tracing. > It is massively inefficient because it relies on there being an existing > pn_data_t structure which represents the AMQP value. > In the upcoming work to remove pn_data_t use from (nearly all of ) the > critical path of proton-c there will no longer be such a pn_data_t that > represents the received or transmitted frame. So we need new code to dump the > AMQP values. Luckily the new AMQP consume code provides a simple skeleton > which makes this fairly straightforward. > This new code can now produce text dumps of AMQP frames/values direct form > the bytes encoding the frames with no intermediate step. This allows the use > if this code in th elowest level send and receive code of the AMQP engine. -- This message was sent by Atlassian Jira (v8.20.1#820001) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (PROTON-2476) [proton-c] Trace level logging prints large transfer messages
[ https://issues.apache.org/jira/browse/PROTON-2476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17459473#comment-17459473 ] ASF subversion and git services commented on PROTON-2476: - Commit 89082f1eb4c1ca16407bc0a612b3b439868a2749 in qpid-proton's branch refs/heads/main from Andrew Stitcher [ https://gitbox.apache.org/repos/asf?p=qpid-proton.git;h=89082f1 ] PROTON-2476: Restore truncation behaviour for transfer frame traces The logging changes that came with PROTON-2448 had the side effect of no longer truncating the message payloads that came along with transfer frames. This meant that these trace lines could get extremely long if applications were sending long messages and could also take a very long time to allocate memory and format the string. > [proton-c] Trace level logging prints large transfer messages > - > > Key: PROTON-2476 > URL: https://issues.apache.org/jira/browse/PROTON-2476 > Project: Qpid Proton > Issue Type: Test > Components: proton-c >Reporter: Ganesh Murthy >Priority: Major > > The transfer frames printed by proton trace level logging are very large. > This leads the Dispatch Travis CI to terminate the test run with the > following message > > {noformat} > The job exceeded the maximum log length, and has been terminated. {noformat} > [https://app.travis-ci.com/github/apache/qpid-dispatch/jobs/551423517#L7947] > The large transfer frames can be seen here - > [https://app.travis-ci.com/github/apache/qpid-dispatch/jobs/551423517#L7945] > > The transfer frames must be truncated. -- This message was sent by Atlassian Jira (v8.20.1#820001) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (PROTON-2477) ASAN use-after-free of proactor pconnection
[ https://issues.apache.org/jira/browse/PROTON-2477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17459471#comment-17459471 ] Ken Giusti commented on PROTON-2477: Hit something very similar, but with raw connections. Proton main branch + Dispatch main branch: [https://github.com/kgiusti/dispatch/runs/4458562073?check_suite_focus=true#step:9:6680] 2021-12-08T14:52:05.3292433Z 63: ::MulticastLinearTest::test_02_presettled_large_msg_rx_close FAILED 2021-12-08T14:53:55.8740316Z 73: 2021-12-08T14:53:55.8741374Z 73: Router EA1 output file: 2021-12-08T14:53:55.8742043Z 73: 2021-12-08T14:53:55.8742638Z 73: = 2021-12-08T14:53:55.8744704Z 73: ==5523==ERROR: AddressSanitizer: heap-use-after-free on address 0x61b31812 at pc 0x7f376866ff6d bp 0x7f375e8b91c0 sp 0x7f375e8b91b0 2021-12-08T14:53:55.8746349Z 73: READ of size 1 at 0x61b31812 thread T3 2021-12-08T14:53:55.8747250Z 73: #0 0x7f376866ff6c in next_runnable ../c/src/proactor/epoll.c:2403 2021-12-08T14:53:55.8751431Z 73: #1 0x7f3768670e53 in next_event_batch ../c/src/proactor/epoll.c:2456 2021-12-08T14:53:55.8752274Z 73: #2 0x7f376867611a in pn_proactor_wait ../c/src/proactor/epoll.c:2715 2021-12-08T14:53:55.8752985Z 73: #3 0x556e145e860e in thread_run ../src/server.c:1118 2021-12-08T14:53:55.8753665Z 73: #4 0x556e14461fbb in _thread_init ../src/posix/threading.c:172 2021-12-08T14:53:55.8754859Z 73: #5 0x7f37681cc608 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x9608) 2021-12-08T14:53:55.8755978Z 73: #6 0x7f37673c2292 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x122292) 2021-12-08T14:53:55.8756537Z 73: 2021-12-08T14:53:55.8757385Z 73: 0x61b31812 is located 146 bytes inside of 1536-byte region [0x61b31780,0x61b31d80) 2021-12-08T14:53:55.8758072Z 73: freed by thread T3 here: 2021-12-08T14:53:55.8759053Z 73: #0 0x7f37688397cf in __interceptor_free (/lib/x86_64-linux-gnu/libasan.so.5+0x10d7cf) 2021-12-08T14:53:55.8760086Z 73: #1 0x7f376867aad8 in praw_connection_cleanup ../c/src/proactor/epoll_raw_connection.c:162 2021-12-08T14:53:55.8761078Z 73: #2 0x7f376867d10b in pni_raw_connection_done ../c/src/proactor/epoll_raw_connection.c:419 2021-12-08T14:53:55.8761955Z 73: #3 0x7f3768676276 in pn_proactor_done ../c/src/proactor/epoll.c:2737 2021-12-08T14:53:55.8762659Z 73: #4 0x556e145e88b5 in thread_run ../src/server.c:1151 2021-12-08T14:53:55.8763356Z 73: #5 0x556e14461fbb in _thread_init ../src/posix/threading.c:172 2021-12-08T14:53:55.8764451Z 73: #6 0x7f37681cc608 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x9608) 2021-12-08T14:53:55.8765115Z 73: 2021-12-08T14:53:55.8765619Z 73: previously allocated by thread T3 here: 2021-12-08T14:53:55.8766779Z 73: #0 0x7f3768839dc6 in calloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10ddc6) 2021-12-08T14:53:55.8767729Z 73: #1 0x7f376867aafa in pn_raw_connection ../c/src/proactor/epoll_raw_connection.c:168 2021-12-08T14:53:55.8768694Z 73: #2 0x556e1433c278 in _create_client_connection ../src/adaptors/http1/http1_client.c:175 2021-12-08T14:53:55.8769637Z 73: #3 0x556e1433ce86 in _handle_listener_events ../src/adaptors/http1/http1_client.c:206 2021-12-08T14:53:55.8770500Z 73: #4 0x556e145e3d83 in handle_event_with_context ../src/server.c:814 2021-12-08T14:53:55.8771246Z 73: #5 0x556e145e3e0a in do_handle_listener ../src/server.c:825 2021-12-08T14:53:55.8771932Z 73: #6 0x556e145e6a2f in handle ../src/server.c:1024 2021-12-08T14:53:55.8772579Z 73: #7 0x556e145e86b1 in thread_run ../src/server.c:1133 2021-12-08T14:53:55.8773265Z 73: #8 0x556e14461fbb in _thread_init ../src/posix/threading.c:172 2021-12-08T14:53:55.8774378Z 73: #9 0x7f37681cc608 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x9608) 2021-12-08T14:53:55.8775042Z 73: 2021-12-08T14:53:55.8775479Z 73: Thread T3 created by T0 here: 2021-12-08T14:53:55.8776427Z 73: #0 0x7f3768766805 in pthread_create (/lib/x86_64-linux-gnu/libasan.so.5+0x3a805) 2021-12-08T14:53:55.8777279Z 73: #1 0x556e1446212a in sys_thread ../src/posix/threading.c:181 2021-12-08T14:53:55.8777972Z 73: #2 0x556e145f0137 in qd_server_run ../src/server.c:1525 2021-12-08T14:53:55.8778627Z 73: #3 0x556e1464b7da in main_process ../router/src/main.c:115 2021-12-08T14:53:55.8786102Z 73: #4 0x556e1464d7de in main ../router/src/main.c:369 2021-12-08T14:53:55.8787133Z 73: #5 0x7f37672c70b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) 2021-12-08T14:53:55.8787735Z 73: 2021-12-08T14:53:55.8788930Z 73: SUMMARY: AddressSanitizer: heap-use-after-free ../c/src/proactor/epoll.c:2403 in next_runnable 2021-12-08T14:53:55.8789884Z 73: Shadow bytes around the buggy address: 2021-12-08T14:53:55.8790711Z 73: 0x0c367fffe2b0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
[GitHub] [qpid-dispatch] ganeshmurthy commented on a change in pull request #1452: Dispatch-1403/1487 Message Annotations refactor part 1
ganeshmurthy commented on a change in pull request #1452: URL: https://github.com/apache/qpid-dispatch/pull/1452#discussion_r768889840 ## File path: src/parse.c ## @@ -23,27 +23,37 @@ #include "qpid/dispatch/amqp.h" #include "qpid/dispatch/ctools.h" +#include "buffer_field_api.h" + #include #include #include DEQ_DECLARE(qd_parsed_field_t, qd_parsed_field_list_t); + +typedef struct qd_amqp_field_t { Review comment: I am thinking aloud here but can qd_amqp_field_t and qd_buffer_field_t just be combined into just a qd_amqp_field_t ? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-dispatch] kgiusti closed pull request #1452: Dispatch-1403/1487 Message Annotations refactor part 1
kgiusti closed pull request #1452: URL: https://github.com/apache/qpid-dispatch/pull/1452 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-dispatch] kgiusti commented on pull request #1452: Dispatch-1403/1487 Message Annotations refactor part 1
kgiusti commented on pull request #1452: URL: https://github.com/apache/qpid-dispatch/pull/1452#issuecomment-993796648 Going to re-submit these patches separately - closing for now. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (PROTON-2475) Update test dependencies to latest releases
[ https://issues.apache.org/jira/browse/PROTON-2475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17459325#comment-17459325 ] ASF subversion and git services commented on PROTON-2475: - Commit 18b3d27ed6e2d50a0775a14d97586e581786433c in qpid-protonj2's branch refs/heads/main from Timothy Bish [ https://gitbox.apache.org/repos/asf?p=qpid-protonj2.git;h=18b3d27 ] PROTON-2475 Update log4j dependency for tests and examples > Update test dependencies to latest releases > --- > > Key: PROTON-2475 > URL: https://issues.apache.org/jira/browse/PROTON-2475 > Project: Qpid Proton > Issue Type: Task > Components: protonj2 >Affects Versions: protonj2-1.0.0-M3 >Reporter: Timothy A. Bish >Assignee: Timothy A. Bish >Priority: Minor > Fix For: protonj2-1.0.0-M4 > > > Update testing dependencies such as Mockito and JUnit to latest releases. -- This message was sent by Atlassian Jira (v8.20.1#820001) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-dispatch] kgiusti commented on a change in pull request #1452: Dispatch-1403/1487 Message Annotations refactor part 1
kgiusti commented on a change in pull request #1452: URL: https://github.com/apache/qpid-dispatch/pull/1452#discussion_r768876857 ## File path: src/buffer_field_api.h ## @@ -0,0 +1,311 @@ +#ifndef __dispatch_buffer_field_api_h__ +#define __dispatch_buffer_field_api_h__ 1 +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +/** @file + * Inline API for common operations on buffer_fields + * @internal + * @{ + */ + +#include "qpid/dispatch/buffer_field.h" +#include "qpid/dispatch/iterator.h" + +/* qd_buffer_field_memcpy + * + * Copy up to n octets from bfield to dest, advance bfield by the number of + * octets copied + * + * @return total of octets copied - may be < n if len(bfield) < n + */ +static inline size_t qd_buffer_field_memcpy(qd_buffer_field_t *bfield, uint8_t *dest, size_t n) +{ +const uint8_t *start = dest; +size_t count = MIN(n, bfield->length); +if (bfield->buffer) { +while (count) { +size_t avail = qd_buffer_cursor(bfield->buffer) - bfield->cursor; +if (count < avail) { +// fastpath: no need to adjust buffer pointers +memcpy(dest, bfield->cursor, count); +dest += count; +bfield->cursor += count; +bfield->length -= count; +return dest - start; +} + +// count is >= what is available in the current buffer +memcpy(dest, bfield->cursor, avail); +dest += avail; +count -= avail; +bfield->length -= avail; +bfield->cursor += avail; +if (bfield->length) { +bfield->buffer = DEQ_NEXT(bfield->buffer); +if (bfield->buffer) { +bfield->cursor = (const uint8_t *)qd_buffer_base(bfield->buffer); +} else { +// DISPATCH-1394: field is truncated (length is inaccurate!) +bfield->length = 0; +count = 0; +assert(false); // TODO(KAG): is this fixed? +} +} +} while (count); + +return dest - start; + +} else {// string/binary data + +memcpy(dest, bfield->cursor, count); +bfield->cursor += count; +bfield->length -= count; +return count; +} +} + + +/* qd_buffer_field_advance + * + * Move the cursor of bfield forward by amount octets. + * + * @return total of octets skipped - may be < amount if len(bfield) < amount + */ +static inline size_t qd_buffer_field_advance(qd_buffer_field_t *bfield, size_t amount) +{ +size_t blen = bfield->length; +size_t count = MIN(amount, blen); +if (bfield->buffer) { Review comment: I'd like that. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-dispatch] kgiusti commented on a change in pull request #1452: Dispatch-1403/1487 Message Annotations refactor part 1
kgiusti commented on a change in pull request #1452: URL: https://github.com/apache/qpid-dispatch/pull/1452#discussion_r768876300 ## File path: src/buffer_field_api.h ## @@ -0,0 +1,311 @@ +#ifndef __dispatch_buffer_field_api_h__ +#define __dispatch_buffer_field_api_h__ 1 +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +/** @file + * Inline API for common operations on buffer_fields + * @internal + * @{ + */ + +#include "qpid/dispatch/buffer_field.h" +#include "qpid/dispatch/iterator.h" + +/* qd_buffer_field_memcpy + * + * Copy up to n octets from bfield to dest, advance bfield by the number of + * octets copied + * + * @return total of octets copied - may be < n if len(bfield) < n + */ +static inline size_t qd_buffer_field_memcpy(qd_buffer_field_t *bfield, uint8_t *dest, size_t n) +{ +const uint8_t *start = dest; +size_t count = MIN(n, bfield->length); +if (bfield->buffer) { +while (count) { +size_t avail = qd_buffer_cursor(bfield->buffer) - bfield->cursor; +if (count < avail) { +// fastpath: no need to adjust buffer pointers +memcpy(dest, bfield->cursor, count); +dest += count; +bfield->cursor += count; +bfield->length -= count; +return dest - start; +} + +// count is >= what is available in the current buffer +memcpy(dest, bfield->cursor, avail); +dest += avail; +count -= avail; +bfield->length -= avail; +bfield->cursor += avail; +if (bfield->length) { +bfield->buffer = DEQ_NEXT(bfield->buffer); +if (bfield->buffer) { +bfield->cursor = (const uint8_t *)qd_buffer_base(bfield->buffer); +} else { +// DISPATCH-1394: field is truncated (length is inaccurate!) +bfield->length = 0; +count = 0; +assert(false); // TODO(KAG): is this fixed? +} +} +} while (count); + +return dest - start; + +} else {// string/binary data Review comment: Here's the problem (which is totally non-obvious) - qd_iterator_t (from which the qd_buffer_field_t api was copied) supports buffer fields that don't actually have an associated qd_buffer_list_t! When an iterator is created via qd_iterator_string() or qd_iterator_binary() there's no qd_buffer_t involved at all. I didn't realize that until parse tests started failing since the code was attempting to parse out an iterator that was created on a string/binary non-buffer. So I had to carry this over to minimize the patch. I agree this is non-obvious and messy. To remove the non-buffer code from the qd_buffer_field_t will require modifying parse() to check the iterator parameter for a buffer. If not present parse() _could_ copy the iterator's content into a temp buffer list. That may not be as bad as it sounds if it only occurs for non-message parsing - I'll take a look at that. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-dispatch] ganeshmurthy commented on a change in pull request #1452: Dispatch-1403/1487 Message Annotations refactor part 1
ganeshmurthy commented on a change in pull request #1452: URL: https://github.com/apache/qpid-dispatch/pull/1452#discussion_r768853507 ## File path: src/buffer_field_api.h ## @@ -0,0 +1,311 @@ +#ifndef __dispatch_buffer_field_api_h__ +#define __dispatch_buffer_field_api_h__ 1 +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +/** @file + * Inline API for common operations on buffer_fields + * @internal + * @{ + */ + +#include "qpid/dispatch/buffer_field.h" +#include "qpid/dispatch/iterator.h" + +/* qd_buffer_field_memcpy + * + * Copy up to n octets from bfield to dest, advance bfield by the number of + * octets copied + * + * @return total of octets copied - may be < n if len(bfield) < n + */ +static inline size_t qd_buffer_field_memcpy(qd_buffer_field_t *bfield, uint8_t *dest, size_t n) +{ +const uint8_t *start = dest; +size_t count = MIN(n, bfield->length); +if (bfield->buffer) { +while (count) { +size_t avail = qd_buffer_cursor(bfield->buffer) - bfield->cursor; +if (count < avail) { +// fastpath: no need to adjust buffer pointers +memcpy(dest, bfield->cursor, count); +dest += count; +bfield->cursor += count; +bfield->length -= count; +return dest - start; +} + +// count is >= what is available in the current buffer +memcpy(dest, bfield->cursor, avail); +dest += avail; +count -= avail; +bfield->length -= avail; +bfield->cursor += avail; +if (bfield->length) { +bfield->buffer = DEQ_NEXT(bfield->buffer); +if (bfield->buffer) { +bfield->cursor = (const uint8_t *)qd_buffer_base(bfield->buffer); +} else { +// DISPATCH-1394: field is truncated (length is inaccurate!) +bfield->length = 0; +count = 0; +assert(false); // TODO(KAG): is this fixed? +} +} +} while (count); + +return dest - start; + +} else {// string/binary data + +memcpy(dest, bfield->cursor, count); +bfield->cursor += count; +bfield->length -= count; +return count; +} +} + + +/* qd_buffer_field_advance + * + * Move the cursor of bfield forward by amount octets. + * + * @return total of octets skipped - may be < amount if len(bfield) < amount + */ +static inline size_t qd_buffer_field_advance(qd_buffer_field_t *bfield, size_t amount) +{ +size_t blen = bfield->length; +size_t count = MIN(amount, blen); +if (bfield->buffer) { Review comment: Can we assume that all bfields MUST have an associated buffer. It is after all a qd_buffer_field. Don't use this data structure if you cannot associate this bfield with a buffer -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-dispatch] ganeshmurthy commented on a change in pull request #1452: Dispatch-1403/1487 Message Annotations refactor part 1
ganeshmurthy commented on a change in pull request #1452: URL: https://github.com/apache/qpid-dispatch/pull/1452#discussion_r768845137 ## File path: src/buffer_field_api.h ## @@ -0,0 +1,311 @@ +#ifndef __dispatch_buffer_field_api_h__ +#define __dispatch_buffer_field_api_h__ 1 +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +/** @file + * Inline API for common operations on buffer_fields + * @internal + * @{ + */ + +#include "qpid/dispatch/buffer_field.h" +#include "qpid/dispatch/iterator.h" + +/* qd_buffer_field_memcpy + * + * Copy up to n octets from bfield to dest, advance bfield by the number of + * octets copied + * + * @return total of octets copied - may be < n if len(bfield) < n + */ +static inline size_t qd_buffer_field_memcpy(qd_buffer_field_t *bfield, uint8_t *dest, size_t n) +{ +const uint8_t *start = dest; +size_t count = MIN(n, bfield->length); +if (bfield->buffer) { +while (count) { +size_t avail = qd_buffer_cursor(bfield->buffer) - bfield->cursor; +if (count < avail) { +// fastpath: no need to adjust buffer pointers +memcpy(dest, bfield->cursor, count); +dest += count; +bfield->cursor += count; +bfield->length -= count; +return dest - start; +} + +// count is >= what is available in the current buffer +memcpy(dest, bfield->cursor, avail); +dest += avail; +count -= avail; +bfield->length -= avail; +bfield->cursor += avail; +if (bfield->length) { +bfield->buffer = DEQ_NEXT(bfield->buffer); +if (bfield->buffer) { +bfield->cursor = (const uint8_t *)qd_buffer_base(bfield->buffer); +} else { +// DISPATCH-1394: field is truncated (length is inaccurate!) +bfield->length = 0; +count = 0; +assert(false); // TODO(KAG): is this fixed? +} +} +} while (count); + +return dest - start; + +} else {// string/binary data Review comment: This else deals with cases when bfield->buffer == 0 ? Can we say that we will not copy if the bfield has no associated buffer? Why would I can this function if my bfield does not have an associated buffer ? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-dispatch] ganeshmurthy commented on a change in pull request #1452: Dispatch-1403/1487 Message Annotations refactor part 1
ganeshmurthy commented on a change in pull request #1452: URL: https://github.com/apache/qpid-dispatch/pull/1452#discussion_r768834368 ## File path: src/buffer_field_api.h ## @@ -0,0 +1,311 @@ +#ifndef __dispatch_buffer_field_api_h__ +#define __dispatch_buffer_field_api_h__ 1 +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +/** @file + * Inline API for common operations on buffer_fields + * @internal + * @{ + */ + +#include "qpid/dispatch/buffer_field.h" +#include "qpid/dispatch/iterator.h" + +/* qd_buffer_field_memcpy + * + * Copy up to n octets from bfield to dest, advance bfield by the number of + * octets copied + * + * @return total of octets copied - may be < n if len(bfield) < n + */ +static inline size_t qd_buffer_field_memcpy(qd_buffer_field_t *bfield, uint8_t *dest, size_t n) +{ Review comment: > Would you mind if instead we treated calling this with a null bfield as an error? Sounds good to me. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-dispatch] kgiusti commented on a change in pull request #1452: Dispatch-1403/1487 Message Annotations refactor part 1
kgiusti commented on a change in pull request #1452: URL: https://github.com/apache/qpid-dispatch/pull/1452#discussion_r768831578 ## File path: src/buffer_field_api.h ## @@ -0,0 +1,311 @@ +#ifndef __dispatch_buffer_field_api_h__ +#define __dispatch_buffer_field_api_h__ 1 +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +/** @file + * Inline API for common operations on buffer_fields + * @internal + * @{ + */ + +#include "qpid/dispatch/buffer_field.h" +#include "qpid/dispatch/iterator.h" + +/* qd_buffer_field_memcpy + * + * Copy up to n octets from bfield to dest, advance bfield by the number of + * octets copied + * + * @return total of octets copied - may be < n if len(bfield) < n + */ +static inline size_t qd_buffer_field_memcpy(qd_buffer_field_t *bfield, uint8_t *dest, size_t n) +{ Review comment: Would you mind if instead we treated calling this with a null bfield as an error? I'd like to keep these functions as fast as possible due to their use for inbound message parsing. The proton API has done this as well by adding "assert(required-non-0-pointer)" to those APIs which expect the caller has already sanitized the parameters. example: https://github.com/apache/qpid-proton/blob/main/c/src/core/engine.c#L99 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-dispatch] kgiusti commented on a change in pull request #1452: Dispatch-1403/1487 Message Annotations refactor part 1
kgiusti commented on a change in pull request #1452: URL: https://github.com/apache/qpid-dispatch/pull/1452#discussion_r768827257 ## File path: src/buffer_field_api.h ## @@ -0,0 +1,311 @@ +#ifndef __dispatch_buffer_field_api_h__ +#define __dispatch_buffer_field_api_h__ 1 +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +/** @file + * Inline API for common operations on buffer_fields + * @internal + * @{ + */ + +#include "qpid/dispatch/buffer_field.h" +#include "qpid/dispatch/iterator.h" + +/* qd_buffer_field_memcpy + * + * Copy up to n octets from bfield to dest, advance bfield by the number of + * octets copied + * + * @return total of octets copied - may be < n if len(bfield) < n + */ +static inline size_t qd_buffer_field_memcpy(qd_buffer_field_t *bfield, uint8_t *dest, size_t n) Review comment: I'll change it to qd_buffer_field_ncopy() - that's consistent with similar APIs in the code. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-dispatch] astitcher commented on pull request #1457: DISPATH-2298: Avoid rescheduling qd_timer if we are already servicing timer
astitcher commented on pull request #1457: URL: https://github.com/apache/qpid-dispatch/pull/1457#issuecomment-993699987 Fixed the commit message typo -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Updated] (PROTON-2477) ASAN use-after-free of proactor pconnection
[ https://issues.apache.org/jira/browse/PROTON-2477?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ganesh Murthy updated PROTON-2477: -- Description: qpid-dispatch github actions CI has hit this ASAN issue a couple of times since enabling use of latest proton-c/main in our CI tests (see attached). Appears to show a pconnection being freed at the end of batch processing, then accessing that freed pconnection while waiting for the next event. [https://github.com/apache/qpid-dispatch/runs/4513058827?check_suite_focus=true#step:9:7347] {noformat} ==4956==ERROR: AddressSanitizer: heap-use-after-free on address 0x616000171412 at pc 0x7f7144626f6d bp 0x7ffe23b9a600 sp 0x7ffe23b9a5f0 63: E READ of size 1 at 0x616000171412 thread T0 63: E #0 0x7f7144626f6c in next_runnable ../c/src/proactor/epoll.c:2403 63: E #1 0x7f7144627e53 in next_event_batch ../c/src/proactor/epoll.c:2456 63: E #2 0x7f714462d11a in pn_proactor_wait ../c/src/proactor/epoll.c:2715 63: E #3 0x556f559f860e in thread_run ../src/server.c:1118 63: E #4 0x556f55a001cf in qd_server_run ../src/server.c:1527 63: E #5 0x556f55a5b7ea in main_process ../router/src/main.c:115 63: E #6 0x556f55a5d7ee in main ../router/src/main.c:369 63: E #7 0x7f714327e0b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) 63: E #8 0x556f5571574d in _start (/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/build/router/qdrouterd+0x56874d) 63: E 63: E 0x616000171412 is located 146 bytes inside of 576-byte region [0x616000171380,0x6160001715c0) 63: E freed by thread T0 here: 63: E #0 0x7f71447f07cf in __interceptor_free (/lib/x86_64-linux-gnu/libasan.so.5+0x10d7cf) 63: E #1 0x7f714460d565 in pconnection_final_free ../c/src/proactor/epoll.c:832 63: E #2 0x7f714460d8bc in pconnection_cleanup ../c/src/proactor/epoll.c:848 63: E #3 0x7f71446104ab in pconnection_done ../c/src/proactor/epoll.c:1048 63: E #4 0x7f714462d20e in pn_proactor_done ../c/src/proactor/epoll.c:2725 63: E #5 0x556f559f88b5 in thread_run ../src/server.c:1151 63: E #6 0x556f55a001cf in qd_server_run ../src/server.c:1527 63: E #7 0x556f55a5b7ea in main_process ../router/src/main.c:115 63: E #8 0x556f55a5d7ee in main ../router/src/main.c:369 63: E #9 0x7f714327e0b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) 63: E 63: E previously allocated by thread T2 here: 63: E #0 0x7f71447f0bc8 in malloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8) 63: E #1 0x7f714461dbda in pn_listener_accept2 ../c/src/proactor/epoll.c:1883 63: E #2 0x7f7144638bd3 in pn_listener_accept ../c/src/proactor/proactor-internal.c:94 63: E #3 0x556f559efbe1 in on_accept ../src/server.c:622 63: E #4 0x556f559f44fc in handle_listener ../src/server.c:865 63: E #5 0x556f559f3d83 in handle_event_with_context ../src/server.c:814 63: E #6 0x556f559f3e0a in do_handle_listener ../src/server.c:825 63: E #7 0x556f559f6a2f in handle ../src/server.c:1024 63: E #8 0x556f559f86b1 in thread_run ../src/server.c:1133 63: E #9 0x556f55871fbb in _thread_init ../src/posix/threading.c:172 63: E #10 0x7f7144183608 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x9608) 63: E 63: E Thread T2 created by T0 here: 63: E #0 0x7f714471d805 in pthread_create (/lib/x86_64-linux-gnu/libasan.so.5+0x3a805) 63: E #1 0x556f5587212a in sys_thread ../src/posix/threading.c:181 63: E #2 0x556f55a00137 in qd_server_run ../src/server.c:1525 63: E #3 0x556f55a5b7ea in main_process ../router/src/main.c:115 63: E #4 0x556f55a5d7ee in main ../router/src/main.c:369 63: E #5 0x7f714327e0b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) 63: E 63: E SUMMARY: AddressSanitizer: heap-use-after-free ../c/src/proactor/epoll.c:2403 in next_runnable 63: E Shadow bytes around the buggy address: 63: E 0x0c2c80026230: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 63: E 0x0c2c80026240: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 63: E 0x0c2c80026250: fd fd fd fd fd fd fd fd fa fa fa fa fa fa fa fa 63: E 0x0c2c80026260: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 63: E 0x0c2c80026270: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 63: E =>0x0c2c80026280: fd fd[fd]fd fd fd fd fd fd fd fd fd fd fd fd fd 63: E 0x0c2c80026290: fd fd fd fd fd fd fd
[jira] [Updated] (PROTON-2477) ASAN use-after-free of proactor pconnection
[ https://issues.apache.org/jira/browse/PROTON-2477?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ken Giusti updated PROTON-2477: --- Description: qpid-dispatch github actions CI has hit this ASAN issue a couple of times since enabling use of latest proton-c/main in our CI tests (see attached). Appears to show a pconnection being freed at the end of batch processing, then accessing that freed pconnection while waiting for the next event. https://github.com/apache/qpid-dispatch/runs/4513058827?check_suite_focus=true#step:9:7347 was: qpid-dispatch github actions CI has hit this ASAN issue a couple of times since enabling use of latest proton-c/main in our CI tests (see attached). Appears to show a pconnection being freed at the end of batch processing, then accessing that freed pconnection while waiting for the next event. https://pipelines.actions.githubusercontent.com/d4LSJ1Lst0MOx7r15wLwpHRNSrHQ0MK5z8829U6tzNz77h40En/_apis/pipelines/1/runs/2309/signedlogcontent/159?urlExpires=2021-12-14T14%3A56%3A10.1660095Z=HMACV1=oSPlcFRdhb3EtY5n1UE7ogc0wXxe2fDntzpsAR%2FX2KE%3D > ASAN use-after-free of proactor pconnection > --- > > Key: PROTON-2477 > URL: https://issues.apache.org/jira/browse/PROTON-2477 > Project: Qpid Proton > Issue Type: Bug > Components: proton-c >Reporter: Ken Giusti >Assignee: Clifford Jansen >Priority: Major > Attachments: ASAN.txt > > > qpid-dispatch github actions CI has hit this ASAN issue a couple of times > since enabling use of latest proton-c/main in our CI tests (see attached). > Appears to show a pconnection being freed at the end of batch processing, > then accessing that freed pconnection while waiting for the next event. > > https://github.com/apache/qpid-dispatch/runs/4513058827?check_suite_focus=true#step:9:7347 > -- This message was sent by Atlassian Jira (v8.20.1#820001) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Assigned] (PROTON-2477) ASAN use-after-free of proactor pconnection
[ https://issues.apache.org/jira/browse/PROTON-2477?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ken Giusti reassigned PROTON-2477: -- Assignee: Clifford Jansen > ASAN use-after-free of proactor pconnection > --- > > Key: PROTON-2477 > URL: https://issues.apache.org/jira/browse/PROTON-2477 > Project: Qpid Proton > Issue Type: Bug > Components: proton-c >Reporter: Ken Giusti >Assignee: Clifford Jansen >Priority: Major > Attachments: ASAN.txt > > > qpid-dispatch github actions CI has hit this ASAN issue a couple of times > since enabling use of latest proton-c/main in our CI tests (see attached). > Appears to show a pconnection being freed at the end of batch processing, > then accessing that freed pconnection while waiting for the next event. > > https://pipelines.actions.githubusercontent.com/d4LSJ1Lst0MOx7r15wLwpHRNSrHQ0MK5z8829U6tzNz77h40En/_apis/pipelines/1/runs/2309/signedlogcontent/159?urlExpires=2021-12-14T14%3A56%3A10.1660095Z=HMACV1=oSPlcFRdhb3EtY5n1UE7ogc0wXxe2fDntzpsAR%2FX2KE%3D -- This message was sent by Atlassian Jira (v8.20.1#820001) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (PROTON-2477) ASAN use-after-free of proactor pconnection
Ken Giusti created PROTON-2477: -- Summary: ASAN use-after-free of proactor pconnection Key: PROTON-2477 URL: https://issues.apache.org/jira/browse/PROTON-2477 Project: Qpid Proton Issue Type: Bug Components: proton-c Reporter: Ken Giusti Attachments: ASAN.txt qpid-dispatch github actions CI has hit this ASAN issue a couple of times since enabling use of latest proton-c/main in our CI tests (see attached). Appears to show a pconnection being freed at the end of batch processing, then accessing that freed pconnection while waiting for the next event. https://pipelines.actions.githubusercontent.com/d4LSJ1Lst0MOx7r15wLwpHRNSrHQ0MK5z8829U6tzNz77h40En/_apis/pipelines/1/runs/2309/signedlogcontent/159?urlExpires=2021-12-14T14%3A56%3A10.1660095Z=HMACV1=oSPlcFRdhb3EtY5n1UE7ogc0wXxe2fDntzpsAR%2FX2KE%3D -- This message was sent by Atlassian Jira (v8.20.1#820001) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-dispatch] ganeshmurthy commented on a change in pull request #1452: Dispatch-1403/1487 Message Annotations refactor part 1
ganeshmurthy commented on a change in pull request #1452: URL: https://github.com/apache/qpid-dispatch/pull/1452#discussion_r768744614 ## File path: src/buffer_field_api.h ## @@ -0,0 +1,311 @@ +#ifndef __dispatch_buffer_field_api_h__ +#define __dispatch_buffer_field_api_h__ 1 +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +/** @file + * Inline API for common operations on buffer_fields + * @internal + * @{ + */ + +#include "qpid/dispatch/buffer_field.h" +#include "qpid/dispatch/iterator.h" + +/* qd_buffer_field_memcpy + * + * Copy up to n octets from bfield to dest, advance bfield by the number of + * octets copied + * + * @return total of octets copied - may be < n if len(bfield) < n + */ +static inline size_t qd_buffer_field_memcpy(qd_buffer_field_t *bfield, uint8_t *dest, size_t n) +{ Review comment: `if (!bfield) return 0;` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-dispatch] ganeshmurthy commented on a change in pull request #1452: Dispatch-1403/1487 Message Annotations refactor part 1
ganeshmurthy commented on a change in pull request #1452: URL: https://github.com/apache/qpid-dispatch/pull/1452#discussion_r768742704 ## File path: src/buffer_field_api.h ## @@ -0,0 +1,311 @@ +#ifndef __dispatch_buffer_field_api_h__ +#define __dispatch_buffer_field_api_h__ 1 +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +/** @file + * Inline API for common operations on buffer_fields + * @internal + * @{ + */ + +#include "qpid/dispatch/buffer_field.h" +#include "qpid/dispatch/iterator.h" + +/* qd_buffer_field_memcpy + * + * Copy up to n octets from bfield to dest, advance bfield by the number of + * octets copied + * + * @return total of octets copied - may be < n if len(bfield) < n + */ +static inline size_t qd_buffer_field_memcpy(qd_buffer_field_t *bfield, uint8_t *dest, size_t n) Review comment: Can we call this function qd_buffer_field_nmemcpy() or just qd_buffer_field_ncopy() ? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-dispatch] ganeshmurthy commented on a change in pull request #1452: Dispatch-1403/1487 Message Annotations refactor part 1
ganeshmurthy commented on a change in pull request #1452: URL: https://github.com/apache/qpid-dispatch/pull/1452#discussion_r768742704 ## File path: src/buffer_field_api.h ## @@ -0,0 +1,311 @@ +#ifndef __dispatch_buffer_field_api_h__ +#define __dispatch_buffer_field_api_h__ 1 +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +/** @file + * Inline API for common operations on buffer_fields + * @internal + * @{ + */ + +#include "qpid/dispatch/buffer_field.h" +#include "qpid/dispatch/iterator.h" + +/* qd_buffer_field_memcpy + * + * Copy up to n octets from bfield to dest, advance bfield by the number of + * octets copied + * + * @return total of octets copied - may be < n if len(bfield) < n + */ +static inline size_t qd_buffer_field_memcpy(qd_buffer_field_t *bfield, uint8_t *dest, size_t n) Review comment: can we call this function qd_buffer_field_nmemcpy() -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPIDJMS-555) update to Netty 4.1.72
[ https://issues.apache.org/jira/browse/QPIDJMS-555?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17459195#comment-17459195 ] ASF subversion and git services commented on QPIDJMS-555: - Commit 5c829bf4c237ac1e3e850a9b0a37d52538350852 in qpid-jms's branch refs/heads/0.x from Robbie Gemmell [ https://gitbox.apache.org/repos/asf?p=qpid-jms.git;h=5c829bf ] QPIDJMS-555, QPIDJMS-556: update Netty to 4.1.72 and netty-tcnative to 2.0.46 (cherry picked from commits a758f10e561ad00f8eacc4a826adeafeb417b64c , df920b6f92ceba287a6dd2175d1b5bc05d2fab8c and 96cbdac2ec6c8ff3ce7d6505d3bfc0df9e6846c9) > update to Netty 4.1.72 > -- > > Key: QPIDJMS-555 > URL: https://issues.apache.org/jira/browse/QPIDJMS-555 > Project: Qpid JMS > Issue Type: Task > Components: qpid-jms-client >Reporter: Robbie Gemmell >Assignee: Robbie Gemmell >Priority: Major > Fix For: 1.4.0 > > -- This message was sent by Atlassian Jira (v8.20.1#820001) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPIDJMS-551) update to proton-j 0.33.10
[ https://issues.apache.org/jira/browse/QPIDJMS-551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17459194#comment-17459194 ] ASF subversion and git services commented on QPIDJMS-551: - Commit e30020ac23c1be8e015507eb63d6425f5aaf5e9f in qpid-jms's branch refs/heads/0.x from Robbie Gemmell [ https://gitbox.apache.org/repos/asf?p=qpid-jms.git;h=e30020a ] QPIDJMS-551: update to proton-j 0.33.10 (cherry picked from commit e63f79d1c8a3f7876a61f85ac024f7672a136a81) > update to proton-j 0.33.10 > -- > > Key: QPIDJMS-551 > URL: https://issues.apache.org/jira/browse/QPIDJMS-551 > Project: Qpid JMS > Issue Type: Task > Components: qpid-jms-client >Reporter: Robbie Gemmell >Assignee: Robbie Gemmell >Priority: Minor > Fix For: 1.3.0 > > > update to proton-j 0.33.10 -- This message was sent by Atlassian Jira (v8.20.1#820001) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPIDJMS-544) JmsDefaultPrefetchPolicy#getMaxPrefetchLimit logs incorrect MAX_PREFETCH_SIZE
[ https://issues.apache.org/jira/browse/QPIDJMS-544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17459191#comment-17459191 ] ASF subversion and git services commented on QPIDJMS-544: - Commit f7dee1b407ef6b8f6939c4569581a8c9eda63195 in qpid-jms's branch refs/heads/0.x from Robbie Gemmell [ https://gitbox.apache.org/repos/asf?p=qpid-jms.git;h=f7dee1b ] QPIDJMS-544: log the variable value rather than constant, ensure correctness should the former ever be updated, tweak message for clarity (cherry picked from commit f5f3cd95e3e7909af45a8e3532b9bb0adea9760a) > JmsDefaultPrefetchPolicy#getMaxPrefetchLimit logs incorrect MAX_PREFETCH_SIZE > - > > Key: QPIDJMS-544 > URL: https://issues.apache.org/jira/browse/QPIDJMS-544 > Project: Qpid JMS > Issue Type: Bug > Components: qpid-jms-client >Affects Versions: 1.0.0, 1.1.0 >Reporter: Alexander Scott >Assignee: Robbie Gemmell >Priority: Trivial > Fix For: 1.2.0 > > > When using the `JmsDefaultPrefetchPolicy` and setting a prefetch limit, > prefetch values greater than the `maxPrefetchSize` are logged as being reset > to the `MAX_PREFETCH_SIZE`. I believe `MAX_PREFETCH_SIZE` should be changed > to `maxPrefetchSize`. > > > {noformat} > private int getMaxPrefetchLimit(int value) { > int result = Math.min(value, maxPrefetchSize); > if (result < value) { > LOG.warn("maximum prefetch limit has been reset from " + value + " to > " + MAX_PREFETCH_SIZE); > } > return result; > }{noformat} > > > {noformat} > private int getMaxPrefetchLimit(int value) { > int result = Math.min(value, maxPrefetchSize); > if (result < value) { > LOG.warn("maximum prefetch limit has been reset from " + value + " to > " + maxPrefetchSize); > } > return result; > }{noformat} > > -- This message was sent by Atlassian Jira (v8.20.1#820001) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPIDJMS-546) update test dependencies
[ https://issues.apache.org/jira/browse/QPIDJMS-546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17459192#comment-17459192 ] ASF subversion and git services commented on QPIDJMS-546: - Commit 10d5a6c5bbe97be58cee0e6f6af253e9873eb715 in qpid-jms's branch refs/heads/0.x from Robbie Gemmell [ https://gitbox.apache.org/repos/asf?p=qpid-jms.git;h=10d5a6c ] QPIDJMS-546: update various test dependencies (cherry picked from commit fe599e6f8ca6e8a0a7213c02b15700f3d976c978 with fixups) > update test dependencies > > > Key: QPIDJMS-546 > URL: https://issues.apache.org/jira/browse/QPIDJMS-546 > Project: Qpid JMS > Issue Type: Task >Reporter: Robbie Gemmell >Assignee: Robbie Gemmell >Priority: Minor > Fix For: 1.2.0 > > > update Mockito to 3.11.2 -- This message was sent by Atlassian Jira (v8.20.1#820001) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPIDJMS-556) update test/examples dependencies
[ https://issues.apache.org/jira/browse/QPIDJMS-556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17459196#comment-17459196 ] ASF subversion and git services commented on QPIDJMS-556: - Commit 5c829bf4c237ac1e3e850a9b0a37d52538350852 in qpid-jms's branch refs/heads/0.x from Robbie Gemmell [ https://gitbox.apache.org/repos/asf?p=qpid-jms.git;h=5c829bf ] QPIDJMS-555, QPIDJMS-556: update Netty to 4.1.72 and netty-tcnative to 2.0.46 (cherry picked from commits a758f10e561ad00f8eacc4a826adeafeb417b64c , df920b6f92ceba287a6dd2175d1b5bc05d2fab8c and 96cbdac2ec6c8ff3ce7d6505d3bfc0df9e6846c9) > update test/examples dependencies > - > > Key: QPIDJMS-556 > URL: https://issues.apache.org/jira/browse/QPIDJMS-556 > Project: Qpid JMS > Issue Type: Task > Components: qpid-jms-client >Reporter: Robbie Gemmell >Assignee: Robbie Gemmell >Priority: Major > Fix For: 1.4.0 > > -- This message was sent by Atlassian Jira (v8.20.1#820001) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPIDJMS-556) update test/examples dependencies
[ https://issues.apache.org/jira/browse/QPIDJMS-556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17459197#comment-17459197 ] ASF subversion and git services commented on QPIDJMS-556: - Commit 83620143dfb52ba30e3f37c9d7e1eafe3dd4efd8 in qpid-jms's branch refs/heads/0.x from Robbie Gemmell [ https://gitbox.apache.org/repos/asf?p=qpid-jms.git;h=8362014 ] QPIDJMS-556: update test+examples slf4j-log4j dep to 2.15.0 (cherry picked from commit 148078ed92cac2c928f177f9c572a3fa745d09d1) > update test/examples dependencies > - > > Key: QPIDJMS-556 > URL: https://issues.apache.org/jira/browse/QPIDJMS-556 > Project: Qpid JMS > Issue Type: Task > Components: qpid-jms-client >Reporter: Robbie Gemmell >Assignee: Robbie Gemmell >Priority: Major > Fix For: 1.4.0 > > -- This message was sent by Atlassian Jira (v8.20.1#820001) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPIDJMS-549) NPE logged during failover after remote close during connection creation
[ https://issues.apache.org/jira/browse/QPIDJMS-549?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17459193#comment-17459193 ] ASF subversion and git services commented on QPIDJMS-549: - Commit 763316dc3028795d463c74a2e0ea1f41fa9de7bd in qpid-jms's branch refs/heads/0.x from Robbie Gemmell [ https://gitbox.apache.org/repos/asf?p=qpid-jms.git;h=763316d ] QPIDJMS-549: use retained ref that isnt nulled during failover, and avoid multiple signals to the related code that let it NPE more than once (cherry picked from commit 2f6bde0a388cd1431cacb154ba55a78c22e263af) > NPE logged during failover after remote close during connection creation > > > Key: QPIDJMS-549 > URL: https://issues.apache.org/jira/browse/QPIDJMS-549 > Project: Qpid JMS > Issue Type: Bug > Components: qpid-jms-client >Affects Versions: 0.59.0, 1.2.0 >Reporter: Gary Tully >Assignee: Robbie Gemmell >Priority: Minor > Fix For: 1.3.0 > > > An NPE can be logged during failover handling after a remote closure/redirect > during connection creation. The NPE is it itself also handled and so the > connection does still get established to the other peer as it should be, but > with the NPE(s) logged. > {code:java} > [WARNING] Caught problem during update processing: null > java.lang.NullPointerException > at > org.apache.qpid.jms.provider.failover.FailoverProvider$CreateConnectionRequest.onFailure > (FailoverProvider.java:1299) > at org.apache.qpid.jms.provider.amqp.AmqpProvider$2$1.onFailure > (AmqpProvider.java:459) > at > org.apache.qpid.jms.provider.amqp.builders.AmqpConnectionBuilder$1$1.onFailure > (AmqpConnectionBuilder.java:91) > at org.apache.qpid.jms.provider.amqp.AmqpProvider.fireProviderException > (AmqpProvider.java:1159) > at org.apache.qpid.jms.provider.amqp.AmqpAbstractResource.closeResource > (AmqpAbstractResource.java:185) > at org.apache.qpid.jms.provider.amqp.AmqpConnection.processRemoteClose > (AmqpConnection.java:151) > at org.apache.qpid.jms.provider.amqp.AmqpProvider.processUpdates > (AmqpProvider.java:962) > at org.apache.qpid.jms.provider.amqp.AmqpProvider.onData > (AmqpProvider.java:872) > at > org.apache.qpid.jms.transports.netty.NettyTcpTransport$NettyTcpTransportHandler.channelRead0 > (NettyTcpTransport.java:563) > at > org.apache.qpid.jms.transports.netty.NettyTcpTransport$NettyTcpTransportHandler.channelRead0 > (NettyTcpTransport.java:556) > at io.netty.channel.SimpleChannelInboundHandler.channelRead > (SimpleChannelInboundHandler.java:99) > at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead > (AbstractChannelHandlerContext.java:379) > at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead > (AbstractChannelHandlerContext.java:365) > at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead > (AbstractChannelHandlerContext.java:357) > at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead > (DefaultChannelPipeline.java:1410) > at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead > (AbstractChannelHandlerContext.java:379) > at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead > (AbstractChannelHandlerContext.java:365) > at io.netty.channel.DefaultChannelPipeline.fireChannelRead > (DefaultChannelPipeline.java:919) > at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read > (AbstractNioByteChannel.java:166) > at io.netty.channel.nio.NioEventLoop.processSelectedKey > (NioEventLoop.java:719) > at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized > (NioEventLoop.java:655) > at io.netty.channel.nio.NioEventLoop.processSelectedKeys > (NioEventLoop.java:581) > at io.netty.channel.nio.NioEventLoop.run (NioEventLoop.java:493) > at io.netty.util.concurrent.SingleThreadEventExecutor$4.run > (SingleThreadEventExecutor.java:986) > at io.netty.util.internal.ThreadExecutorMap$2.run > (ThreadExecutorMap.java:74) > at java.lang.Thread.run (Thread.java:748) > [WARNING] Caught problem during data processing: null > java.lang.NullPointerException > at > org.apache.qpid.jms.provider.failover.FailoverProvider$CreateConnectionRequest.onFailure > (FailoverProvider.java:1299) > at org.apache.qpid.jms.provider.amqp.AmqpProvider$2$1.onFailure > (AmqpProvider.java:459) > at > org.apache.qpid.jms.provider.amqp.builders.AmqpConnectionBuilder$1$1.onFailure > (AmqpConnectionBuilder.java:91) > at org.apache.qpid.jms.provider.amqp.AmqpProvider.fireProviderException > (AmqpProvider.java:1159) > at org.apache.qpid.jms.provider.amqp.AmqpProvider.processUpdates > (AmqpProvider.java:1040) > at