转载:https://code.google.com/p/gerrit/issues/detail?id=3157

1. Migrated from 2.8.6.1 to 2.10
2. In UI go to settings >> preferences
3. change something and click "Save changes" 然后,页面报错,500 internal server error 后台日志error_log报错:
[-- ::,] ERROR com.google.gerrit.httpd.restapi.RestApiServlet : Error in POST /accounts/self/preferences
java.io.IOException: Keine Berechtigung
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:)
at java.io.File.createTempFile(File.java:)
at org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter.newTempFile(ObjectDirectoryInserter.java:)
at org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter.toTemp(ObjectDirectoryInserter.java:)
at org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter.insert(ObjectDirectoryInserter.java:)
at org.eclipse.jgit.lib.ObjectInserter.insert(ObjectInserter.java:)
at com.google.gerrit.server.git.VersionedMetaData.saveFile(VersionedMetaData.java:)
at com.google.gerrit.server.git.VersionedMetaData.saveUTF8(VersionedMetaData.java:)
at com.google.gerrit.server.git.VersionedMetaData.saveConfig(VersionedMetaData.java:)
at com.google.gerrit.server.account.VersionedAccountPreferences.onSave(VersionedAccountPreferences.java:)
at com.google.gerrit.server.git.VersionedMetaData$.doSave(VersionedMetaData.java:)
at com.google.gerrit.server.git.VersionedMetaData$.write(VersionedMetaData.java:)
at com.google.gerrit.server.git.VersionedMetaData$.write(VersionedMetaData.java:)
at com.google.gerrit.server.git.VersionedMetaData.commit(VersionedMetaData.java:)
at com.google.gerrit.server.account.SetPreferences.apply(SetPreferences.java:)
at com.google.gerrit.server.account.SetPreferences.apply(SetPreferences.java:)
at com.google.gerrit.httpd.restapi.RestApiServlet.service(RestApiServlet.java:)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:)
at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:)
at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:)
at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:)
at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:)
at com.google.gerrit.pgm.http.jetty.GetUserFilter.doFilter(GetUserFilter.java:)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:)
at com.google.gwtexpui.server.CacheControlFilter.doFilter(CacheControlFilter.java:)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:)
at com.google.gerrit.httpd.RunAsFilter.doFilter(RunAsFilter.java:)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:)
at com.google.gerrit.httpd.AllRequestFilter$FilterProxy$.doFilter(AllRequestFilter.java:)
at com.google.gerrit.httpd.AllRequestFilter$FilterProxy.doFilter(AllRequestFilter.java:)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:)
at com.google.gerrit.httpd.RequestContextFilter.doFilter(RequestContextFilter.java:)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:)
at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:)
at com.google.inject.servlet.GuiceFilter$.call(GuiceFilter.java:)

根据博文的内容,出错原因主要是迁移后,git版本库存放目录下的All-Users.git目录的权限问题。

安装2.8.1时,使用的是root账户安装的;

安装2.10使用的gerrit账户安装的;

因此修改All-Users.git目录的权限,改为gerrit:gerrit,问题解决。

 

gerrit: Error in POST /accounts/self/preferences的更多相关文章

  1. gerrit error: unpack failed: error Permission denied

    gerrit服务器迁移后,clone和pull代码到本地,都没问题. 但是,push时,报错: 查看了下git版本库存储目录,发现git下版本库镜像文件owner都是root.因为之前安装的gerri ...

  2. gerrit 部署手册

    概述 gerrit是谷歌开发用于安卓系统的代码审查的系统,目前已经开源.gerrti使用简单并友好.这里记录了gerrti的部署方法以及其中可能存在的陷阱和问题. 创建专属系统用户 Gerrit co ...

  3. 【Gerrit】Gerrit与Jenkins/Hudson CI服务器搭建

    配置Git 很多系统(例如Linux)已经默认提供了Git,在Git主页也可以找到安装程序.对于Windows用户,最好的选择是MsysGit.请注意,如果你安装了Apple Developer To ...

  4. gerrit 调试smtp email

  5. 安卓编译 translate error Lint: How to ignore “<key> is not translated in <language>” errors?

    Add following at the header of your strings.xml file <resources xmlns:tools="http://schemas. ...

  6. ubuntu搭建Gerrit代码审核服务器

    谷歌的 Android 开源项目在 Git 的使用上有两个重要的创新,一个是为多版本库协同而引入的 repo,另外一个重要的创新就是 Gerrit —— 代码审核服务器.Gerrit 为 git 引入 ...

  7. metamask源码学习-metamask-controller.js

    The MetaMask Controller——The central metamask controller. Aggregates other controllers and exports a ...

  8. 解决 com.sun.*包导入错误

    解决 com.sun.*包导入错误 com.sun.image.codec.jpeg.*导入错误如何解决: com.sun.*是受限制访问的API,Eclipse 默认把受访问限制的API设成了ERR ...

  9. git push提示或错误

    当 git 和 gerrit 一起使用的时候,你创建了一个 tag,现在需要 push 到远程仓库,当你没有权限的时候,会出现如下提示: $ git push origin v20150203 Tot ...

随机推荐

  1. scala学习笔记

    一 入门 为了增加编程趣味和技能,学习新语言,体会函数式编程和简易的并发管理模型,了解日渐活跃的Spark,尝试下Scala.Scala = Scalable language,作者是Martin O ...

  2. 如何做出header,footer固定定位后让main主体部分可以滑动,在微信浏览器中滑动到最后不出现黑边的情况

    <!doctype html>   <html>   <head>   <meta charset="utf-8">   </ ...

  3. MYSQL 5.6中禁用INNODB引擎

    并不是所有人都需要INNODB引擎,虽然它弥补了MYSQL缺乏事务支持的毛病,但是它的磁盘性能一直是让人比较担忧的.另外比较老的PHP系统,大多是采用MYISAM引擎在MYSQL建表,似乎INNODB ...

  4. 点击空白处隐藏div-阻止事件冒泡

    $(" body").click(function(){ $("#div").hide(); }); $("button").click(f ...

  5. jquery mobile 教程

    简介:jQuery Mobile框架可以轻松的帮助我们实现非常好看的.可跨设备的Web应用程序.我们将后续的介绍中向大家介绍大量的代码及实例. jQuery一直以来都是非常流行的富客户端及Web应用程 ...

  6. hdoj 5003

    题意:给你一个数组a,降序排序后,求sum+=0.95^(i-1)*ai 这题wa了两发,因为我没看清题意,要排序! 精度上面通过a^(i-1)=e^((i-1)*log(a)) 提到精度,就要想到底 ...

  7. wdcp 打开网页显示 Apache 2 Test Page powered by CentOS

    是因为更新过系统,安装并更新了系统自带的apache 执行这个命令即可 #ln -sf /www/wdlinux/init.d/httpd /etc/rc.d/init.d/httpd#reboot

  8. 设计模式六大原则(5)—迪米特法则

    定义: 一个对象应该对其它的对象保持最少的了解.迪米特法则又称为最少知识法则,英文全称为Least Knowledge Principle ,简称为LKP. 个人理解: 迪米特法则主要目的是类间解耦, ...

  9. MATLAB 例子研究 Motion-Based Multiple Object Tracking

    这个例子是用来识别视频中多个物体运动的.我要研究的是:搞清楚识别的步骤和相应的算法,识别出物体运动的轨迹. 详细参见官方帮助文档,总结如下: 移动物体的识别算法:a background subtra ...

  10. C# 不同版本切版时,方法不支持,加载对应dll, 相关Dll的资源

    不过,有些高版本有的DLL,低版本运行时,需要引用相关DLL.我们不用在网上去下载 下面的路径,查找对应版本下的DLL,可能会给你意想不到的收获哦 C:\Program Files\Reference ...