A Wednesday 29 September 2010 14:30:07 Angel Guzman Maeso escrigué: > El 29 de septiembre de 2010 12:41, Santi Saez <santis...@woop.es> escribió: > > rre que puede estar pasando o como podría hacer debug? strace no > > está > > > > aportando mucha información: > > (..) > > write(1, "1 MB\n", 51 MB) = 5 > > --- SIGSEGV ( > > Hola Santi, > > Lo siguiente es solo una teoría, puede incluso que sea algo > equivocado, pero, podría ser que estuvieras cogiendo libc.so.6 de > lib64/ en vez de lib32? > > No se exactamente si al hacer libc = CDLL('libc.so.6') coja la de 32 > bits por estar en path de forma prefente. > > Quizás poniendo la ruta completa a la biblioteca no te problemas > (como digo es solo una suposición).
Si, probablemente es eso lo que le pasa a Angel. De todas maneras, usar el malloc 'a pelo' no hace falta. Mejor usa algo más independiente de platforma, como `ctypes.create_string_buffer`: >>> ctypes.create_string_buffer(int(3e6)) <ctypes.c_char_Array_3000000 object at 0xdf1dd0> >>> ctypes.create_string_buffer(int(3e10)) --------------------------------------------------------------------------- MemoryError Traceback (most recent call last) /tmp/serialization/<ipython console> in <module>() /usr/local/lib/python2.6/ctypes/__init__.pyc in create_string_buffer(init, size) 64 elif isinstance(init, (int, long)): 65 buftype = c_char * init ---> 66 buf = buftype() 67 return buf 68 raise TypeError(init) MemoryError: -- Francesc Alted _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/