One of the tricky things I’m discovering is keeping up with all the changes when you’re working on large project. Case in point, recently I was testing out some of my frontend stuff on my local web server.

I sometimes worry I’ve mucked around my dev box too much, so I like to have a separate box that I use as a clean test environment. When I’m using that box, I usually only pull sources down to keep everything up-to-date, but recently when I tried to do that, I ran into several problems:
1. Install script exiting too early: I noticed mailman had been updated, so I pulled the source, reran the install script, and ended up having to run the script a couple of times. The first couple of times I thought the script ended successfully since the script exited without any error messages. But later, I ran into several ‘missing module’ problems and it turns out the install script didn’t fully finish. I’m not sure why it quit early, but apparently for all the install script, the key phrase to look for (to indicate everything went smoothly) is: Finished processing dependencies for , followed by whatever module you’re currently installing.

2. Network connection refused: When running kittystore-download21, I encountered errors like Error: [Errno 111] Connection refused, which meant that the *.txt.gz archive files weren’t being downloaded (and thus couldn’t be imported into the database). Rerunning the script a couple of times seem to take care of that.

3. Importing errors: When running kittystore-import, I encountered errors like:

Traceback (most recent call last):
  File "Repos/kittystore/kittystore/import.py", line 192, in from_mbox
    self.store.add_to_list(self.mlist, message)
  File "Repos/kittystore/kittystore/storm/store.py", line 184, in add_to_list
    compute_thread_order_and_depth(thread)
  File "Repos/kittystore/kittystore/analysis.py", line 43, in compute_thread_order_and_depth
    for index, email in enumerate(thread.emails):
  File "Repos/venv_hk/lib/python2.7/site-packages/storm-0.20-py2.7-linux-x86_64.egg/storm/references.py", line 288, in __iter__
    return self.find().__iter__()
  File "Repos/venv_hk/lib/python2.7/site-packages/storm-0.20-py2.7-linux-x86_64.egg/storm/references.py", line 282, in find
    result = store.find(self._target_cls, where, *args, **kwargs)
  File "Repos/venv_hk/lib/python2.7/site-packages/storm-0.20-py2.7-linux-x86_64.egg/storm/store.py", line 221, in find
    self.flush()
  File "Repos/venv_hk/lib/python2.7/site-packages/storm-0.20-py2.7-linux-x86_64.egg/storm/store.py", line 501, in flush
    self._flush_one(obj_info)
  File "Repos/venv_hk/lib/python2.7/site-packages/storm-0.20-py2.7-linux-x86_64.egg/storm/store.py", line 538, in _flush_one
    result = self._connection.execute(expr)
  File "Repos/venv_hk/lib/python2.7/site-packages/storm-0.20-py2.7-linux-x86_64.egg/storm/database.py", line 241, in execute
    raw_cursor = self.raw_execute(statement, params)
  File "Repos/venv_hk/lib/python2.7/site-packages/storm-0.20-py2.7-linux-x86_64.egg/storm/databases/sqlite.py", line 159, in raw_execute
    return Connection.raw_execute(self, statement, params)
  File "Repos/venv_hk/lib/python2.7/site-packages/storm-0.20-py2.7-linux-x86_64.egg/storm/database.py", line 374, in raw_execute
    self._run_execution(raw_cursor, args, params, statement)
  File "Repos/venv_hk/lib/python2.7/site-packages/storm-0.20-py2.7-linux-x86_64.egg/storm/database.py", line 388, in _run_execution
    self._check_disconnect(raw_cursor.execute, *args)
  File "Repos/venv_hk/lib/python2.7/site-packages/storm-0.20-py2.7-linux-x86_64.egg/storm/database.py", line 454, in _check_disconnect
    return function(*args, **kwargs)
IntegrityError: email.sender_name may not be NULL
Message 2098050371.11412483.1391615464898.JavaMail.root@redhat.com failed to import, skipping

Rerunning kittystore-import didn’t seem to help at all. The kittystore source had been updated, so perhaps that had some impact on my setup?

In the end, I couldn’t seem to salvage the setup I had on my test box, so I wiped it clean and reinstalled things from scratch. Good news is that everything is back to working as they should. And I was able to verify that the wiki for the dev setup is still accurate (I did make some minor corrections as to which packages are needed, if you’re starting from an absolutely clean slate). And, most importantly, now I can test things on both my dev and test setups!

This article has 1 comments

  1. Máirín Duffy Reply

    I run into this issue a lot, even with other projects (I’m doing a lot of work on anaconda now and sometimes a git pull brings it breakage completely unrelated to what I’m working on that i have to hunt down!)

    What I started doing is every time I run into a breakage that involves a lot of debugging / fixing to get a working environment again, I make a copy of the branch once it’s in decent shape. Then the next time stuff breaks and I don’t have time / energy to debug it, I just switch over to the known-working branch until I have time to figure out what went wrong. Once I get the main broken branch fixed again, I rebase the known-working copy against it.

Leave a Comment

Your email address will not be published. Required fields are marked *