[jira] [Created] (PROTON-2474) proton with cyrus-sasl queries DNS for short hostname
Ken Dreyer created PROTON-2474: -- Summary: proton with cyrus-sasl queries DNS for short hostname Key: PROTON-2474 URL: https://issues.apache.org/jira/browse/PROTON-2474 Project: Qpid Proton Issue Type: New Feature Components: python-binding Affects Versions: proton-c-0.35.0 Reporter: Ken Dreyer My python-qpid-proton 0.35.0 client hangs for about four seconds on every new connection operation to my broker. The problem is that the client tries to look up its own hostname's A and DNS records before completing the SASL exchange (and my DNS server takes a while for missing records.) *Steps to reproduce:* # Set up a CentOS 8 or 9 host. # Install cyrus-sasl-devel # Install python-qpid-proton. Ensure it's dynamically linked to cyrus-sasl ({{{}/lib64/libsasl2.so.3{}}}). # Ensure the unqualified (short) hostname from the "{{{}hostname{}}}" command is not present in {{{}/etc/hosts{}}}. # Connect to a broker with ANONYMOUS SASL and no SSL. *Actual results:* Immediately after Proton receives the {{sasl.mechanisms}} message, but before Proton sends the {{sasl.init}} / {{sasl.outcome}} AMQP messages, it makes two DNS queries (A and ) for my host's unqualified hostname. The request takes a while to answer (3.5 seconds). This makes makes the {{pn_transport_push()}} call hang here: {noformat} -> exec(cmd, globals, locals) (1)() /home/vagrant/dns.py(51)() -> Container(HelloWorld()).run() /usr/lib64/python3.6/site-packages/proton/_reactor.py(180)run() -> while self.process(): /usr/lib64/python3.6/site-packages/proton/_reactor.py(245)process() -> event.dispatch(self._global_handler) /usr/lib64/python3.6/site-packages/proton/_events.py(162)dispatch() -> _dispatch(handler, type.method, self) /usr/lib64/python3.6/site-packages/proton/_events.py(125)_dispatch() -> handler.on_unhandled(method, *args) /usr/lib64/python3.6/site-packages/proton/_reactor.py(876)on_unhandled() -> event.dispatch(self.base) /usr/lib64/python3.6/site-packages/proton/_events.py(162)dispatch() -> _dispatch(handler, type.method, self) /usr/lib64/python3.6/site-packages/proton/_events.py(123)_dispatch() -> m(*args) /usr/lib64/python3.6/site-packages/proton/_handlers.py(1241)on_selectable_readable() -> n = t.push(b) /usr/lib64/python3.6/site-packages/proton/_transport.py(304)push() -> n = self._check(pn_transport_push(self._impl, binary)) {noformat} *Expected Results:* proton with cyrus-sasl should behave the same way it does without cyrus-sasl: it should authenticate quickly, without looking up the IP address of its own short hostname. *Extra information:* This only happens when I build against cyrus-sasl-devel. When I do not have cyrus-sasl-devel available, then the package from PyPI does not link against cyrus-sasl, and there is no DNS request. (The qpid-proton package in EPEL is built against cyrus-sasl, and that is where I discovered this bug.) If the client can resolve its unqualified (short) hostname to an IP, then there is no delay. For example, if my Proton client's hostname is myclient.example.com, I can fix the delay by adding the following entry to /etc/hosts: {noformat} 127.0.0.1 myclient localhost {noformat} or by ensuring my DNS server will immediately return A or records for the unqualified "myclient" name. -- 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] (DISPATCH-2275) Dispatch test failures with the latest from proton main branch
[ https://issues.apache.org/jira/browse/DISPATCH-2275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17455930#comment-17455930 ] ASF GitHub Bot commented on DISPATCH-2275: -- asfgit merged pull request #1431: URL: https://github.com/apache/qpid-dispatch/pull/1431 -- 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 > Dispatch test failures with the latest from proton main branch > -- > > Key: DISPATCH-2275 > URL: https://issues.apache.org/jira/browse/DISPATCH-2275 > Project: Qpid Dispatch > Issue Type: Test > Components: Tests >Affects Versions: 1.17.1 >Reporter: Ganesh Murthy >Assignee: Ken Giusti >Priority: Major > Fix For: 1.19.0 > > > There are 3 test errors > {noformat} > 47: Error text: Process 2801860 error: exit code 1, expected 0 > 47: /usr/bin/python3.9 > /home/gmurthy/opensource/qpid-dispatch/build/tests/scraper/scraper.py -f > /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/setUpClass/A.log > > /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/setUpClass/B.log > > /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/setUpClass/C.log > > /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/setUpClass/D.log > 47: > /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/test_04_scraper_tool/python3.9-1.cmd > 47: > 47: > 47: FAIL > 75: 2021-11-05 10:49:25.394391 TCP_TEST test_01_tcp_EB1_EA1 Client > test_01_tcp_EB1_EA1_0_1_1 exited normally > 75: 2021-11-05 10:49:25.394507 TCP_TEST test_01_tcp_EB1_EA1 SUCCESS > 75: 2021-11-05 10:49:25.394626 TCP_TEST test_01_tcp_basic_connectivity Stop > test_01_tcp_EB1_EA1 SUCCESS > 75: 2021-11-05 10:49:25.394673 TCP_TEST test_01_tcp_basic_connectivity Start > test_01_tcp_EB1_EA2 > 75: 2021-11-05 10:49:25.394726 TCP_TEST test_01_tcp_EB1_EA2 Start > do_tcp_echo_n_routers > 75: 2021-11-05 10:49:25.394774 TCP_TEST test_01_tcp_EB1_EA2 Running pair 0 > EB1->EA2 size=1 count=1 > 47: > 47: == > 47: FAIL: test_04_scraper_tool > (system_tests_topology_disposition.TopologyDispositionTests) > 47: -- > 47: Traceback (most recent call last): > 47: File > "/home/gmurthy/opensource/qpid-dispatch/tests/system_tests_topology_disposition.py", > line 432, in test_04_scraper_tool > 47: self.assertEqual(str(None), error) > 47: AssertionError: 'None' != 'Process 2801860 error: exit code 1, expec[842 > chars]' > 47: - None > 47: + Process 2801860 error: exit code 1, expected 0 > 47: /usr/bin/python3.9 > /home/gmurthy/opensource/qpid-dispatch/build/tests/scraper/scraper.py -f > /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/setUpClass/A.log > > /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/setUpClass/B.log > > /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/setUpClass/C.log > > /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/setUpClass/D.log > 47: > /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/test_04_scraper_tool/python3.9-1.cmd > 47: > 47: {noformat} > > {noformat} > 29: test_max_sessions_zero > (system_tests_protocol_settings.MaxSessionsZeroTest) ... FAIL > 29: > 29: == > 29: FAIL: test_connector_default > (system_tests_protocol_settings.ConnectorSettingsDefaultTest) > 29: -- > 29: Traceback (most recent call last): > 29: File > "/home/gmurthy/opensource/qpid-dispatch/tests/system_tests_protocol_settings.py", > line 322, in test_connector_default > 29: self.assertIn(' max-frame-size=16384,', open_lines[0]) > 29: AssertionError: ' max-frame-size=16384,' not found in '2021-11-05 >
[jira] [Commented] (DISPATCH-2275) Dispatch test failures with the latest from proton main branch
[ https://issues.apache.org/jira/browse/DISPATCH-2275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17455929#comment-17455929 ] ASF subversion and git services commented on DISPATCH-2275: --- Commit c6d3d96ee0beb853385bb6858bb2d776e1e5f4a8 in qpid-dispatch's branch refs/heads/main from Ken Giusti [ https://gitbox.apache.org/repos/asf?p=qpid-dispatch.git;h=c6d3d96 ] DISPATCH-2275: restore testing of proton main branch in CI > Dispatch test failures with the latest from proton main branch > -- > > Key: DISPATCH-2275 > URL: https://issues.apache.org/jira/browse/DISPATCH-2275 > Project: Qpid Dispatch > Issue Type: Test > Components: Tests >Affects Versions: 1.17.1 >Reporter: Ganesh Murthy >Assignee: Ken Giusti >Priority: Major > Fix For: 1.19.0 > > > There are 3 test errors > {noformat} > 47: Error text: Process 2801860 error: exit code 1, expected 0 > 47: /usr/bin/python3.9 > /home/gmurthy/opensource/qpid-dispatch/build/tests/scraper/scraper.py -f > /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/setUpClass/A.log > > /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/setUpClass/B.log > > /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/setUpClass/C.log > > /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/setUpClass/D.log > 47: > /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/test_04_scraper_tool/python3.9-1.cmd > 47: > 47: > 47: FAIL > 75: 2021-11-05 10:49:25.394391 TCP_TEST test_01_tcp_EB1_EA1 Client > test_01_tcp_EB1_EA1_0_1_1 exited normally > 75: 2021-11-05 10:49:25.394507 TCP_TEST test_01_tcp_EB1_EA1 SUCCESS > 75: 2021-11-05 10:49:25.394626 TCP_TEST test_01_tcp_basic_connectivity Stop > test_01_tcp_EB1_EA1 SUCCESS > 75: 2021-11-05 10:49:25.394673 TCP_TEST test_01_tcp_basic_connectivity Start > test_01_tcp_EB1_EA2 > 75: 2021-11-05 10:49:25.394726 TCP_TEST test_01_tcp_EB1_EA2 Start > do_tcp_echo_n_routers > 75: 2021-11-05 10:49:25.394774 TCP_TEST test_01_tcp_EB1_EA2 Running pair 0 > EB1->EA2 size=1 count=1 > 47: > 47: == > 47: FAIL: test_04_scraper_tool > (system_tests_topology_disposition.TopologyDispositionTests) > 47: -- > 47: Traceback (most recent call last): > 47: File > "/home/gmurthy/opensource/qpid-dispatch/tests/system_tests_topology_disposition.py", > line 432, in test_04_scraper_tool > 47: self.assertEqual(str(None), error) > 47: AssertionError: 'None' != 'Process 2801860 error: exit code 1, expec[842 > chars]' > 47: - None > 47: + Process 2801860 error: exit code 1, expected 0 > 47: /usr/bin/python3.9 > /home/gmurthy/opensource/qpid-dispatch/build/tests/scraper/scraper.py -f > /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/setUpClass/A.log > > /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/setUpClass/B.log > > /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/setUpClass/C.log > > /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/setUpClass/D.log > 47: > /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/test_04_scraper_tool/python3.9-1.cmd > 47: > 47: {noformat} > > {noformat} > 29: test_max_sessions_zero > (system_tests_protocol_settings.MaxSessionsZeroTest) ... FAIL > 29: > 29: == > 29: FAIL: test_connector_default > (system_tests_protocol_settings.ConnectorSettingsDefaultTest) > 29: -- > 29: Traceback (most recent call last): > 29: File > "/home/gmurthy/opensource/qpid-dispatch/tests/system_tests_protocol_settings.py", > line 322, in test_connector_default > 29: self.assertIn(' max-frame-size=16384,', open_lines[0]) > 29: AssertionError: ' max-frame-size=16384,' not found in '2021-11-05 > 10:50:24.161355 -0400 PROTOCOL (trace) [C3]:FRAME: 0 <- @open(16) > [container-id="QDR.B", hostname="127.0.0.1", max-frame-size=0x4000, >
[GitHub] [qpid-dispatch] asfgit merged pull request #1431: DISPATCH-2275: restore testing of proton main branch in CI
asfgit merged pull request #1431: URL: https://github.com/apache/qpid-dispatch/pull/1431 -- 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] (DISPATCH-2272) Mark all functions called from Python with QD_EXPORT
[ https://issues.apache.org/jira/browse/DISPATCH-2272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17455344#comment-17455344 ] ASF GitHub Bot commented on DISPATCH-2272: -- ganeshmurthy commented on a change in pull request #1413: URL: https://github.com/apache/qpid-dispatch/pull/1413#discussion_r764995976 ## File path: include/qpid/dispatch/internal/export.h ## @@ -0,0 +1,27 @@ +/* +* 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. +*/ + +/// @cond INTERNAL + +/// import/export macros +#if defined(_WIN32) Review comment: > In the entire codebase, I think it is pointless, since there are (as far as I know only two instances: in the doctest.h framework, which we should not edit, and in CMakeLists.txt which is code "borrowed" from LLVM build scripts, which is also rather unprofitable to modify, in my view). Make sense. Let's remove it from the PR. Thanks. -- 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 > Mark all functions called from Python with QD_EXPORT > > > Key: DISPATCH-2272 > URL: https://issues.apache.org/jira/browse/DISPATCH-2272 > Project: Qpid Dispatch > Issue Type: Sub-task >Affects Versions: 1.17.0 >Reporter: Jiri Daněk >Priority: Major > > Dispatch requires that all C functions it calls be exported, because it looks > them up as if in a dynamic library. This is important on Windows, where > functions are unexported by default. > On Windows, use {{__declspec(dllexport)}} to turn on exporting. Without it, > the functions will not be found from Python. -- 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 #1413: DISPATCH-2272 Mark all functions called from Python with QD_EXPORT
ganeshmurthy commented on a change in pull request #1413: URL: https://github.com/apache/qpid-dispatch/pull/1413#discussion_r764995976 ## File path: include/qpid/dispatch/internal/export.h ## @@ -0,0 +1,27 @@ +/* +* 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. +*/ + +/// @cond INTERNAL + +/// import/export macros +#if defined(_WIN32) Review comment: > In the entire codebase, I think it is pointless, since there are (as far as I know only two instances: in the doctest.h framework, which we should not edit, and in CMakeLists.txt which is code "borrowed" from LLVM build scripts, which is also rather unprofitable to modify, in my view). Make sense. Let's remove it from the PR. Thanks. -- 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] (DISPATCH-2272) Mark all functions called from Python with QD_EXPORT
[ https://issues.apache.org/jira/browse/DISPATCH-2272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17455333#comment-17455333 ] ASF GitHub Bot commented on DISPATCH-2272: -- jiridanek commented on pull request #1413: URL: https://github.com/apache/qpid-dispatch/pull/1413#issuecomment-988928497 > @kgiusti that we'd need devs to be consistent with the use of the new QD_EXPORT qualifier when adding/modifying new declarations in the codebase. Yes, that is true. There is a chunk of code in dispatch which IMO tries to resolve all C functions during startup to discover any possible issues. There are functions missing here, mostly things added for protocol adaptors. https://github.com/apache/qpid-dispatch/blob/main/python/qpid_dispatch_internal/dispatch.py#L51-L79 -- 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 > Mark all functions called from Python with QD_EXPORT > > > Key: DISPATCH-2272 > URL: https://issues.apache.org/jira/browse/DISPATCH-2272 > Project: Qpid Dispatch > Issue Type: Sub-task >Affects Versions: 1.17.0 >Reporter: Jiri Daněk >Priority: Major > > Dispatch requires that all C functions it calls be exported, because it looks > them up as if in a dynamic library. This is important on Windows, where > functions are unexported by default. > On Windows, use {{__declspec(dllexport)}} to turn on exporting. Without it, > the functions will not be found from Python. -- 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] jiridanek commented on pull request #1413: DISPATCH-2272 Mark all functions called from Python with QD_EXPORT
jiridanek commented on pull request #1413: URL: https://github.com/apache/qpid-dispatch/pull/1413#issuecomment-988928497 > @kgiusti that we'd need devs to be consistent with the use of the new QD_EXPORT qualifier when adding/modifying new declarations in the codebase. Yes, that is true. There is a chunk of code in dispatch which IMO tries to resolve all C functions during startup to discover any possible issues. There are functions missing here, mostly things added for protocol adaptors. https://github.com/apache/qpid-dispatch/blob/main/python/qpid_dispatch_internal/dispatch.py#L51-L79 -- 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] (DISPATCH-2272) Mark all functions called from Python with QD_EXPORT
[ https://issues.apache.org/jira/browse/DISPATCH-2272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17455330#comment-17455330 ] ASF GitHub Bot commented on DISPATCH-2272: -- jiridanek commented on a change in pull request #1413: URL: https://github.com/apache/qpid-dispatch/pull/1413#discussion_r764981743 ## File path: include/qpid/dispatch/internal/export.h ## @@ -0,0 +1,27 @@ +/* +* 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. +*/ + +/// @cond INTERNAL + +/// import/export macros +#if defined(_WIN32) +# define QD_EXPORT __declspec(dllexport) +#else +# define QD_EXPORT __attribute__((visibility("default"))) __attribute__((used)) Review comment: In GCC docs it says nothing about the functions having to be static, https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#Common-Function-Attributes > This attribute, attached to a function, means that code must be emitted for the function even if it appears that the function is not referenced. This is useful, for example, when the function is referenced only in inline assembly. I do remember I had the dead code elimination issue when I tried to switch from libqpiddispatch.so to a different way of compiling the code. Because I couldn't easily have the .a library due to dead code elimination by the linker, I had to do the CMake object library, which is cumbersome in old versions of CMake. -- 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 > Mark all functions called from Python with QD_EXPORT > > > Key: DISPATCH-2272 > URL: https://issues.apache.org/jira/browse/DISPATCH-2272 > Project: Qpid Dispatch > Issue Type: Sub-task >Affects Versions: 1.17.0 >Reporter: Jiri Daněk >Priority: Major > > Dispatch requires that all C functions it calls be exported, because it looks > them up as if in a dynamic library. This is important on Windows, where > functions are unexported by default. > On Windows, use {{__declspec(dllexport)}} to turn on exporting. Without it, > the functions will not be found from Python. -- 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] jiridanek commented on a change in pull request #1413: DISPATCH-2272 Mark all functions called from Python with QD_EXPORT
jiridanek commented on a change in pull request #1413: URL: https://github.com/apache/qpid-dispatch/pull/1413#discussion_r764981743 ## File path: include/qpid/dispatch/internal/export.h ## @@ -0,0 +1,27 @@ +/* +* 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. +*/ + +/// @cond INTERNAL + +/// import/export macros +#if defined(_WIN32) +# define QD_EXPORT __declspec(dllexport) +#else +# define QD_EXPORT __attribute__((visibility("default"))) __attribute__((used)) Review comment: In GCC docs it says nothing about the functions having to be static, https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#Common-Function-Attributes > This attribute, attached to a function, means that code must be emitted for the function even if it appears that the function is not referenced. This is useful, for example, when the function is referenced only in inline assembly. I do remember I had the dead code elimination issue when I tried to switch from libqpiddispatch.so to a different way of compiling the code. Because I couldn't easily have the .a library due to dead code elimination by the linker, I had to do the CMake object library, which is cumbersome in old versions of CMake. -- 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] (DISPATCH-2272) Mark all functions called from Python with QD_EXPORT
[ https://issues.apache.org/jira/browse/DISPATCH-2272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17455325#comment-17455325 ] ASF GitHub Bot commented on DISPATCH-2272: -- jiridanek commented on a change in pull request #1413: URL: https://github.com/apache/qpid-dispatch/pull/1413#discussion_r764977711 ## File path: include/qpid/dispatch/internal/export.h ## @@ -0,0 +1,27 @@ +/* +* 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. +*/ + +/// @cond INTERNAL + +/// import/export macros +#if defined(_WIN32) Review comment: In this PR, I agree. In the entire codebase, I think it is pointless, since there are (as far as I know only two instances: in the doctest.h framework, which we should not edit, and in CMakeLists.txt which is code "borrowed" from LLVM build scripts, which is also rather unprofitable to modify, in my view). -- 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 > Mark all functions called from Python with QD_EXPORT > > > Key: DISPATCH-2272 > URL: https://issues.apache.org/jira/browse/DISPATCH-2272 > Project: Qpid Dispatch > Issue Type: Sub-task >Affects Versions: 1.17.0 >Reporter: Jiri Daněk >Priority: Major > > Dispatch requires that all C functions it calls be exported, because it looks > them up as if in a dynamic library. This is important on Windows, where > functions are unexported by default. > On Windows, use {{__declspec(dllexport)}} to turn on exporting. Without it, > the functions will not be found from Python. -- 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] jiridanek commented on a change in pull request #1413: DISPATCH-2272 Mark all functions called from Python with QD_EXPORT
jiridanek commented on a change in pull request #1413: URL: https://github.com/apache/qpid-dispatch/pull/1413#discussion_r764977711 ## File path: include/qpid/dispatch/internal/export.h ## @@ -0,0 +1,27 @@ +/* +* 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. +*/ + +/// @cond INTERNAL + +/// import/export macros +#if defined(_WIN32) Review comment: In this PR, I agree. In the entire codebase, I think it is pointless, since there are (as far as I know only two instances: in the doctest.h framework, which we should not edit, and in CMakeLists.txt which is code "borrowed" from LLVM build scripts, which is also rather unprofitable to modify, in my view). -- 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] (DISPATCH-2109) Shutdown crash: member access within null pointer of type 'struct qdr_node_t'
[ https://issues.apache.org/jira/browse/DISPATCH-2109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17455318#comment-17455318 ] ASF GitHub Bot commented on DISPATCH-2109: -- jiridanek commented on pull request #1307: URL: https://github.com/apache/qpid-dispatch/pull/1307#issuecomment-988918785 @kgiusti This issue was fixed by a different PR from @ganeshmurthy. This PR should be closed. The fix from Ganesh is already included in main and in 1.18.x (assuming it it https://github.com/apache/qpid-dispatch/pull/1389, as far as I can determine) -- 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 > Shutdown crash: member access within null pointer of type 'struct qdr_node_t' > - > > Key: DISPATCH-2109 > URL: https://issues.apache.org/jira/browse/DISPATCH-2109 > Project: Qpid Dispatch > Issue Type: Bug >Affects Versions: 1.17.0 >Reporter: Jiri Daněk >Assignee: Jiri Daněk >Priority: Major > Fix For: 1.18.0 > > > https://travis-ci.com/github/apache/qpid-dispatch/jobs/503812980#L4578 > {code} > 28: > /home/travis/build/apache/qpid-dispatch/src/router_core/route_tables.c:530:17: > runtime error: member access within null pointer of type 'struct qdr_node_t' > 28: #0 0x3ff9628d5bd in qdr_set_cost_CT > /home/travis/build/apache/qpid-dispatch/src/router_core/route_tables.c:530 > 28: #1 0x3ff9627e7cb in qdr_core_free > /home/travis/build/apache/qpid-dispatch/src/router_core/router_core.c:251 > 28: #2 0x3ff962e13f9 in qd_router_free > /home/travis/build/apache/qpid-dispatch/src/router_node.c:2160 > 28: #3 0x3ff9617979d in qd_dispatch_free > /home/travis/build/apache/qpid-dispatch/src/dispatch.c:375 > 28: #4 0x3ff9617979d in qd_dispatch_free > /home/travis/build/apache/qpid-dispatch/src/dispatch.c:363 > 28: #5 0x2aa23604fa9 in main_process > /home/travis/build/apache/qpid-dispatch/router/src/main.c:119 > 28: #6 0x2aa23604a23 in main > /home/travis/build/apache/qpid-dispatch/router/src/main.c:369 > 28: #7 0x3ff94faa5f9 in __libc_start_main > (/lib/s390x-linux-gnu/libc.so.6+0x2a5f9) > 28: #8 0x2aa23604d23 > (/home/travis/build/apache/qpid-dispatch/build/router/qdrouterd+0x4d23) > {code} -- 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] (DISPATCH-2109) Shutdown crash: member access within null pointer of type 'struct qdr_node_t'
[ https://issues.apache.org/jira/browse/DISPATCH-2109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17455319#comment-17455319 ] ASF GitHub Bot commented on DISPATCH-2109: -- jiridanek closed pull request #1307: URL: https://github.com/apache/qpid-dispatch/pull/1307 -- 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 > Shutdown crash: member access within null pointer of type 'struct qdr_node_t' > - > > Key: DISPATCH-2109 > URL: https://issues.apache.org/jira/browse/DISPATCH-2109 > Project: Qpid Dispatch > Issue Type: Bug >Affects Versions: 1.17.0 >Reporter: Jiri Daněk >Assignee: Jiri Daněk >Priority: Major > Fix For: 1.18.0 > > > https://travis-ci.com/github/apache/qpid-dispatch/jobs/503812980#L4578 > {code} > 28: > /home/travis/build/apache/qpid-dispatch/src/router_core/route_tables.c:530:17: > runtime error: member access within null pointer of type 'struct qdr_node_t' > 28: #0 0x3ff9628d5bd in qdr_set_cost_CT > /home/travis/build/apache/qpid-dispatch/src/router_core/route_tables.c:530 > 28: #1 0x3ff9627e7cb in qdr_core_free > /home/travis/build/apache/qpid-dispatch/src/router_core/router_core.c:251 > 28: #2 0x3ff962e13f9 in qd_router_free > /home/travis/build/apache/qpid-dispatch/src/router_node.c:2160 > 28: #3 0x3ff9617979d in qd_dispatch_free > /home/travis/build/apache/qpid-dispatch/src/dispatch.c:375 > 28: #4 0x3ff9617979d in qd_dispatch_free > /home/travis/build/apache/qpid-dispatch/src/dispatch.c:363 > 28: #5 0x2aa23604fa9 in main_process > /home/travis/build/apache/qpid-dispatch/router/src/main.c:119 > 28: #6 0x2aa23604a23 in main > /home/travis/build/apache/qpid-dispatch/router/src/main.c:369 > 28: #7 0x3ff94faa5f9 in __libc_start_main > (/lib/s390x-linux-gnu/libc.so.6+0x2a5f9) > 28: #8 0x2aa23604d23 > (/home/travis/build/apache/qpid-dispatch/build/router/qdrouterd+0x4d23) > {code} -- 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] jiridanek closed pull request #1307: DISPATCH-2109 Fix a shutdown crash: member access within null pointer…
jiridanek closed pull request #1307: URL: https://github.com/apache/qpid-dispatch/pull/1307 -- 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] jiridanek commented on pull request #1307: DISPATCH-2109 Fix a shutdown crash: member access within null pointer…
jiridanek commented on pull request #1307: URL: https://github.com/apache/qpid-dispatch/pull/1307#issuecomment-988918785 @kgiusti This issue was fixed by a different PR from @ganeshmurthy. This PR should be closed. The fix from Ganesh is already included in main and in 1.18.x (assuming it it https://github.com/apache/qpid-dispatch/pull/1389, as far as I can determine) -- 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] (DISPATCH-2109) Shutdown crash: member access within null pointer of type 'struct qdr_node_t'
[ https://issues.apache.org/jira/browse/DISPATCH-2109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17455317#comment-17455317 ] ASF GitHub Bot commented on DISPATCH-2109: -- ganeshmurthy commented on pull request #1307: URL: https://github.com/apache/qpid-dispatch/pull/1307#issuecomment-988917692 It does seem like DISPATCH-2230 should take care of this. This PR can be closed. -- 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 > Shutdown crash: member access within null pointer of type 'struct qdr_node_t' > - > > Key: DISPATCH-2109 > URL: https://issues.apache.org/jira/browse/DISPATCH-2109 > Project: Qpid Dispatch > Issue Type: Bug >Affects Versions: 1.17.0 >Reporter: Jiri Daněk >Assignee: Jiri Daněk >Priority: Major > Fix For: 1.18.0 > > > https://travis-ci.com/github/apache/qpid-dispatch/jobs/503812980#L4578 > {code} > 28: > /home/travis/build/apache/qpid-dispatch/src/router_core/route_tables.c:530:17: > runtime error: member access within null pointer of type 'struct qdr_node_t' > 28: #0 0x3ff9628d5bd in qdr_set_cost_CT > /home/travis/build/apache/qpid-dispatch/src/router_core/route_tables.c:530 > 28: #1 0x3ff9627e7cb in qdr_core_free > /home/travis/build/apache/qpid-dispatch/src/router_core/router_core.c:251 > 28: #2 0x3ff962e13f9 in qd_router_free > /home/travis/build/apache/qpid-dispatch/src/router_node.c:2160 > 28: #3 0x3ff9617979d in qd_dispatch_free > /home/travis/build/apache/qpid-dispatch/src/dispatch.c:375 > 28: #4 0x3ff9617979d in qd_dispatch_free > /home/travis/build/apache/qpid-dispatch/src/dispatch.c:363 > 28: #5 0x2aa23604fa9 in main_process > /home/travis/build/apache/qpid-dispatch/router/src/main.c:119 > 28: #6 0x2aa23604a23 in main > /home/travis/build/apache/qpid-dispatch/router/src/main.c:369 > 28: #7 0x3ff94faa5f9 in __libc_start_main > (/lib/s390x-linux-gnu/libc.so.6+0x2a5f9) > 28: #8 0x2aa23604d23 > (/home/travis/build/apache/qpid-dispatch/build/router/qdrouterd+0x4d23) > {code} -- 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 pull request #1307: DISPATCH-2109 Fix a shutdown crash: member access within null pointer…
ganeshmurthy commented on pull request #1307: URL: https://github.com/apache/qpid-dispatch/pull/1307#issuecomment-988917692 It does seem like DISPATCH-2230 should take care of this. This PR can be closed. -- 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] (DISPATCH-2272) Mark all functions called from Python with QD_EXPORT
[ https://issues.apache.org/jira/browse/DISPATCH-2272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17455315#comment-17455315 ] ASF GitHub Bot commented on DISPATCH-2272: -- ganeshmurthy commented on a change in pull request #1413: URL: https://github.com/apache/qpid-dispatch/pull/1413#discussion_r764969413 ## File path: include/qpid/dispatch/internal/export.h ## @@ -0,0 +1,27 @@ +/* +* 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. +*/ + +/// @cond INTERNAL + +/// import/export macros +#if defined(_WIN32) +# define QD_EXPORT __declspec(dllexport) +#else +# define QD_EXPORT __attribute__((visibility("default"))) __attribute__((used)) Review comment: I was looking at this - https://developer.arm.com/documentation/dui0491/f/Compiler-specific-Features/--attributeused---function-attribute?lang=en It seems to say that "This function attribute informs the compiler that a static function is to be retained in the object file, even if it is unreferenced." Is it true that __attribute__((used)) can *only* be used on *static* functions ? I also understand from reading this - https://developer.arm.com/documentation/dui0491/f/BABCJJID - that __attribute__((used)) can also be used with *static* variables, although I understand that this PR is not attempting to do so. -- 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 > Mark all functions called from Python with QD_EXPORT > > > Key: DISPATCH-2272 > URL: https://issues.apache.org/jira/browse/DISPATCH-2272 > Project: Qpid Dispatch > Issue Type: Sub-task >Affects Versions: 1.17.0 >Reporter: Jiri Daněk >Priority: Major > > Dispatch requires that all C functions it calls be exported, because it looks > them up as if in a dynamic library. This is important on Windows, where > functions are unexported by default. > On Windows, use {{__declspec(dllexport)}} to turn on exporting. Without it, > the functions will not be found from Python. -- 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 #1413: DISPATCH-2272 Mark all functions called from Python with QD_EXPORT
ganeshmurthy commented on a change in pull request #1413: URL: https://github.com/apache/qpid-dispatch/pull/1413#discussion_r764969413 ## File path: include/qpid/dispatch/internal/export.h ## @@ -0,0 +1,27 @@ +/* +* 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. +*/ + +/// @cond INTERNAL + +/// import/export macros +#if defined(_WIN32) +# define QD_EXPORT __declspec(dllexport) +#else +# define QD_EXPORT __attribute__((visibility("default"))) __attribute__((used)) Review comment: I was looking at this - https://developer.arm.com/documentation/dui0491/f/Compiler-specific-Features/--attributeused---function-attribute?lang=en It seems to say that "This function attribute informs the compiler that a static function is to be retained in the object file, even if it is unreferenced." Is it true that __attribute__((used)) can *only* be used on *static* functions ? I also understand from reading this - https://developer.arm.com/documentation/dui0491/f/BABCJJID - that __attribute__((used)) can also be used with *static* variables, although I understand that this PR is not attempting to do so. -- 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] (DISPATCH-2272) Mark all functions called from Python with QD_EXPORT
[ https://issues.apache.org/jira/browse/DISPATCH-2272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17455311#comment-17455311 ] ASF GitHub Bot commented on DISPATCH-2272: -- ganeshmurthy commented on a change in pull request #1413: URL: https://github.com/apache/qpid-dispatch/pull/1413#discussion_r764964838 ## File path: include/qpid/dispatch/internal/export.h ## @@ -0,0 +1,27 @@ +/* +* 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. +*/ + +/// @cond INTERNAL + +/// import/export macros +#if defined(_WIN32) Review comment: I suggest we remove any code that accommodates WIN32. In fact, I would recommend that we go thru the already existing Dispatch code and remove any code that has this kind of #if defined(_WIN32) The reason I say this is that we don't want to have any code that even hints at anything to do with WIN32 -- 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 > Mark all functions called from Python with QD_EXPORT > > > Key: DISPATCH-2272 > URL: https://issues.apache.org/jira/browse/DISPATCH-2272 > Project: Qpid Dispatch > Issue Type: Sub-task >Affects Versions: 1.17.0 >Reporter: Jiri Daněk >Priority: Major > > Dispatch requires that all C functions it calls be exported, because it looks > them up as if in a dynamic library. This is important on Windows, where > functions are unexported by default. > On Windows, use {{__declspec(dllexport)}} to turn on exporting. Without it, > the functions will not be found from Python. -- 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 #1413: DISPATCH-2272 Mark all functions called from Python with QD_EXPORT
ganeshmurthy commented on a change in pull request #1413: URL: https://github.com/apache/qpid-dispatch/pull/1413#discussion_r764964838 ## File path: include/qpid/dispatch/internal/export.h ## @@ -0,0 +1,27 @@ +/* +* 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. +*/ + +/// @cond INTERNAL + +/// import/export macros +#if defined(_WIN32) Review comment: I suggest we remove any code that accommodates WIN32. In fact, I would recommend that we go thru the already existing Dispatch code and remove any code that has this kind of #if defined(_WIN32) The reason I say this is that we don't want to have any code that even hints at anything to do with WIN32 -- 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] (DISPATCH-2109) Shutdown crash: member access within null pointer of type 'struct qdr_node_t'
[ https://issues.apache.org/jira/browse/DISPATCH-2109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17455294#comment-17455294 ] ASF GitHub Bot commented on DISPATCH-2109: -- kgiusti commented on pull request #1307: URL: https://github.com/apache/qpid-dispatch/pull/1307#issuecomment-97134 Should this be included in 1.19.x? @ganeshmurthy indicated it may have been fixed by [DISPATCH-2230](https://issues.apache.org/jira/browse/DISPATCH-2230) - is that still the case? -- 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 > Shutdown crash: member access within null pointer of type 'struct qdr_node_t' > - > > Key: DISPATCH-2109 > URL: https://issues.apache.org/jira/browse/DISPATCH-2109 > Project: Qpid Dispatch > Issue Type: Bug >Affects Versions: 1.17.0 >Reporter: Jiri Daněk >Assignee: Jiri Daněk >Priority: Major > Fix For: 1.18.0 > > > https://travis-ci.com/github/apache/qpid-dispatch/jobs/503812980#L4578 > {code} > 28: > /home/travis/build/apache/qpid-dispatch/src/router_core/route_tables.c:530:17: > runtime error: member access within null pointer of type 'struct qdr_node_t' > 28: #0 0x3ff9628d5bd in qdr_set_cost_CT > /home/travis/build/apache/qpid-dispatch/src/router_core/route_tables.c:530 > 28: #1 0x3ff9627e7cb in qdr_core_free > /home/travis/build/apache/qpid-dispatch/src/router_core/router_core.c:251 > 28: #2 0x3ff962e13f9 in qd_router_free > /home/travis/build/apache/qpid-dispatch/src/router_node.c:2160 > 28: #3 0x3ff9617979d in qd_dispatch_free > /home/travis/build/apache/qpid-dispatch/src/dispatch.c:375 > 28: #4 0x3ff9617979d in qd_dispatch_free > /home/travis/build/apache/qpid-dispatch/src/dispatch.c:363 > 28: #5 0x2aa23604fa9 in main_process > /home/travis/build/apache/qpid-dispatch/router/src/main.c:119 > 28: #6 0x2aa23604a23 in main > /home/travis/build/apache/qpid-dispatch/router/src/main.c:369 > 28: #7 0x3ff94faa5f9 in __libc_start_main > (/lib/s390x-linux-gnu/libc.so.6+0x2a5f9) > 28: #8 0x2aa23604d23 > (/home/travis/build/apache/qpid-dispatch/build/router/qdrouterd+0x4d23) > {code} -- 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 pull request #1307: DISPATCH-2109 Fix a shutdown crash: member access within null pointer…
kgiusti commented on pull request #1307: URL: https://github.com/apache/qpid-dispatch/pull/1307#issuecomment-97134 Should this be included in 1.19.x? @ganeshmurthy indicated it may have been fixed by [DISPATCH-2230](https://issues.apache.org/jira/browse/DISPATCH-2230) - is that still the case? -- 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] (DISPATCH-2272) Mark all functions called from Python with QD_EXPORT
[ https://issues.apache.org/jira/browse/DISPATCH-2272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17455287#comment-17455287 ] ASF GitHub Bot commented on DISPATCH-2272: -- kgiusti commented on pull request #1413: URL: https://github.com/apache/qpid-dispatch/pull/1413#issuecomment-988879144 Interesting point re: static builds. I'd like to get the opinions of @ted-ross and @ganeshmurthy since this seems - correct me if I'm wrong - that we'd need devs to be consistent with the use of the new QD_EXPORT qualifier when adding/modifying new declarations in the codebase. -- 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 > Mark all functions called from Python with QD_EXPORT > > > Key: DISPATCH-2272 > URL: https://issues.apache.org/jira/browse/DISPATCH-2272 > Project: Qpid Dispatch > Issue Type: Sub-task >Affects Versions: 1.17.0 >Reporter: Jiri Daněk >Priority: Major > > Dispatch requires that all C functions it calls be exported, because it looks > them up as if in a dynamic library. This is important on Windows, where > functions are unexported by default. > On Windows, use {{__declspec(dllexport)}} to turn on exporting. Without it, > the functions will not be found from Python. -- 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 pull request #1413: DISPATCH-2272 Mark all functions called from Python with QD_EXPORT
kgiusti commented on pull request #1413: URL: https://github.com/apache/qpid-dispatch/pull/1413#issuecomment-988879144 Interesting point re: static builds. I'd like to get the opinions of @ted-ross and @ganeshmurthy since this seems - correct me if I'm wrong - that we'd need devs to be consistent with the use of the new QD_EXPORT qualifier when adding/modifying new declarations in the codebase. -- 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] asfgit merged pull request #1454: 1.18.x travis fix
asfgit merged pull request #1454: URL: https://github.com/apache/qpid-dispatch/pull/1454 -- 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