You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by GitBox <gi...@apache.org> on 2019/06/21 22:28:59 UTC

[GitHub] [qpid-dispatch] jdanekrh commented on issue #459: DISPATCH-1282 - Support for building on macOS

jdanekrh commented on issue #459: DISPATCH-1282 - Support for building on macOS
URL: https://github.com/apache/qpid-dispatch/pull/459#issuecomment-504592661
 
 
   I think I've figured out the segfault in tests. It is problem with tests. The test provides its own fake `qd_server_timeout` in `timeout_tests.c` which must be used during the test, but under macOS, the "real" version in `server.c` is picked up. On Linux, the test version is used because of linking with `-rdynamic`. On macOS, this option is not present (looks to be noop?), so it has to be achieved differently. Don't know how.
   
   ```
   Process 4806 stopped
   * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x28)
       frame #0: 0x000000010013cec4 libqpid-dispatch.dylib`qd_server_timeout(server=0x0000000000000000, duration=0) at server.c:1511:37 [opt]
      1508 }
      1509
      1510 void qd_server_timeout(qd_server_t *server, qd_duration_t duration) {
   -> 1511     pn_proactor_set_timeout(server->proactor, duration);
      1512 }
      1513
      1514 qd_dispatch_t* qd_server_dispatch(qd_server_t *server) { return server->qd; }
   Target 0: (unit_tests) stopped.
   (lldb) bt
   * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x28)
     * frame #0: 0x000000010013cec4 libqpid-dispatch.dylib`qd_server_timeout(server=0x0000000000000000, duration=0) at server.c:1511:37 [opt]
       frame #1: 0x000000010013ed69 libqpid-dispatch.dylib`qd_timer_schedule(timer=0x000000010033c298, duration=<unavailable>) at timer.c:157:5 [opt]
       frame #2: 0x00000001000059ff unit_tests`timer_tests [inlined] test_immediate at timer_test.c:66:5 [opt]
       frame #3: 0x00000001000059db unit_tests`timer_tests at timer_test.c:313 [opt]
       frame #4: 0x0000000100003eb1 unit_tests`main(argc=<unavailable>, argv=0x00007ffeefbff898) at run_unit_tests.c:57:15 [opt]
       frame #5: 0x00007fff70cd3ed9 libdyld.dylib`start + 1
       frame #6: 0x00007fff70cd3ed9 libdyld.dylib`start + 1
   ```

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

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