Ticket #66 (closed Defect: Behaves correctly)
CalendarServer doesn't launch in revision 216
| Reported by: | Hagedorn@… | Owned by: | wsanchez@… |
|---|---|---|---|
| Priority: | 1: Blocker | Milestone: | CalendarServer-1.0 |
| Component: | Calendar Server | Severity: | Crash/data loss |
| Keywords: | Cc: | ||
| Port: |
Description
I ran "svn update" and now I can't launch CalendarServer anymore. The same symptom occurs on a different system:
2006/09/28 13:30 +0200 [-] Log opened.
2006/09/28 13:30 +0200 [-] twistd 2.4.0+r18289 (/Library/Frameworks/Python.framework/Versions/2.4/Resources/Python.app/Contents/MacOS/Python 2.4.3) starting up
2006/09/28 13:30 +0200 [-] reactor class: <class 'twisted.internet.selectreactor.SelectReactor'>
2006/09/28 13:30 +0200 [-] Loading /tmp/caldavRnvO68...
2006/09/28 13:30 +0200 [-] Document root is: twistedcaldav/test/data/
2006/09/28 13:30 +0200 [-] Repository configuration is: conf/repository-dev.xml
2006/09/28 13:30 +0200 [-] Using SSL private key file: conf/server.pem
2006/09/28 13:30 +0200 [-] Using SSL certificate file: conf/server.pem
2006/09/28 13:30 +0200 [-] Traceback (most recent call last):
2006/09/28 13:30 +0200 [-] File "/Users/a0620/Developer/Collaboration/Twisted/twisted/application/app.py", line 236, in getApplication
2006/09/28 13:30 +0200 [-] application = service.loadApplication(filename, style, passphrase)
2006/09/28 13:30 +0200 [-] File "/Users/a0620/Developer/Collaboration/Twisted/twisted/application/service.py", line 341, in loadApplication
2006/09/28 13:30 +0200 [-] application = sob.loadValueFromFile(filename, 'application', passphrase)
2006/09/28 13:30 +0200 [-] File "/Users/a0620/Developer/Collaboration/Twisted/twisted/persisted/sob.py", line 215, in loadValueFromFile
2006/09/28 13:30 +0200 [-] exec fileObj in d, d
2006/09/28 13:30 +0200 [-] File "/tmp/caldavRnvO68", line 78, in ?
2006/09/28 13:30 +0200 [-] builder.buildFromFile(repo)
2006/09/28 13:30 +0200 [-] File "/Users/a0620/Developer/Collaboration/CalendarServer/twistedcaldav/repository.py", line 145, in buildFromFile
2006/09/28 13:30 +0200 [-] self.docRoot.build()
2006/09/28 13:30 +0200 [-] File "/Users/a0620/Developer/Collaboration/CalendarServer/twistedcaldav/repository.py", line 196, in build
2006/09/28 13:30 +0200 [-] self.collection.build(self.path, "/")
2006/09/28 13:30 +0200 [-] File "/Users/a0620/Developer/Collaboration/CalendarServer/twistedcaldav/repository.py", line 310, in build
2006/09/28 13:30 +0200 [-] resource_class = namedObject(self.pytype)
2006/09/28 13:30 +0200 [-] File "/Users/a0620/Developer/Collaboration/Twisted/twisted/python/reflect.py", line 338, in namedObject
2006/09/28 13:30 +0200 [-] module = namedModule(string.join(classSplit[:-1], '.'))
2006/09/28 13:30 +0200 [-] File "/Users/a0620/Developer/Collaboration/Twisted/twisted/python/reflect.py", line 326, in namedModule
2006/09/28 13:30 +0200 [-] topLevel = __import__(name)
2006/09/28 13:30 +0200 [-] ValueError: Empty module name
2006/09/28 13:30 +0200 [-] Failed to load application: Empty module name
2006/09/28 13:30 +0200 [-] Unhandled Error
Traceback (most recent call last):
File "/Users/a0620/Developer/Collaboration/Twisted/twisted/application/app.py", line 366, in run
runApp(config)
File "/Users/a0620/Developer/Collaboration/Twisted/twisted/scripts/twistd.py", line 23, in runApp
_SomeApplicationRunner(config).run()
File "/Users/a0620/Developer/Collaboration/Twisted/twisted/application/app.py", line 175, in run
self.application = self.createOrGetApplication()
File "/Users/a0620/Developer/Collaboration/Twisted/twisted/application/app.py", line 225, in createOrGetApplication
application = getApplication(self.config, passphrase)
--- <exception caught here> ---
File "/Users/a0620/Developer/Collaboration/Twisted/twisted/application/app.py", line 236, in getApplication
application = service.loadApplication(filename, style, passphrase)
File "/Users/a0620/Developer/Collaboration/Twisted/twisted/application/service.py", line 341, in loadApplication
application = sob.loadValueFromFile(filename, 'application', passphrase)
File "/Users/a0620/Developer/Collaboration/Twisted/twisted/persisted/sob.py", line 215, in loadValueFromFile
exec fileObj in d, d
File "/tmp/caldavRnvO68", line 78, in ?
builder.buildFromFile(repo)
File "/Users/a0620/Developer/Collaboration/CalendarServer/twistedcaldav/repository.py", line 145, in buildFromFile
self.docRoot.build()
File "/Users/a0620/Developer/Collaboration/CalendarServer/twistedcaldav/repository.py", line 196, in build
self.collection.build(self.path, "/")
File "/Users/a0620/Developer/Collaboration/CalendarServer/twistedcaldav/repository.py", line 310, in build
resource_class = namedObject(self.pytype)
File "/Users/a0620/Developer/Collaboration/Twisted/twisted/python/reflect.py", line 338, in namedObject
module = namedModule(string.join(classSplit[:-1], '.'))
File "/Users/a0620/Developer/Collaboration/Twisted/twisted/python/reflect.py", line 326, in namedModule
topLevel = __import__(name)
exceptions.ValueError: Empty module name
Failed to load application: Empty module name
Change History
Note: See
TracTickets for help on using
tickets.


We changed the logic in the repository builder so that the list of classes you can instantiate in repository.xml isn't limited to a predefined set in repository.py.
One effect of that is that you now have to specify a fully qualified class name (twisted.web2.dav.static.DAVFile, not DAVFile) in repository.xml.
Refresh your repository.xml from one of the examples and you should be OK.