发布时间:2025-12-09 13:42:51 浏览次数:4
内存不够或者磁盘空间不足
排除jar包和插件影响的话,可能是LIC里面没有决策平台功能点
nginx做一下跨域的特例
如果控件名是英文,JS里必须写大写
将客户旧服务上面的Tomcat以及工程全部删掉,将我的工程和Tomcat拷贝给客户,输入决策平台的URL就可以解密成功。
用户名里有下划线,装插件用户名下划线兼容
查看日志,有没有违反唯一约束条件的报错,有的话是数据库里面的索引乱了,需要手动修改索引(修改方法可以百度)
在shutdown时一些线程没有关闭导致的,没有任何影响,注意关闭的时候要杀掉进程就好了
服务器——>所有服务器——>server1(服务器名)——>服务器基础结构——>java和进程管理——>进程定义——>java虚拟机——>通用jvm参数:
添加启动参数:-Dcom.ibm.crypto.provider.DoRSATypeChecking=false
新安装的设计器,还没配置管理员用户密码,配置就好了
键值对顺序不一致有可能造成数据错乱,可以开启预读列名。
可以修改F5的session粘滞策略,简单保持会话,让它一段时间内都去访问工程A。
如果工程名、账户密码都是一样的话,会有cookie冲突(cookie不管端口只管域名),修改一下工程名即可。
丹叔说是某个版本jar包的Bug,在cpu监控方面产生了冲突,更新jar包即可,不然就部署到多个tomcat。-2018.7.5
更新jar包
未注册,超并发
所有人空白——模板数据连接有问题;部分人空白——给相同账号设置了不同首页,覆盖了
平台信息表CONTENT的withlink字段长度过短,改长
20180427jar包bug,更新jar处理
前提:nginx tomcat已经配置了https 方案:更新jar
最上面加一行空白行,设置白色边框
让客户检查一下是否开启了深信服的EMM认证
修改tomcat的server.xml的maxHttpHeaderSize大小
安装性能插件就执行一次,安装前执行两次
写js实现js调整对应sheet之后,sheet数比较多的时候页面切换正常,sheet页签无法切换到位
linux最大打开文件数导致的,需要重新配置下,默认是1024,增大,修改方案见linux下面部署之后,访问模板一直报错找不到缓存路径,修改缓存路径无效
应该是设计器和服务器之间网络中断过, 比如服务器重启了下, 之前所有连着的设计器, 都会变成invalid user,
设计器再次发一些心跳或者获取日志请求到服务器时, 服务器就会打印这类错误. 重启下或者重连下远程服务器即可.
一般是8.0升级9.0的时候, 部分老的jar没删除, 排除下lib目录, 删掉plugins目录.
原因未知,与从request里面获取参数,或者把参数值传入sql/存储过程有关,可以尝试禁用防宕机插件,或者给参数值加个cjkEncode。
英文数字组合参数,有一定可能会被识别成单元格,导致带动报表主体加载,把报表主体加载时间都加到了参数选项加载上,造成卡死现象。
测试浏览器是否能播放,比如localhost:8075/WebReport/aa.mp4这种形式访问下视频文件,如果无法播放,就是视频本身的问题。只有浏览器能播放的视频,视频播放控件才能播放。
关闭泛微的一些防xss攻击等过滤器
泛微嵌入式部署填报模板切换单元格报错
130.jQuery.parseJSON requires a valid JSON string
传递的url中有乱码,F12查看下对应的url检查下
模板用到了自定义函数,function.xml没有拷贝过去
BI cube更新后会替换原来的cube,在替换的小段时间里,访问index模板日志会报如上错误,浏览器模板页面会报错,4.0.2是这样,据说4.1已经改了,不再会报错,变成前端显示空白。
可能1:bug 可能2:客户的https做了屏蔽规则,只能相应浏览器预览需求,需要修改规则或者改成http资源
如果用横向自适应是走的自适应插件后台计算会预留滚动条位置。改成默认,走前台适应就可以充满。
跨组件取数代码逻辑问题,这个已经有提需求了,等这一块代码重新整理,短期不会处理
安装自适应插件,给表格设置一种自适应方式(横向或双向)。自适应插件会预先初始化 tab 中内容
图表bug,研发打包给客户更新插件解决
我们里面的设定是, 如果悬浮元素和格子无交叉重叠, 则格子扩展后会推开悬浮元素.
如果行列存在交叉重叠, 悬浮元素不会被推开.
原因:在加载结束后, 就获取A1会导致模板提前计算, 这个时候页面宽高传不到后台, 导致无法后台自适应。
方案:var sum=contentPane.curLGP.getCellValue(“A1”)来获取单元格值
服务器finedb迁移了oracle数据库,小写字段需要加双引号,日期字段需要to_char(“sendTime”,’yyyy-mm-dd hh24:mi:ss’)转下格式
FR9.0查看内存绝对值的方法
旧html5插件bug,IP、非登录状态h5访问报表就会报这个错。localhost或者登录状态就不会。更新jar,更新h5插件即可。
封装版jboss(银联基于jboss封装的,叫upjas)部署9.0报错,8.0不报错。客户用到了一般用不到的一个third里的类,这个类又用到了spring,加上spring的一些列Jar包到web-inf/lib即可
删除third包中com\fr\third\springframework
可以从FTP安装 “对话框边界限制插件” 来禁止拖出显示区域.
更新jar, 已修复.
本地打印程序无法启动的解决方案
一般都是因为网络代理没配对导致的.可以试试把ip.jsp放到服务器WebReport下面, 访问服务器IP:8080/WebReport/ip.jsp
如果不同的客户端返回的都是127.0.0.1, 那么改下nigix配置即可.参考
同理, 还有一种类似场景是, 部署到外网, 部分请求跳转到内网,参考
看是不是特定模板有问题, 一般是参数里有特殊符号, 破坏了json传参的结构, encode下即可.
安装TCP/IP协议.参考
因为目前设计器用的字体和设计器语言是绑定写死的. 这种要在英文设计器里用中文的话, 只能把设计器语言改成中文.
设计器日志开启debug级别, 然后导入, 看日志里不定行是什么, 是否标题匹配等等.
一般是代理没配置正确导致request.getServerName()获取错误. 参考方案
一般是模板中tab布局出问题了, 标题栏里混入了其他组件, 直接删掉整个tab布局试试.
把下面的”不将检索位置作为baseDN”选项√去掉.
一般是文件没有创建成功, 检查Windows的uac设置, 以及磁盘权限.
参考
只要页面有心跳在, session就会一直活着. 要把所有的心跳都关掉.
F12看如果没有网络请求了, 就是没有心跳了.session过期时间配置
如果重启后正常, 可能是内存缓存问题, 可以通过访问op=fs_main&cmd=reset_cache重置缓存看是否生效.
如果重启也不正常, 需要查看fsconfig.xml是否损坏, 可以通过迁移到其他数据库, 外置同步数据集等方式解决.
一般都是因为服务器端缺少对应字体, 可以试试 #99, 安装通用字体Sun-ExtA.ttf, 然后给模板所有格子设置该字体.
导出打印查看效果, 如果正常无截断, 那就可以确认是字体问题.
一般都是因为浏览器限定了最小展示字体9pt或者12pt, 可以在浏览器设置里调小.
一般是因为单元格用了某个字体, pdf里该字体找不到对应的渲染. 可以试试通用字体Sun-ExtA.ttf.
安装后, 在设计器里给单元格选择Sun-ExtA字体, 然后导出pdf.
这种一般都是控件的值 或者数据字典里用了单元格值, 删除排查, 也可以新建一个模板看有没有问题.
提交的数据与数据库的字段类型不匹配, 检查提交的每列数据类型, 删除不相干的列定位问题.
当前用的插件或者jar版本要求最低51(jdk1.7), 用1.7或者1.8都可以, 1.6及以下会报错.
同理 version 50 是1.6; 52 是1.8
排序对格子本身设置有要求,格子以及父格需要是分组并且扩展的.
目前不支持html的分页断开, 提个需求.
那个打印界面是Chrome自带的, 我们做的只是在Chrome里打开pdf, 后面的打印界面都是Chrome自己的.
为什么预览网页, 直接点打印, 有横纵向按钮, 大概是因为Chrome里设定pdf和html用不同的窗口吧.
inter / __fr_locale__: 浏览器语言切换后会变.
__v__ : jar包日期. 更新jar后会变
jsVersion: js版本. 安装卸载插件后会+1
看是不是装了H5插件, 关注下, 改好了就没问题了.
设计如此, 参考http://help.finereport.com/doc-view-724.html
解决方案1: 主机和辅机相互对调, 如果主机因为某种原因RPC注册失败了, 对调后, 看新的主机RPC是否注册成功.
解决方案2: 之前的线程没关干净, 导致RPC注册失败, 强制Kill线程, 或者重启系统.
解决方案3: 再加个节点, 看是不是也是500, 如果新的节点不是500, 那么说明主机的RPC没问题, 是相互通信有问题.
一般就几个方法: 更新浏览器, 访问Adobe官网更新Flash插件, 还原浏览器默认设置, 如果地址栏提示拦截flash, 将url添加到白名单中.
如果以上都不行, 推荐使用绿色版的Firefox, Chrome, 出了问题直接整个浏览器拷回来给研发.
这个是根据系统区域语言定的, 如果zh_CN就显示为¥, 如果是en_US则显示为$.
目前只支持在模板中设置纸张, 不支持在打印机选择界面重新设置.
多冻结两行试试, 比如只冻结1行有问题, 改成冻结3行试试.
之前遇到过firefox下冻结的bug,
直接注册一个lic, 包含所有节点的mac和uuid. 中间用逗号隔开, 不要空格.
如何获取: 直接通过ip+端口+op=reg访问各个节点的, 从中提取uuid+mac.
8.0是合并成一个大的cpt进行计算, 这样部分跨块取数可能会不支持. 需要改回711那种, 只要在resources目录放一个customconfig.xml即可.
缺点是711那种不支持打印导出.
tab布局的标题栏因为要做自适应, 所以是在服务器端计算宽度的. 如果服务器端没有装对应的字体, 就会出现web端显示不全.
检测下datasource.xml, 如果xml里有非法字符, 或者xml损坏就会这样.
另外早期文档中内置的finedb数据连接写法有问题, 需要把\f改成/f, 参考
可以删, 主要记录服务器内存快满时, 一些活动session信息. 可以用editplus直接以文本形式打开, 里面就是一些json数据.
这个类是jdk1.7里的, 用1.7的jdk可以解决报错.
一般都是上一次tomcat没有kill干净就再次启动导致端口被占用了.
可以通过访问op=fr_base&cmd=evaluate_formula&expression=jvm()查看缓存路径, 删掉缓存路径的.FineReport80文件夹再部署.
原因就是weblogic下, war包部署是不解压的, 所以我们会把所有的xml拷贝到临时目录进行增删改.
多半是xml损坏了, cpt要回来看看.
一般是因为页面用了非A4的纸张, Flash打印无法传递页面设置到打印机.
这种一般建议使用PDF打印或者本地打印.
应该是内存快满了, 防宕机插件启动session排队功能了.
用editplus之类的软件打开aa.cpt, 找到倒数第二行<DesignerVersion DesignerVersion=”IAA”/>
将其删除. 注意, 如果模板里用了新版本的一些属性, 那么在老的设计器里强行打开会报错.
72. Canot run program xx, error=12, Cannot allocate memory
修改下jvm的内存配置, 初始内存调小点,参考.
修改下tomcat配置即可, 参考https配置
报错汇总.xls
确认下客户浏览器信息, 目前chrome下不支持applet打印, 只支持flash, pdf以及本地打印.
ie下建议安装32位jre, 并且在控制面板 – Java设置 – 安全, 把http://localhost:8075加入进去.
只是tomcat的一些安全提示, 实际上这些线程资源都在报表工程关闭的时候被回收掉, 可以测试反复热部署启动查看是否存在内存溢出.
可能是itext没读到系统字体, 在WEB-INF/fonts目录下放入宋体. 如果还是不行, 联系daniel.
单元格里字符串转成数字报错了, 具体哪个格子需要用二分法定位.
似乎最新的apache-tomcat-7.0.73会有这个报错, 用老一点的版本就好了. 不确定是不是tomcat的bug
更新了jar, 没更新自适应插件.
用WinRAR打开FineReport_8.0\lib\jetty\org.mortbay.jetty.jar, 查看MANIFEST.MF, 可以看到jetty版本当前5.1
因为通过工具栏是调用我们的js, 会去fireEvent, 而通过url, 是把请求直接发到后台. 这种情况只能手动触发导出后事件.
_g().fireEvent(FR.Events.ATOEXCEL), 具体有哪些事件, 可以通过控制台查看FR.Events
先排查下两边jar是否一致, 如果一致, 看看有没有条件在服务器上装一个设计器, 直接localhost看看会不会失败.
如果localhost是好的, 通过ip不行, 可能是网络问题. 在连接失败的时候, ping服务器ip看看网络响应延迟.
文件就是不存在, 或者web容器没有文件夹的访问权限.
安装exe的时候出现这个报错, 一般是因为下载下来的安装文件有损坏, 不完整.
之前遇到过一次, 客户用迅雷下载的exe就始终报错, 改成从ftp下的或者官网用浏览器下载的exe就正常.
异常汇总 > image2016-11-21 14:29:3.png” alt=””>
要看堆栈, 上图堆栈就是某个单元格用了公式形态, 但是公式没获取到对应的数据集. 具体哪个单元格, 可以通过二分法确定.
因为web端预览的时候, 浏览器可以自动撑开p, 而打印导出的时候, 是严格收到页面大小限制的, 所以会截断.
解决方案就是把截断的单元格设置成分页可以断开.
估计是因为程序数据集class里自己定义了参数, 这样的话, 会跟界面冲突, 处于兼容原因, 优先选择使用class里设置的.
解决方案, 删掉程序数据集class里的参数, 直接用界面上的. 代码中不去setParameter, 直接getParameter即可.
之前遇到过是因为同一个电脑上开了tomcat和设计器, 两个工程用的同一个缓存目录, 关闭设计器后会删掉缓存目录, 导致tomcat里图片消失.
解决方案就是各自配cache.xml来指定不同的缓存目录.修改方法
还有一种场景就是远程设计器和tomcat在同一个电脑上, 远程用的是tomcat的Cache.xml配置, 远程设计器退出的时候, 也会删除缓存目录.
这种即使改了Cache.xml也没用, 必须要分离设计器和tomcat到不同电脑.
猜测原因是上一次打开的模板里面用了什么当前环境里不存在的插件元素, Ctrl + N新建一张模板后, 退出设计器.
再次启动.
一般是因为网络原因导致连接不到商城, 直接浏览器里访问商城看看能不能访问到.http://shop.finereport.com
远程设计, 模板打开报错, 打开一些简单的模板试试, 如果简单的可以, 只有部分不行, 考虑是不是两边jar不一致, 插件不一致.
先用任务管理器查看进程, 是不是有designer.exe, 有就kill掉再启动试试.
如果还是不行, 打开bin目录的designer.bat, 在最后一行添加pause, 保存后启动designer.bat, 查看报错.
一般是用了自定义控件, 或者某个插件里的控件, 当前运行环境里找不到.
一般后面的xxxx都是数据库返回的, 百度xxxx即可, 可能要换驱动或者sql语法错误等等.
数据库连不上. 原因有多, 网络, 连接池满了等等, 排查下;
性能组那边为了提升自定义函数计算速度, 将自定义函数放在启动的时候去加载;
如果自定义函数找不到就会有这个报错, 一般不影响, 因为有一些是我们内置的demo.
先排查本页面的#42, #40, 其次查看日志.
是一个随机数, 用来防止页面缓存的.
用高保真插件试试, 在ftp上/plugins/stable/高保真画法/
之前在Firefox里遇到过, 清缓存后好了.
update: 2016-11-17之后的jar已修复该bug.
fs里开启了加密狗注册, 但是没有安装对应的驱动.
一般是因为设计器jetty默认8075被占用了, 可以在选项那边换一个设计器端口, 重启试试.
内存溢出了, 重启后观察. 如果频繁内存溢出建议安装防宕机插件
看plugin.xml里的插件开发者, 二开的找二开, 图表的找图表
连不上数字签名服务器了, 检查网络是否可以ping通以及数字签名所在服务器是否正常, 看不出来问题就重启下.
修改fs里的编码设置为UTF-8.
直接用editplus等软件, 查看cpt里xml内容; 如果是FREncrypt开头的, 那可能模板是加密的;
如果里面是空白的, 那么就是模板损坏了, 可能是保存的过程中服务器挂了或者被重启了, 客户端远程网络中断了等等;
打开表单的时候出错了, 可能是因为用了某个插件里的东西, 当前设计器没装该插件等等.
具体要看更详细的日志, 应该还有一段报错.
删除plugins目录下的老的功能点记录插件. 停止维护了.
看报错是数据库连不上, 连接池满了或者超时之类的.
没找到自定义函数, 一般都是设计器本地的cpt拷到服务器上, 自定义函数没拷过去.
安装插件 “参数面板显示兼容”之后,可以在右侧属性表自由设置。
首先确认是不是个别浏览器问题, 用chrome, Firefox等测试, 或者换个电脑测试;
正常应该是弹出来一个下载文件, 而不是跳转当前页面;
之前有一个客户外网访问导出没有问题, 内网一导出就Timeout, 后来他们排查了网络, 关掉了一个什么ac设备就好了;
还有个客户反过来, 内网没问题, 外网有问题, 问题出在他们的网络代理上, 导出的文件filter被缓存到一个路径上了.
连不上我们的应用商店, 不影响.
当前数据库不支持分页查询行式引擎, 换个数据库比如MySQL, SQLServer, Oracle等等.
可能是特定显卡驱动下jdk1.8的bug, 安装1.7jdk的设计器试试. 在ftp://env.finedevelop.com/report/stable/exe/下载windows_FineReport-CN_jdk1_7.exe.
如果还是不行, 看能不能禁用独显, 虚拟机的话, 关闭显卡3D支持.
如果是自定义的按钮有问题, 用工具栏上的没问题, 一般都是js写的不对;
如果工具栏上自带的也不行, 那么需要换个其他内核浏览器试试, 比如ie, 360换成chrome, firefox等等.
目前遇到的是有部分客户在特定浏览器模式里有问题(IE8, 360, 但是他同事同样的浏览器没问题, 让他还原默认配置了).
放错了applet包导致的, 比如把applet放到里lib目录等等.
查看数据库驱动是否正常. 如果确定驱动是有的, 再看jdk与驱动是否匹配.
一般是因为Excel里用了什么自定义的数字样式, 导入报表中的时候用java解析发现不支持.
tomcat下没有temp目录, 或者是temp目录写入权限不够.解决方案
基本原因都是单元格里把数据列作为过滤条件或者和什么东西做运算之类的了.
Excel导入的时候部分图片可能会解析失败, 或者获取的宽高有问题. 如果页面上需要的内容没问题, 那么无视这个报错.
jdbc在连接数据库时候会发送测试语句SET OPTION SQL_SELECT_LIMIT=DEFAULT
这在mysql5.6以下版本是可以的 ,但是5.6不再支持SET.
升级驱动到对应数据库版本即可, 比如我这边是5.7的mysql, 用mysql-connector-java-5.1.39-bin.jar
处理http连接时,正在输出内容时,用户关闭了IE,会出现一个"ClientAbortException",属于I/O处理中出现的一个异常,应用服务器应该会捕捉。
不一定是用户主动触发的, 网络不稳定时也有可能出现. 建议内网测试.
资源文件读取失败, 原因有很多, 需要更细致的排查可能原因:①:服务器的并发连接数超过了其承载量,服务器会将其中一些连接Down掉;②:客户关掉了浏览器,而服务器还在给客户端发送数据;③:浏览器端按了Stop
参考方案
这两个都是ie低版本下不支持某些样式或者css的写法导致的, 并不影响使用.最多就损失写透明阴影之类的特效.
xml文件内容有损坏, 具体哪一行那一列, 看[row, col]提示.
看报错里是哪个manager导致的, 一般
DatasourceManager -> datasource.xml
FunctionManager -> functions.xml
ConfigManager -> config.xml
CustomConfigManager -> customconfig.xml
WidgetManager -> widgets.xml
......
jtds连接SqlServer遇到过一次, 好像是SqlServer那边启用了什么安全认证, 看SqlServer的日志, 把客户端加到认证列表里试试.
一般是因为jdk不支持部分图片的解码, 将模板里图片重新用qq截图之类的生成png之类试试.遇到过一个是因为openjdk里没有jpg的encoder
一般都是jar包不匹配, 设计器lib, WebReport里的lib以及插件三者要一致.
class被重复加载了, 最常见的就是WebReport/webinf/lib里多放了一个applet包.
图表
jar包一致的前提下, 删掉所有的插件, 先确定tomcat下独立部署有没有问题, 如果没问题, 再看看是不是要改WebLogic的jre.如果tomcat也有问题, 那肯定是bug.
确认邮件收件人, 邮箱账号密码写的没问题的话, 就是邮箱服务器有问题, 换个qq邮箱试试.
Can’t send command to SMTP host:xxx Connection closed by remote host
被邮箱服务器拒绝了连接, 可能判定为发送垃圾邮件等行为, 换个邮箱.
原因: DES加密的类初始化有问题, 不过只在openjdk里遇到过, 客户换成正常linux下的jdk就好了.
Could not initialize class sun.awt.X11.XToolkit
原因: 一般发生在linux下, 处理图片时需要本地的jvm x-server的支持.解决方案
类似的还有一个No X11 DISPLAY variable was set
原因: 一般都是因为引擎的jar, 插件的jar, 以及设计器的jar, 这三者之间不同步, 不是同一个时间编译出来的.解决方案: 更新所有jar.
原因: 一般发生在技术支持给客户定制修改jar包里的class, 需要将IDE的工程编译等级调整到1.6.
如何查看class版本
原因: 访问模板session超时了. 此session非登陆的session, 只是当前页面访问的模板在服务器里的信息记录.如果服务器重启过, 那么之前打开的页面session应该都算超时了. 正常有心跳的情况下, 是永远不会超时的
模板中的Session控制
原因: pdf导出会扫描本地的字体文件, 如果字体损坏, 就会有上述报错. 解决方案: 提示哪个字体损坏, 就到别的机器上拷贝一份过去.
原因: 单元格或者控件计算中, 存在死循环.
二分法定位单元格
转载于:https://www.cnblogs.com/xdecode/p/7975629.html