2012-06-06 5 views
2

로깅 시스템의 무한 재귀가 발생하면서 앱 엔진 애플리케이션의 로컬 인스턴스에서 개발 중입니다. 불행히도 문제는 로깅 시스템에 있기 때문에 오류 메시지가 표시되지 않습니다. python 'print'명령은 Google 응용 프로그램 엔진 응용 프로그램에서도 작동하지 않으므로 유용한 정보를 표시 할 수 없습니다.google 앱 엔진 로깅 시스템에서 무한 재귀

웹 사이트 루트에 액세스하는 것만으로도 문제가 표시됩니다.

수입 문제가있는 것 같지만 그 외에 로깅 시스템이 작동해야하며 작동하지 않아야합니다.

배포 된 사이트 버전이 작동 중이므로 가능한 로컬 구성/시스템 문제에 대해 생각하게됩니다.

나는 파이썬 2.7.2를 사용하고 CURRENT_VERSION_ID = 1.1

다음

버그의 매우 긴 스택 트레이스입니다 :

: 여기
--> --> --> 
Traceback (most recent call last): 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 2781, in _HandleRequest 
    self._Dispatch(dispatcher, self.rfile, outfile, env_dict) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 2669, in _Dispatch 
    base_env_dict=env_dict) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 692, in Dispatch 
    base_env_dict=base_env_dict) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1731, in Dispatch 
    self._module_dict) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1631, in ExecuteCGI 
    reset_modules = exec_script(config, handler_path, cgi_path, hook) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1319, in ExecuteOrImportScript 
    exec module_code in script_module.__dict__ 
    File "C:\Program Files\Google\google_appengine\google\appengine\ext\admin\__init__.py", line 79, in <module> 
    from google.appengine.ext.webapp import _template 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py", line 676, in Decorate 
    return func(self, *args, **kwargs) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py", line 1858, in load_module 
    return self.FindAndLoadModule(submodule, fullname, search_path) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py", line 676, in Decorate 
    return func(self, *args, **kwargs) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py", line 1722, in FindAndLoadModule 
    description) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py", line 676, in Decorate 
    return func(self, *args, **kwargs) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py", line 1665, in LoadModuleRestricted 
    description) 
    File "C:\Program Files\Google\google_appengine\google\appengine\ext\webapp\_template.py", line 37, in <module> 
    from google.appengine.ext.webapp import template 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py", line 676, in Decorate 
    return func(self, *args, **kwargs) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py", line 1858, in load_module 
    return self.FindAndLoadModule(submodule, fullname, search_path) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py", line 676, in Decorate 
    return func(self, *args, **kwargs) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py", line 1722, in FindAndLoadModule 
    description) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py", line 676, in Decorate 
    return func(self, *args, **kwargs) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py", line 1665, in LoadModuleRestricted 
    description) 
    File "C:\Program Files\Google\google_appengine\google\appengine\ext\webapp\template.py", line 61, in <module> 
    webapp._config_handle.django_setup() 
    File "C:\Program Files\Google\google_appengine\google\appengine\ext\webapp\__init__.py", line 153, in _django_setup 
    __django_version_setup() 
    File "C:\Program Files\Google\google_appengine\google\appengine\ext\webapp\__init__.py", line 99, in __django_version_setup 
    'http://code.google.com/appengine/docs/python/tools/' 
    File "C:\Python27\lib\logging\__init__.py", line 1582, in warning 
    root.warning(msg, *args, **kwargs) 
    File "C:\Python27\lib\logging\__init__.py", line 1144, in warning 
    self._log(WARNING, msg, args, **kwargs) 
    File "C:\Python27\lib\logging\__init__.py", line 1250, in _log 
    self.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1260, in handle 
    self.callHandlers(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers 
    hdlr.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 744, in handle 
    self.emit(record) 
    File "C:\Python27\lib\logging\__init__.py", line 870, in emit 
    self.handleError(record) 
    File "C:\Python27\lib\logging\__init__.py", line 797, in handleError 
    None, sys.stderr) 
    File "C:\Python27\lib\traceback.py", line 124, in print_exception 
    _print(file, 'Traceback (most recent call last):') 
    File "C:\Python27\lib\traceback.py", line 13, in _print 
    file.write(str+terminator) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write 
    logging.getLogger()._log(logging.ERROR, message,()) 
    File "C:\Python27\lib\logging\__init__.py", line 1250, in _log 
    self.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1260, in handle 
    self.callHandlers(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers 
    hdlr.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 744, in handle 
    self.emit(record) 
    File "C:\Python27\lib\logging\__init__.py", line 870, in emit 
    self.handleError(record) 
    File "C:\Python27\lib\logging\__init__.py", line 797, in handleError 
    None, sys.stderr) 
    File "C:\Python27\lib\traceback.py", line 124, in print_exception 
    _print(file, 'Traceback (most recent call last):') 
    File "C:\Python27\lib\traceback.py", line 13, in _print 
    file.write(str+terminator) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write 
    logging.getLogger()._log(logging.ERROR, message,()) 
    File "C:\Python27\lib\logging\__init__.py", line 1250, in _log 
    self.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1260, in handle 
    self.callHandlers(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers 
    hdlr.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 744, in handle 
    self.emit(record) 
    File "C:\Python27\lib\logging\__init__.py", line 870, in emit 
    self.handleError(record) 
    File "C:\Python27\lib\logging\__init__.py", line 797, in handleError 
    None, sys.stderr) 
    File "C:\Python27\lib\traceback.py", line 124, in print_exception 
    _print(file, 'Traceback (most recent call last):') 
    File "C:\Python27\lib\traceback.py", line 13, in _print 
    file.write(str+terminator) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write 
    logging.getLogger()._log(logging.ERROR, message,()) 
    File "C:\Python27\lib\logging\__init__.py", line 1250, in _log 
    self.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1260, in handle 
    self.callHandlers(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers 
    hdlr.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 744, in handle 
    self.emit(record) 
    File "C:\Python27\lib\logging\__init__.py", line 870, in emit 
    self.handleError(record) 
    File "C:\Python27\lib\logging\__init__.py", line 797, in handleError 
    None, sys.stderr) 
    File "C:\Python27\lib\traceback.py", line 124, in print_exception 
    _print(file, 'Traceback (most recent call last):') 
    File "C:\Python27\lib\traceback.py", line 13, in _print 
    file.write(str+terminator) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write 
    logging.getLogger()._log(logging.ERROR, message,()) 
    File "C:\Python27\lib\logging\__init__.py", line 1250, in _log 
    self.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1260, in handle 
    self.callHandlers(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers 
    hdlr.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 744, in handle 
    self.emit(record) 
    File "C:\Python27\lib\logging\__init__.py", line 870, in emit 
    self.handleError(record) 
    File "C:\Python27\lib\logging\__init__.py", line 797, in handleError 
    None, sys.stderr) 
    File "C:\Python27\lib\traceback.py", line 124, in print_exception 
    _print(file, 'Traceback (most recent call last):') 
    File "C:\Python27\lib\traceback.py", line 13, in _print 
    file.write(str+terminator) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write 
    logging.getLogger()._log(logging.ERROR, message,()) 
    File "C:\Python27\lib\logging\__init__.py", line 1250, in _log 
    self.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1260, in handle 
    self.callHandlers(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers 
    hdlr.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 744, in handle 
    self.emit(record) 
    File "C:\Python27\lib\logging\__init__.py", line 870, in emit 
    self.handleError(record) 
    File "C:\Python27\lib\logging\__init__.py", line 797, in handleError 
    None, sys.stderr) 
    File "C:\Python27\lib\traceback.py", line 124, in print_exception 
    _print(file, 'Traceback (most recent call last):') 
    File "C:\Python27\lib\traceback.py", line 13, in _print 
    file.write(str+terminator) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write 
    logging.getLogger()._log(logging.ERROR, message,()) 
    File "C:\Python27\lib\logging\__init__.py", line 1250, in _log 
    self.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1260, in handle 
    self.callHandlers(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers 
    hdlr.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 744, in handle 
    self.emit(record) 
    File "C:\Python27\lib\logging\__init__.py", line 870, in emit 
    self.handleError(record) 
    File "C:\Python27\lib\logging\__init__.py", line 797, in handleError 
    None, sys.stderr) 
    File "C:\Python27\lib\traceback.py", line 124, in print_exception 
    _print(file, 'Traceback (most recent call last):') 
    File "C:\Python27\lib\traceback.py", line 13, in _print 
    file.write(str+terminator) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write 
    logging.getLogger()._log(logging.ERROR, message,()) 
    File "C:\Python27\lib\logging\__init__.py", line 1250, in _log 
    self.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1260, in handle 
    self.callHandlers(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers 
    hdlr.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 744, in handle 
    self.emit(record) 
    File "C:\Python27\lib\logging\__init__.py", line 870, in emit 
    self.handleError(record) 
    File "C:\Python27\lib\logging\__init__.py", line 797, in handleError 
    None, sys.stderr) 
    File "C:\Python27\lib\traceback.py", line 124, in print_exception 
    _print(file, 'Traceback (most recent call last):') 
    File "C:\Python27\lib\traceback.py", line 13, in _print 
    file.write(str+terminator) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write 
    logging.getLogger()._log(logging.ERROR, message,()) 
    File "C:\Python27\lib\logging\__init__.py", line 1250, in _log 
    self.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1260, in handle 
    self.callHandlers(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers 
    hdlr.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 744, in handle 
    self.emit(record) 
    File "C:\Python27\lib\logging\__init__.py", line 870, in emit 
    self.handleError(record) 
    File "C:\Python27\lib\logging\__init__.py", line 797, in handleError 
    None, sys.stderr) 
    File "C:\Python27\lib\traceback.py", line 124, in print_exception 
    _print(file, 'Traceback (most recent call last):') 
    File "C:\Python27\lib\traceback.py", line 13, in _print 
    file.write(str+terminator) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write 
    logging.getLogger()._log(logging.ERROR, message,()) 
    File "C:\Python27\lib\logging\__init__.py", line 1250, in _log 
    self.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1260, in handle 
    self.callHandlers(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers 
    hdlr.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 744, in handle 
    self.emit(record) 
    File "C:\Python27\lib\logging\__init__.py", line 870, in emit 
    self.handleError(record) 
    File "C:\Python27\lib\logging\__init__.py", line 797, in handleError 
    None, sys.stderr) 
    File "C:\Python27\lib\traceback.py", line 124, in print_exception 
    _print(file, 'Traceback (most recent call last):') 
    File "C:\Python27\lib\traceback.py", line 13, in _print 
    file.write(str+terminator) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write 
    logging.getLogger()._log(logging.ERROR, message,()) 
    File "C:\Python27\lib\logging\__init__.py", line 1250, in _log 
    self.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1260, in handle 
    self.callHandlers(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers 
    hdlr.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 744, in handle 
    self.emit(record) 
    File "C:\Python27\lib\logging\__init__.py", line 870, in emit 
    self.handleError(record) 
    File "C:\Python27\lib\logging\__init__.py", line 797, in handleError 
    None, sys.stderr) 
    File "C:\Python27\lib\traceback.py", line 124, in print_exception 
    _print(file, 'Traceback (most recent call last):') 
    File "C:\Python27\lib\traceback.py", line 13, in _print 
    file.write(str+terminator) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write 
    logging.getLogger()._log(logging.ERROR, message,()) 
    File "C:\Python27\lib\logging\__init__.py", line 1250, in _log 
    self.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1260, in handle 
    self.callHandlers(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers 
    hdlr.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 744, in handle 
    self.emit(record) 
    File "C:\Python27\lib\logging\__init__.py", line 870, in emit 
    self.handleError(record) 
    File "C:\Python27\lib\logging\__init__.py", line 797, in handleError 
    None, sys.stderr) 
    File "C:\Python27\lib\traceback.py", line 124, in print_exception 
    _print(file, 'Traceback (most recent call last):') 
    File "C:\Python27\lib\traceback.py", line 13, in _print 
    file.write(str+terminator) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write 
    logging.getLogger()._log(logging.ERROR, message,()) 
    File "C:\Python27\lib\logging\__init__.py", line 1250, in _log 
    self.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1260, in handle 
    self.callHandlers(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers 
    hdlr.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 744, in handle 
    self.emit(record) 
    File "C:\Python27\lib\logging\__init__.py", line 870, in emit 
    self.handleError(record) 
    File "C:\Python27\lib\logging\__init__.py", line 797, in handleError 
    None, sys.stderr) 
    File "C:\Python27\lib\traceback.py", line 124, in print_exception 
    _print(file, 'Traceback (most recent call last):') 
    File "C:\Python27\lib\traceback.py", line 13, in _print 
    file.write(str+terminator) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write 
    logging.getLogger()._log(logging.ERROR, message,()) 
    File "C:\Python27\lib\logging\__init__.py", line 1250, in _log 
    self.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1260, in handle 
    self.callHandlers(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers 
    hdlr.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 744, in handle 
    self.emit(record) 
    File "C:\Python27\lib\logging\__init__.py", line 870, in emit 
    self.handleError(record) 
    File "C:\Python27\lib\logging\__init__.py", line 797, in handleError 
    None, sys.stderr) 
    File "C:\Python27\lib\traceback.py", line 124, in print_exception 
    _print(file, 'Traceback (most recent call last):') 
    File "C:\Python27\lib\traceback.py", line 13, in _print 
    file.write(str+terminator) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write 
    logging.getLogger()._log(logging.ERROR, message,()) 
    File "C:\Python27\lib\logging\__init__.py", line 1250, in _log 
    self.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1260, in handle 
    self.callHandlers(record) 
    File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers 
    hdlr.handle(record) 
    File "C:\Python27\lib\logging\__init__.py", line 744, in handle 
    self.emit(record) 
    File "C:\Python27\lib\logging\__init__.py", line 870, in emit 
    self.handleError(record) 
    File "C:\Python27\lib\logging\__init__.py", line 797, in handleError 
    None, sys.stderr) 
    File "C:\Python27\lib\traceback.py", line 124, in print_exception 
    _print(file, 'Traceback (most recent call last):') 
    File "C:\Python27\lib\traceback.py", line 13, in _print 
    file.write(str+terminator) 
    File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write 
    logging.getLogger()._log(logging.ERROR, message,()) 
    File "C:\Python27\lib\logging\__init__.py", line 1249, in _log 
    record = self.makeRecord(self.name, level, fn, lno, msg, args, exc_info, func, extra) 
    File "C:\Python27\lib\logging\__init__.py", line 1223, in makeRecord 
    rv = LogRecord(name, level, fn, lno, msg, args, exc_info, func) 
    File "C:\Python27\lib\logging\__init__.py", line 266, in __init__ 
    self.levelname = getLevelName(level) 
    File "C:\Python27\lib\logging\__init__.py", line 167, in getLevelName 
    return _levelNames.get(level, ("Level %s" % level)) 
RuntimeError: maximum recursion depth exceeded while getting the str of an object 

가 main.py의 수입 목록입니다
from google.appengine.ext import webapp 

import fix_path 
import sys 
import os 
import urllib 
import urllib2 
import pprint 
import logging 
import cgi 
import random 
import Cookie 
import datetime 
import time 
import urlparse 
import urllib2 
import urllib, cStringIO 
import hashlib 
import copy 

from urllib import urlretrieve 
from google.appengine.ext import blobstore 
from google.appengine.ext.webapp import blobstore_handlers 
from google.appengine.ext.webapp import template 
from google.appengine.api import users 
from google.appengine.ext.webapp.util import run_wsgi_app 
from google.appengine.ext import db 
from google.appengine.dist import use_library 
from google.appengine.api import memcache 
from django.utils import simplejson 
from gaesessions import get_current_session 

from myapp.models import * 
from myapp.models import sequence_selection as models_sequence_selection 
from myapp.sequence_selection import utils as sequence_selection_utils 
from myapp.models import video 
from myapp.models.video import * 
from myapp.models.song import * 
from myapp.models.flashified import * 
from myapp.music_recommendation import get_song_recommendations,get_song_recommendations_learning_data,learn_song,learn_song_from_video 

from myapp.core import is_number 
from myapp import mailing 
from myapp import search 
from myapp import motif 
from myapp import retrieve_instagram 
from myapp import coords_distance 
from myapp import performancetest 

from google.appengine.api import mail 
from google.appengine.api import images 

사실, 응용 프로그램의 디렉토리 이름을 바꾸고 다른 포트로 물통 Google 앱 엔진 실행기를 다시 가져 오는 것은 내 문제를 해결했지만 아마도 버그가 아닙니다.

+1

코드 발췌 부분을 게시 할 수 있습니까? –

+0

실제로, main.py는 수천 줄의 거대한 파일입니다. 재귀가 로깅 모듈에서 이루어지기 때문에 문제의 원인인지 확신 할 수 없습니다. 최근의 변경 사항은 버그와 관련이없는 것 같습니다. 왜냐하면 내가 취소 했으므로 버그가 여전히 존재하기 때문입니다. – fstab

+1

적어도 게시 한 추적은 모듈을 가져올 때 (myapp.music_recommendation에서 get_song_recommendations, get_song_recommendations_learning_data, learn_song, learn_song_from_video 및 myapp.models.song import Song에서) 문제가 발생했음을 나타냅니다. 또한 어떤 python 버전과 dev_appserver를 사용하고 있습니까? –

답변

1

@skreft 명시된대로 실제 답변을 얻으려면 관련 소스를 업로드해야합니다.

로깅에 관한 한 import logginglogging.info()을 사용하여 문제를 찾을 수 있습니다.

지금 로깅 코드에 주석을 달고 스택 추적 결과를 확인하십시오. 그런 다음 오류가 발생하지 않으면 오류 코드를 찾을 때까지 로깅 코드를 조각 단위로 다시 추가하십시오.