dragonresearch / rpki.net

Dragon Research Labs rpki.net RPKI toolkit
51 stars 30 forks source link

Table 'irdbd.app_resourcerangeas' doesn't exist #470

Closed sraustein closed 11 years ago

sraustein commented 11 years ago

fresh CA install. went through the cli and gui setup at https://trac.rpki.net/wiki/doc/RPKI/CA/UI and https://trac.rpki.net/wiki/doc/RPKI/CA/UI/GUI

went to the web site. did login. blooie!

DatabaseError at /rpki/ (1146, "Table 'irdbd.app_resourcerangeas' doesn't exist") Request Method: GET Request URL: https://ca0.vmini.rpki.net/rpki/ Django Version: 1.4.1 Exception Type: DatabaseError Exception Value:
(1146, "Table 'irdbd.app_resourcerangeas' doesn't exist") Exception Location: /usr/lib/python2.7/dist-packages/MySQLdb/connections.py in defaulterrorhandler, line 36 Python Executable: /usr/bin/python Python Version: 2.7.3 Python Path:
['/etc/rpki', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages'] Server time: Sat, 9 Mar 2013 06:04:05 +0000 Traceback Switch to copy-and-paste view

/usr/lib/python2.7/dist-packages/django/core/handlers/base.py in get_response response = callback(request, _callback_args, _callback_kwargs) ... ▶ Local vars /usr/lib/python2.7/dist-packages/django/contrib/auth/decorators.py in _wrapped_view return view_func(request, _args, _kwargs) ... ▶ Local vars /usr/lib/python2.7/dist-packages/rpki/gui/decorators.py in _tls_required return f(request, _args, _kwargs) ... ▶ Local vars /usr/lib/python2.7/dist-packages/rpki/gui/app/views.py in wrapped_fn return f(request, _args, _kwargs) ... ▶ Local vars /usr/lib/python2.7/dist-packages/rpki/gui/app/views.py in dashboard my_asns = range_list.RangeList([resource_range_as(obj.min, obj.max) for obj in asns]) ... ▶ Local vars /usr/lib/python2.7/dist-packages/django/db/models/query.py in _result_iter self._fill_cache() ... ▶ Local vars /usr/lib/python2.7/dist-packages/django/db/models/query.py in _fill_cache self._result_cache.append(self._iter.next()) ... ▶ Local vars /usr/lib/python2.7/dist-packages/django/db/models/query.py in iterator for row in compiler.results_iter(): ... ▶ Local vars /usr/lib/python2.7/dist-packages/django/db/models/sql/compiler.py in results_iter for rows in self.execute_sql(MULTI): ... ▶ Local vars /usr/lib/python2.7/dist-packages/django/db/models/sql/compiler.py in execute_sql cursor.execute(sql, params) ... ▶ Local vars /usr/lib/python2.7/dist-packages/django/db/backends/util.py in execute return self.cursor.execute(sql, params) ... ▶ Local vars /usr/lib/python2.7/dist-packages/django/db/backends/mysql/base.py in execute return self.cursor.execute(query, args) ... ▶ Local vars /usr/lib/python2.7/dist-packages/MySQLdb/cursors.py in execute self.errorhandler(self, exc, value) ... ▶ Local vars /usr/lib/python2.7/dist-packages/MySQLdb/connections.py in defaulterrorhandler raise errorclass, errorvalue ... ▶ Local vars Request information

GET No GET data POST No POST data FILES No FILES data COOKIES Variable Value csrftoken
'rQvdmJbo30ufdinQxXtArEkxDD2Swmmr' sessionid
'27207807d3d9f3fa213ca81970c59091' META Variable Value mod_wsgi.listener_port
'443' HTTP_REFERER
'https://ca0.vmini.rpki.net/accounts/login/?next=/rpki/' mod_wsgi.listener_host
'' SERVER_SOFTWARE 'Apache/2.2.22 (Ubuntu)' SCRIPT_NAME u'' mod_wsgi.handler_script '' SERVER_SIGNATURE
'

Apache/2.2.22 (Ubuntu) Server at ca0.vmini.rpki.net Port 443
\n' REQUEST_METHOD
'GET' PATH_INFO
u'/rpki/' SERVER_PROTOCOL 'HTTP/1.1' QUERY_STRING
'' SSL_TLS_SNI 'ca0.vmini.rpki.net' HTTP_ACCEPTCHARSET 'ISO-8859-1,utf-8;q=0.7,;q=0.3' HTTP_USER_AGENT 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.160 Safari/537.22' HTTP_CONNECTION 'keep-alive' HTTP_COOKIE 'csrftoken=rQvdmJbo30ufdinQxXtArEkxDD2Swmmr; sessionid=27207807d3d9f3fa213ca81970c59091' SERVER_NAME 'ca0.vmini.rpki.net' REMOTE_ADDR '192.168.0.18' mod_wsgi.request_handler
'wsgi-script' wsgi.url_scheme 'https' PATH_TRANSLATED '/usr/share/rpki/wsgi/rpki.wsgi/rpki/' SERVER_PORT '443' wsgi.multiprocess
True mod_wsgi.input_chunked
'0' SERVER_ADDR '192.168.0.36' DOCUMENT_ROOT
'/var/www' mod_wsgi.process_group
'' SCRIPT_FILENAME '/usr/share/rpki/wsgi/rpki.wsgi' SERVER_ADMIN
'webmaster@localhost' wsgi.input
<mod_wsgi.Input object at 0xa7673700> HTTP_DNT
'1' HTTP_HOST
'ca0.vmini.rpki.net' HTTPS
'1' wsgi.multithread
True mod_wsgi.callable_object
'application' HTTP_CACHE_CONTROL
'max-age=0' REQUEST_URI '/rpki/' HTTPACCEPT 'text/html,application/xhtml+xml,application/xml;q=0.9,/_;q=0.8' wsgi.version
(1, 1) GATEWAY_INTERFACE
'CGI/1.1' wsgi.run_once
False wsgi.errors <mod_wsgi.Log object at 0xa7678638> REMOTE_PORT '52718' HTTP_ACCEPT_LANGUAGE
'en-US,en;q=0.8' mod_wsgi.version
(3, 3) mod_wsgi.application_group
'ca0.vmini.rpki.net|' mod_wsgi.script_reloading
'1' wsgi.file_wrapper
'' CSRF_COOKIE 'rQvdmJbo30ufdinQxXtArEkxDD2Swmmr' HTTP_ACCEPT_ENCODING
'gzip,deflate,sdch' Settings Using settings module settings Setting Value USE_L10N
False USE_THOUSAND_SEPARATOR
False CSRF_COOKIE_SECURE
False LANGUAGE_CODE
'en-us' ROOT_URLCONF
'rpki.gui.urls' MANAGERS
() DEFAULT_CHARSET 'utf-8' STATIC_ROOT '/usr/share/rpki/media' MESSAGE_STORAGE 'django.contrib.messages.storage.fallback.FallbackStorage' EMAIL_SUBJECT_PREFIX
'[Django] ' FILE_UPLOAD_PERMISSIONS None URL_VALIDATOR_USER_AGENT
'Django/1.4.1 (https://www.djangoproject.com)' STATICFILES_FINDERS ('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder') SESSION_COOKIE_DOMAIN
None SESSION_COOKIE_NAME 'sessionid' ADMIN_FOR
() TIME_INPUT_FORMATS
('%H:%M:%S', '%H:%M') DATABASES
{'default': {'ENGINE': 'django.db.backends.mysql', 'HOST': '', 'NAME': 'irdbd', 'OPTIONS': {'conv': {0: <class 'decimal.Decimal'>, 1: <type 'int'>, 2: <type 'int'>, 3: <type 'long'>, 4: <type 'float'>, 5: <type 'float'>, 7: <function mysql_timestamp_converter at 0xa8a9d7d4>, 8: <type 'long'>, 9: <type 'int'>, 10: <function Date_or_None at 0xa8a9d72c>, 11: <function TimeDelta_or_None at 0xa8a9d6bc>, 12: <function DateTime_or_None at 0xa8a9d684>, 13: <type 'int'>, 15: [(128, <type 'str'>)], 246: <class 'decimal.Decimal'>, 248: <function Str2Set at 0xa8a9da74>, 252: [(128, <type 'str'>)], 253: [(128, <type 'str'>)], 254: [(128, <type 'str'>)], <type 'bool'>: <function Bool2Str at 0xa8a9dca4>, <type 'set'>: <function Set2Str at 0xa8a9daac>, <type 'object'>: <function Instance2Str at 0xa8a9dbfc>, <type 'NoneType'>: <function None2NULL at 0xa8a9db8c>, <type 'instance'>: <function Instance2Str at 0xa8a9dbfc>, <type 'dict'>: , <type 'list'>: , <type 'unicode'>: <function Unicode2Str at 0xa8a9db1c>, <type 'str'>: <function Thing2Literal at 0xa8a9dbc4>, <type 'tuple'>: , <type 'float'>: <function Float2Str at 0xa8a9db54>, <type 'long'>: <function at 0xa8a9da3c>, <type 'int'>: <function Thing2Str at 0xa8a9dae4>, <type 'array.array'>: <function array2Str at 0xa8a9dc6c>, <type 'datetime.timedelta'>: <function DateTimeDelta2literal at 0xa8a9d79c>, <type 'datetime.datetime'>: <function DateTime2literal at 0xa8a9d764>}, 'init_command': 'SET storageengine=INNODB'}, 'PASSWORD': u'**_', 'PORT': '', 'TEST_CHARSET': None, 'TEST_COLLATION': None, 'TEST_MIRROR': None, 'TEST_NAME': None, 'TIME_ZONE': 'UTC', 'USER': 'rpki'}} SERVER_EMAIL
'root@localhost' FILE_UPLOAD_HANDLERS
('django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler') DEFAULT_CONTENT_TYPE
'text/html' APPEND_SLASH
True FIRST_DAY_OF_WEEK
0 DATABASE_ROUTERS
[] YEAR_MONTH_FORMAT
'F Y' STATICFILES_STORAGE 'django.contrib.staticfiles.storage.StaticFilesStorage' CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'LOCATION': ''}} SESSION_COOKIE_PATH '/' USE_X_FORWARDED_HOST
False MIDDLEWARE_CLASSES
('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.http.ConditionalGetMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware') USE_I18N
True THOUSAND_SEPARATOR
',' SECRETKEY
u'**
****_' LANGUAGE_COOKIE_NAME
'django_language' DEFAULT_INDEX_TABLESPACE
'' TRANSACTIONS_MANAGED
False LOGGING_CONFIG
'django.utils.log.dictConfig' SEND_BROKEN_LINK_EMAILS False TEMPLATE_LOADERS
('django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader', 'django.template.loaders.eggs.Loader') WSGI_APPLICATION
None TEMPLATE_DEBUG
True X_FRAME_OPTIONS 'SAMEORIGIN' AUTHENTICATION_BACKENDS ('django.contrib.auth.backends.ModelBackend',) FORCE_SCRIPT_NAME
None CACHE_BACKEND
'locmem://' SIGNING_BACKEND 'django.core.signing.TimestampSigner' SESSION_COOKIE_SECURE
False CSRF_COOKIE_DOMAIN
None FILE_CHARSET
'utf-8' DEBUG
True SESSION_FILE_PATH
None DEFAULT_FILE_STORAGE
'django.core.files.storage.FileSystemStorage' INSTALLED_APPS
('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.staticfiles', 'rpki.irdb', 'rpki.gui.app', 'rpki.gui.cacheview', 'rpki.gui.routeview', 'south') LANGUAGES
(('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nb', 'Norwegian Bokmal'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')) COMMENTS_ALLOW_PROFANITIES
False STATICFILES_DIRS
() PREPEND_WWW False SECURE_PROXY_SSL_HEADER None SESSION_COOKIE_HTTPONLY True DEBUG_PROPAGATE_EXCEPTIONS
False MONTH_DAY_FORMAT
'F j' LOGIN_URL
'/accounts/login/' SESSION_EXPIRE_AT_BROWSER_CLOSE False TIME_FORMAT 'P' DATE_INPUT_FORMATS
('%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y') CSRF_COOKIE_NAME
'csrftoken' EMAIL_HOSTPASSWORD u'******_' PASSWORD_RESET_TIMEOUTDAYS u'******_' CACHE_MIDDLEWARE_ALIAS
'default' SESSION_SAVE_EVERY_REQUEST
False NUMBER_GROUPING 0 SESSION_ENGINE
'django.contrib.sessions.backends.db' CSRF_FAILURE_VIEW
'django.views.csrf.csrf_failure' CSRF_COOKIE_PATH
'/' LOGIN_REDIRECT_URL
'/accounts/profile/' LOGGING {'disable_existing_loggers': False, 'filters': {'require_debug_false': {'()': 'django.utils.log.RequireDebugFalse'}}, 'handlers': {'mail_admins': {'class': 'django.utils.log.AdminEmailHandler', 'filters': ['require_debug_false'], 'level': 'ERROR'}}, 'loggers': {'django.request': {'handlers': ['mail_admins'], 'level': 'ERROR', 'propagate': True}}, 'version': 1} IGNORABLE_404_URLS
() LOCALE_PATHS
() TEMPLATE_STRING_IF_INVALID
'' LOGOUT_URL
'/accounts/logout/' EMAIL_USE_TLS
False FIXTURE_DIRS
() EMAIL_HOST
'localhost' DATE_FORMAT 'N j, Y' MEDIA_ROOT
'' DEFAULT_EXCEPTION_REPORTER_FILTER
'django.views.debug.SafeExceptionReporterFilter' ADMINS
() FORMAT_MODULE_PATH
None DEFAULT_FROM_EMAIL
'webmaster@localhost' MEDIA_URL
'' DATETIME_FORMAT 'N j, Y, P' TEMPLATE_DIRS
() DISALLOWED_USER_AGENTS
() ALLOWED_INCLUDE_ROOTS
() DECIMAL_SEPARATOR
'.' SHORT_DATE_FORMAT
'm/d/Y' TEST_RUNNER 'django.test.simple.DjangoTestSuiteRunner' CACHE_MIDDLEWARE_KEYPREFIX u'******_' TIME_ZONE
'UTC' FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 EMAIL_BACKEND
'django.core.mail.backends.smtp.EmailBackend' DEFAULT_TABLESPACE
'' TEMPLATE_CONTEXT_PROCESSORS ('django.contrib.auth.context_processors.auth', 'django.core.context_processors.debug', 'django.core.context_processors.i18n', 'django.core.context_processors.media', 'django.contrib.messages.context_processors.messages', 'django.core.context_processors.request', 'django.core.context_processors.static') SESSION_COOKIE_AGE
1209600 SETTINGS_MODULE 'settings' USE_ETAGS
False LANGUAGES_BIDI
('he', 'ar', 'fa') FILE_UPLOAD_TEMP_DIR
None INTERNAL_IPS
() STATIC_URL
'/media/' EMAIL_PORT
25 USE_TZ
False SHORT_DATETIME_FORMAT
'm/d/Y P' PASSWORDHASHERS
u'**
****_' ABSOLUTE_URL_OVERRIDES
{} CACHE_MIDDLEWARE_SECONDS
600 DATETIME_INPUT_FORMATS
('%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y') EMAIL_HOST_USER '' PROFANITIESLIST
u'**
*****' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 500 page.

Trac ticket #455 component gui priority blocker, owner melkins, created by randy on 2013-03-09T06:07:04Z, last modified 2013-04-06T19:21:16Z

sraustein commented 11 years ago

fwiw, i am not self-publishing on vmini. it is often behind, so is publishing at ca0.rpki.net == altCA in the westin.

randy

Trac comment by randy on 2013-03-09T06:12:02Z

sraustein commented 11 years ago

missed a step: https://trac.rpki.net/wiki/doc/RPKI/CA/UI/GUI#Syncdatabases

Trac comment by melkins on 2013-03-10T04:38:09Z

sraustein commented 11 years ago

fwiw, i am not self-publishing on vmini. it is often behind, so is publishing at ca0.rpki.net == altCA in the westin.

should be fine, you just need to run rcynic with your TAL if you want the gui to display validation state on your routes.

Trac comment by melkins on 2013-03-10T04:40:33Z

sraustein commented 11 years ago

In transit at narita. Can try tomorrow.

Trac comment by randy on 2013-03-10T06:45:41Z

sraustein commented 11 years ago

fwiw, i am not self-publishing on vmini. it is often behind, so is publishing at ca0.rpki.net == altCA in the westin.

Fails test of "never let the demo depend on anything outside the booth", but so does the external BGP feed which I think we still require. Might want to fix both of those some day, but probably not today.

Trac comment by sra on 2013-03-10T14:20:31Z

sraustein commented 11 years ago

i was in error, it was the 'rpki-manage migrate' step that was missed, or this was a new install and you used the '--fake' argument when it should be omitted.

Trac comment by melkins on 2013-03-10T14:45:07Z

sraustein commented 11 years ago

fwiw, i am not self-publishing on vmini. it is often behind, so is publishing at ca0.rpki.net == altCA in the westin. Fails test of "never let the demo depend on anything outside the booth", but so does the external BGP feed which I think we still require.

you want me putting a pub point behind a firewall?

Trac comment by randy on 2013-03-10T22:53:02Z

sraustein commented 11 years ago

were you able to fix the problem by running "rpki-manage migrate" ?

Trac comment by melkins on 2013-03-11T16:12:17Z

sraustein commented 11 years ago

i can not get to the mini until i get to orlando noc on wednesday

Trac comment by randy on 2013-03-11T17:17:25Z

sraustein commented 11 years ago

did apt-get up(date|grade)

ca0.vmini.rpki.net:/root# rpki-manage migrate --list

app (_) 0001initial () 0002_autoadd_field_resourcecertconf () 0003_set_conf_fromparent () 0004_autochg_field_resourcecertconf () 0005_auto__chg_field_resourcecertparent () 0006_add_conf_acl (*) 0007_default_acls

ca0.vmini.rpki.net:/root# rpki-manage syncdb Syncing... Creating tables ... Installing custom SQL ... Installing indexes ... Installed 0 object(s) from 0 fixture(s)

Synced:

django.contrib.auth django.contrib.contenttypes django.contrib.sessions django.contrib.staticfiles rpki.irdb rpki.gui.cacheview rpki.gui.routeview south

Not synced (use migrations):

same result :(

Trac comment by randy on 2013-03-13T10:59:44Z

sraustein commented 11 years ago

i was in error, it was the 'rpki-manage migrate' step that was missed, or this was a new install and you used the '--fake' argument when it should be omitted.

probably the latter. my mistake, it was so clear in the doc. </dripping sarcasm>

so how do i clean it up? i can revert the machine to when i snapshotted it as a clean machine and install again.

randy

Trac comment by randy on 2013-03-13T11:01:26Z

sraustein commented 11 years ago

OK, we have concluded that Randy did in fact run with --fake on an installation recent enough that migrations were already supported, thus the (rather seriously hard to parse) documentation says he should not have done that. He is trying restore from VM snapshot and reinstall, as that seems like easiest way to get working stuff for Beirut.

I think the doc needs to reflect that there are three separate paths through this maze:

  1. Fresh install (with current code -- we're going to ignore fresh install of old code).
  2. Existing installation recent enough to include migrations.
  3. Existing installation old enough that it does not yet include migrations.

Trac comment by sra on 2013-03-13T18:37:26Z

sraustein commented 11 years ago

I reorganized the documentation into the following pages:

https://trac.rpki.net/wiki/doc/RPKI/CA/UI/GUI/Installing https://trac.rpki.net/wiki/doc/RPKI/CA/UI/GUI/Upgrading https://trac.rpki.net/wiki/doc/RPKI/CA/UI/GUI/Upgrading/BeforeMigration

Trac comment by melkins on 2013-03-21T18:07:57Z

sraustein commented 11 years ago

i would expect/like to see the front page of the wiki contain

o pointers/links to mailing list, bug reporting, ...

o pointers/links to theory and discussion

o how to install on linux from packages

[ and i am sure i have omitted critical things ]

Trac comment by randy on 2013-03-22T10:29:10Z

sraustein commented 11 years ago

i opened #484 for the doc bugs

Trac comment by melkins on 2013-03-22T16:07:12Z

sraustein commented 11 years ago

Unclear whether Randy ever got ca0.vmini.rpki.net running again, as discussion wandered off into the weeds of documentation wish lists. Closing ticket on theory that reinstall from saved VM image both "solved" the problem and eradicated any remaining evidence of exactly what broke. Doc issue is ticket #484.

Trac comment by sra on 2013-04-06T18:49:30Z

sraustein commented 11 years ago

ca0 ok. i closed that ticket

Trac comment by randy on 2013-04-06T19:11:11Z

sraustein commented 11 years ago

ca0 ok. i closed that ticket

No, you just re-opened it by replying to the close message.

Closing again.

Trac comment by sra on 2013-04-06T19:21:16Z

sraustein commented 11 years ago

Closed with resolution no-repro