grails不能运行fork模式解决方法
升级到grails 2.3.2之后,运行时报如下的异常:
代码如下:
Exception in thread "main"
Error |
Forked Grails VM exited with error
java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message transform method call failed at ../../../src/share/instrument/JPLISAgent.c line: 844
根本原因见jira:http://jira.grails.org/browse/GRAILS-10756
这个BUG在grails2.3.3中被fix掉了
临时解决办法有如下两个:
a)不使用fork模式
编辑BuildConfig.groovy
run: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false]
修改成
run: false
这样就禁用掉了fork模式,也就不会产生这个异常了.
b)更新相关依赖
编辑BuildConfig.groovy
在dependencies中增加如下的依赖:
dependencies{
build "org.fusesource.jansi:jansi:1.11"
}
相关推荐
-
Python中的进程分支fork和exec详解
在python中,任务并发一种方式是通过进程分支来实现的.在linux系统在,通过fork()方法来实现进程分支. 1.fork()调用后会创建一个新的子进程,这个子进程是原父进程的副本.子进程可以独立父进程外运行. 2.fork()是一个很特殊的方法,一次调用,两次返回. 3.fork()它会返回2个值,一个值为0,表示在子进程返回;另外一个值为非0,表示在父进程中返回子进程ID. 以下只能在linux中运行,不能在window下运行. 进程分支fork() 实例如下: 复制代码 代码如下:
-
Apache Prefork、Worker和Event三种MPM详解
Apache 2.X 支持插入式并行处理模块,称为多路处理模块(MPM).在编译apache时必须选择也只能选择一个MPM,对类UNIX系统,有几个不同的MPM可供选择,它们会影响到apache的速度和可伸缩性. Prefork MPM : 这个多路处理模块(MPM)实现了一个非线程型的.预派生的web服务器,它的工作方式类似于Apache 1.3.它适合于没有线程安全库,需要避免线程兼容性问题的系统.它是要求将每个请求相互独立的情况下最好的MPM,这样若一个请求出现问题就不会影响到其他请求.
-
git fork同步是什么意思?
官方文档:http://help.github.com/fork-a-repo/ 概要: 克隆别人的代码库到自己的项目中,可以作为子模块的形式使用,或二次开发 操作流程: 在开源项目中点击fork按钮,稍等一会儿,该项目便会拷贝一份到你的respositories中,克隆一份代码到本地:git clone git@github.com:username/Spoon-Knife.git 配置:(项目克隆完成后,默认远程的别名为origin,此为我们自己项目中的版本,并非原始作者的代码库) 创建原始
-
python高并发异步服务器核心库forkcore使用方法
1 拷贝下面的代码到一个文件,并命名为forkcore.py 复制代码 代码如下: import osimport threadingimport selectimport socket class ds_forkcore(object): #async IO(epoll) def ds_epoll(self): epoll=select.epoll() epoll.register(self.s.fileno(),select.EPOLLIN|select.E
-
深入理解apahce的工作模式perfork、worker
prefork模式使用多个子进程,每个子进程只有一个线程.每个进程在某个确定的时间只能维持一个连接.在大多数平台上,Prefork MPM在效率上要比Worker MPM要高,但是内存使用大得多.prefork的无线程设计在某些情况下将比worker更有优势:它可以使用那些没有处理好线程安全的第三方模块,并 且对于那些线程调试困难的平台而言,它也更容易调试一些. worker模式使用多个子进程,每个子进程有多个线程.每个线程在某个确定的时间只能维持一个连接.通常来说,在一个高流量的HTTP服务器
-
Linux中fork()函数实例分析
一.fork 入门知识 一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事. 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间.然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值不同.相当于克隆了一个自己. 我们来看一个例子: /* * fork_test.c * version 1 * C
-
PHP使用pcntl_fork实现多进程下载图片的方法
本文实例讲述了PHP使用pcntl_fork实现多进程下载图片的方法.分享给大家供大家参考.具体分析如下: PHP pcntl_fork - 在当前进程当前位置产生分支,子进程,译注:fork是创建了一个子进程,父进程和子进程 都从fork的位置开始向下继续执行,不同的是父进程执行过程中,得到的fork返回值为子进程号,而子进程得到的是0. 注意:PHP有个pcntl_fork的函数可以实现多进程,但要加载pcntl拓展,而且只有在linux下才能编译这个拓展. 1.首先在ubuntu下编译pc
-
Linux系统中C语言编程创建函数fork()执行解析
最近在看进程间的通信,看到了fork()函数,虽然以前用过,这次经过思考加深了理解.现总结如下: 1.函数本身 (1)头文件 #include<unistd.h> #include<sys/types.h> (2)函数原型 pid_t fork( void); (pid_t 是一个宏定义,其实质是int 被定义在#include<sys/types.h>中) 返回值: 若成功调用一次则返回两个值,子进程返回0,父进程返回子进程ID:否则,出错返回-1 (3)函数说明 一
-
php pcntl_fork和pcntl_fork 的用法
pcntl_fork()函数就是为当前的进程创建一个子进程.并且先运行父进程,返回的是子进程的PID,肯定大于零.在父进程的代码中可以用pcntl_fork(&$status)暂停父进程知道他的子进程有返回值.注意:父进程的阻塞同时会阻塞子进程.但是父进程的结束不影响子进程的运行. 父进程运行完了会接着运行子进程,这时子进程会从执行pcntl_fork()的那条语句开始执行(包括此函数),但是此时它返回的是零(代表这是一个子进程).在子进程的代码块中最好有exit语句,即执行完子进程后立即就结束
-
小结Python用fork来创建子进程注意事项
自己随手写了Python下 fork 进程的测试代码(来说明这个问题不一定完全合适): def fork(a): def now(): import datetime return datetime.datetime.now().strftime("%S.%f") import os import time print now(), a if os.fork() == 0: print '子进程[%s]:%s' % (now(), os.getpid()) while 1: a-=10
随机推荐
- jsp基础学习资料
- 常用VBS代码 值得一看
- 换肤测试程序js脚本
- PDO取Oracle lob大字段,当数据量太大无法取出的问题的解决办法
- ASP.NET使用TreeView显示文件的方法
- 自制网页选取本地路径控件(附源码)
- javascript模拟实现C# String.format函数功能代码
- php array_pop 删除数组最后一个元素实例
- PHP 和 XML: 使用expat函数(二)
- Android IPC进程间通信详解最新AndroidStudio的AIDL操作)
- PHP date函数常用时间处理方法
- Android开发之针对联系人的封装
- Python的for和break循环结构中使用else语句的技巧
- 大家看了就明白了css样式中类class与标识id选择符的区别小结
- 基于Jquery制作图片文字排版预览效果附源码下载
- 用ASP写组件
- 判断数据库表是否存在以及修改表名的方法
- javascript中的遍历for in 以及with的用法
- 利用Java的Struts框架实现电子邮件发送功能
- 玩转python爬虫之爬取糗事百科段子