[ https://issues.apache.org/jira/browse/PROTON-695?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alan Conway resolved PROTON-695. -------------------------------- Resolution: Fixed Fix Version/s: 0.8 Damn, I was sure I'd get the fix in before you spotted that. Fixed by r1627086 | PROTON-693: Implement C-API wrappers in Java for jython, clean up Url implementation. r1627155 | PROTON-693: Make pn_url_t a proper pn_class object, hashable & comparable. > New URL code causing invalid reads/writes according to valgrind > --------------------------------------------------------------- > > Key: PROTON-695 > URL: https://issues.apache.org/jira/browse/PROTON-695 > Project: Qpid Proton > Issue Type: Bug > Components: proton-c, python-binding > Affects Versions: 0.8 > Reporter: Andrew Stitcher > Assignee: Alan Conway > Fix For: 0.8 > > > Getting these messages from valgrinding the python tests: > {noformat} > proton_tests.url.UrlTest.testArgs > ............................................................................................................................==18678== > Invalid write of size 1 > ==18678== at 0x4A092A3: strcpy (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C51AF: copy (url.c:33) > ==18678== by 0xF8C5224: pn_url_parse (url.c:62) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DCEC: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== Address 0xb9a6179 is 0 bytes after a block of size 25 alloc'd > ==18678== at 0x4A06409: malloc (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C5191: copy (url.c:32) > ==18678== by 0xF8C5224: pn_url_parse (url.c:62) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DCEC: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== > ==18678== Invalid read of size 1 > ==18678== at 0x4A09244: strlen (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C5189: copy (url.c:32) > ==18678== by 0xF8C530D: pn_url_parse (url.c:69) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DCEC: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== Address 0xb9a6179 is 0 bytes after a block of size 25 alloc'd > ==18678== at 0x4A06409: malloc (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C5191: copy (url.c:32) > ==18678== by 0xF8C5224: pn_url_parse (url.c:62) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DCEC: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== > ==18678== Invalid read of size 1 > ==18678== at 0x4A09294: strcpy (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C51AF: copy (url.c:33) > ==18678== by 0xF8C530D: pn_url_parse (url.c:69) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DCEC: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== Address 0xb9a6179 is 0 bytes after a block of size 25 alloc'd > ==18678== at 0x4A06409: malloc (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C5191: copy (url.c:32) > ==18678== by 0xF8C5224: pn_url_parse (url.c:62) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DCEC: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== > ==18678== Invalid read of size 1 > ==18678== at 0x4A09244: strlen (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF64D93A: SWIG_FromCharPtr (cprotonPYTHON_wrap.c:3383) > ==18678== by 0xF67E366: _wrap_pn_url_path (cprotonPYTHON_wrap.c:22714) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE4A62E: PyObject_CallFunctionObjArgs (abstract.c:2760) > ==18678== by 0x3C1EE84760: _PyObject_GenericGetAttrWithDict (object.c:1439) > ==18678== by 0x3C1EED534B: builtin_getattr (bltinmodule.c:837) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== Address 0x1491b7f4 is 0 bytes after a block of size 4 alloc'd > ==18678== at 0x4A06409: malloc (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C5191: copy (url.c:32) > ==18678== by 0xF8C530D: pn_url_parse (url.c:69) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DCEC: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== > pass > proton_tests.url.UrlTest.testDefaults > ........................................................................................................................==18678== > Invalid read of size 1 > ==18678== at 0x4A09244: strlen (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C53DF: len (url.c:89) > ==18678== by 0xF8C5416: pn_url_str (url.c:93) > ==18678== by 0xF67DD44: _wrap_pn_url_str (cprotonPYTHON_wrap.c:22555) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EED8A36: PyEval_CallObjectWithKeywords (ceval.c:3967) > ==18678== by 0x3C1EE9EEFF: slot_tp_str (typeobject.c:5372) > ==18678== Address 0x513f252 is 0 bytes after a block of size 2 alloc'd > ==18678== at 0x4A06409: malloc (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C5191: copy (url.c:32) > ==18678== by 0xF8C580E: pn_url_set_username (url.c:123) > ==18678== by 0xF67E661: _wrap_pn_url_set_username > (cprotonPYTHON_wrap.c:22783) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9DD92: call_method (typeobject.c:1261) > ==18678== by 0x3C1EE9E4A7: slot_tp_descr_set (typeobject.c:5675) > ==18678== > ==18678== Invalid read of size 1 > ==18678== at 0x3721448DF9: vfprintf (vfprintf.c:1635) > ==18678== by 0x3721474F88: vsnprintf (vsnprintf.c:119) > ==18678== by 0x3721451ED1: snprintf (snprintf.c:34) > ==18678== by 0xF8C554C: pn_url_str (url.c:102) > ==18678== by 0xF67DD44: _wrap_pn_url_str (cprotonPYTHON_wrap.c:22555) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EED8A36: PyEval_CallObjectWithKeywords (ceval.c:3967) > ==18678== Address 0x513f252 is 0 bytes after a block of size 2 alloc'd > ==18678== at 0x4A06409: malloc (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C5191: copy (url.c:32) > ==18678== by 0xF8C580E: pn_url_set_username (url.c:123) > ==18678== by 0xF67E661: _wrap_pn_url_set_username > (cprotonPYTHON_wrap.c:22783) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9DD92: call_method (typeobject.c:1261) > ==18678== by 0x3C1EE9E4A7: slot_tp_descr_set (typeobject.c:5675) > ==18678== > ==18678== Invalid read of size 1 > ==18678== at 0x4A08D80: index (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C5613: pn_url_str (url.c:106) > ==18678== by 0xF67DD44: _wrap_pn_url_str (cprotonPYTHON_wrap.c:22555) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EED8A36: PyEval_CallObjectWithKeywords (ceval.c:3967) > ==18678== by 0x3C1EE9EEFF: slot_tp_str (typeobject.c:5372) > ==18678== by 0x3C1EE83739: _PyObject_Str (object.c:430) > ==18678== Address 0x10c4d046 is 0 bytes after a block of size 6 alloc'd > ==18678== at 0x4A06409: malloc (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C5191: copy (url.c:32) > ==18678== by 0xF8C587A: pn_url_set_host (url.c:125) > ==18678== by 0xF67E999: _wrap_pn_url_set_host (cprotonPYTHON_wrap.c:22857) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9DD92: call_method (typeobject.c:1261) > ==18678== by 0x3C1EE9E4A7: slot_tp_descr_set (typeobject.c:5675) > ==18678== > ==18678== Invalid read of size 1 > ==18678== at 0x4A0C034: strstr (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C4CA2: pni_parse_url (util.c:154) > ==18678== by 0xF8C5264: pn_url_parse (url.c:63) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== Address 0x112322d7 is 0 bytes after a block of size 23 alloc'd > ==18678== at 0x4A06409: malloc (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C5191: copy (url.c:32) > ==18678== by 0xF8C5224: pn_url_parse (url.c:62) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== > ==18678== Invalid read of size 1 > ==18678== at 0x4A09232: strlen (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C5189: copy (url.c:32) > ==18678== by 0xF8C530D: pn_url_parse (url.c:69) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== Address 0x10b31b67 is 0 bytes after a block of size 7 alloc'd > ==18678== at 0x4A06409: malloc (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C5191: copy (url.c:32) > ==18678== by 0xF8C5224: pn_url_parse (url.c:62) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== > ==18678== Invalid read of size 1 > ==18678== at 0x4A09277: strcpy (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C51AF: copy (url.c:33) > ==18678== by 0xF8C530D: pn_url_parse (url.c:69) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== Address 0x10b31b67 is 0 bytes after a block of size 7 alloc'd > ==18678== at 0x4A06409: malloc (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C5191: copy (url.c:32) > ==18678== by 0xF8C5224: pn_url_parse (url.c:62) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== > ==18678== Invalid read of size 1 > ==18678== at 0x4A09232: strlen (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF64D93A: SWIG_FromCharPtr (cprotonPYTHON_wrap.c:3383) > ==18678== by 0xF67E366: _wrap_pn_url_path (cprotonPYTHON_wrap.c:22714) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE4A62E: PyObject_CallFunctionObjArgs (abstract.c:2760) > ==18678== by 0x3C1EE84760: _PyObject_GenericGetAttrWithDict (object.c:1439) > ==18678== by 0x3C1EEDA778: PyEval_EvalFrameEx (ceval.c:2330) > ==18678== by 0x3C1EEDD74B: PyEval_EvalFrameEx (ceval.c:4184) > ==18678== by 0x3C1EEDD74B: PyEval_EvalFrameEx (ceval.c:4184) > ==18678== Address 0x4c99ab0 is 0 bytes after a block of size 0 alloc'd > ==18678== at 0x4A06409: malloc (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C5191: copy (url.c:32) > ==18678== by 0xF8C530D: pn_url_parse (url.c:69) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== > ==18678== Invalid read of size 1 > ==18678== at 0x4A08D80: index (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C4C76: pni_parse_url (util.c:151) > ==18678== by 0xF8C5264: pn_url_parse (url.c:63) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== Address 0x10b31e16 is 0 bytes after a block of size 6 alloc'd > ==18678== at 0x4A06409: malloc (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C5191: copy (url.c:32) > ==18678== by 0xF8C5224: pn_url_parse (url.c:62) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== > ==18678== Invalid read of size 1 > ==18678== at 0x4A08D80: index (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C4D18: pni_parse_url (util.c:169) > ==18678== by 0xF8C5264: pn_url_parse (url.c:63) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== Address 0x10b31e16 is 0 bytes after a block of size 6 alloc'd > ==18678== at 0x4A06409: malloc (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C5191: copy (url.c:32) > ==18678== by 0xF8C5224: pn_url_parse (url.c:62) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== > ==18678== Invalid read of size 1 > ==18678== at 0x4A08D80: index (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C4DF6: pni_parse_url (util.c:193) > ==18678== by 0xF8C5264: pn_url_parse (url.c:63) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== Address 0x10b31e16 is 0 bytes after a block of size 6 alloc'd > ==18678== at 0x4A06409: malloc (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C5191: copy (url.c:32) > ==18678== by 0xF8C5224: pn_url_parse (url.c:62) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== > pass > proton_tests.url.UrlTest.testMissing > .........................................................................................................................==18678== > Invalid read of size 1 > ==18678== at 0x3721531AE0: __strchr_sse42 (strchr.S:90) > ==18678== by 0xF8C4CE6: pni_parse_url (util.c:160) > ==18678== by 0xF8C5264: pn_url_parse (url.c:63) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== Address 0xd6bb767 is 0 bytes after a block of size 7 alloc'd > ==18678== at 0x4A06409: malloc (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C5191: copy (url.c:32) > ==18678== by 0xF8C5224: pn_url_parse (url.c:62) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== > ==18678== Invalid read of size 1 > ==18678== at 0x3721531AE0: __strchr_sse42 (strchr.S:90) > ==18678== by 0xF8C4D18: pni_parse_url (util.c:169) > ==18678== by 0xF8C5264: pn_url_parse (url.c:63) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== Address 0xd6bb767 is 0 bytes after a block of size 7 alloc'd > ==18678== at 0x4A06409: malloc (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C5191: copy (url.c:32) > ==18678== by 0xF8C5224: pn_url_parse (url.c:62) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== > ==18678== Invalid read of size 1 > ==18678== at 0xF8C4D8B: pni_parse_url (util.c:183) > ==18678== by 0xF8C5264: pn_url_parse (url.c:63) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== Address 0xd6bb767 is 0 bytes after a block of size 7 alloc'd > ==18678== at 0x4A06409: malloc (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C5191: copy (url.c:32) > ==18678== by 0xF8C5224: pn_url_parse (url.c:62) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== > ==18678== Invalid read of size 1 > ==18678== at 0x3721531AE0: __strchr_sse42 (strchr.S:90) > ==18678== by 0xF8C4DF6: pni_parse_url (util.c:193) > ==18678== by 0xF8C5264: pn_url_parse (url.c:63) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== Address 0xd6bb767 is 0 bytes after a block of size 7 alloc'd > ==18678== at 0x4A06409: malloc (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C5191: copy (url.c:32) > ==18678== by 0xF8C5224: pn_url_parse (url.c:62) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== > ==18678== Invalid read of size 1 > ==18678== at 0xF8C52C0: pn_url_parse (url.c:67) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EEDB61B: PyEval_EvalFrameEx (ceval.c:4316) > ==18678== Address 0xd6bb767 is 0 bytes after a block of size 7 alloc'd > ==18678== at 0x4A06409: malloc (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C5191: copy (url.c:32) > ==18678== by 0xF8C5224: pn_url_parse (url.c:62) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== > ==18678== Invalid read of size 1 > ==18678== at 0x4A09232: strlen (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C53DF: len (url.c:89) > ==18678== by 0xF8C5416: pn_url_str (url.c:93) > ==18678== by 0xF67DD44: _wrap_pn_url_str (cprotonPYTHON_wrap.c:22555) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EED8A36: PyEval_CallObjectWithKeywords (ceval.c:3967) > ==18678== by 0x3C1EE9EEFF: slot_tp_str (typeobject.c:5372) > ==18678== Address 0xe832d80 is 0 bytes after a block of size 0 alloc'd > ==18678== at 0x4A06409: malloc (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==18678== by 0xF8C5191: copy (url.c:32) > ==18678== by 0xF8C528A: pn_url_parse (url.c:65) > ==18678== by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477) > ==18678== by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098) > ==18678== by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330) > ==18678== by 0x3C1EE6DC0F: function_call (funcobject.c:526) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE58514: instancemethod_call (classobject.c:2602) > ==18678== by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529) > ==18678== by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692) > ==18678== by 0x3C1EE9D61E: type_call (typeobject.c:745) > ==18678== > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)