[jira] [Commented] (PROTON-2231) Assertion fail on macOS with libuv in c-threaderciser test

2021-03-04 Thread Clifford Jansen (Jira)


[ 
https://issues.apache.org/jira/browse/PROTON-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17295449#comment-17295449
 ] 

Clifford Jansen commented on PROTON-2231:
-

The previous speculative remark fails after an instrumented run and inspection 
of the libuv code.  back to the drawing board.

In other news, this eisen-bug goes into deep hiding if rr is added to the debug 
mix.

> Assertion fail on macOS with libuv in c-threaderciser test
> --
>
> Key: PROTON-2231
> URL: https://issues.apache.org/jira/browse/PROTON-2231
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-c
>Affects Versions: proton-c-0.32.0
>Reporter: Jiri Daněk
>Assignee: Roddie Kieley
>Priority: Major
>  Labels: freebsd, macOS
>
> As described on PROTON-2225, the test fails with assertion error. It is 
> currently disabled on macOS for this reason (in .travis.yml).
> {noformat}
> 6: Test command: /usr/local/opt/python/libexec/bin/python 
> "/Users/travis/build/jiridanek/qpid-proton/scripts/env.py" "--" 
> "/Users/travis/build/jiridanek/qpid-proton/build/c/tests/c-threaderciser"
> 6: Test timeout computed to be: 1500
> 6: threaderciser start: threads=8, time=1, actions=[listen, close-listen, 
> connect, close-connect, wake, timeout, cancel-timeout]
> 6: Assertion failed: (p->active > 0), function remove_active_lh, file 
> /Users/travis/build/jiridanek/qpid-proton/c/src/proactor/libuv.c, line 392.
>  6/31 Test  #6: c-threaderciser ..***Failed0.18 sec
> {noformat}
> If the test is meant to stay disabled for a longer time, it will have to be 
> disabled in CMakeLists.txt, so that users compiling the project do not run it 
> accidentally.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (PROTON-2231) Assertion fail on macOS with libuv in c-threaderciser test

2021-01-03 Thread Clifford Jansen (Jira)


[ 
https://issues.apache.org/jira/browse/PROTON-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17257900#comment-17257900
 ] 

Clifford Jansen commented on PROTON-2231:
-

I took a look at the stack of a run that hung in pn_proactor_wait/uv_run.

I see the p->disconnect boolean is set and the proactor is stuck unable to 
process the pending disconnect operation. My guess is that

  static inline void notify(pn_proactor_t* p) {
    uv_async_send(>notify);
  }

does not wake the "leader" thread in the following circumstance:

  L thread is prepping to do uv_run()
  X thread uv_async_send part 1: register uv callback (no-op since NULL 
callback provided)
  X thread uv_async_sync part 2: wake uv loop (also no-op, not currently 
running)
  L thread uv_run()

Whereas if the uv_run() wins the race against uv_async_send(), the run loop 
returns and the disconnect cleanup activity winds things up as expected.

All speculation, but if relevant, there probably should be a proactor callback 
that temporarily sets the next uv_run_mode to UV_RUN_NOWAIT (with appropriate 
synchronization).

> Assertion fail on macOS with libuv in c-threaderciser test
> --
>
> Key: PROTON-2231
> URL: https://issues.apache.org/jira/browse/PROTON-2231
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-c
>Affects Versions: proton-c-0.32.0
>Reporter: Jiri Daněk
>Assignee: Roddie Kieley
>Priority: Major
>  Labels: freebsd, macOS
>
> As described on PROTON-2225, the test fails with assertion error. It is 
> currently disabled on macOS for this reason (in .travis.yml).
> {noformat}
> 6: Test command: /usr/local/opt/python/libexec/bin/python 
> "/Users/travis/build/jiridanek/qpid-proton/scripts/env.py" "--" 
> "/Users/travis/build/jiridanek/qpid-proton/build/c/tests/c-threaderciser"
> 6: Test timeout computed to be: 1500
> 6: threaderciser start: threads=8, time=1, actions=[listen, close-listen, 
> connect, close-connect, wake, timeout, cancel-timeout]
> 6: Assertion failed: (p->active > 0), function remove_active_lh, file 
> /Users/travis/build/jiridanek/qpid-proton/c/src/proactor/libuv.c, line 392.
>  6/31 Test  #6: c-threaderciser ..***Failed0.18 sec
> {noformat}
> If the test is meant to stay disabled for a longer time, it will have to be 
> disabled in CMakeLists.txt, so that users compiling the project do not run it 
> accidentally.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (PROTON-2231) Assertion fail on macOS with libuv in c-threaderciser test

2020-12-24 Thread Roddie Kieley (Jira)


[ 
https://issues.apache.org/jira/browse/PROTON-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17254516#comment-17254516
 ] 

Roddie Kieley commented on PROTON-2231:
---

I've now tested in the same way on both an 8 core atom Fedora 32 box as well as 
the 6 core macOS box. The behaviour with libuv is broken on both while the 
epoll proactor implementation on the Fedora 32 box is well behaved every run. 
Looking more closely at libuv we see that the problem behaviours, i.e. stopping 
new listening, hanging on exit, or asserting as per the description, appear to 
be caused by the fact that at some point in the test execution uv_run does not 
return when called in the chain pn_proactor_wait -> leader_lead_lh -> uv_run. 
This causes the current leader to not relinquish the lead and the other threads 
to be unable to do more work or exit.

Temporarily switching to pn_proactor_get instead of pn_proactor_wait for the 
test shows that execution runs successfully until the end when leader_lead_lh 
again blocks at uv_run, does not exit, cannot join, and thus the test is still 
hung although main test execution behaviour appears correct. If we add a 
uv_loop_alive check before the uv_run this check passes, i.e. returns != 0, and 
uv_run continues to cause the problem.

As the libuv documentation says that for 
[UV_RUN_ONCE|http://docs.libuv.org/en/v1.x/loop.html]
{quote}Note that this function blocks if there are no pending callbacks.
{quote}
Further investigation will be along those lines, however suggestions welcome 
[~astitcher] or [~cliffjansen].

> Assertion fail on macOS with libuv in c-threaderciser test
> --
>
> Key: PROTON-2231
> URL: https://issues.apache.org/jira/browse/PROTON-2231
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-c
>Affects Versions: proton-c-0.32.0
>Reporter: Jiri Daněk
>Assignee: Roddie Kieley
>Priority: Major
>  Labels: freebsd, macOS
>
> As described on PROTON-2225, the test fails with assertion error. It is 
> currently disabled on macOS for this reason (in .travis.yml).
> {noformat}
> 6: Test command: /usr/local/opt/python/libexec/bin/python 
> "/Users/travis/build/jiridanek/qpid-proton/scripts/env.py" "--" 
> "/Users/travis/build/jiridanek/qpid-proton/build/c/tests/c-threaderciser"
> 6: Test timeout computed to be: 1500
> 6: threaderciser start: threads=8, time=1, actions=[listen, close-listen, 
> connect, close-connect, wake, timeout, cancel-timeout]
> 6: Assertion failed: (p->active > 0), function remove_active_lh, file 
> /Users/travis/build/jiridanek/qpid-proton/c/src/proactor/libuv.c, line 392.
>  6/31 Test  #6: c-threaderciser ..***Failed0.18 sec
> {noformat}
> If the test is meant to stay disabled for a longer time, it will have to be 
> disabled in CMakeLists.txt, so that users compiling the project do not run it 
> accidentally.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (PROTON-2231) Assertion fail on macOS with libuv in c-threaderciser test

2020-12-18 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/PROTON-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17252077#comment-17252077
 ] 

ASF subversion and git services commented on PROTON-2231:
-

Commit e4c179855fef161e656ba5ab422c1c24a2df9ded in qpid-proton's branch 
refs/heads/master from Roddie Kieley
[ https://gitbox.apache.org/repos/asf?p=qpid-proton.git;h=e4c1798 ]

NO-JIRA: github actions CI for macOS disabled threaderciser test due to 
PROTON-2231.


> Assertion fail on macOS with libuv in c-threaderciser test
> --
>
> Key: PROTON-2231
> URL: https://issues.apache.org/jira/browse/PROTON-2231
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-c
>Affects Versions: proton-c-0.32.0
>Reporter: Jiri Daněk
>Assignee: Roddie Kieley
>Priority: Major
>  Labels: freebsd, macOS
>
> As described on PROTON-2225, the test fails with assertion error. It is 
> currently disabled on macOS for this reason (in .travis.yml).
> {noformat}
> 6: Test command: /usr/local/opt/python/libexec/bin/python 
> "/Users/travis/build/jiridanek/qpid-proton/scripts/env.py" "--" 
> "/Users/travis/build/jiridanek/qpid-proton/build/c/tests/c-threaderciser"
> 6: Test timeout computed to be: 1500
> 6: threaderciser start: threads=8, time=1, actions=[listen, close-listen, 
> connect, close-connect, wake, timeout, cancel-timeout]
> 6: Assertion failed: (p->active > 0), function remove_active_lh, file 
> /Users/travis/build/jiridanek/qpid-proton/c/src/proactor/libuv.c, line 392.
>  6/31 Test  #6: c-threaderciser ..***Failed0.18 sec
> {noformat}
> If the test is meant to stay disabled for a longer time, it will have to be 
> disabled in CMakeLists.txt, so that users compiling the project do not run it 
> accidentally.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (PROTON-2231) Assertion fail on macOS with libuv in c-threaderciser test

2020-12-01 Thread Andrew Stitcher (Jira)


[ 
https://issues.apache.org/jira/browse/PROTON-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17241652#comment-17241652
 ] 

Andrew Stitcher commented on PROTON-2231:
-

 This piece of code is keeping track of the total number of proactor 
connections/listeners etc. open so that the proactor can generate an idle event 
when there are none left.

So I think it is likely that it should probably not be executing for a close of 
a connection that is already closed.

> Assertion fail on macOS with libuv in c-threaderciser test
> --
>
> Key: PROTON-2231
> URL: https://issues.apache.org/jira/browse/PROTON-2231
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-c
>Affects Versions: proton-c-0.32.0
>Reporter: Jiri Daněk
>Assignee: Roddie Kieley
>Priority: Major
>  Labels: freebsd, macOS
>
> As described on PROTON-2225, the test fails with assertion error. It is 
> currently disabled on macOS for this reason (in .travis.yml).
> {noformat}
> 6: Test command: /usr/local/opt/python/libexec/bin/python 
> "/Users/travis/build/jiridanek/qpid-proton/scripts/env.py" "--" 
> "/Users/travis/build/jiridanek/qpid-proton/build/c/tests/c-threaderciser"
> 6: Test timeout computed to be: 1500
> 6: threaderciser start: threads=8, time=1, actions=[listen, close-listen, 
> connect, close-connect, wake, timeout, cancel-timeout]
> 6: Assertion failed: (p->active > 0), function remove_active_lh, file 
> /Users/travis/build/jiridanek/qpid-proton/c/src/proactor/libuv.c, line 392.
>  6/31 Test  #6: c-threaderciser ..***Failed0.18 sec
> {noformat}
> If the test is meant to stay disabled for a longer time, it will have to be 
> disabled in CMakeLists.txt, so that users compiling the project do not run it 
> accidentally.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (PROTON-2231) Assertion fail on macOS with libuv in c-threaderciser test

2020-12-01 Thread Roddie Kieley (Jira)


[ 
https://issues.apache.org/jira/browse/PROTON-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17241412#comment-17241412
 ] 

Roddie Kieley commented on PROTON-2231:
---

No, I don't think so. It sounds like what we are saying here is the fact that 
the code executes an assert like:
{code:java}
static void remove_active_lh(pn_proactor_t *p) {
  assert(p->active > 0);
  if (--p->active == 0) {
p->need_inactive = true;
  }
} {code}
when you attempt to close and remove more listeners than have been opened is 
incorrect based on the above. Either that code shouldn't execute at that point 
in time or the assert itself is invalid.

I will review the other implementations and the documentation and see about 
next steps to address the issue.

> Assertion fail on macOS with libuv in c-threaderciser test
> --
>
> Key: PROTON-2231
> URL: https://issues.apache.org/jira/browse/PROTON-2231
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-c
>Affects Versions: proton-c-0.32.0
>Reporter: Jiri Daněk
>Assignee: Roddie Kieley
>Priority: Major
>  Labels: freebsd, macOS
>
> As described on PROTON-2225, the test fails with assertion error. It is 
> currently disabled on macOS for this reason (in .travis.yml).
> {noformat}
> 6: Test command: /usr/local/opt/python/libexec/bin/python 
> "/Users/travis/build/jiridanek/qpid-proton/scripts/env.py" "--" 
> "/Users/travis/build/jiridanek/qpid-proton/build/c/tests/c-threaderciser"
> 6: Test timeout computed to be: 1500
> 6: threaderciser start: threads=8, time=1, actions=[listen, close-listen, 
> connect, close-connect, wake, timeout, cancel-timeout]
> 6: Assertion failed: (p->active > 0), function remove_active_lh, file 
> /Users/travis/build/jiridanek/qpid-proton/c/src/proactor/libuv.c, line 392.
>  6/31 Test  #6: c-threaderciser ..***Failed0.18 sec
> {noformat}
> If the test is meant to stay disabled for a longer time, it will have to be 
> disabled in CMakeLists.txt, so that users compiling the project do not run it 
> accidentally.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (PROTON-2231) Assertion fail on macOS with libuv in c-threaderciser test

2020-11-30 Thread Andrew Stitcher (Jira)


[ 
https://issues.apache.org/jira/browse/PROTON-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17240977#comment-17240977
 ] 

Andrew Stitcher commented on PROTON-2231:
-

[~rkieley] Thank you for the debugging. However I think this is a misdiagnosis 
of the issue:

The documentation for pn_listener_close() has nothing to say about how many 
time it may be called so it may be called as many time as you like, except that 
it will only close the one listener! However you are not allowed to call 
pn_listener_close() after you have received the PN_LISTEN_CLOSE event for the 
listener.

I think it is a totally legitimate test to call pn_listener_close() multiple 
times for the listener. And the epoll implementation seems to fare correctly 
under this test. So I'd say this has pointed out an actual bug in the libuv 
proactor, not  a bug in threadercizer.

Did I miss something or misunderstand?

> Assertion fail on macOS with libuv in c-threaderciser test
> --
>
> Key: PROTON-2231
> URL: https://issues.apache.org/jira/browse/PROTON-2231
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-c
>Affects Versions: proton-c-0.32.0
>Reporter: Jiri Daněk
>Assignee: Roddie Kieley
>Priority: Major
>  Labels: freebsd, macOS
>
> As described on PROTON-2225, the test fails with assertion error. It is 
> currently disabled on macOS for this reason (in .travis.yml).
> {noformat}
> 6: Test command: /usr/local/opt/python/libexec/bin/python 
> "/Users/travis/build/jiridanek/qpid-proton/scripts/env.py" "--" 
> "/Users/travis/build/jiridanek/qpid-proton/build/c/tests/c-threaderciser"
> 6: Test timeout computed to be: 1500
> 6: threaderciser start: threads=8, time=1, actions=[listen, close-listen, 
> connect, close-connect, wake, timeout, cancel-timeout]
> 6: Assertion failed: (p->active > 0), function remove_active_lh, file 
> /Users/travis/build/jiridanek/qpid-proton/c/src/proactor/libuv.c, line 392.
>  6/31 Test  #6: c-threaderciser ..***Failed0.18 sec
> {noformat}
> If the test is meant to stay disabled for a longer time, it will have to be 
> disabled in CMakeLists.txt, so that users compiling the project do not run it 
> accidentally.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (PROTON-2231) Assertion fail on macOS with libuv in c-threaderciser test

2020-11-28 Thread Roddie Kieley (Jira)


[ 
https://issues.apache.org/jira/browse/PROTON-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17240177#comment-17240177
 ] 

Roddie Kieley commented on PROTON-2231:
---

Assuming that the assert in remove_active_lh is correct and that active 
requires being greater than zero then then the problem appears to be that the 
threaderciser does not attempt to adhere to that rule. By that I mean that it 
will attempt to close more listeners than were opened thus ensuring that the 
number of active listeners becomes less than zero.

At the moment I have a partial fix with which it appears in that over the 
course of 20 runs we never see it assert during the run but at the moment in 
shutting down it can either hang or infrequently assert, which was also 
observed in the unmodified code. See my [PROTON-2231 
|https://github.com/apache/qpid-proton/compare/master...RoddieKieley:PROTON-2231]
 branch, commit 
[49efdd5c17d6f5f0b83ec9820da54841df18145d|https://github.com/RoddieKieley/qpid-proton/commit/49efdd5c17d6f5f0b83ec9820da54841df18145d]
 in particular. Needs a bit more work but appears to be on the right track.

Here's snippet from a failed run:
{code}
.
.
.
(7556e000) [0x7f971b80de00] close-listen
(755f1000) [0x7f971b80de00] PN_LISTEN_CLOSE on :::53389, opened: 0
(7505) [0x7f9719200100] wake
(7525c000) [0x7f9718500330] connect
(75468000) [0x7f9718600c20] wake
(75156000) [0x7f971b80d800] listen
(75156000) [0x7f9719100850] wake
(755f1000) [0x7f971b80d800] PN_LISTEN_OPEN on :::53396, opened: 1
(75362000) [0x7f971b801600] listen
(750d3000) [0x7f971b801600] PN_LISTEN_OPEN on :::53397, opened: 2
(75468000) [0x7f971b80ea00] listen
(753e5000) [0x7f971b80ea00] PN_LISTEN_OPEN on :::53398, opened: 3
(75362000) [0x7f97184036c0] wake
(7556e000) [0x7f9718600570] wake
(7556e000) [0x7f9718600c20] wake
(75468000) [0x7f971b801600] close-listen
(752df000) [0x7f971b801600] PN_LISTEN_CLOSE on :::53397, opened: 2
(75156000) [0x7f9719200100] wake
(7505) [0x7f9719100850] wake
(7525c000) [0x7f9718809800] listen
(7525c000) [0x7f9718500330] wake
(754eb000) [0x7f9718809800] PN_LISTEN_OPEN on :::53399, opened: 3
(7525c000) [0x7f9719200100] wake
(7556e000) [0x7f971c007e00] close-listen
(754eb000) [0x7f971c007e00] PN_LISTEN_CLOSE on :::53371, opened: 2
(75362000) [0x7f9718404a70] connect
(75362000) [0x7f97184036c0] wake
(75468000) [0x7f9718602830] connect
(75468000) [0x7f971b805600] listen
(750d3000) [0x7f971b805600] PN_LISTEN_OPEN on :::53402, opened: 3
(750d3000) [0x7f9718600e30] connect
(10d6625c0) shut down
(75156000) user_thread end
(7525c000) user_thread end
(7505) user_thread end
(75362000) user_thread end
(7556e000) user_thread end
(75468000) user_thread end
(10d6625c0) disconnect
(755f1000) [0x7f971b805600] PN_LISTEN_CLOSE on :::53402, opened: 2
(751d9000) [0x7f971b80ea00] PN_LISTEN_CLOSE on :::53398, opened: 1
(755f1000) [0x7f971c000600] PN_LISTEN_CLOSE on :::53392, opened: 0
(753e5000) [0x7f971b80d800] PN_LISTEN_CLOSE on :::53396, opened: -3
(750d3000) [0x7f9718809800] PN_LISTEN_CLOSE on :::53399, opened: -1
(752df000) [0x7f971b008c00] PN_LISTEN_CLOSE on :::53391, opened: -2
Assertion failed: (p->active > 0), function remove_active_lh, file 
/wip/src/github.com/apache/qpid-proton/c/src/proactor/libuv.c, line 394.
{code}

> Assertion fail on macOS with libuv in c-threaderciser test
> --
>
> Key: PROTON-2231
> URL: https://issues.apache.org/jira/browse/PROTON-2231
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-c
>Affects Versions: proton-c-0.32.0
>Reporter: Jiri Daněk
>Assignee: Roddie Kieley
>Priority: Major
>  Labels: freebsd, macOS
>
> As described on PROTON-2225, the test fails with assertion error. It is 
> currently disabled on macOS for this reason (in .travis.yml).
> {noformat}
> 6: Test command: /usr/local/opt/python/libexec/bin/python 
> "/Users/travis/build/jiridanek/qpid-proton/scripts/env.py" "--" 
> "/Users/travis/build/jiridanek/qpid-proton/build/c/tests/c-threaderciser"
> 6: Test timeout computed to be: 1500
> 6: threaderciser start: threads=8, time=1, actions=[listen, close-listen, 
> connect, close-connect, wake, timeout, cancel-timeout]
> 6: Assertion failed: (p->active > 0), function remove_active_lh, file 
> /Users/travis/build/jiridanek/qpid-proton/c/src/proactor/libuv.c, line 392.
>  6/31 Test  #6: c-threaderciser ..***Failed0.18 sec
> {noformat}
> If the test is meant to stay disabled for a longer time, it will have to be 
> disabled in CMakeLists.txt, so that users compiling the project do not run it 
> accidentally.



--
This message was sent by Atlassian 

[jira] [Commented] (PROTON-2231) Assertion fail on macOS with libuv in c-threaderciser test

2020-11-27 Thread Roddie Kieley (Jira)


[ 
https://issues.apache.org/jira/browse/PROTON-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17239854#comment-17239854
 ] 

Roddie Kieley commented on PROTON-2231:
---

I think everything I've seen indicates that it is not platform specific. 
Tracing through the function calls with the timeouts disabled we see that it 
always the code path always comes directly through remove_active which 
eventually asserts that active must be greater than zero for you to call a 
remove that will decrement it. As far as I can tell the threadercizer does not 
track open versus closed listeners and can close more than have been opened, 
although at this point this is from recollection.

> Assertion fail on macOS with libuv in c-threaderciser test
> --
>
> Key: PROTON-2231
> URL: https://issues.apache.org/jira/browse/PROTON-2231
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-c
>Affects Versions: proton-c-0.32.0
>Reporter: Jiri Daněk
>Assignee: Roddie Kieley
>Priority: Major
>  Labels: freebsd, macOS
>
> As described on PROTON-2225, the test fails with assertion error. It is 
> currently disabled on macOS for this reason (in .travis.yml).
> {noformat}
> 6: Test command: /usr/local/opt/python/libexec/bin/python 
> "/Users/travis/build/jiridanek/qpid-proton/scripts/env.py" "--" 
> "/Users/travis/build/jiridanek/qpid-proton/build/c/tests/c-threaderciser"
> 6: Test timeout computed to be: 1500
> 6: threaderciser start: threads=8, time=1, actions=[listen, close-listen, 
> connect, close-connect, wake, timeout, cancel-timeout]
> 6: Assertion failed: (p->active > 0), function remove_active_lh, file 
> /Users/travis/build/jiridanek/qpid-proton/c/src/proactor/libuv.c, line 392.
>  6/31 Test  #6: c-threaderciser ..***Failed0.18 sec
> {noformat}
> If the test is meant to stay disabled for a longer time, it will have to be 
> disabled in CMakeLists.txt, so that users compiling the project do not run it 
> accidentally.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (PROTON-2231) Assertion fail on macOS with libuv in c-threaderciser test

2020-11-19 Thread Andrew Stitcher (Jira)


[ 
https://issues.apache.org/jira/browse/PROTON-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17235535#comment-17235535
 ] 

Andrew Stitcher commented on PROTON-2231:
-

I've now also seen this same issue on Linux too. So I'm fairly sure it is 
actually an issue in the libuv proactor generally and not just a platform 
issue. Of course there may be something about macOS/FreeBSD that make it happen 
more frequently.

> Assertion fail on macOS with libuv in c-threaderciser test
> --
>
> Key: PROTON-2231
> URL: https://issues.apache.org/jira/browse/PROTON-2231
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-c
>Affects Versions: proton-c-0.32.0
>Reporter: Jiri Daněk
>Assignee: Roddie Kieley
>Priority: Major
>  Labels: freebsd, macOS
>
> As described on PROTON-2225, the test fails with assertion error. It is 
> currently disabled on macOS for this reason (in .travis.yml).
> {noformat}
> 6: Test command: /usr/local/opt/python/libexec/bin/python 
> "/Users/travis/build/jiridanek/qpid-proton/scripts/env.py" "--" 
> "/Users/travis/build/jiridanek/qpid-proton/build/c/tests/c-threaderciser"
> 6: Test timeout computed to be: 1500
> 6: threaderciser start: threads=8, time=1, actions=[listen, close-listen, 
> connect, close-connect, wake, timeout, cancel-timeout]
> 6: Assertion failed: (p->active > 0), function remove_active_lh, file 
> /Users/travis/build/jiridanek/qpid-proton/c/src/proactor/libuv.c, line 392.
>  6/31 Test  #6: c-threaderciser ..***Failed0.18 sec
> {noformat}
> If the test is meant to stay disabled for a longer time, it will have to be 
> disabled in CMakeLists.txt, so that users compiling the project do not run it 
> accidentally.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (PROTON-2231) Assertion fail on macOS with libuv in c-threaderciser test

2020-11-18 Thread Andrew Stitcher (Jira)


[ 
https://issues.apache.org/jira/browse/PROTON-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17234950#comment-17234950
 ] 

Andrew Stitcher commented on PROTON-2231:
-

I've also seen this fairly commonly running this test on FreeBSD 12 as well - 
This makes it look to me like it's an issue with the libuv proactor rather than 
the macOS platform.

> Assertion fail on macOS with libuv in c-threaderciser test
> --
>
> Key: PROTON-2231
> URL: https://issues.apache.org/jira/browse/PROTON-2231
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-c
>Affects Versions: proton-c-0.32.0
>Reporter: Jiri Daněk
>Assignee: Roddie Kieley
>Priority: Major
>  Labels: macOS
>
> As described on PROTON-2225, the test fails with assertion error. It is 
> currently disabled on macOS for this reason (in .travis.yml).
> {noformat}
> 6: Test command: /usr/local/opt/python/libexec/bin/python 
> "/Users/travis/build/jiridanek/qpid-proton/scripts/env.py" "--" 
> "/Users/travis/build/jiridanek/qpid-proton/build/c/tests/c-threaderciser"
> 6: Test timeout computed to be: 1500
> 6: threaderciser start: threads=8, time=1, actions=[listen, close-listen, 
> connect, close-connect, wake, timeout, cancel-timeout]
> 6: Assertion failed: (p->active > 0), function remove_active_lh, file 
> /Users/travis/build/jiridanek/qpid-proton/c/src/proactor/libuv.c, line 392.
>  6/31 Test  #6: c-threaderciser ..***Failed0.18 sec
> {noformat}
> If the test is meant to stay disabled for a longer time, it will have to be 
> disabled in CMakeLists.txt, so that users compiling the project do not run it 
> accidentally.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (PROTON-2231) Assertion fail on macOS with libuv in c-threaderciser test

2020-11-06 Thread Roddie Kieley (Jira)


[ 
https://issues.apache.org/jira/browse/PROTON-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17227570#comment-17227570
 ] 

Roddie Kieley commented on PROTON-2231:
---

After collecting lots of logging using the -debug method via:
{code}
./c-threaderciser -time 10 -threads 12 -debug -no-timeout -no-cancel-timeout
{code}

A very short reproduction of the assertion was recorded:
{code}
i7mbp:tests rkieley$ ./c-threaderciser -time 10 -threads 12 -debug -no-timeout 
-no-cancel-timeout 2>&1 >> 
/wip/issues/issues.apache.org/PROTON-2231/threader-110620-4-no-timeouts-1.out | 
tee 
/wip/issues/issues.apache.org/PROTON-2231/threader-110620-4-no-timeouts-1.out   
   
(1053a35c0) [0x7fb3c8802800] listen
(709b) user_thread start
(70a33000) proactor_thread start
(70ab6000) user_thread start
(70b39000) proactor_thread start
(70c3f000) proactor_thread start
(709b) [0x7fb3c7d006a0] connect
(70cc2000) user_thread start
(70bbc000) user_thread start
(70d45000) proactor_thread start
(70dc8000) user_thread start
(70bbc000) [0x7fb3c9100070] connect
(70e4b000) proactor_thread start
(70ece000) user_thread start
(70f51000) proactor_thread start
(709b) [0x7fb3c8802800] close-listen
(709b) [0x7fb3c9100070] wake
(70dc8000) [0x7fb3c7d01f10] connect
(70dc8000) [0x7fb3c980d200] listen
(70dc8000) [0x7fb3c8802800] close-listen
(70dc8000) [0x7fb3c9100070] wake
(70ece000) [0x7fb3c7f02eb0] connect
(709b) [0x7fb3c980de00] listen
(70bbc000) [0x7fb3c7d006a0] wake
(70ece000) [0x7fb3c980d200] close-listen
(70cc2000) [0x7fb3c7d006a0] wake
(70bbc000) [0x7fb3c7f041f0] connect
(70bbc000) [0x7fb3c7f02eb0] wake
(70ece000) [0x7fb3c9100070] wake
(70a33000) [0x7fb3c8802800] listening on :::62859
(70a33000) [0x7fb3c7c04e60] connect
(70c3f000) [0x7fb3c980de00] listening on :::62860
(70c3f000) [0x7fb3c9101200] connect
(70dc8000) [0x7fb3c7f02c90] connect
(70dc8000) [0x7fb3c7f02c90] wake
(709b) [0x7fb3c7f02c90] wake
(70bbc000) [0x7fb3c980de00] close-listen
Assertion failed: (p->active > 0), function remove_active_lh, file 
/wip/src/github.com/apache/qpid-proton/c/src/proactor/libuv.c, line 394.
   
i7mbp:tests rkieley$
{code}

> Assertion fail on macOS with libuv in c-threaderciser test
> --
>
> Key: PROTON-2231
> URL: https://issues.apache.org/jira/browse/PROTON-2231
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-c
>Affects Versions: proton-c-0.32.0
>Reporter: Jiri Daněk
>Assignee: Roddie Kieley
>Priority: Major
>  Labels: macOS
>
> As described on PROTON-2225, the test fails with assertion error. It is 
> currently disabled on macOS for this reason (in .travis.yml).
> {noformat}
> 6: Test command: /usr/local/opt/python/libexec/bin/python 
> "/Users/travis/build/jiridanek/qpid-proton/scripts/env.py" "--" 
> "/Users/travis/build/jiridanek/qpid-proton/build/c/tests/c-threaderciser"
> 6: Test timeout computed to be: 1500
> 6: threaderciser start: threads=8, time=1, actions=[listen, close-listen, 
> connect, close-connect, wake, timeout, cancel-timeout]
> 6: Assertion failed: (p->active > 0), function remove_active_lh, file 
> /Users/travis/build/jiridanek/qpid-proton/c/src/proactor/libuv.c, line 392.
>  6/31 Test  #6: c-threaderciser ..***Failed0.18 sec
> {noformat}
> If the test is meant to stay disabled for a longer time, it will have to be 
> disabled in CMakeLists.txt, so that users compiling the project do not run it 
> accidentally.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (PROTON-2231) Assertion fail on macOS with libuv in c-threaderciser test

2020-11-06 Thread Roddie Kieley (Jira)


[ 
https://issues.apache.org/jira/browse/PROTON-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17227457#comment-17227457
 ] 

Roddie Kieley commented on PROTON-2231:
---

Investigation ongoing. Seeing two variations of the hang at the end of the 
threaderciser using the following on a 6 core i7 based mac:
{code}
for i in {1..10}; do `echo echo $i; date +%H:%M:%S; ./c-threaderciser -time 10 
-threads 12`; done;
{code}
This hangs the very first time it runs in many cases in one of two places
{code}
for (i = 0; i < threads/2; ++i) pthread_join(proactor_threads[i], );
{code}
with 6 of the 7 threads sitting in pn_proactor_wait

OR threaderciser hangs at
{code}
global_destroy()
{code}

which itself is hung on
{code}
pn_proactor_free(g->proactor);
{code}

As well I also see the Assertion failed from the above comment periodically. 
More investigation and understanding required to put the pieces together.

> Assertion fail on macOS with libuv in c-threaderciser test
> --
>
> Key: PROTON-2231
> URL: https://issues.apache.org/jira/browse/PROTON-2231
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-c
>Affects Versions: proton-c-0.32.0
>Reporter: Jiri Daněk
>Assignee: Roddie Kieley
>Priority: Major
>  Labels: macOS
>
> As described on PROTON-2225, the test fails with assertion error. It is 
> currently disabled on macOS for this reason (in .travis.yml).
> {noformat}
> 6: Test command: /usr/local/opt/python/libexec/bin/python 
> "/Users/travis/build/jiridanek/qpid-proton/scripts/env.py" "--" 
> "/Users/travis/build/jiridanek/qpid-proton/build/c/tests/c-threaderciser"
> 6: Test timeout computed to be: 1500
> 6: threaderciser start: threads=8, time=1, actions=[listen, close-listen, 
> connect, close-connect, wake, timeout, cancel-timeout]
> 6: Assertion failed: (p->active > 0), function remove_active_lh, file 
> /Users/travis/build/jiridanek/qpid-proton/c/src/proactor/libuv.c, line 392.
>  6/31 Test  #6: c-threaderciser ..***Failed0.18 sec
> {noformat}
> If the test is meant to stay disabled for a longer time, it will have to be 
> disabled in CMakeLists.txt, so that users compiling the project do not run it 
> accidentally.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (PROTON-2231) Assertion fail on macOS with libuv in c-threaderciser test

2020-10-16 Thread Roddie Kieley (Jira)


[ 
https://issues.apache.org/jira/browse/PROTON-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17215708#comment-17215708
 ] 

Roddie Kieley commented on PROTON-2231:
---

While I have not yet attempted to reproduce using libuv on other platforms, 
either Linux or Windows, I can now confirm local reproduction on macOS 10.14 
using today's latest code:
{code}
i7mbp:1 rkieley$ ctest -VV -R c-threaderciser --timeout 60
UpdateCTestConfiguration  from 
:/wip/builds/github.com/apache/qpid-proton/101620/1/DartConfiguration.tcl
Parse Config 
file:/wip/builds/github.com/apache/qpid-proton/101620/1/DartConfiguration.tcl
UpdateCTestConfiguration  from 
:/wip/builds/github.com/apache/qpid-proton/101620/1/DartConfiguration.tcl
Parse Config 
file:/wip/builds/github.com/apache/qpid-proton/101620/1/DartConfiguration.tcl
Test project /wip/builds/github.com/apache/qpid-proton/101620/1
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 6
Start 6: c-threaderciser

6: Test command: /opt/local/bin/python 
"/wip/src/github.com/apache/qpid-proton/scripts/env.py" "--" 
"/wip/builds/github.com/apache/qpid-proton/101620/1/c/tests/c-threaderciser"
6: Test timeout computed to be: 60
6: threaderciser start: threads=8, time=1, actions=[listen, close-listen, 
connect, close-connect, wake, timeout, cancel-timeout]
6: Assertion failed: (p->active > 0), function remove_active_lh, file 
/wip/src/github.com/apache/qpid-proton/c/src/proactor/libuv.c, line 394.
1/1 Test #6: c-threaderciser ..***Failed1.16 sec

0% tests passed, 1 tests failed out of 1

Total Test time (real) =   1.17 sec

The following tests FAILED:
  6 - c-threaderciser (Failed)
Errors while running CTest
i7mbp:1 rkieley$
{code}

> Assertion fail on macOS with libuv in c-threaderciser test
> --
>
> Key: PROTON-2231
> URL: https://issues.apache.org/jira/browse/PROTON-2231
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-c
>Affects Versions: proton-c-0.32.0
>Reporter: Jiri Daněk
>Assignee: Roddie Kieley
>Priority: Major
>  Labels: macOS
>
> As described on PROTON-2225, the test fails with assertion error. It is 
> currently disabled on macOS for this reason (in .travis.yml).
> {noformat}
> 6: Test command: /usr/local/opt/python/libexec/bin/python 
> "/Users/travis/build/jiridanek/qpid-proton/scripts/env.py" "--" 
> "/Users/travis/build/jiridanek/qpid-proton/build/c/tests/c-threaderciser"
> 6: Test timeout computed to be: 1500
> 6: threaderciser start: threads=8, time=1, actions=[listen, close-listen, 
> connect, close-connect, wake, timeout, cancel-timeout]
> 6: Assertion failed: (p->active > 0), function remove_active_lh, file 
> /Users/travis/build/jiridanek/qpid-proton/c/src/proactor/libuv.c, line 392.
>  6/31 Test  #6: c-threaderciser ..***Failed0.18 sec
> {noformat}
> If the test is meant to stay disabled for a longer time, it will have to be 
> disabled in CMakeLists.txt, so that users compiling the project do not run it 
> accidentally.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (PROTON-2231) Assertion fail on macOS with libuv in c-threaderciser test

2020-08-22 Thread Jira


[ 
https://issues.apache.org/jira/browse/PROTON-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17182316#comment-17182316
 ] 

Jiri Daněk commented on PROTON-2231:


I've split out the issue with the test getting stuck, because it appears to be 
not limited solely to libuv/macOS. New issue is PROTON-2273.

> Assertion fail on macOS with libuv in c-threaderciser test
> --
>
> Key: PROTON-2231
> URL: https://issues.apache.org/jira/browse/PROTON-2231
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-c
>Reporter: Jiri Daněk
>Priority: Major
>  Labels: macOS
>
> As described on PROTON-2225, the test fails with assertion error. It is 
> currently disabled on macOS for this reason (in .travis.yml).
> {noformat}
> 6: Test command: /usr/local/opt/python/libexec/bin/python 
> "/Users/travis/build/jiridanek/qpid-proton/scripts/env.py" "--" 
> "/Users/travis/build/jiridanek/qpid-proton/build/c/tests/c-threaderciser"
> 6: Test timeout computed to be: 1500
> 6: threaderciser start: threads=8, time=1, actions=[listen, close-listen, 
> connect, close-connect, wake, timeout, cancel-timeout]
> 6: Assertion failed: (p->active > 0), function remove_active_lh, file 
> /Users/travis/build/jiridanek/qpid-proton/c/src/proactor/libuv.c, line 392.
>  6/31 Test  #6: c-threaderciser ..***Failed0.18 sec
> {noformat}
> If the test is meant to stay disabled for a longer time, it will have to be 
> disabled in CMakeLists.txt, so that users compiling the project do not run it 
> accidentally.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org