Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.17.0
-
None
-
None
-
None
Description
This requires extra compile options as used in the CI build. Previously, I believed that setting ASAN_OPTIONS at runtime is enough to enable these checks, but actually it is not, a compile time options have to be enabled also on gcc comanline.
https://github.com/jiridanek/qpid-dispatch/runs/2629253869
15: Router QDR.A output file: 15: >>>> 15: ================================================================= 15: ==2549==ERROR: AddressSanitizer: invalid-pointer-pair: 0x7f898dbf41e0 0x7f898dbf3960 15: #0 0x7f8992c6b6f7 in vaprintf ../src/aprintf.h:31 15: #1 0x7f8992c6bce5 in aprintf ../src/aprintf.h:62 15: #2 0x7f8992c6e385 in write_log ../src/log.c:326 15: #3 0x7f8992c6f2ad in qd_vlog_impl ../src/log.c:443 15: #4 0x7f8992c6faf6 in qd_log_impl ../src/log.c:462 15: #5 0x7f8992cbddd0 in qd_python_log ../src/python_embedded.c:545 15: #6 0x7f89912e0fad in _PyMethodDef_RawFastCallKeywords Objects/call.c:697 15: #7 0x7f89912e5e50 in _PyMethodDescr_FastCallKeywords Objects/descrobject.c:288 15: #8 0x7f8991354bca in call_function Python/ceval.c:4593 15: #9 0x7f899134d629 in _PyEval_EvalFrameDefault Python/ceval.c:3110 15: #10 0x7f89912e2099 in function_code_fastcall Objects/call.c:283 15: #11 0x7f89912e2099 in _PyFunction_FastCallKeywords Objects/call.c:408 15: #12 0x7f8991354aee in call_function Python/ceval.c:4616 15: #13 0x7f8991351c29 in _PyEval_EvalFrameDefault Python/ceval.c:3093 15: #14 0x7f89912e2099 in function_code_fastcall Objects/call.c:283 15: #15 0x7f89912e2099 in _PyFunction_FastCallKeywords Objects/call.c:408 15: #16 0x7f8991354aee in call_function Python/ceval.c:4616 15: #17 0x7f899134d629 in _PyEval_EvalFrameDefault Python/ceval.c:3110 15: #18 0x7f89912e2099 in function_code_fastcall Objects/call.c:283 15: #19 0x7f89912e2099 in _PyFunction_FastCallKeywords Objects/call.c:408 15: #20 0x7f8991354aee in call_function Python/ceval.c:4616 15: #21 0x7f899134d629 in _PyEval_EvalFrameDefault Python/ceval.c:3110 15: #22 0x7f89912e2099 in function_code_fastcall Objects/call.c:283 15: #23 0x7f89912e2099 in _PyFunction_FastCallKeywords Objects/call.c:408 15: #24 0x7f8991354aee in call_function Python/ceval.c:4616 15: #25 0x7f899134d629 in _PyEval_EvalFrameDefault Python/ceval.c:3110 15: #26 0x7f89912e2099 in function_code_fastcall Objects/call.c:283 15: #27 0x7f89912e2099 in _PyFunction_FastCallKeywords Objects/call.c:408 15: #28 0x7f8991354aee in call_function Python/ceval.c:4616 15: #29 0x7f899134d629 in _PyEval_EvalFrameDefault Python/ceval.c:3110 15: #30 0x7f899134bfa2 in _PyEval_EvalCodeWithName Python/ceval.c:3930 15: #31 0x7f89912e2135 in _PyFunction_FastCallKeywords Objects/call.c:433 15: #32 0x7f8991354aee in call_function Python/ceval.c:4616 15: #33 0x7f899134d58c in _PyEval_EvalFrameDefault Python/ceval.c:3124 15: #34 0x7f899134bfa2 in _PyEval_EvalCodeWithName Python/ceval.c:3930 15: #35 0x7f89912e2807 in _PyFunction_FastCallDict Objects/call.c:376 15: #36 0x7f89912e2467 in _PyObject_CallFunctionVa Objects/call.c:959 15: #37 0x7f89912e307c in _PyObject_CallFunctionVa Objects/call.c:932 15: #38 0x7f89912e307c in PyObject_CallFunction Objects/call.c:979 15: #39 0x7f8992c50f46 in qd_dispatch_load_config ../src/dispatch.c:133 15: #40 0x56511affb157 in main_process ../router/src/main.c:97 15: #41 0x56511afface0 in main ../router/src/main.c:369 15: #42 0x7f8991b3c0b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) 15: #43 0x56511affaf8d in _start (/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/build/router/qdrouterd+0x5f8d) 15: 15: Address 0x7f898dbf41e0 is located in stack of thread T0 at offset 4576 in frame 15: #0 0x7f8992c6db8f in write_log ../src/log.c:306 15: 15: This frame has 4 object(s): 15: [48, 56) 'begin' (line 311) 15: [80, 180) 'buf' (line 321) 15: [224, 2272) 'msg' (line 338) 15: [2400, 4576) 'log_str' (line 310) <== Memory access at offset 4576 overflows this variable 15: HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork 15: (longjmp and C++ exceptions *are* supported) 15: Address 0x7f898dbf3960 is located in stack of thread T0 at offset 2400 in frame 15: #0 0x7f8992c6db8f in write_log ../src/log.c:306 15: 15: This frame has 4 object(s): 15: [48, 56) 'begin' (line 311) 15: [80, 180) 'buf' (line 321) 15: [224, 2272) 'msg' (line 338) 15: [2400, 4576) 'log_str' (line 310) <== Memory access at offset 2400 is inside this variable 15: HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork 15: (longjmp and C++ exceptions *are* supported) 15: SUMMARY: AddressSanitizer: invalid-pointer-pair ../src/aprintf.h:31 in vaprintf 15: ==2549==ABORTING
25: Router QDR.Policy output file: 25: >>>> 25: ================================================================= 25: ==2935==ERROR: AddressSanitizer: invalid-pointer-pair: 0x7fe4132e21e0 0x7fe4132e1960 25: #0 0x7fe4183596f7 in vaprintf ../src/aprintf.h:31 25: #1 0x7fe418359ce5 in aprintf ../src/aprintf.h:62 25: #2 0x7fe41835c385 in write_log ../src/log.c:326 25: #3 0x7fe41835d2ad in qd_vlog_impl ../src/log.c:443 25: #4 0x7fe41835daf6 in qd_log_impl ../src/log.c:462 25: #5 0x7fe4183abdd0 in qd_python_log ../src/python_embedded.c:545 25: #6 0x7fe4169cefad in _PyMethodDef_RawFastCallKeywords Objects/call.c:697 25: #7 0x7fe4169d3e50 in _PyMethodDescr_FastCallKeywords Objects/descrobject.c:288 25: #8 0x7fe416a42bca in call_function Python/ceval.c:4593 25: #9 0x7fe416a3b629 in _PyEval_EvalFrameDefault Python/ceval.c:3110 25: #10 0x7fe4169d0099 in function_code_fastcall Objects/call.c:283 25: #11 0x7fe4169d0099 in _PyFunction_FastCallKeywords Objects/call.c:408 25: #12 0x7fe416a42aee in call_function Python/ceval.c:4616 25: #13 0x7fe416a3fc29 in _PyEval_EvalFrameDefault Python/ceval.c:3093 25: #14 0x7fe4169d0099 in function_code_fastcall Objects/call.c:283 25: #15 0x7fe4169d0099 in _PyFunction_FastCallKeywords Objects/call.c:408 25: #16 0x7fe416a42aee in call_function Python/ceval.c:4616 25: #17 0x7fe416a3b629 in _PyEval_EvalFrameDefault Python/ceval.c:3110 25: #18 0x7fe4169d0099 in function_code_fastcall Objects/call.c:283 25: #19 0x7fe4169d0099 in _PyFunction_FastCallKeywords Objects/call.c:408 25: #20 0x7fe416a42aee in call_function Python/ceval.c:4616 25: #21 0x7fe416a3b629 in _PyEval_EvalFrameDefault Python/ceval.c:3110 25: #22 0x7fe4169d0099 in function_code_fastcall Objects/call.c:283 25: #23 0x7fe4169d0099 in _PyFunction_FastCallKeywords Objects/call.c:408 25: #24 0x7fe416a42aee in call_function Python/ceval.c:4616 25: #25 0x7fe416a3b629 in _PyEval_EvalFrameDefault Python/ceval.c:3110 25: #26 0x7fe4169d0099 in function_code_fastcall Objects/call.c:283 25: #27 0x7fe4169d0099 in _PyFunction_FastCallKeywords Objects/call.c:408 25: #28 0x7fe416a42aee in call_function Python/ceval.c:4616 25: #29 0x7fe416a3b629 in _PyEval_EvalFrameDefault Python/ceval.c:3110 25: #30 0x7fe416a39fa2 in _PyEval_EvalCodeWithName Python/ceval.c:3930 25: #31 0x7fe4169d0135 in _PyFunction_FastCallKeywords Objects/call.c:433 25: #32 0x7fe416a42aee in call_function Python/ceval.c:4616 25: #33 0x7fe416a3b58c in _PyEval_EvalFrameDefault Python/ceval.c:3124 25: #34 0x7fe416a39fa2 in _PyEval_EvalCodeWithName Python/ceval.c:3930 25: #35 0x7fe4169d0807 in _PyFunction_FastCallDict Objects/call.c:376 25: #36 0x7fe4169d0467 in _PyObject_CallFunctionVa Objects/call.c:959 25: #37 0x7fe4169d107c in _PyObject_CallFunctionVa Objects/call.c:932 25: #38 0x7fe4169d107c in PyObject_CallFunction Objects/call.c:979 25: #39 0x7fe41833ef46 in qd_dispatch_load_config ../src/dispatch.c:133 25: #40 0x561f589f1157 in main_process ../router/src/main.c:97 25: #41 0x561f589f0ce0 in main ../router/src/main.c:369 25: #42 0x7fe41722a0b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) 25: #43 0x561f589f0f8d in _start (/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/build/router/qdrouterd+0x5f8d) 25: 25: Address 0x7fe4132e21e0 is located in stack of thread T0 at offset 4576 in frame 25: #0 0x7fe41835bb8f in write_log ../src/log.c:306 25: 25: This frame has 4 object(s): 25: [48, 56) 'begin' (line 311) 25: [80, 180) 'buf' (line 321) 25: [224, 2272) 'msg' (line 338) 25: [2400, 4576) 'log_str' (line 310) <== Memory access at offset 4576 overflows this variable 25: HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork 25: (longjmp and C++ exceptions *are* supported) 25: Address 0x7fe4132e1960 is located in stack of thread T0 at offset 2400 in frame 25: #0 0x7fe41835bb8f in write_log ../src/log.c:306 25: 25: This frame has 4 object(s): 25: [48, 56) 'begin' (line 311) 25: [80, 180) 'buf' (line 321) 25: [224, 2272) 'msg' (line 338) 25: [2400, 4576) 'log_str' (line 310) <== Memory access at offset 2400 is inside this variable 25: HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork 25: (longjmp and C++ exceptions *are* supported) 25: SUMMARY: AddressSanitizer: invalid-pointer-pair ../src/aprintf.h:31 in vaprintf 25: ==2935==ABORTING 25: 25: <<<< 25: 25: Router QDR.Policy output file: 25: >>>> 25: ================================================================= 25: ==2935==ERROR: AddressSanitizer: invalid-pointer-pair: 0x7fe4132e21e0 0x7fe4132e1960 25: #0 0x7fe4183596f7 in vaprintf ../src/aprintf.h:31 25: #1 0x7fe418359ce5 in aprintf ../src/aprintf.h:62 25: #2 0x7fe41835c385 in write_log ../src/log.c:326 25: #3 0x7fe41835d2ad in qd_vlog_impl ../src/log.c:443 25: #4 0x7fe41835daf6 in qd_log_impl ../src/log.c:462 25: #5 0x7fe4183abdd0 in qd_python_log ../src/python_embedded.c:545 25: #6 0x7fe4169cefad in _PyMethodDef_RawFastCallKeywords Objects/call.c:697 25: #7 0x7fe4169d3e50 in _PyMethodDescr_FastCallKeywords Objects/descrobject.c:288 25: #8 0x7fe416a42bca in call_function Python/ceval.c:4593 25: #9 0x7fe416a3b629 in _PyEval_EvalFrameDefault Python/ceval.c:3110 25: #10 0x7fe4169d0099 in function_code_fastcall Objects/call.c:283 25: #11 0x7fe4169d0099 in _PyFunction_FastCallKeywords Objects/call.c:408 25: #12 0x7fe416a42aee in call_function Python/ceval.c:4616 25: #13 0x7fe416a3fc29 in _PyEval_EvalFrameDefault Python/ceval.c:3093 25: #14 0x7fe4169d0099 in function_code_fastcall Objects/call.c:283 25: #15 0x7fe4169d0099 in _PyFunction_FastCallKeywords Objects/call.c:408 25: #16 0x7fe416a42aee in call_function Python/ceval.c:4616 25: #17 0x7fe416a3b629 in _PyEval_EvalFrameDefault Python/ceval.c:3110 25: #18 0x7fe4169d0099 in function_code_fastcall Objects/call.c:283 25: #19 0x7fe4169d0099 in _PyFunction_FastCallKeywords Objects/call.c:408 25: #20 0x7fe416a42aee in call_function Python/ceval.c:4616 25: #21 0x7fe416a3b629 in _PyEval_EvalFrameDefault Python/ceval.c:3110 25: #22 0x7fe4169d0099 in function_code_fastcall Objects/call.c:283 25: #23 0x7fe4169d0099 in _PyFunction_FastCallKeywords Objects/call.c:408 25: #24 0x7fe416a42aee in call_function Python/ceval.c:4616 25: #25 0x7fe416a3b629 in _PyEval_EvalFrameDefault Python/ceval.c:3110 25: #26 0x7fe4169d0099 in function_code_fastcall Objects/call.c:283 25: #27 0x7fe4169d0099 in _PyFunction_FastCallKeywords Objects/call.c:408 25: #28 0x7fe416a42aee in call_function Python/ceval.c:4616 25: #29 0x7fe416a3b629 in _PyEval_EvalFrameDefault Python/ceval.c:3110 25: #30 0x7fe416a39fa2 in _PyEval_EvalCodeWithName Python/ceval.c:3930 25: #31 0x7fe4169d0135 in _PyFunction_FastCallKeywords Objects/call.c:433 25: #32 0x7fe416a42aee in call_function Python/ceval.c:4616 25: #33 0x7fe416a3b58c in _PyEval_EvalFrameDefault Python/ceval.c:3124 25: #34 0x7fe416a39fa2 in _PyEval_EvalCodeWithName Python/ceval.c:3930 25: #35 0x7fe4169d0807 in _PyFunction_FastCallDict Objects/call.c:376 25: #36 0x7fe4169d0467 in _PyObject_CallFunctionVa Objects/call.c:959 25: #37 0x7fe4169d107c in _PyObject_CallFunctionVa Objects/call.c:932 25: #38 0x7fe4169d107c in PyObject_CallFunction Objects/call.c:979 25: #39 0x7fe41833ef46 in qd_dispatch_load_config ../src/dispatch.c:133 25: #40 0x561f589f1157 in main_process ../router/src/main.c:97 25: #41 0x561f589f0ce0 in main ../router/src/main.c:369 25: #42 0x7fe41722a0b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) 25: #43 0x561f589f0f8d in _start (/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/build/router/qdrouterd+0x5f8d) 25: 25: Address 0x7fe4132e21e0 is located in stack of thread T0 at offset 4576 in frame 25: #0 0x7fe41835bb8f in write_log ../src/log.c:306 25: 25: This frame has 4 object(s): 25: [48, 56) 'begin' (line 311) 25: [80, 180) 'buf' (line 321) 25: [224, 2272) 'msg' (line 338) 25: [2400, 4576) 'log_str' (line 310) <== Memory access at offset 4576 overflows this variable 25: HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork 25: (longjmp and C++ exceptions *are* supported) 25: Address 0x7fe4132e1960 is located in stack of thread T0 at offset 2400 in frame 25: #0 0x7fe41835bb8f in write_log ../src/log.c:306 25: 25: This frame has 4 object(s): 25: [48, 56) 'begin' (line 311) 25: [80, 180) 'buf' (line 321) 25: [224, 2272) 'msg' (line 338) 25: [2400, 4576) 'log_str' (line 310) <== Memory access at offset 2400 is inside this variable 25: HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork 25: (longjmp and C++ exceptions *are* supported) 25: SUMMARY: AddressSanitizer: invalid-pointer-pair ../src/aprintf.h:31 in vaprintf 25: ==2935==ABORTING