curdling icon indicating copy to clipboard operation
curdling copied to clipboard

BuildError: unpack requires a string argument of length 4

Open starenka opened this issue 10 years ago • 3 comments

    [KRetrieving: [######### ] 93% (107 requested, 8 retrieved, 100 processed)2013-11-06 15:06:13,131:curdling.services.base:ERROR:curdler[Thread-5].run(from="dependencer", data="{u'tarball': u'/var/lib/jenkins/.curds/Django-1.6c1.tar.gz', 'requirement': u'django (>= 1.4.2)', 'dependency_of': u'django-model-utils (1.5.0)'}") failed:
    /var/lib/jenkins/workspace/scorp_default_curdlingtest/.env/local/lib/python2.7/site-packages/curdling/services/base.py:80 (_worker) result = self(requester, **sender_data) or {}
    Traceback (most recent call last):
      File "/var/lib/jenkins/workspace/scorp_default_curdlingtest/.env/local/lib/python2.7/site-packages/curdling/services/base.py", line 80, in _worker
        result = self(requester, **sender_data) or {}
      File "/var/lib/jenkins/workspace/scorp_default_curdlingtest/.env/local/lib/python2.7/site-packages/curdling/services/base.py", line 67, in __call__
        return self.handle(requester, kwargs)
      File "/var/lib/jenkins/workspace/scorp_default_curdlingtest/.env/local/lib/python2.7/site-packages/curdling/services/curdler.py", line 136, in handle
        raise BuildError(str(exc))
    BuildError: unpack requires a string argument of length 4
    2013-11-06 15:06:13,163:curdling.services.base:ERROR:curdler[Thread-4].run(from="dependencer", data="{u'tarball': u'/var/lib/jenkins/.curds/Django-1.6c1.tar.gz', 'requirement': u'django (>= 1.2)', 'dependency_of': u'raven (3.5.0)'}") failed:
    /var/lib/jenkins/workspace/scorp_default_curdlingtest/.env/local/lib/python2.7/site-packages/curdling/services/base.py:80 (_worker) result = self(requester, **sender_data) or {}
    Traceback (most recent call last):
      File "/var/lib/jenkins/workspace/scorp_default_curdlingtest/.env/local/lib/python2.7/site-packages/curdling/services/base.py", line 80, in _worker
        result = self(requester, **sender_data) or {}
      File "/var/lib/jenkins/workspace/scorp_default_curdlingtest/.env/local/lib/python2.7/site-packages/curdling/services/base.py", line 67, in __call__
        return self.handle(requester, kwargs)
      File "/var/lib/jenkins/workspace/scorp_default_curdlingtest/.env/local/lib/python2.7/site-packages/curdling/services/curdler.py", line 136, in handle
        raise BuildError(str(exc))
    BuildError: unpack requires a string argument of length 4

starenka avatar Nov 06 '13 14:11 starenka

It happens because you probably stopped curdling with Ctrl+C, so files that were being written to the indexer at that time just got corrupted. Sorry about that.

The bright side is that I bet you won't have to Ctrl+C curdling anytime soon again because I fixed a good amount of bugs related to the concurrency model.

The bad news is that, for properly supporting stopping curdling, we actually need to improve the indexer that currently just sucks :/

There's a few other issues related to the indexer, which definitely increases the priority of refactoring the indexer. I'll see what I can do in the next few days. Your feedback is being highly valuable for the project! Thanks for the work you've done so far!

clarete avatar Nov 06 '13 16:11 clarete

Hehe, well thanks for heads up, neverteheless i haven't killed or ctrl+c'd it. It just died by itself. I can provide you with all logging.DEBUG or reqs/setup files if you want. I haven't included them because I have to obfuscate them and it takes some time :(

starenka avatar Nov 07 '13 00:11 starenka

If you think it's easy to run a sed and remove your stuff from the DEBUG output, it might be certainly valuable! Thanks! :)

clarete avatar Nov 07 '13 17:11 clarete