twitter-archive / kestrel

simple, distributed message queue system (inactive)
http://twitter.github.io/kestrel
Other
2.77k stars 312 forks source link

write-build-properties error (java.lang.RuntimeException: Nonzero exit value: 128) #52

Closed pivmark closed 13 years ago

pivmark commented 13 years ago

I'm trying to build on OS X and get the following:

sbt clean update package-dist [info] Standard project rules 0.12.7 loaded (2011-05-24). [warn] No .svnrepo file; no svn repo will be configured. [info] Building project kestrel 2.1.0-SNAPSHOT against Scala 2.8.1 [info] using KestrelProject with sbt 0.7.4 and Scala 2.7.7 [info] [info] == clean-dist == [info] Deleting directory /Users/petter/13th/workspace/descriptorservice/messagequeue/kestrel/dist [info] == clean-dist == [info] [info] == clean == [info] Deleting directory /Users/petter/13th/workspace/descriptorservice/messagequeue/kestrel/target [info] == clean == [success] Successful. [info] [info] Total time: 1 s, completed Jul 24, 2011 5:03:38 PM [info] [info] == update == Warning: org.apache.ivy.plugins.conflict.StrictConflictException: com.twitter#util-core;1.8.5 (needed by [com.twitter#ostrich;4.2.0, com.twitter#util-logging;1.8.5]) conflicts with com.twitter#util-core;1.8.1 (needed by [net.lag#kestrel;2.1.0-SNAPSHOT]) Warning: org.apache.ivy.plugins.conflict.StrictConflictException: com.twitter#util-core;1.8.1 (needed by [net.lag#kestrel;2.1.0-SNAPSHOT]) conflicts with com.twitter#util-core;1.8.5 (needed by [com.twitter#util-eval;1.8.5, com.twitter#ostrich;4.2.0, com.twitter#util-logging;1.8.5]) [info] :: retrieving :: net.lag#kestrel [sync] [info] confs: [compile, runtime, test, provided, system, optional, sources, javadoc] [info] 0 artifacts copied, 25 already retrieved (0kB/165ms) [info] == update == [success] Successful. [info] [info] Total time: 3 s, completed Jul 24, 2011 5:03:41 PM [info] [info] == check-deps-exist == [info] == check-deps-exist == [info] [info] == compile == [info] Source analysis: 16 new/modified, 0 indirectly invalidated, 0 removed. [info] Compiling main sources... [info] Compilation successful. [info] Post-analysis: 216 classes. [info] == compile == [info] [info] == copy-test-resources == [info] == copy-test-resources == [info] [info] == copy-resources == [info] == copy-resources == [info] [info] == test-compile == [info] Source analysis: 17 new/modified, 0 indirectly invalidated, 0 removed. [info] Compiling test sources... [info] Compilation successful. [info] Post-analysis: 915 classes. [info] == test-compile == [info] [info] == doc == [info] Generating API documentation for main sources... model contains 0 documentable templates [info] API documentation generation successful. [info] == doc == [info] [info] == test-start == [info] == test-start == [info] [info] == net.lag.kestrel.ServerSpec == [info] + Server should [info] + configure per-queue [info] + reload [info] + set and get one entry [info] + set with expiry [info] + set and get binary data [info] + commit a transactional get [info] + abort a transactional get [info] + auto-rollback a transaction on disconnect [info] + auto-commit cycles of transactional gets [info] + age [info] + peek [info] + rotate logs [info] + collect stats [info] + return a valid response for an unknown command [info] + disconnect and reconnect correctly [info] + flush expired items [info] == net.lag.kestrel.ServerSpec == [info] [info] == net.lag.kestrel.QueueCollectionSpec == [info] + QueueCollection should [info] + create a queue [info] + load from journal [info] + queue hit/miss tracking [info] + proactively load existing queue files [info] + ignore partially rolled queue files [info] + delete a queue when asked [info] + fanout queues [info] + generate on the fly [info] + preload existing [info] + delete on the fly [info] + pass through fanout-only master [info] + expire items when (and only when) they are expired [info] + move expired items from one queue to another [info] == net.lag.kestrel.QueueCollectionSpec == [info] [info] == net.lag.kestrel.JournalSpec == [info] + Journal should [info] + walk [info] + recover from corruption [info] + identify valid journal files [info] + simple [info] + half-finished pack [info] + missing last file [info] + missing any files [info] + journalsBefore and journalAfter [info] + pack old files [info] + report file sizes correctly [info] + rebuild from a checkpoint correctly [info] == net.lag.kestrel.JournalSpec == [info] [info] == net.lag.kestrel.ReadBehindSpec == [info] + PersistentQueue read-behind should [info] + drop into read-behind mode on insert [info] + drop into read-behind mode on startup [info] + drop into read-behind mode during journal processing, then return to ordinary times [info] + cope with read-behind on the primary journal file after it gets moved [info] + follow read-behind from several files back [info] == net.lag.kestrel.ReadBehindSpec == [info] [info] == net.lag.kestrel.TextHandlerSpec == [info] + TextCodec should [info] + get request [info] + put request [info] + quit request [info] + success response [info] + error response [info] + empty response [info] + item response [info] + TextHandler should [info] + get request [info] + closes transactions [info] + with timeout [info] + value ready immediately [info] + value ready eventually [info] + timed out [info] + empty queue [info] + item ready [info] + put request [info] + delete request [info] == net.lag.kestrel.TextHandlerSpec == [info] [info] == net.lag.kestrel.KestrelHandlerSpec == [info] + KestrelHandler should [info] + set and get [info] + track stats [info] + abort and confirm a transaction [info] + open several transactions [info] + on one queue [info] + on several queues [info] + but not if transactions are limited [info] + close all transactions [info] == net.lag.kestrel.KestrelHandlerSpec == [info] [info] == net.lag.kestrel.PersistentQueueSpec == [info] + PersistentQueue should [info] + add and remove one item [info] + resist adding an item that's too large [info] + flush all items [info] + rotate journals [info] + rotate journals with an open transaction [info] + recover the journal after a restart [info] + recover a journal with a rewritten transaction [info] + honor max_age [info] + allow max_journal_size and max_memory_size to be overridden per queue [info] + handle timeout reads [info] + success [info] + timeout [info] + correctly interleave transactions in the journal [info] + recover a journal with open transactions [info] + continue a queue item [info] + recreate the journal file when it gets too big [info] + don't recreate the journal file if the queue itself is still huge [info] + report an age of zero on an empty queue [info] + PersistentQueue with no journal should [info] + create no journal [info] + lose all data after being destroyed [info] + PersistentQueue with item/size limit should [info] + honor max_items [info] + honor max_size [info] + drop older items when discard_old_when_full is set [info] + PersistentQueue with item expiry should [info] + expire items into the ether [info] + expire items into a queue [info] == net.lag.kestrel.PersistentQueueSpec == [info] [info] == test-complete == [info] == test-complete == [info] [info] == == [info] == == [info] [info] == write-build-properties == java.lang.RuntimeException: Nonzero exit value: 128 at scala.Predef$.error(Predef.scala:76) at sbt.AbstractProcessBuilder.getString(ProcessImpl.scala:138) at sbt.AbstractProcessBuilder.$bang$bang(ProcessImpl.scala:141) at com.twitter.sbt.ScmAdapters$$anon$1.currentRevision(SourceControlledProject.scala:25) at com.twitter.sbt.SourceControlledProject$$anonfun$currentRevision$1.apply(SourceControlledProject.scala:38) at com.twitter.sbt.SourceControlledProject$$anonfun$currentRevision$1.apply(SourceControlledProject.scala:37) at scala.Option.map(Option.scala:70) at com.twitter.sbt.SourceControlledProject$class.currentRevision(SourceControlledProject.scala:37) at com.twitter.sbt.StandardProject.currentRevision(StandardProject.scala:45) at com.twitter.sbt.BuildProperties$$anonfun$writeBuildPropertiesTask$1.apply(BuildProperties.scala:23) at com.twitter.sbt.BuildProperties$$anonfun$writeBuildPropertiesTask$1.apply(BuildProperties.scala:17) at sbt.TaskManager$Task.invoke(TaskManager.scala:62) at sbt.impl.RunTask.doRun$1(RunTask.scala:77) at sbt.impl.RunTask.runTask(RunTask.scala:85) at sbt.impl.RunTask.sbt$impl$RunTask$$runIfNotRoot(RunTask.scala:60) at sbt.impl.RunTask$$anonfun$runTasksExceptRoot$2.apply(RunTask.scala:48) at sbt.impl.RunTask$$anonfun$runTasksExceptRoot$2.apply(RunTask.scala:48) at sbt.Distributor$Run$Worker$$anonfun$2.apply(ParallelRunner.scala:131) at sbt.Distributor$Run$Worker$$anonfun$2.apply(ParallelRunner.scala:131) at sbt.Control$.trapUnit(Control.scala:19) at sbt.Distributor$Run$Worker.run(ParallelRunner.scala:131) [info] == write-build-properties == [info] [info] == package-src == [info] Packaging ./target/kestrel-2.1.0-SNAPSHOT-sources.jar ... [info] Packaging complete. [info] == package-src == [info] [info] == package-docs == [info] Packaging ./target/kestrel-2.1.0-SNAPSHOT-javadoc.jar ... [info] Packaging complete. [info] == package-docs == [info] [info] == copy-scripts == [info] == copy-scripts == [info] [info] == test-finish == [info] Passed: : Total 106, Failed 0, Errors 0, Passed 106, Skipped 0 [info]
[info] All tests PASSED. [info] == test-finish == [info] [info] == test-cleanup == [info] == test-cleanup == [error] Error running write-build-properties: java.lang.RuntimeException: Nonzero exit value: 128 [info] [info] Total time: 87 s, completed Jul 24, 2011 5:05:08 PM [info] [info] Total session time: 92 s, completed Jul 24, 2011 5:05:08 PM [error] Error during build.

robey commented 13 years ago

that's weird. it looks like it crashes when trying to find out what git revision you're building from. is there anything notable about your git checkout folder?

pivmark commented 13 years ago

You're right, I managed to clone it into a folder that was already a git repo. Switched and now it works fine. Closing this issue.

stuhood commented 13 years ago

This also happens when there are no commits in the local git repo (freshly initialized).

mmao commented 12 years ago

I got this error from switching to a tag and then triggering the build. My sequence:

git clone https://github.com/robey/kestrel.git pushd kestrel git checkout org=net.lag,name=kestrel,version=2.1.5 ~/bin/sbt clean update package-dist

The kestrel path did not exist prior to that first clone. In deference to the last comment, I touched and commited an empty file to my checkout, and reran. Still the same error.

stuhood commented 12 years ago

This is usually because your current git head is not parseable. For example, while you've checked out a particular sha (which puts you in a detached-head state), publish will fail. In the case of a tag, you might not have a corresponding branch name (or something readable) actually checked out.

robey commented 12 years ago

i think standard-project 1.0.4 may have just fixed the "you have no branch" bug.