Запуск сценария Python Django из консоли: ошибка сегментации - PullRequest
0 голосов
/ 25 января 2012

Ububntu 11.10, Python 2.7.2+, Django 1.3.1

Когда я запускаю огромный скрипт "parser.py" с командой # python parser.py (в корневом каталоге моего приложения django), он возвращает «Ошибка сегментации» после нескольких минут работы.

parser.py:

from django.core.management import setup_environ
import settings
setup_environ(settings)
# here comes lots of code for parsing some pages

В этом сценарии я использую urllib и xmlrpclib.


Я использую VPS из этого шаблона http://wiki.openvz.org/Download/template/precreated (ubuntu-11.10-x86_64.tar.gz (подпись))


Может быть, проблема здесь?

root@spravker:/var/log# cat /proc/user_beancounters 
Version: 2.5
       uid  resource                     held              maxheld              barrier                limit              failcnt
  2311649:  kmemsize                  9042870             19404189             52497139             57746852                    0
            lockedpages                     0                 1034                 2563                 2563                    0
            privvmpages                125787               208103               262144               262144                    0
            shmpages                     1938                 3874                27750                27750                    0
            dummy                           0                    0                    0                    0                    0
            numproc                        40                  200                  200                  200                 2173

strace -o logfile.txt python parser.py

munmap(0x2b6ed1d4b000, 4096) = 0
stat("/etc/resolv.conf", {st_mode=S_IFREG|0644, st_size=20, ...}) = 0
socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = 4
connect(4, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("8.8.8.8")}, 16) = 0
poll([{fd=4, events=POLLOUT}], 1, 0) = 1 ([{fd=4, revents=POLLOUT}])
sendto(4, "\343X\1\0\0\1\0\0\0\0\0\0\nblogsearch\6google\3c"..., 39, MSG_NOSIGNAL, NULL, 0) = 39
poll([{fd=4, events=POLLIN}], 1, 5000) = -1 EINTR (Interrupted system call)
—- SIGSEGV (Segmentation fault) @ 0 (0) —-
+++ killed by SIGSEGV +++
...