Giter VIP home page Giter VIP logo

python-cjson's People

Contributors

danpascu avatar klaussfreire avatar saghul avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

python-cjson's Issues

Unable to install the package on Mac

Here is what I get when I try to install it on Mac (I need it to be able to run BONSAI http://alpage.inria.fr/statgram/frdep/fr_stat_dep_bky.html) Can you help me install it? Thanks!

python3 setup.py install
running install
running build
running build_ext
building 'cjson' extension
creating build
creating build/temp.macosx-10.14-x86_64-3.7
xcrun -sdk macosx clang -arch x86_64 -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -iwithsysroot/System/Library/Frameworks/System.framework/PrivateHeaders -iwithsysroot/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/Headers -DMODULE_VERSION=1.2.1 -I/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/include/python3.7m -c cjson.c -o build/temp.macosx-10.14-x86_64-3.7/cjson.o
cjson.c:167:18: warning: implicit declaration of function
'PyString_DecodeEscape' is invalid in C99
[-Wimplicit-function-declaration]
object = PyString_DecodeEscape(jsondata->ptr+1, len, NULL, 0, NULL);
^
cjson.c:167:16: warning: incompatible integer to pointer conversion assigning to
'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
object = PyString_DecodeEscape(jsondata->ptr+1, len, NULL, 0, NULL);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:169:18: warning: implicit declaration of function
'PyString_FromStringAndSize' is invalid in C99
[-Wimplicit-function-declaration]
object = PyString_FromStringAndSize(jsondata->ptr+1, len);
^
cjson.c:169:16: warning: incompatible integer to pointer conversion assigning to
'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
object = PyString_FromStringAndSize(jsondata->ptr+1, len);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:185:39: warning: implicit declaration of function 'PyString_AsString' is
invalid in C99 [-Wimplicit-function-declaration]
reason ? PyString_AsString(reason) : "bad format");
^
cjson.c:185:37: warning: pointer/integer type mismatch in conditional expression
('int' and 'char *') [-Wconditional-type-mismatch]
reason ? PyString_AsString(reason) : "bad format");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~
cjson.c:295:11: warning: implicit declaration of function
'PyString_FromStringAndSize' is invalid in C99
[-Wimplicit-function-declaration]
str = PyString_FromStringAndSize(jsondata->ptr, ptr - jsondata->ptr);
^
cjson.c:295:9: warning: incompatible integer to pointer conversion assigning to
'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
str = PyString_FromStringAndSize(jsondata->ptr, ptr - jsondata->ptr);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:300:42: error: too many arguments to function call, expected 1, have 2
object = PyFloat_FromString(str, NULL);
~~~~~~~~~~~~~~~~~~ ^~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.0/include/stddef.h:105:16: note:
expanded from macro 'NULL'

define NULL ((void*)0)

           ^~~~~~~~~~

/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/include/python3.7m/floatobject.h:42:12: note:
'PyFloat_FromString' declared here
PyAPI_FUNC(PyObject ) PyFloat_FromString(PyObject);
^
cjson.c:302:18: warning: implicit declaration of function 'PyInt_FromString' is
invalid in C99 [-Wimplicit-function-declaration]
object = PyInt_FromString(PyString_AS_STRING(str), NULL, 10);
^
cjson.c:302:35: warning: implicit declaration of function 'PyString_AS_STRING'
is invalid in C99 [-Wimplicit-function-declaration]
object = PyInt_FromString(PyString_AS_STRING(str), NULL, 10);
^
cjson.c:302:16: warning: incompatible integer to pointer conversion assigning to
'PyObject ' (aka 'struct _object ') from 'int' [-Wint-conversion]
object = PyInt_FromString(PyString_AS_STRING(str), NULL, 10);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:593:14: error: unknown type name 'PyStringObject'
register PyStringObject
op = (PyStringObject
) string;
^
cjson.c:593:51: error: expected expression
register PyStringObject* op = (PyStringObject*) string;
^
cjson.c:593:36: error: use of undeclared identifier 'PyStringObject'
register PyStringObject* op = (PyStringObject*) string;
^
cjson.c:602:9: warning: implicit declaration of function
'PyString_FromStringAndSize' is invalid in C99
[-Wimplicit-function-declaration]
v = PyString_FromStringAndSize((char *)NULL, newsize);
^
cjson.c:602:7: warning: incompatible integer to pointer conversion assigning to
'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
v = PyString_FromStringAndSize((char *)NULL, newsize);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:614:13: warning: implicit declaration of function 'PyString_AS_STRING'
is invalid in C99 [-Wimplicit-function-declaration]
p = PyString_AS_STRING(v);
^
cjson.c:614:11: warning: incompatible integer to pointer conversion assigning to
'char ' from 'int' [-Wint-conversion]
p = PyString_AS_STRING(v);
^ ~~~~~~~~~~~~~~~~~~~~~
cjson.c:646:9: warning: implicit declaration of function '_PyString_Resize' is
invalid in C99 [-Wimplicit-function-declaration]
_PyString_Resize(&v, (int) (p - PyString_AS_STRING(v)));
^
cjson.c:697:12: warning: implicit declaration of function
'PyString_FromStringAndSize' is invalid in C99
[-Wimplicit-function-declaration]
repr = PyString_FromStringAndSize(NULL, 2 + expandsize
size + 1);
^
cjson.c:697:10: warning: incompatible integer to pointer conversion assigning to
'PyObject *' (aka 'struct _object ') from 'int' [-Wint-conversion]
repr = PyString_FromStringAndSize(NULL, 2 + expandsize
size + 1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:701:9: warning: implicit declaration of function 'PyString_AS_STRING' is
invalid in C99 [-Wimplicit-function-declaration]
p = PyString_AS_STRING(repr);
^
cjson.c:701:7: warning: incompatible integer to pointer conversion assigning to
'char *' from 'int' [-Wint-conversion]
p = PyString_AS_STRING(repr);
^ ~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:709:57: error: subscripted value is not an array, pointer, or vector
if ((ch == (Py_UNICODE) PyString_AS_STRING(repr)[0] || ch == '\')) {
~~~~~~~~~~~~~~~~~~~~~~~~^~
cjson.c:785:36: error: subscripted value is not an array, pointer, or vector
*p++ = PyString_AS_STRING(repr)[0];
~~~~~~~~~~~~~~~~~~~~~~~~^~
cjson.c:788:5: warning: implicit declaration of function '_PyString_Resize' is
invalid in C99 [-Wimplicit-function-declaration]
_PyString_Resize(&repr, p - PyString_AS_STRING(repr));
^
cjson.c:809:12: error: no member named 'ob_size' in 'PyTupleObject'
n = v->ob_size;
~ ^
cjson.c:811:16: warning: implicit declaration of function 'PyString_FromString'
is invalid in C99 [-Wimplicit-function-declaration]
return PyString_FromString("[]");
^
cjson.c:811:16: warning: incompatible integer to pointer conversion returning
'int' from a function with result type 'PyObject *'
(aka 'struct _object *') [-Wint-conversion]
return PyString_FromString("[]");
^~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:827:7: warning: incompatible integer to pointer conversion assigning to
'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
s = PyString_FromString("[");
^ ~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:831:5: warning: implicit declaration of function 'PyString_ConcatAndDel'
is invalid in C99 [-Wimplicit-function-declaration]
PyString_ConcatAndDel(&s, temp);
^
cjson.c:836:7: warning: incompatible integer to pointer conversion assigning to
'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
s = PyString_FromString("]");
^ ~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:846:7: warning: incompatible integer to pointer conversion assigning to
'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
s = PyString_FromString(", ");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:849:14: warning: implicit declaration of function '_PyString_Join' is
invalid in C99 [-Wimplicit-function-declaration]
result = _PyString_Join(s, pieces);
^
cjson.c:849:12: warning: incompatible integer to pointer conversion assigning to
'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
result = _PyString_Join(s, pieces);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:883:12: error: no member named 'ob_size' in 'PyListObject'
if (v->ob_size == 0) {
~ ^
cjson.c:884:18: warning: implicit declaration of function 'PyString_FromString'
is invalid in C99 [-Wimplicit-function-declaration]
result = PyString_FromString("[]");
^
cjson.c:884:16: warning: incompatible integer to pointer conversion assigning to
'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
result = PyString_FromString("[]");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:894:24: error: no member named 'ob_size' in 'PyListObject'
for (i = 0; i < v->ob_size; ++i) {
~ ^
cjson.c:907:9: warning: implicit declaration of function 'PyString_FromString'
is invalid in C99 [-Wimplicit-function-declaration]
s = PyString_FromString("[");
^
cjson.c:907:7: warning: incompatible integer to pointer conversion assigning to
'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
s = PyString_FromString("[");
^ ~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:911:5: warning: implicit declaration of function 'PyString_ConcatAndDel'
is invalid in C99 [-Wimplicit-function-declaration]
PyString_ConcatAndDel(&s, temp);
^
cjson.c:916:7: warning: incompatible integer to pointer conversion assigning to
'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
s = PyString_FromString("]");
^ ~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:926:7: warning: incompatible integer to pointer conversion assigning to
'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
s = PyString_FromString(", ");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:929:14: warning: implicit declaration of function '_PyString_Join' is
invalid in C99 [-Wimplicit-function-declaration]
result = _PyString_Join(s, pieces);
^
cjson.c:929:12: warning: incompatible integer to pointer conversion assigning to
'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
result = _PyString_Join(s, pieces);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:968:18: warning: implicit declaration of function 'PyString_FromString'
is invalid in C99 [-Wimplicit-function-declaration]
result = PyString_FromString("{}");
^
cjson.c:968:16: warning: incompatible integer to pointer conversion assigning to
'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
result = PyString_FromString("{}");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:976:13: warning: implicit declaration of function 'PyString_FromString'
is invalid in C99 [-Wimplicit-function-declaration]
colon = PyString_FromString(": ");
^
cjson.c:976:11: warning: incompatible integer to pointer conversion assigning to
'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
colon = PyString_FromString(": ");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:986:14: warning: implicit declaration of function 'PyString_Check' is
invalid in C99 [-Wimplicit-function-declaration]
if (!PyString_Check(key) && !PyUnicode_Check(key)) {
^
cjson.c:995:9: warning: implicit declaration of function 'PyString_Concat' is
invalid in C99 [-Wimplicit-function-declaration]
PyString_Concat(&s, colon);
^
cjson.c:996:9: warning: implicit declaration of function 'PyString_ConcatAndDel'
is invalid in C99 [-Wimplicit-function-declaration]
PyString_ConcatAndDel(&s, encode_object(value));
^
cjson.c:1008:7: warning: incompatible integer to pointer conversion assigning to
'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
s = PyString_FromString("{");
^ ~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:1012:5: warning: implicit declaration of function
'PyString_ConcatAndDel' is invalid in C99
[-Wimplicit-function-declaration]
PyString_ConcatAndDel(&s, temp);
^
cjson.c:1017:7: warning: incompatible integer to pointer conversion assigning to
'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
s = PyString_FromString("}");
^ ~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:1027:7: warning: incompatible integer to pointer conversion assigning to
'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
s = PyString_FromString(", ");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:1030:14: warning: implicit declaration of function '_PyString_Join' is
invalid in C99 [-Wimplicit-function-declaration]
result = _PyString_Join(s, pieces);
^
cjson.c:1030:12: warning: incompatible integer to pointer conversion assigning
to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
result = _PyString_Join(s, pieces);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:1045:16: warning: implicit declaration of function 'PyString_FromString'
is invalid in C99 [-Wimplicit-function-declaration]
return PyString_FromString("true");
^
cjson.c:1045:16: warning: incompatible integer to pointer conversion returning
'int' from a function with result type 'PyObject *'
(aka 'struct _object *') [-Wint-conversion]
return PyString_FromString("true");
^~~~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:1047:16: warning: implicit declaration of function 'PyString_FromString'
is invalid in C99 [-Wimplicit-function-declaration]
return PyString_FromString("false");
^
cjson.c:1047:16: warning: incompatible integer to pointer conversion returning
'int' from a function with result type 'PyObject *'
(aka 'struct _object *') [-Wint-conversion]
return PyString_FromString("false");
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:1049:16: warning: implicit declaration of function 'PyString_FromString'
is invalid in C99 [-Wimplicit-function-declaration]
return PyString_FromString("null");
^
cjson.c:1049:16: warning: incompatible integer to pointer conversion returning
'int' from a function with result type 'PyObject *'
(aka 'struct _object *') [-Wint-conversion]
return PyString_FromString("null");
^~~~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:1050:16: warning: implicit declaration of function 'PyString_Check' is
invalid in C99 [-Wimplicit-function-declaration]
} else if (PyString_Check(object)) {
^
cjson.c:1057:20: warning: implicit declaration of function 'PyString_FromString'
is invalid in C99 [-Wimplicit-function-declaration]
return PyString_FromString("NaN");
^
cjson.c:1057:20: warning: incompatible integer to pointer conversion returning
'int' from a function with result type 'PyObject *'
(aka 'struct _object *') [-Wint-conversion]
return PyString_FromString("NaN");
^~~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:1060:24: warning: implicit declaration of function 'PyString_FromString'
is invalid in C99 [-Wimplicit-function-declaration]
return PyString_FromString("Infinity");
^
cjson.c:1060:24: warning: incompatible integer to pointer conversion returning
'int' from a function with result type 'PyObject *'
(aka 'struct _object *') [-Wint-conversion]
return PyString_FromString("Infinity");
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:1062:24: warning: implicit declaration of function 'PyString_FromString'
is invalid in C99 [-Wimplicit-function-declaration]
return PyString_FromString("-Infinity");
^
cjson.c:1062:24: warning: incompatible integer to pointer conversion returning
'int' from a function with result type 'PyObject *'
(aka 'struct _object *') [-Wint-conversion]
return PyString_FromString("-Infinity");
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:1067:16: warning: implicit declaration of function 'PyInt_Check' is
invalid in C99 [-Wimplicit-function-declaration]
} else if (PyInt_Check(object) || PyLong_Check(object)) {
^
cjson.c:1130:9: warning: implicit declaration of function
'PyString_AsStringAndSize' is invalid in C99
[-Wimplicit-function-declaration]
if (PyString_AsStringAndSize(str, &(jsondata.str), NULL) == -1) {
^
cjson.c:1136:35: warning: implicit declaration of function 'PyString_GET_SIZE'
is invalid in C99 [-Wimplicit-function-declaration]
jsondata.end = jsondata.str + PyString_GET_SIZE(str);
^
cjson.c:1187:9: warning: implicit declaration of function 'Py_InitModule3' is
invalid in C99 [-Wimplicit-function-declaration]
m = Py_InitModule3("cjson", cjson_methods, module_doc);
^
cjson.c:1187:7: warning: incompatible integer to pointer conversion assigning to
'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
m = Py_InitModule3("cjson", cjson_methods, module_doc);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cjson.c:1190:9: error: non-void function 'initcjson' should return a value
[-Wreturn-type]
return;
^
cjson.c:1194:9: error: non-void function 'initcjson' should return a value
[-Wreturn-type]
return;
^
cjson.c:1200:9: error: non-void function 'initcjson' should return a value
[-Wreturn-type]
return;
^
cjson.c:1206:9: error: non-void function 'initcjson' should return a value
[-Wreturn-type]
return;
^
69 warnings and 13 errors generated.
error: command 'xcrun' failed with exit status 1

Python 3 support

I'd like to implement Python 3 support for this package. It's one of the last packages that do not support it here: http://py3readiness.org/

I've been studying Python C extensions and this package's code, and I believe this is doable.

The hardest and most important part is to define how the two functions should work in Python 3. This is what I thought so far:

  • JSON_encode: as of now, this function returns a Python 2 str object. Since this is the equivalent of the bytes type in Python 3, I thinks it would be better if this function returned a Python 3 str (equivalent to Python 2 unicode) by default, and we add an argument that makes it return a bytes object (the current behavior).
  • JSON_decode: basically I think that the argument all_unicode should have it's default value changed to True in Python 3.

I'm still getting used to Python 3 myself, and I haven't ported much code from Python 2 to 3 yet, so I'm not sure if these are the best options, but I believe they are a good enough first step towards porting, and then we can find someone with more expertise to help decide what would be the best choices for Python 3.

Anyway, thanks a lot for this great package, and I hope you will consider my offer favorably! :)

Benchmarks are missing

python-cjson states:

The module is written in C and it is up to 250 times faster when compared to the other python JSON implementations which are written directly in python. This speed gain varies with the complexity of the data and the operation and is the the range of 10-200 times for encoding operations and in the range of 100-250 times for decoding operations.

Impressive claims.

A couple of questions from a critical thinker:

  1. Where do I find the benchmarks the claims are based upon, please?
  2. Since the main selling point of the project is speed, where is that unit test that verifies that the speed advantage is within an expected range, please? If that test isn't in CI, a commit could destroy the speed advantage without notice.

Trying to decode a string containing 100,000 `[` characters (and nothing else) crashes Python

This is one of the tests from JSONTestSuite. It just throws a file containing 100,000 [ characters at the parser. When trying to parse this, python-cjson crashes Python. The backtrace is gigantic, and I haven't actually got to the end of it in gdb, but it starts like this:

Starting program: /usr/bin/python test.py
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7a7f46a in PyObject_Malloc (nbytes=72) at /usr/src/debug/Python-2.7.13/Objects/obmalloc.c:787
787	{

Thread 1 (Thread 0x7ffff7fc5700 (LWP 17767)):
#0  0x00007ffff7a7f46a in PyObject_Malloc (nbytes=72) at /usr/src/debug/Python-2.7.13/Objects/obmalloc.c:787
        bp = <optimized out>
        pool = <optimized out>
        next = <optimized out>
        size = <optimized out>
#1  0x00007ffff7b0cb1e in _PyObject_GC_Malloc (basicsize=<optimized out>)
    at /usr/src/debug/Python-2.7.13/Modules/gcmodule.c:1573
        op = <optimized out>
        g = <optimized out>
        basicsize = <optimized out>
#2  0x00007ffff7b0cc1d in _PyObject_GC_New (tp=tp@entry=0x7ffff7d8b540 <PyList_Type>)
    at /usr/src/debug/Python-2.7.13/Modules/gcmodule.c:1595
        op = <unknown at remote 0x-77912ed569a81900>
#3  0x00007ffff7a6c5fc in PyList_New (size=size@entry=0) at /usr/src/debug/Python-2.7.13/Objects/listobject.c:151
        op = <optimized out>
        nbytes = 0
#4  0x00007ffff68e56bd in decode_array (jsondata=0x7fffffffdaa0) at cjson.c:339
        c = <optimized out>
        object = <optimized out>
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = <optimized out>
#5  decode_json (jsondata=jsondata@entry=0x7fffffffdaa0) at cjson.c:532
No locals.
#6  0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffdaa0) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x555555821292 '[' <repeats 200 times>...
#7  decode_json (jsondata=jsondata@entry=0x7fffffffdaa0) at cjson.c:532
No locals.
#8  0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffdaa0) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x555555821291 '[' <repeats 200 times>...
#9  decode_json (jsondata=jsondata@entry=0x7fffffffdaa0) at cjson.c:532
No locals.
#10 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffdaa0) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x555555821290 '[' <repeats 200 times>...
#11 decode_json (jsondata=jsondata@entry=0x7fffffffdaa0) at cjson.c:532
No locals.
#12 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffdaa0) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x55555582128f '[' <repeats 200 times>...
#13 decode_json (jsondata=jsondata@entry=0x7fffffffdaa0) at cjson.c:532
No locals.
#14 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffdaa0) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x55555582128e '[' <repeats 200 times>...
#15 decode_json (jsondata=jsondata@entry=0x7fffffffdaa0) at cjson.c:532
No locals.
#16 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffdaa0) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x55555582128d '[' <repeats 200 times>...
#17 decode_json (jsondata=jsondata@entry=0x7fffffffdaa0) at cjson.c:532
No locals.
#18 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffdaa0) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x55555582128c '[' <repeats 200 times>...
#19 decode_json (jsondata=jsondata@entry=0x7fffffffdaa0) at cjson.c:532
No locals.
#20 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffdaa0) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x55555582128b '[' <repeats 200 times>...
#21 decode_json (jsondata=jsondata@entry=0x7fffffffdaa0) at cjson.c:532
No locals.
#22 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffdaa0) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x55555582128a '[' <repeats 200 times>...
#23 decode_json (jsondata=jsondata@entry=0x7fffffffdaa0) at cjson.c:532
No locals.
#24 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffdaa0) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x555555821289 '[' <repeats 200 times>...
#25 decode_json (jsondata=jsondata@entry=0x7fffffffdaa0) at cjson.c:532
No locals.
#26 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffdaa0) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x555555821288 '[' <repeats 200 times>...
#27 decode_json (jsondata=jsondata@entry=0x7fffffffdaa0) at cjson.c:532
No locals.
#28 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffdaa0) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x555555821287 '[' <repeats 200 times>...
#29 decode_json (jsondata=jsondata@entry=0x7fffffffdaa0) at cjson.c:532
No locals.
#30 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffdaa0) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x555555821286 '[' <repeats 200 times>...
#31 decode_json (jsondata=jsondata@entry=0x7fffffffdaa0) at cjson.c:532
No locals.
#32 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffdaa0) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x555555821285 '[' <repeats 200 times>...
#33 decode_json (jsondata=jsondata@entry=0x7fffffffdaa0) at cjson.c:532
No locals.
#34 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffdaa0) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x555555821284 '[' <repeats 200 times>...
#35 decode_json (jsondata=jsondata@entry=0x7fffffffdaa0) at cjson.c:532
No locals.
#36 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffdaa0) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x555555821283 '[' <repeats 200 times>...
#37 decode_json (jsondata=jsondata@entry=0x7fffffffdaa0) at cjson.c:532
No locals.
#38 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffdaa0) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x555555821282 '[' <repeats 200 times>...
#39 decode_json (jsondata=jsondata@entry=0x7fffffffdaa0) at cjson.c:532
No locals.
#40 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffdaa0) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x555555821281 '[' <repeats 200 times>...
#41 decode_json (jsondata=jsondata@entry=0x7fffffffdaa0) at cjson.c:532
No locals.
#42 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffdaa0) at cjson.c:369
        c = <optimized out>

It then repeats that, over and over and over again; I suspect there are going to be 100,000 of 'em before we get to the end.

Trying to decode a string containing thousands of repetitions of `[{"":[{"":[{"":` crashes Python

Like #1, this is another of the JSONTestSuite tests. The test file is this one, it just contains several thousand repetitions of [{"":, like this:

[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":

etc etc etc. Trying to parse it crashes Python, with another gigantic backtrace. It starts like this:

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7a7f46a in PyObject_Malloc (nbytes=280) at /usr/src/debug/Python-2.7.13/Objects/obmalloc.c:787
787	{
#0  0x00007ffff7a7f46a in PyObject_Malloc (nbytes=280) at /usr/src/debug/Python-2.7.13/Objects/obmalloc.c:787
        bp = <optimized out>
        pool = <optimized out>
        next = <optimized out>
        size = <optimized out>
#1  0x00007ffff7b0cb1e in _PyObject_GC_Malloc (basicsize=<optimized out>) at /usr/src/debug/Python-2.7.13/Modules/gcmodule.c:1573
        op = <optimized out>
        g = <optimized out>
        basicsize = <optimized out>
#2  0x00007ffff7b0cc1d in _PyObject_GC_New (tp=tp@entry=0x7ffff7d8d900 <PyDict_Type>) at /usr/src/debug/Python-2.7.13/Modules/gcmodule.c:1595
        op = <unknown at remote 0x-644d1cf353dc7d00>
#3  0x00007ffff7a77aa4 in PyDict_New () at /usr/src/debug/Python-2.7.13/Objects/dictobject.c:286
        mp = <optimized out>
#4  0x00007ffff68e54a6 in decode_object (jsondata=0x7fffffffda90) at cjson.c:421
        key = <optimized out>
        value = <optimized out>
        c = <optimized out>
        object = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = <optimized out>
#5  decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:529
No locals.
#6  0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffda90) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68d2b1f "[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":"...
#7  decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:532
No locals.
#8  0x00007ffff68e55cc in decode_object (jsondata=0x7fffffffda90) at cjson.c:477
        key = ''
        value = <optimized out>
        c = <optimized out>
        object = {}
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68d2b1b "{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":["...
#9  decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:529
No locals.
#10 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffda90) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68d2b1a "[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":"...
#11 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:532
No locals.
#12 0x00007ffff68e55cc in decode_object (jsondata=0x7fffffffda90) at cjson.c:477
        key = ''
        value = <optimized out>
        c = <optimized out>
        object = {}
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68d2b16 "{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":["...
#13 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:529
No locals.
#14 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffda90) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68d2b15 "[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":"...
#15 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:532
No locals.
#16 0x00007ffff68e55cc in decode_object (jsondata=0x7fffffffda90) at cjson.c:477
        key = ''
        value = <optimized out>
        c = <optimized out>
        object = {}
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68d2b11 "{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":["...
#17 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:529
No locals.
#18 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffda90) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68d2b10 "[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":"...
#19 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:532
No locals.
#20 0x00007ffff68e55cc in decode_object (jsondata=0x7fffffffda90) at cjson.c:477
        key = ''
        value = <optimized out>
        c = <optimized out>
        object = {}
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68d2b0c "{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":["...
#21 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:529
No locals.
#22 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffda90) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68d2b0b "[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":"...
#23 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:532
No locals.
#24 0x00007ffff68e55cc in decode_object (jsondata=0x7fffffffda90) at cjson.c:477
        key = ''
        value = <optimized out>
        c = <optimized out>
        object = {}
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68d2b07 "{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":["...
#25 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:529
No locals.
#26 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffda90) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68d2b06 "[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":"...
#27 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:532
No locals.
#28 0x00007ffff68e55cc in decode_object (jsondata=0x7fffffffda90) at cjson.c:477
        key = ''
        value = <optimized out>
        c = <optimized out>
        object = {}
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68d2b02 "{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":["...
#29 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:529
No locals.
#30 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffda90) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68d2b01 "[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":"...
#31 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:532
No locals.
#32 0x00007ffff68e55cc in decode_object (jsondata=0x7fffffffda90) at cjson.c:477
        key = ''
        value = <optimized out>
        c = <optimized out>
        object = {}
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68d2afd "{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":["...
#33 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:529
No locals.
#34 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffda90) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68d2afc "[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":"...
#35 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:532
No locals.
#36 0x00007ffff68e55cc in decode_object (jsondata=0x7fffffffda90) at cjson.c:477
        key = ''
        value = <optimized out>
        c = <optimized out>
        object = {}
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68d2af8 "{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":["...
#37 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:529
No locals.
#38 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffda90) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68d2af7 "[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":"...
#39 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:532
No locals.
#40 0x00007ffff68e55cc in decode_object (jsondata=0x7fffffffda90) at cjson.c:477
        key = ''
        value = <optimized out>
        c = <optimized out>
        object = {}
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68d2af3 "{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":["...
#41 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:529
No locals.

and ends like this:

        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68a504e "{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":["...
#149677 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:529
No locals.
#149678 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffda90) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68a504d "[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":"...
#149679 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:532
No locals.
#149680 0x00007ffff68e55cc in decode_object (jsondata=0x7fffffffda90) at cjson.c:477
        key = ''
        value = <optimized out>
        c = <optimized out>
        object = {}
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68a5049 "{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":["...
#149681 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:529
No locals.
#149682 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffda90) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68a5048 "[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":"...
#149683 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:532
No locals.
#149684 0x00007ffff68e55cc in decode_object (jsondata=0x7fffffffda90) at cjson.c:477
        key = ''
        value = <optimized out>
        c = <optimized out>
        object = {}
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68a5044 "{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":["...
#149685 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:529
No locals.
#149686 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffda90) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68a5043 "[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":"...
#149687 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:532
No locals.
#149688 0x00007ffff68e55cc in decode_object (jsondata=0x7fffffffda90) at cjson.c:477
        key = ''
        value = <optimized out>
        c = <optimized out>
        object = {}
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68a503f "{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":["...
#149689 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:529
No locals.
#149690 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffda90) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68a503e "[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":"...
#149691 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:532
No locals.
#149692 0x00007ffff68e55cc in decode_object (jsondata=0x7fffffffda90) at cjson.c:477
        key = ''
        value = <optimized out>
        c = <optimized out>
        object = {}
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68a503a "{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":["...
#149693 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:529
No locals.
#149694 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffda90) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68a5039 "[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":"...
#149695 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:532
No locals.
#149696 0x00007ffff68e55cc in decode_object (jsondata=0x7fffffffda90) at cjson.c:477
        key = ''
        value = <optimized out>
        c = <optimized out>
        object = {}
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68a5035 "{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":["...
#149697 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:529
No locals.
#149698 0x00007ffff68e5748 in decode_array (jsondata=0x7fffffffda90) at cjson.c:369
        c = <optimized out>
        object = []
        item = <optimized out>
        next_state = <optimized out>
        result = <optimized out>
        start = 0x7ffff68a5034 "[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":"...
#149699 decode_json (jsondata=jsondata@entry=0x7fffffffda90) at cjson.c:532
No locals.
#149700 0x00007ffff68e5e02 in JSON_decode (self=<optimized out>, args=<optimized out>, kwargs=<optimized out>) at cjson.c:1141
        kwlist = {0x7ffff68e60a0 "json", 0x7ffff68e60e7 "all_unicode", 0x0}
        all_unicode = 0
        object = <optimized out>
        string = '[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":'
        str = '[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":'
        jsondata = {str = 0x7ffff68a5034 "[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":"..., end = 0x7ffff68e20c5 "", ptr = 0x7ffff68d2b20 "{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":[{\"\":["..., all_unicode = 0}
#149701 0x00007ffff7ada127 in call_function (oparg=<optimized out>, pp_stack=0x7fffffffdb90) at /usr/src/debug/Python-2.7.13/Python/ceval.c:4429
        flags = <optimized out>
        tstate = 0x5555557560a0
        func = <optimized out>
        w = <optimized out>
        na = 1
        nk = 0
        n = 1
        pfunc = 0x7ffff7eb8c78
        x = <optimized out>
#149702 PyEval_EvalFrameEx (f=f@entry=Frame 0x7ffff7eb8b00, for file test.py, line 4, in <module> (), throwflag=throwflag@entry=0) at /usr/src/debug/Python-2.7.13/Python/ceval.c:3063
        sp = 0x7ffff7eb8c80
        opcode_targets = {0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7adbd3a <PyEval_EvalFrameEx+31658>, 0x7ffff7adbd3f <PyEval_EvalFrameEx+31663>, 0x7ffff7adbd44 <PyEval_EvalFrameEx+31668>, 0x7ffff7adbd4e <PyEval_EvalFrameEx+31678>, 0x7ffff7adbd49 <PyEval_EvalFrameEx+31673>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7adbcdf <PyEval_EvalFrameEx+31567>, 0x7ffff7adbd72 <PyEval_EvalFrameEx+31714>, 0x7ffff7adbd77 <PyEval_EvalFrameEx+31719>, 0x7ffff7adbd7c <PyEval_EvalFrameEx+31724>, 0x7ffff7adbd81 <PyEval_EvalFrameEx+31729>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7adbd86 <PyEval_EvalFrameEx+31734>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7adbd8b <PyEval_EvalFrameEx+31739>, 0x7ffff7adbd90 <PyEval_EvalFrameEx+31744>, 0x7ffff7adbd95 <PyEval_EvalFrameEx+31749>, 0x7ffff7adbda4 <PyEval_EvalFrameEx+31764>, 0x7ffff7adbda9 <PyEval_EvalFrameEx+31769>, 0x7ffff7adbdae <PyEval_EvalFrameEx+31774>, 0x7ffff7adbdb3 <PyEval_EvalFrameEx+31779>, 0x7ffff7adbd9f <PyEval_EvalFrameEx+31759>, 0x7ffff7adbd9a <PyEval_EvalFrameEx+31754>, 0x7ffff7adbe1d <PyEval_EvalFrameEx+31885>, 0x7ffff7adbe18 <PyEval_EvalFrameEx+31880>, 0x7ffff7adbe4a <PyEval_EvalFrameEx+31930>, 0x7ffff7adbe5a <PyEval_EvalFrameEx+31946>, 0x7ffff7adbe67 <PyEval_EvalFrameEx+31959>, 0x7ffff7adbe74 <PyEval_EvalFrameEx+31972>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7adbe84 <PyEval_EvalFrameEx+31988>, 0x7ffff7adbe97 <PyEval_EvalFrameEx+32007>, 0x7ffff7ad9c69 <PyEval_EvalFrameEx+23257>, 0x7ffff7adbea7 <PyEval_EvalFrameEx+32023>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7ad9656 <PyEval_EvalFrameEx+21702>, 0x7ffff7adbeb7 <PyEval_EvalFrameEx+32039>, 0x7ffff7ad96a4 <PyEval_EvalFrameEx+21780>, 0x7ffff7adbec7 <PyEval_EvalFrameEx+32055>, 0x7ffff7ada198 <PyEval_EvalFrameEx+24584>, 0x7ffff7adbe27 <PyEval_EvalFrameEx+31895>, 0x7ffff7adbe2c <PyEval_EvalFrameEx+31900>, 0x7ffff7adbe0e <PyEval_EvalFrameEx+31870>, 0x7ffff7adbe13 <PyEval_EvalFrameEx+31875>, 0x7ffff7adbe22 <PyEval_EvalFrameEx+31890>, 0x7ffff7adbed7 <PyEval_EvalFrameEx+32071>, 0x7ffff7adbedc <PyEval_EvalFrameEx+32076>, 0x7ffff7adbdb8 <PyEval_EvalFrameEx+31784>, 0x7ffff7adbdbd <PyEval_EvalFrameEx+31789>, 0x7ffff7adbdc2 <PyEval_EvalFrameEx+31794>, 0x7ffff7adbdc7 <PyEval_EvalFrameEx+31799>, 0x7ffff7adbdcc <PyEval_EvalFrameEx+31804>, 0x7ffff7adbe09 <PyEval_EvalFrameEx+31865>, 0x7ffff7ada2b2 <PyEval_EvalFrameEx+24866>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7adbee1 <PyEval_EvalFrameEx+32081>, 0x7ffff7ad4cfe <PyEval_EvalFrameEx+2926>, 0x7ffff7ad8a76 <PyEval_EvalFrameEx+18662>, 0x7ffff7ad4cec <PyEval_EvalFrameEx+2908>, 0x7ffff7ad8a64 <PyEval_EvalFrameEx+18644>, 0x7ffff7adbe31 <PyEval_EvalFrameEx+31905>, 0x7ffff7adbe36 <PyEval_EvalFrameEx+31910>, 0x7ffff7adbe3b <PyEval_EvalFrameEx+31915>, 0x7ffff7adbe40 <PyEval_EvalFrameEx+31920>, 0x7ffff7adbe45 <PyEval_EvalFrameEx+31925>, 0x7ffff7ad8d57 <PyEval_EvalFrameEx+19399>, 0x7ffff7ada367 <PyEval_EvalFrameEx+25047>, 0x7ffff7adb0be <PyEval_EvalFrameEx+28462>, 0x7ffff7ad79da <PyEval_EvalFrameEx+14410>, 0x7ffff7ada20e <PyEval_EvalFrameEx+24702>, 0x7ffff7adba32 <PyEval_EvalFrameEx+30882>, 0x7ffff7ad7d77 <PyEval_EvalFrameEx+15335>, 0x7ffff7adba37 <PyEval_EvalFrameEx+30887>, 0x7ffff7adbad1 <PyEval_EvalFrameEx+31041>, 0x7ffff7adbad9 <PyEval_EvalFrameEx+31049>, 0x7ffff7adbae3 <PyEval_EvalFrameEx+31059>, 0x7ffff7adbb00 <PyEval_EvalFrameEx+31088>, 0x7ffff7adbb1a <PyEval_EvalFrameEx+31114>, 0x7ffff7ada2b7 <PyEval_EvalFrameEx+24871>, 0x7ffff7adbdd1 <PyEval_EvalFrameEx+31809>, 0x7ffff7adbb36 <PyEval_EvalFrameEx+31142>, 0x7ffff7adbb4f <PyEval_EvalFrameEx+31167>, 0x7ffff7adbb6b <PyEval_EvalFrameEx+31195>, 0x7ffff7adbb87 <PyEval_EvalFrameEx+31223>, 0x7ffff7adbd56 <PyEval_EvalFrameEx+31686>, 0x7ffff7adbd01 <PyEval_EvalFrameEx+31601>, 0x7ffff7adbba0 <PyEval_EvalFrameEx+31248>, 0x7ffff7adbc46 <PyEval_EvalFrameEx+31414>, 0x7ffff7ada147 <PyEval_EvalFrameEx+24503>, 0x7ffff7ada161 <PyEval_EvalFrameEx+24529>, 0x7ffff7ada17b <PyEval_EvalFrameEx+24555>, 0x7ffff7ada1b6 <PyEval_EvalFrameEx+24614>, 0x7ffff7ada1d0 <PyEval_EvalFrameEx+24640>, 0x7ffff7ada1ef <PyEval_EvalFrameEx+24671>, 0x7ffff7ada213 <PyEval_EvalFrameEx+24707>, 0x7ffff7ada230 <PyEval_EvalFrameEx+24736>, 0x7ffff7ada280 <PyEval_EvalFrameEx+24816>, 0x7ffff7ada299 <PyEval_EvalFrameEx+24841>, 0x7ffff7ad62e2 <PyEval_EvalFrameEx+8530>, 0x7ffff7ada248 <PyEval_EvalFrameEx+24760>, 0x7ffff7ada264 <PyEval_EvalFrameEx+24788>, 0x7ffff7adbbbe <PyEval_EvalFrameEx+31278>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7ada2d4 <PyEval_EvalFrameEx+24900>, 0x7ffff7ada2f0 <PyEval_EvalFrameEx+24928>, 0x7ffff7ada30f <PyEval_EvalFrameEx+24959>, 0x7ffff7ada32e <PyEval_EvalFrameEx+24990>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7adbce4 <PyEval_EvalFrameEx+31572>, 0x7ffff7adbd1e <PyEval_EvalFrameEx+31630>, 0x7ffff7adbbd8 <PyEval_EvalFrameEx+31304>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7adb0a0 <PyEval_EvalFrameEx+28432>, 0x7ffff7ad6b72 <PyEval_EvalFrameEx+10722>, 0x7ffff7ada411 <PyEval_EvalFrameEx+25217>, 0x7ffff7ada44b <PyEval_EvalFrameEx+25275>, 0x7ffff7ada42e <PyEval_EvalFrameEx+25246>, 0x7ffff7adbbf2 <PyEval_EvalFrameEx+31330>, 0x7ffff7adbc0f <PyEval_EvalFrameEx+31359>, 0x7ffff7adbc29 <PyEval_EvalFrameEx+31385>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7ada36f <PyEval_EvalFrameEx+25055>, 0x7ffff7ada3a7 <PyEval_EvalFrameEx+25111>, 0x7ffff7ada3ed <PyEval_EvalFrameEx+25181>, 0x7ffff7ada34d <PyEval_EvalFrameEx+25021>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297>, 0x7ffff7ad6f02 <PyEval_EvalFrameEx+11634>, 0x7ffff7adbded <PyEval_EvalFrameEx+31837>, 0x7ffff7ada19d <PyEval_EvalFrameEx+24589>, 0x7ffff7ad4e71 <PyEval_EvalFrameEx+3297> <repeats 108 times>}
        stack_pointer = <optimized out>
        next_instr = <optimized out>
        opcode = 131
        oparg = <optimized out>
        why = WHY_NOT
        err = 0
        x = <optimized out>
        v = <optimized out>
        w = <optimized out>
        u = <optimized out>
        t = <optimized out>
        stream = 0x0
        fastlocals = 0x7ffff7eb8c78
        freevars = <optimized out>
        retval = <optimized out>
        tstate = <optimized out>
        co = <optimized out>
        instr_ub = <optimized out>
        instr_lb = <optimized out>
        instr_prev = <optimized out>
        first_instr = <optimized out>
        names = <optimized out>
        consts = <optimized out>
#149703 0x00007ffff7addabc in PyEval_EvalCodeEx (co=co@entry=0x7ffff7e6c2b0, globals=globals@entry={'__builtins__': <module at remote 0x7ffff7f85b08>, '__file__': 'test.py', '__package__': None, 'cjson': <module at remote 0x7ffff7e7ee50>, 'fh': <file at remote 0x7ffff7ec26f0>, '__name__': '__main__', 'data': '[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{...(truncated), locals=locals@entry={'__builtins__': <module at remote 0x7ffff7f85b08>, '__file__': 'test.py', '__package__': None, 'cjson': <module at remote 0x7ffff7e7ee50>, 'fh': <file at remote 0x7ffff7ec26f0>, '__name__': '__main__', 'data': '[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{...(truncated), args=args@entry=0x0, argcount=argcount@entry=0, kws=kws@entry=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at /usr/src/debug/Python-2.7.13/Python/ceval.c:3661
        f = Frame 0x7ffff7eb8b00, for file test.py, line 4, in <module> ()
        retval = 0x0
        fastlocals = 0x7ffff7eb8c78
        freevars = 0x7ffff7eb8c78
        tstate = 0x5555557560a0
        x = <optimized out>
        u = <optimized out>
#149704 0x00007ffff7addba9 in PyEval_EvalCode (co=co@entry=0x7ffff7e6c2b0, globals=globals@entry={'__builtins__': <module at remote 0x7ffff7f85b08>, '__file__': 'test.py', '__package__': None, 'cjson': <module at remote 0x7ffff7e7ee50>, 'fh': <file at remote 0x7ffff7ec26f0>, '__name__': '__main__', 'data': '[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{...(truncated), locals=locals@entry={'__builtins__': <module at remote 0x7ffff7f85b08>, '__file__': 'test.py', '__package__': None, 'cjson': <module at remote 0x7ffff7e7ee50>, 'fh': <file at remote 0x7ffff7ec26f0>, '__name__': '__main__', 'data': '[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{...(truncated)) at /usr/src/debug/Python-2.7.13/Python/ceval.c:691
No locals.
#149705 0x00007ffff7af703f in run_mod (mod=<optimized out>, filename=filename@entry=0x7fffffffe33a "test.py", globals=globals@entry={'__builtins__': <module at remote 0x7ffff7f85b08>, '__file__': 'test.py', '__package__': None, 'cjson': <module at remote 0x7ffff7e7ee50>, 'fh': <file at remote 0x7ffff7ec26f0>, '__name__': '__main__', 'data': '[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{...(truncated), locals=locals@entry={'__builtins__': <module at remote 0x7ffff7f85b08>, '__file__': 'test.py', '__package__': None, 'cjson': <module at remote 0x7ffff7e7ee50>, 'fh': <file at remote 0x7ffff7ec26f0>, '__name__': '__main__', 'data': '[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{...(truncated), flags=flags@entry=0x7fffffffde20, arena=arena@entry=0x5555557c33b0) at /usr/src/debug/Python-2.7.13/Python/pythonrun.c:1384
        co = 0x7ffff7e6c2b0
        v = <optimized out>
#149706 0x00007ffff7af8272 in PyRun_FileExFlags (fp=fp@entry=0x5555557d6220, filename=filename@entry=0x7fffffffe33a "test.py", start=start@entry=257, globals=globals@entry={'__builtins__': <module at remote 0x7ffff7f85b08>, '__file__': 'test.py', '__package__': None, 'cjson': <module at remote 0x7ffff7e7ee50>, 'fh': <file at remote 0x7ffff7ec26f0>, '__name__': '__main__', 'data': '[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{...(truncated), locals=locals@entry={'__builtins__': <module at remote 0x7ffff7f85b08>, '__file__': 'test.py', '__package__': None, 'cjson': <module at remote 0x7ffff7e7ee50>, 'fh': <file at remote 0x7ffff7ec26f0>, '__name__': '__main__', 'data': '[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{...(truncated), closeit=closeit@entry=1, flags=0x7fffffffde20) at /usr/src/debug/Python-2.7.13/Python/pythonrun.c:1370
        ret = <optimized out>
        mod = <optimized out>
        arena = 0x5555557c33b0
#149707 0x00007ffff7af9485 in PyRun_SimpleFileExFlags (fp=fp@entry=0x5555557d6220, filename=0x7fffffffe33a "test.py", closeit=closeit@entry=1, flags=flags@entry=0x7fffffffde20) at /usr/src/debug/Python-2.7.13/Python/pythonrun.c:956
        m = <module at remote 0x7ffff7f46c58>
        d = {'__builtins__': <module at remote 0x7ffff7f85b08>, '__file__': 'test.py', '__package__': None, 'cjson': <module at remote 0x7ffff7e7ee50>, 'fh': <file at remote 0x7ffff7ec26f0>, '__name__': '__main__', 'data': '[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{...(truncated)
        v = <optimized out>
        ext = <optimized out>
        set_file_name = 1
        len = <optimized out>
        ret = -1
#149708 0x00007ffff7af9993 in PyRun_AnyFileExFlags (fp=fp@entry=0x5555557d6220, filename=<optimized out>, closeit=closeit@entry=1, flags=flags@entry=0x7fffffffde20) at /usr/src/debug/Python-2.7.13/Python/pythonrun.c:760
No locals.
#149709 0x00007ffff7b0b450 in Py_Main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/Python-2.7.13/Modules/main.c:640
        c = <optimized out>
        sts = <optimized out>
        command = 0x0
        filename = 0x7fffffffe33a "test.py"
        module = 0x0
        fp = 0x5555557d6220
        p = <optimized out>
        unbuffered = <optimized out>
        skipfirstline = 0
        stdin_is_interactive = 1
        help = <optimized out>
        version = <optimized out>
        saw_unbuffered_flag = <optimized out>
        cf = {cf_flags = 0}
#149710 0x00007ffff6d0d671 in __libc_start_main (main=0x555555554780 <main>, argc=2, argv=0x7fffffffdfe8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdfd8) at ../csu/libc-start.c:295
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 7253775145021328599, 93824992233360, 140737488347104, 0, 0, 3602813021458386135, 3602828045559254231}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x7fffffffe000, 0x7ffff7ffe330}, data = {prev = 0x0, cleanup = 0x0, canceltype = -8192}}}
        not_first_call = <optimized out>
#149711 0x00005555555547ba in _start ()
No symbol table info available.

Building for Python 3.x in MacOS fails

Using Conda for the environment, Xcode is installed and everything is updated, but i get this errors when executing the 'pip install'

Collecting python-cjson
  Using cached python-cjson-1.2.1.tar.gz
Building wheels for collected packages: python-cjson
  Running setup.py bdist_wheel for python-cjson ... error
  Complete output from command /Users/juanjose.lopez/anaconda/envs/ChevereBot/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/kn/6ynmt1p91jvdkbv869lkz6vm4c1z19/T/pip-build-guitqjom/python-cjson/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /var/folders/kn/6ynmt1p91jvdkbv869lkz6vm4c1z19/T/tmpn3y8rvi_pip-wheel- --python-tag cp36:
  running bdist_wheel
  running build
  running build_ext
  building 'cjson' extension
  creating build
  creating build/temp.macosx-10.7-x86_64-3.6
  gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/juanjose.lopez/anaconda/envs/ChevereBot/include -arch x86_64 -I/Users/juanjose.lopez/anaconda/envs/ChevereBot/include -arch x86_64 -DMODULE_VERSION=1.2.1 -I/Users/juanjose.lopez/anaconda/envs/ChevereBot/include/python3.6m -c cjson.c -o build/temp.macosx-10.7-x86_64-3.6/cjson.o
  cjson.c:167:18: warning: implicit declaration of function 'PyString_DecodeEscape' is invalid in C99 [-Wimplicit-function-declaration]
          object = PyString_DecodeEscape(jsondata->ptr+1, len, NULL, 0, NULL);
                   ^
  cjson.c:167:16: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
          object = PyString_DecodeEscape(jsondata->ptr+1, len, NULL, 0, NULL);
                 ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:169:18: warning: implicit declaration of function 'PyString_FromStringAndSize' is invalid in C99 [-Wimplicit-function-declaration]
          object = PyString_FromStringAndSize(jsondata->ptr+1, len);
                   ^
  cjson.c:169:16: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
          object = PyString_FromStringAndSize(jsondata->ptr+1, len);
                 ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:185:39: warning: implicit declaration of function 'PyString_AsString' is invalid in C99 [-Wimplicit-function-declaration]
                               reason ? PyString_AsString(reason) : "bad format");
                                        ^
  cjson.c:185:37: warning: pointer/integer type mismatch in conditional expression ('int' and 'char *') [-Wconditional-type-mismatch]
                               reason ? PyString_AsString(reason) : "bad format");
                                      ^ ~~~~~~~~~~~~~~~~~~~~~~~~~   ~~~~~~~~~~~~
  cjson.c:295:9: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
      str = PyString_FromStringAndSize(jsondata->ptr, ptr - jsondata->ptr);
          ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:300:42: error: too many arguments to function call, expected 1, have 2
          object = PyFloat_FromString(str, NULL);
                   ~~~~~~~~~~~~~~~~~~      ^~~~
  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.1.0/include/stddef.h:105:16: note: expanded from macro 'NULL'
  #  define NULL ((void*)0)
                 ^~~~~~~~~~
  /Users/juanjose.lopez/anaconda/envs/ChevereBot/include/python3.6m/floatobject.h:42:12: note: 'PyFloat_FromString' declared here
  PyAPI_FUNC(PyObject *) PyFloat_FromString(PyObject*);
             ^
  cjson.c:302:18: warning: implicit declaration of function 'PyInt_FromString' is invalid in C99 [-Wimplicit-function-declaration]
          object = PyInt_FromString(PyString_AS_STRING(str), NULL, 10);
                   ^
  cjson.c:302:35: warning: implicit declaration of function 'PyString_AS_STRING' is invalid in C99 [-Wimplicit-function-declaration]
          object = PyInt_FromString(PyString_AS_STRING(str), NULL, 10);
                                    ^
  cjson.c:302:16: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
          object = PyInt_FromString(PyString_AS_STRING(str), NULL, 10);
                 ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:593:14: error: unknown type name 'PyStringObject'
      register PyStringObject* op = (PyStringObject*) string;
               ^
  cjson.c:593:51: error: expected expression
      register PyStringObject* op = (PyStringObject*) string;
                                                    ^
  cjson.c:593:36: error: use of undeclared identifier 'PyStringObject'
      register PyStringObject* op = (PyStringObject*) string;
                                     ^
  cjson.c:602:7: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
      v = PyString_FromStringAndSize((char *)NULL, newsize);
        ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:614:11: warning: incompatible integer to pointer conversion assigning to 'char *' from 'int' [-Wint-conversion]
          p = PyString_AS_STRING(v);
            ^ ~~~~~~~~~~~~~~~~~~~~~
  cjson.c:646:9: warning: implicit declaration of function '_PyString_Resize' is invalid in C99 [-Wimplicit-function-declaration]
          _PyString_Resize(&v, (int) (p - PyString_AS_STRING(v)));
          ^
  cjson.c:697:10: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
      repr = PyString_FromStringAndSize(NULL, 2 + expandsize*size + 1);
           ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:701:7: warning: incompatible integer to pointer conversion assigning to 'char *' from 'int' [-Wint-conversion]
      p = PyString_AS_STRING(repr);
        ^ ~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:709:57: error: subscripted value is not an array, pointer, or vector
          if ((ch == (Py_UNICODE) PyString_AS_STRING(repr)[0] || ch == '\\')) {
                                  ~~~~~~~~~~~~~~~~~~~~~~~~^~
  cjson.c:804:36: error: subscripted value is not an array, pointer, or vector
      *p++ = PyString_AS_STRING(repr)[0];
             ~~~~~~~~~~~~~~~~~~~~~~~~^~
  cjson.c:828:12: error: no member named 'ob_size' in 'PyTupleObject'
      n = v->ob_size;
          ~  ^
  cjson.c:830:16: warning: implicit declaration of function 'PyString_FromString' is invalid in C99 [-Wimplicit-function-declaration]
          return PyString_FromString("[]");
                 ^
  cjson.c:830:16: warning: incompatible integer to pointer conversion returning 'int' from a function with result type 'PyObject *' (aka 'struct _object *') [-Wint-conversion]
          return PyString_FromString("[]");
                 ^~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:846:7: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
      s = PyString_FromString("[");
        ^ ~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:850:5: warning: implicit declaration of function 'PyString_ConcatAndDel' is invalid in C99 [-Wimplicit-function-declaration]
      PyString_ConcatAndDel(&s, temp);
      ^
  cjson.c:855:7: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
      s = PyString_FromString("]");
        ^ ~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:865:7: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
      s = PyString_FromString(", ");
        ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:868:14: warning: implicit declaration of function '_PyString_Join' is invalid in C99 [-Wimplicit-function-declaration]
      result = _PyString_Join(s, pieces);
               ^
  cjson.c:868:12: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
      result = _PyString_Join(s, pieces);
             ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:902:12: error: no member named 'ob_size' in 'PyListObject'
      if (v->ob_size == 0) {
          ~  ^
  cjson.c:903:16: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
          result = PyString_FromString("[]");
                 ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:913:24: error: no member named 'ob_size' in 'PyListObject'
      for (i = 0; i < v->ob_size; ++i) {
                      ~  ^
  cjson.c:926:7: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
      s = PyString_FromString("[");
        ^ ~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:935:7: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
      s = PyString_FromString("]");
        ^ ~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:945:7: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
      s = PyString_FromString(", ");
        ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:948:12: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
      result = _PyString_Join(s, pieces);
             ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:987:16: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
          result = PyString_FromString("{}");
                 ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:995:11: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
      colon = PyString_FromString(": ");
            ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:1005:14: warning: implicit declaration of function 'PyString_Check' is invalid in C99 [-Wimplicit-function-declaration]
          if (!PyString_Check(key) && !PyUnicode_Check(key)) {
               ^
  cjson.c:1014:9: warning: implicit declaration of function 'PyString_Concat' is invalid in C99 [-Wimplicit-function-declaration]
          PyString_Concat(&s, colon);
          ^
  cjson.c:1027:7: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
      s = PyString_FromString("{");
        ^ ~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:1036:7: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
      s = PyString_FromString("}");
        ^ ~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:1046:7: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
      s = PyString_FromString(", ");
        ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:1049:12: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
      result = _PyString_Join(s, pieces);
             ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:1064:16: warning: incompatible integer to pointer conversion returning 'int' from a function with result type 'PyObject *' (aka 'struct _object *') [-Wint-conversion]
          return PyString_FromString("true");
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:1066:16: warning: incompatible integer to pointer conversion returning 'int' from a function with result type 'PyObject *' (aka 'struct _object *') [-Wint-conversion]
          return PyString_FromString("false");
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:1068:16: warning: incompatible integer to pointer conversion returning 'int' from a function with result type 'PyObject *' (aka 'struct _object *') [-Wint-conversion]
          return PyString_FromString("null");
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:1076:20: warning: incompatible integer to pointer conversion returning 'int' from a function with result type 'PyObject *' (aka 'struct _object *') [-Wint-conversion]
              return PyString_FromString("NaN");
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:1079:24: warning: incompatible integer to pointer conversion returning 'int' from a function with result type 'PyObject *' (aka 'struct _object *') [-Wint-conversion]
                  return PyString_FromString("Infinity");
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:1081:24: warning: incompatible integer to pointer conversion returning 'int' from a function with result type 'PyObject *' (aka 'struct _object *') [-Wint-conversion]
                  return PyString_FromString("-Infinity");
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:1086:16: warning: implicit declaration of function 'PyInt_Check' is invalid in C99 [-Wimplicit-function-declaration]
      } else if (PyInt_Check(object) || PyLong_Check(object)) {
                 ^
  cjson.c:1149:9: warning: implicit declaration of function 'PyString_AsStringAndSize' is invalid in C99 [-Wimplicit-function-declaration]
      if (PyString_AsStringAndSize(str, &(jsondata.str), NULL) == -1) {
          ^
  cjson.c:1155:35: warning: implicit declaration of function 'PyString_GET_SIZE' is invalid in C99 [-Wimplicit-function-declaration]
      jsondata.end = jsondata.str + PyString_GET_SIZE(str);
                                    ^
  cjson.c:1206:9: warning: implicit declaration of function 'Py_InitModule3' is invalid in C99 [-Wimplicit-function-declaration]
      m = Py_InitModule3("cjson", cjson_methods, module_doc);
          ^
  cjson.c:1206:7: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
      m = Py_InitModule3("cjson", cjson_methods, module_doc);
        ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  cjson.c:1209:9: error: non-void function 'initcjson' should return a value [-Wreturn-type]
          return;
          ^
  cjson.c:1213:9: error: non-void function 'initcjson' should return a value [-Wreturn-type]
          return;
          ^
  cjson.c:1219:9: error: non-void function 'initcjson' should return a value [-Wreturn-type]
          return;
          ^
  cjson.c:1225:9: error: non-void function 'initcjson' should return a value [-Wreturn-type]
          return;
          ^
  47 warnings and 13 errors generated.
  error: command 'gcc' failed with exit status 1
  
  ----------------------------------------
  Failed building wheel for python-cjson
  Running setup.py clean for python-cjson
Failed to build python-cjson
Installing collected packages: python-cjson
  Running setup.py install for python-cjson ... error
    Complete output from command /Users/juanjose.lopez/anaconda/envs/ChevereBot/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/kn/6ynmt1p91jvdkbv869lkz6vm4c1z19/T/pip-build-guitqjom/python-cjson/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/kn/6ynmt1p91jvdkbv869lkz6vm4c1z19/T/pip-8u5ci1qg-record/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_ext
    building 'cjson' extension
    creating build
    creating build/temp.macosx-10.7-x86_64-3.6
    gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/juanjose.lopez/anaconda/envs/ChevereBot/include -arch x86_64 -I/Users/juanjose.lopez/anaconda/envs/ChevereBot/include -arch x86_64 -DMODULE_VERSION=1.2.1 -I/Users/juanjose.lopez/anaconda/envs/ChevereBot/include/python3.6m -c cjson.c -o build/temp.macosx-10.7-x86_64-3.6/cjson.o
    cjson.c:167:18: warning: implicit declaration of function 'PyString_DecodeEscape' is invalid in C99 [-Wimplicit-function-declaration]
            object = PyString_DecodeEscape(jsondata->ptr+1, len, NULL, 0, NULL);
                     ^
    cjson.c:167:16: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
            object = PyString_DecodeEscape(jsondata->ptr+1, len, NULL, 0, NULL);
                   ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:169:18: warning: implicit declaration of function 'PyString_FromStringAndSize' is invalid in C99 [-Wimplicit-function-declaration]
            object = PyString_FromStringAndSize(jsondata->ptr+1, len);
                     ^
    cjson.c:169:16: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
            object = PyString_FromStringAndSize(jsondata->ptr+1, len);
                   ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:185:39: warning: implicit declaration of function 'PyString_AsString' is invalid in C99 [-Wimplicit-function-declaration]
                                 reason ? PyString_AsString(reason) : "bad format");
                                          ^
    cjson.c:185:37: warning: pointer/integer type mismatch in conditional expression ('int' and 'char *') [-Wconditional-type-mismatch]
                                 reason ? PyString_AsString(reason) : "bad format");
                                        ^ ~~~~~~~~~~~~~~~~~~~~~~~~~   ~~~~~~~~~~~~
    cjson.c:295:9: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
        str = PyString_FromStringAndSize(jsondata->ptr, ptr - jsondata->ptr);
            ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:300:42: error: too many arguments to function call, expected 1, have 2
            object = PyFloat_FromString(str, NULL);
                     ~~~~~~~~~~~~~~~~~~      ^~~~
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.1.0/include/stddef.h:105:16: note: expanded from macro 'NULL'
    #  define NULL ((void*)0)
                   ^~~~~~~~~~
    /Users/juanjose.lopez/anaconda/envs/ChevereBot/include/python3.6m/floatobject.h:42:12: note: 'PyFloat_FromString' declared here
    PyAPI_FUNC(PyObject *) PyFloat_FromString(PyObject*);
               ^
    cjson.c:302:18: warning: implicit declaration of function 'PyInt_FromString' is invalid in C99 [-Wimplicit-function-declaration]
            object = PyInt_FromString(PyString_AS_STRING(str), NULL, 10);
                     ^
    cjson.c:302:35: warning: implicit declaration of function 'PyString_AS_STRING' is invalid in C99 [-Wimplicit-function-declaration]
            object = PyInt_FromString(PyString_AS_STRING(str), NULL, 10);
                                      ^
    cjson.c:302:16: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
            object = PyInt_FromString(PyString_AS_STRING(str), NULL, 10);
                   ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:593:14: error: unknown type name 'PyStringObject'
        register PyStringObject* op = (PyStringObject*) string;
                 ^
    cjson.c:593:51: error: expected expression
        register PyStringObject* op = (PyStringObject*) string;
                                                      ^
    cjson.c:593:36: error: use of undeclared identifier 'PyStringObject'
        register PyStringObject* op = (PyStringObject*) string;
                                       ^
    cjson.c:602:7: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
        v = PyString_FromStringAndSize((char *)NULL, newsize);
          ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:614:11: warning: incompatible integer to pointer conversion assigning to 'char *' from 'int' [-Wint-conversion]
            p = PyString_AS_STRING(v);
              ^ ~~~~~~~~~~~~~~~~~~~~~
    cjson.c:646:9: warning: implicit declaration of function '_PyString_Resize' is invalid in C99 [-Wimplicit-function-declaration]
            _PyString_Resize(&v, (int) (p - PyString_AS_STRING(v)));
            ^
    cjson.c:697:10: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
        repr = PyString_FromStringAndSize(NULL, 2 + expandsize*size + 1);
             ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:701:7: warning: incompatible integer to pointer conversion assigning to 'char *' from 'int' [-Wint-conversion]
        p = PyString_AS_STRING(repr);
          ^ ~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:709:57: error: subscripted value is not an array, pointer, or vector
            if ((ch == (Py_UNICODE) PyString_AS_STRING(repr)[0] || ch == '\\')) {
                                    ~~~~~~~~~~~~~~~~~~~~~~~~^~
    cjson.c:804:36: error: subscripted value is not an array, pointer, or vector
        *p++ = PyString_AS_STRING(repr)[0];
               ~~~~~~~~~~~~~~~~~~~~~~~~^~
    cjson.c:828:12: error: no member named 'ob_size' in 'PyTupleObject'
        n = v->ob_size;
            ~  ^
    cjson.c:830:16: warning: implicit declaration of function 'PyString_FromString' is invalid in C99 [-Wimplicit-function-declaration]
            return PyString_FromString("[]");
                   ^
    cjson.c:830:16: warning: incompatible integer to pointer conversion returning 'int' from a function with result type 'PyObject *' (aka 'struct _object *') [-Wint-conversion]
            return PyString_FromString("[]");
                   ^~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:846:7: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
        s = PyString_FromString("[");
          ^ ~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:850:5: warning: implicit declaration of function 'PyString_ConcatAndDel' is invalid in C99 [-Wimplicit-function-declaration]
        PyString_ConcatAndDel(&s, temp);
        ^
    cjson.c:855:7: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
        s = PyString_FromString("]");
          ^ ~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:865:7: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
        s = PyString_FromString(", ");
          ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:868:14: warning: implicit declaration of function '_PyString_Join' is invalid in C99 [-Wimplicit-function-declaration]
        result = _PyString_Join(s, pieces);
                 ^
    cjson.c:868:12: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
        result = _PyString_Join(s, pieces);
               ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:902:12: error: no member named 'ob_size' in 'PyListObject'
        if (v->ob_size == 0) {
            ~  ^
    cjson.c:903:16: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
            result = PyString_FromString("[]");
                   ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:913:24: error: no member named 'ob_size' in 'PyListObject'
        for (i = 0; i < v->ob_size; ++i) {
                        ~  ^
    cjson.c:926:7: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
        s = PyString_FromString("[");
          ^ ~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:935:7: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
        s = PyString_FromString("]");
          ^ ~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:945:7: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
        s = PyString_FromString(", ");
          ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:948:12: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
        result = _PyString_Join(s, pieces);
               ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:987:16: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
            result = PyString_FromString("{}");
                   ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:995:11: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
        colon = PyString_FromString(": ");
              ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:1005:14: warning: implicit declaration of function 'PyString_Check' is invalid in C99 [-Wimplicit-function-declaration]
            if (!PyString_Check(key) && !PyUnicode_Check(key)) {
                 ^
    cjson.c:1014:9: warning: implicit declaration of function 'PyString_Concat' is invalid in C99 [-Wimplicit-function-declaration]
            PyString_Concat(&s, colon);
            ^
    cjson.c:1027:7: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
        s = PyString_FromString("{");
          ^ ~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:1036:7: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
        s = PyString_FromString("}");
          ^ ~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:1046:7: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
        s = PyString_FromString(", ");
          ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:1049:12: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
        result = _PyString_Join(s, pieces);
               ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:1064:16: warning: incompatible integer to pointer conversion returning 'int' from a function with result type 'PyObject *' (aka 'struct _object *') [-Wint-conversion]
            return PyString_FromString("true");
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:1066:16: warning: incompatible integer to pointer conversion returning 'int' from a function with result type 'PyObject *' (aka 'struct _object *') [-Wint-conversion]
            return PyString_FromString("false");
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:1068:16: warning: incompatible integer to pointer conversion returning 'int' from a function with result type 'PyObject *' (aka 'struct _object *') [-Wint-conversion]
            return PyString_FromString("null");
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:1076:20: warning: incompatible integer to pointer conversion returning 'int' from a function with result type 'PyObject *' (aka 'struct _object *') [-Wint-conversion]
                return PyString_FromString("NaN");
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:1079:24: warning: incompatible integer to pointer conversion returning 'int' from a function with result type 'PyObject *' (aka 'struct _object *') [-Wint-conversion]
                    return PyString_FromString("Infinity");
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:1081:24: warning: incompatible integer to pointer conversion returning 'int' from a function with result type 'PyObject *' (aka 'struct _object *') [-Wint-conversion]
                    return PyString_FromString("-Infinity");
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:1086:16: warning: implicit declaration of function 'PyInt_Check' is invalid in C99 [-Wimplicit-function-declaration]
        } else if (PyInt_Check(object) || PyLong_Check(object)) {
                   ^
    cjson.c:1149:9: warning: implicit declaration of function 'PyString_AsStringAndSize' is invalid in C99 [-Wimplicit-function-declaration]
        if (PyString_AsStringAndSize(str, &(jsondata.str), NULL) == -1) {
            ^
    cjson.c:1155:35: warning: implicit declaration of function 'PyString_GET_SIZE' is invalid in C99 [-Wimplicit-function-declaration]
        jsondata.end = jsondata.str + PyString_GET_SIZE(str);
                                      ^
    cjson.c:1206:9: warning: implicit declaration of function 'Py_InitModule3' is invalid in C99 [-Wimplicit-function-declaration]
        m = Py_InitModule3("cjson", cjson_methods, module_doc);
            ^
    cjson.c:1206:7: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
        m = Py_InitModule3("cjson", cjson_methods, module_doc);
          ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    cjson.c:1209:9: error: non-void function 'initcjson' should return a value [-Wreturn-type]
            return;
            ^
    cjson.c:1213:9: error: non-void function 'initcjson' should return a value [-Wreturn-type]
            return;
            ^
    cjson.c:1219:9: error: non-void function 'initcjson' should return a value [-Wreturn-type]
            return;
            ^
    cjson.c:1225:9: error: non-void function 'initcjson' should return a value [-Wreturn-type]
            return;
            ^
    47 warnings and 13 errors generated.
    error: command 'gcc' failed with exit status 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.