My favorites | Sign in
Project Home Downloads Wiki Issues Source
New issue   Search
for
  Advanced search   Search tips   Subscriptions
Issue 3342: Cannot change project settings
3 people starred this issue and may be notified of changes. Back to list
Status:  New
Owner:  ----


Sign in to add a comment
 
Reported by leosju...@gmail.com, Apr 28, 2015
*****************************************************************
*****                                                       *****
***** !!!! THIS BUG TRACKER IS FOR GERRIT CODE REVIEW !!!!  *****
*****                                                       *****
***** DO NOT SUBMIT BUGS FOR CHROME, ANDROID, CYANOGENMOD,  *****
***** INTERNAL ISSUES WITH YOUR COMPANY'S GERRIT SETUP, ETC.*****
*****                                                       *****
*****   THOSE ISSUES BELONG IN DIFFERENT ISSUE TRACKERS     *****
*****                                                       *****
*****************************************************************

Affected Version: 2.11

What steps will reproduce the problem?
1. Login to Gerrit web GUI as administrator
2. Projects > List > click on any project > General
3. Edit any select option in section Project Options or Contributor Agreements
4. Click on button Save Changes

What is the expected output? What do you see instead?
Expected 
Save changes, does not return any error.

Got 
Error gray screen with message

Code Review - Error
Cannot update <project name>


Please provide any additional information below.
No problem in version 2.10.3.1
Chrome 42, Chrome 36

No error message in $GERRIT_SITE/logs/error_log
All files in $GERRIT_SITE and repositories are owned by user who runs Gerrit, so it should not be error caused by access rights.
Apr 28, 2015
Project Member #1 edwin.ke...@gmail.com
one reason for this error could be that the project.config file is invalid, have you inspected it manually?
Apr 28, 2015
#2 leosju...@gmail.com
Hello, thanks for idea.

I cannot see any invalid line, unless Gerrit 2.11 does not support project.config file format of Gerrit 2.10. No project.config file changes, but project settings cannot be changed at no project.


Here is example of my $project_name$/.git/config file
[core]
	repositoryformatversion = 0
	filemode = false
	bare = false
	logallrefupdates = true
	symlinks = false
	ignorecase = true
	hideDotFiles = dotGitOnly
[remote "origin"]
	url = ssh://gerrittest.company.local:29418/masms.ios.git
	fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
	remote = origin
	merge = refs/heads/master
[submodule "common"]
	url = ssh://gerrittest.company.local:29418/masms.common.ios
Apr 28, 2015
#3 aleksey....@gmail.com
I have the same on 2.11.
Looks like I'm not able to do modifications to refs/meta/config even if I have all permissions.

How to reproduce: 
Modify project access.

Expected: Access modified.

Actual: 
Code Review - Error
Server Error
/app/git_repo/kps-online.git/logs/refs/meta/config (Permission denied)

There's no changes in permissions was made during migration.
Apr 29, 2015
Project Member #4 edwin.ke...@gmail.com
@leosjunek
Then it must be some IOException while updating the project.config file in the refs/meta/config branch. Unfortunately we are not logging these exceptions. So it is hard to guess why it is failing. I've pushed a change to add this logging:
  https://gerrit-review.googlesource.com/67510
If you can build and deploy Gerrit with this change and check which error is reported in the error_log.

@aleksey.didik:
 > Code Review - Error
 > Server Error
 > /app/git_repo/kps-online.git/logs/refs/meta/config (Permission denied)

This is a different error than the one described above 'Cannot update <project name>'. Can you create a new issue for this?
May 4, 2015
#5 leosju...@gmail.com
Hello Edwin, I have some problems with building Gerrit with buck. I can wait till some minor Gerrit version of Gerrit is released, then download war and try. Then I will let know.
Jun 22, 2015
#6 leosju...@gmail.com
Here is the error log, that occurs when trying to change project config.

[2015-06-22 16:43:57,971] WARN  com.google.gerrit.server.project.PutConfig : Failed to update config of project vis.test4.
java.io.FileNotFoundException: /opt/gitrepo/vis.test4.git/logs/refs/meta/config (Permission denied)
        at java.io.FileOutputStream.open0(Native Method)
        at java.io.FileOutputStream.open(FileOutputStream.java:270)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
        at org.eclipse.jgit.internal.storage.file.ReflogWriter.log(ReflogWriter.java:257)
        at org.eclipse.jgit.internal.storage.file.ReflogWriter.log(ReflogWriter.java:226)
        at org.eclipse.jgit.internal.storage.file.RefDirectory.log(RefDirectory.java:701)
        at org.eclipse.jgit.internal.storage.file.RefDirectoryUpdate.doUpdate(RefDirectoryUpdate.java:120)
        at org.eclipse.jgit.lib.RefUpdate$1.execute(RefUpdate.java:488)
        at org.eclipse.jgit.lib.RefUpdate.updateImpl(RefUpdate.java:622)
        at org.eclipse.jgit.lib.RefUpdate.update(RefUpdate.java:483)
        at org.eclipse.jgit.lib.RefUpdate.update(RefUpdate.java:464)
        at com.google.gerrit.server.git.VersionedMetaData$1.updateRef(VersionedMetaData.java:359)
        at com.google.gerrit.server.git.VersionedMetaData$1.commitAt(VersionedMetaData.java:314)
        at com.google.gerrit.server.git.VersionedMetaData$1.commit(VersionedMetaData.java:306)
        at com.google.gerrit.server.git.VersionedMetaData.commit(VersionedMetaData.java:153)
        at com.google.gerrit.server.project.PutConfig.apply(PutConfig.java:184)
        at com.google.gerrit.server.project.PutConfig.apply(PutConfig.java:121)
        at com.google.gerrit.server.project.PutConfig.apply(PutConfig.java:61)
        at com.google.gerrit.httpd.restapi.RestApiServlet.service(RestApiServlet.java:322)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
        at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:279)
        at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:269)
        at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:180)
        at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85)
        at com.google.gerrit.httpd.GetUserFilter.doFilter(GetUserFilter.java:82)
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
        at com.google.gwtexpui.server.CacheControlFilter.doFilter(CacheControlFilter.java:73)
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
        at com.google.gerrit.httpd.RunAsFilter.doFilter(RunAsFilter.java:117)
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
        at com.google.gerrit.httpd.AllRequestFilter$FilterProxy$1.doFilter(AllRequestFilter.java:64)
        at com.google.gerrit.httpd.AllRequestFilter$FilterProxy.doFilter(AllRequestFilter.java:57)
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
        at com.google.gerrit.httpd.RequestContextFilter.doFilter(RequestContextFilter.java:75)
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
        at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:119)
        at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:133)
        at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:130)
        at com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:203)
        at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:130)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
        at org.eclipse.jetty.server.Server.handle(Server.java:497)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
        at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
        at java.lang.Thread.run(Thread.java:745)

Jun 22, 2015
#7 leosju...@gmail.com
$<project_home>/logs/refs/meta/config files in several our projects were owned by root, not by user who runs gerrit. After change of ownership everything started to work normally. 

It seems Gerrit creates new project config file with wrong rights. Anyone has the same problem?
Sign in to add a comment

Powered by Google Project Hosting