Apache OpenOffice (AOO) Bugzilla – Issue 319
checkout from anancvs.openoffice.org fails
Last modified: 2003-12-06 14:52:32 UTC
This is *REALLY* important - we cannot make source tarballs until this starts to work. Right now runsocks cvs co -r OpenOffice614 OpenOffice fails with: cvs: lock.c:177: lock_name: Assertion `(__extension__ (__builtin_constant_p ( strlen (CVSroot_directory)) && ((__builtin_constant_p (repository) && strlen (repository) < ((size_t) ( strlen (CVSroot_directory)))) || (__builtin_constant_p ( CVSroot_directory) && strlen ( CVSroot_directory) < ((size_t) ( strlen (CVSroot_directory))))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (repository) && __builtin_constant_p ( CVSroot_directory) && (__s1_len = strlen (repository), __s2_len = strlen ( CVSroot_directory), (!((size_t)(const void *)((repository) + 1) - (size_t)(const void *)(repository) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(( CVSroot_directory) + 1) - (size_t)(const void *)( CVSroot_directory) == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (repository), (__const char *) ( CVSroot_directory), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (repository) && ((size_t)(const void *)((repository) + 1) - (size_t)(const void *)(repository) == 1) && (__s1_len = strlen (repository), __s1_len < 4) ? (__builtin_constant_p ( CVSroot_directory) && ((size_t)(const void *)(( CVSroot_directory) + 1) - (size_t)(const void *)( CVSroot_directory) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (repository))[0] - ((__const unsigned char *) (__const char *)( CVSroot_directory))[0]); if ( __s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (repository))[1] - ((__const unsigned char *) (__const char *) ( CVSroot_directory))[1]); if ( __s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (repository))[2] - ((__const unsigned char *) (__const char *) ( CVSroot_directory))[2]); if ( __s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (repository))[3] - ((__const unsigned char *) (__const char *) ( CVSroot_directory))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ( CVSroot_directory); register int __result = (((__const unsigned char *) (__const char *) (repository))[0] - __s2[0]); if ( __s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (repository))[1] - __s2[1]); if ( __s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (repository))[2] - __s2[2]); if ( __s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (repository))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ( CVSroot_directory) && ((size_t)(const void *)(( CVSroot_directory) + 1) - (size_t)(const void *)( CVSroot_directory) == 1) && (__s2_len = strlen ( CVSroot_directory), __s2_len < 4) ? (__builtin_constant_p (repository) && ((size_t)(const void *)((repository) + 1) - (size_t)(const void *)(repository) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (repository))[0] - ((__const unsigned char *) (__const char *)( CVSroot_directory))[0]); if ( __s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (repository))[1] - ((__const unsigned char *) (__const char *) ( CVSroot_directory))[1]); if ( __s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (repository))[2] - ((__const unsigned char *) (__const char *) ( CVSroot_directory))[2]); if ( __s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (repository))[3] - ((__const unsigned char *) (__const char *) ( CVSroot_directory))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (repository); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ( CVSroot_directory))[0]; if ( __s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ( CVSroot_directory))[1]); if ( __s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ( CVSroot_directory))[2]); if ( __s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ( CVSroot_directory))[3]); } } __result; }))) : strcmp (repository, CVSroot_directory)))); }) : strncmp (repository, CVSroot_directory, strlen (CVSroot_directory)))) == 0' failed. Terminated with fatal signal 6
From my investigation it looks like this file: lrwxrwxrwx 1 root root 24 Oct 12 19:35 val-tags -> /cvs/oo/CVSROOT/val-tags isn't being synced from the master server correctly. To fix this problem I could manually copy over the val-tags file, but that would only be a temporary fix....and not one which would fix the underlying problem of why that file isn't being correctly synced from the master CVS server. NPM, originally setup the syncing mechanism so it would be best to have him take a look and understand why that file isn't correctly syncing. My $.03 Shane
Added npm to cc list.
I wasn't on this issue...so I added myself.
added broth as cc
If this needs to be a quick fix for OO to get the next release out the door then I can try to get one working, but for the long run we need to get to the underlying problem. Please update this issue with the Sun decision. Thanks Shane
OpenOffice614 snapshot cannot hapopen before it is fixed.
Yes, please, apply the short term solution so that Sander can create the source tarball. After checking out, Sander should synchronize with the appropriate persons (Shane,Niels).
I had this problem initially, but after CVSUP ran to update the anoncvs mirror, everything worked again. The problem is that normally CVS on anoncvs.openoffice.org is updated once per hour via CVSUP from mastercvs.openoffice.org. The CVSROOT/val-tags file, which keeps a cache of valid tags is one of the files which is updated by CVSUP. The file itself is not writable by anoncvs (for security purposes, cvs -d ':pserver:anoncvs@anoncvs.openoffice.org:/cvs' co -r OpenOffice614 OpenOffice anoncvs can't write anything at all in CVSROOT). What happened is that doing "cvs co -r OpenOffice614 ..." failed because tag "OpenOffice614" had not propagated to the anoncvs machine. The assertion output you saw was a separate bug in our version of cvs/pserver on anoncvs which arose because anoncvs couldn't find the tag in CVSROOT/valid-tags. That is a bug, which we will fix next time we upgrade the machine. Here is what needs to happen in order to repeat this problem: (1) do "cvs -d ':pserver:<user>@mastercvs.openoffice.org:/cvs' -r <tagname> OpenOffice" -- this will ensure that the new tag name is setup on mastercvs's CVSROOT/val-tags (2) CVSUP will propagate the new tag to anoncvs.openoffice.org once an hour, on the hour. (3) at a few minutes past the hour, you will be able to issue on anoncvs.openoffice.org "cvs -d ':pserver:anoncvs@anoncvs.openoffice.org:/cvs' -r <tagname> OpenOffice" I'm changing this issue to WORKSFORME because it worked for me: shell> cvs -d ':pserver:anoncvs@anoncvs.openoffice.org:/cvs' login (Logging in to anoncvs@anoncvs.openoffice.org) CVS password: shell> cvs -d ':pserver:anoncvs@anoncvs.openoffice.org:/cvs' co -r OpenOffice614 OpenOffice cvs server: Updating transex3 U transex3/makefile.rc cvs server: Updating transex3/prj U transex3/prj/d.lst cvs server: Updating transex3/source U transex3/source/cfglex.l U transex3/source/cfgmerge.cxx U transex3/source/cfgmerge.hxx U transex3/source/export.cxx U transex3/source/export.hxx U transex3/source/export2.cxx U transex3/source/gsicheck.cxx U transex3/source/gsiconv.cxx U transex3/source/lngex.cxx ... Independent of this issue, we should investigate: (1) updating cvs/pserver on anoncvs so that it doesn't give assertion failures when it can't find a tag. (2) making 'anoncvs' val-tags not be updated via CVSUP and to work and be written locally via 'anoncvs'. This will eliminate needing to first do a checkout with the new tagname on mastercvs, waiting for the tags file to propagate to anoncvs via CVSUP, etc.
Sander, To follow-up on my email, please verify resolution for you, regarding the OpenOffice614 build, and advise whether this issue has been closed. Added bphipps to Cc:
The checkout seems to be working now.
closing (to have it excluded from queries :-)