error: Cannot fetch platform/frameworks/base

1,593 views
Skip to first unread message

Lon Lentz

unread,
Mar 29, 2009, 9:35:14 PM3/29/09
to repo-d...@googlegroups.com

 Can someone point me to a solution for this repo sync error?

fatal: cannot pread pack file: No such file or directory
fatal: index-pack failed
error: Cannot fetch platform/frameworks/base


Shawn Pearce

unread,
Mar 29, 2009, 11:22:55 PM3/29/09
to repo-d...@googlegroups.com

Hmm, git is somehow broken on your system.  It created a temporary file, but can't read back from that temporary file.  Disk full?

Lon Lentz

unread,
Mar 29, 2009, 11:37:15 PM3/29/09
to repo-d...@googlegroups.com
  df is telling me I have 6.2G free in /home.

  Do I need more free space for the sync process?

Shawn Pearce

unread,
Mar 29, 2009, 11:43:59 PM3/29/09
to repo-d...@googlegroups.com
On Sun, Mar 29, 2009 at 20:37, Lon Lentz <lon....@gmail.com> wrote:
  df is telling me I have 6.2G free in /home.

  Do I need more free space for the sync process?

No, 6.2G should be sufficient for Android.
 

On Sun, Mar 29, 2009 at 11:22 PM, Shawn Pearce <s...@google.com> wrote:
On Sun, Mar 29, 2009 at 18:35, Lon Lentz <lon....@gmail.com> wrote:

 Can someone point me to a solution for this repo sync error?

fatal: cannot pread pack file: No such file or directory
fatal: index-pack failed
error: Cannot fetch platform/frameworks/base

Hmm, git is somehow broken on your system.  It created a temporary file, but can't read back from that temporary file.  Disk full?

What do you get from:

  git clone git://android.git.kernel.org/platform/frameworks/base.git

?  That is (more or less) what repo sync is trying to do, and failing at.

Lon Lentz

unread,
Mar 30, 2009, 12:16:55 AM3/30/09
to repo-d...@googlegroups.com

  That completed with no errors. This is my first use of repo. When you say (more or less), what else is it doing?

Shawn Pearce

unread,
Mar 30, 2009, 12:21:01 AM3/30/09
to repo-d...@googlegroups.com
On Sun, Mar 29, 2009 at 21:16, Lon Lentz <lon....@gmail.com> wrote:

  That completed with no errors. This is my first use of repo. When you say (more or less), what else is it doing?

Well, git clone can be defined as:

  mkdir foo
  cd foo
  git init
  git remote add origin url
  git fetch
  git checkout -b master origin/master

and repo sync mostly does that, but by running plumbing instead of porcelain, e.g. it invokes git config to define the remote instead of using git remote add.

If the clone succeeded, I have to wonder if this was a transient issue.  Was this a Mac OS X system?  With two or more processors?  We've had known problems with repo on those multi-processor Mac OS X systems.  Something between Python and the Mac OS X VFS...

Lon Lentz

unread,
Mar 30, 2009, 1:47:25 PM3/30/09
to repo-d...@googlegroups.com

  I'm running Mandriva in a Parallels VM on a Mac. Is repo multi-threading git? Could it be a timing issue with dependent threads? I've seen this with OE based builds. One thread's builds having dependencies from the other. If so, is there a way to force a single thread?


On Mon, Mar 30, 2009 at 12:21 AM, Shawn Pearce <s...@google.com> wrote:
On Sun, Mar 29, 2009 at 21:16, Lon Lentz <lon....@gmail.com> wrote:

  That completed with no errors. This is my first use of repo. When you say (more or less), what else is it doing?

Shawn Pearce

unread,
Mar 30, 2009, 2:12:12 PM3/30/09
to repo-d...@googlegroups.com
On Mon, Mar 30, 2009 at 10:47, Lon Lentz <lon....@gmail.com> wrote:

  I'm running Mandriva in a Parallels VM on a Mac. Is repo multi-threading git? Could it be a timing issue with dependent threads? I've seen this with OE based builds. One thread's builds having dependencies from the other. If so, is there a way to force a single thread?

repo is single-threaded.  It always waits for the current operation to complete before starting another.

Unfortunately, either Python or Mac OS X is busted.  With multiple cores present, we seem to get the result from waitpid() before all of the changes made by the child process are actually visible in the filesystem, so when we start the next child, the next child might be missing modifications it expected to see.

But I'd expect Mandriva under Parallels to not exhibit this behavior, unless you are using a filesystem that is actually a pass through to the Mac's HFS+.  If its filesystem mapped to a block device in Linux, the Mac should be seeing that as only one file, and the odds of it screwing with the application should be lower.

I don't know what is going on.

repo in Python on Mac OS X is proving to be a disaster.  Nobody can explain why the file system is inconsistent.  Nobody can prove that the repo code is missing a wait for a child.  But everyone says Python is the best thing since sliced bread, and its the best language for this sort of task.

Lon Lentz

unread,
Mar 30, 2009, 2:37:34 PM3/30/09
to repo-d...@googlegroups.com
 
  Found this on wikipedia:

The Catalog File, which stores all the file and directory records in a single data structure, results in performance problems when the system allows multitasking, as only one program can write to this structure at a time, meaning that many programs may be waiting in queue due to one program "hogging" the system.  referenced from http://www.nobius.org/~dbg/practical-file-system-design.pdf

Reply all
Reply to author
Forward
0 new messages