很久以前同事决定使用J3D。而J3D依赖于jogamp(jogl/gluegne)。于是吾辛辛苦苦编译通过(mips/loongarch编译结果是全网首发),以为总算可以交差了。其实这才是麻烦的开始。
- 最早的LINUX闪退
谁不想偷懒啊。第一次闪退后,赶紧到网上搜索,说是替换一个class即可。确实可以了。同事也提交了测试报告。
- LINUX闪退1
去年KYLIN/UOS升级了,结果同事抱怨经常闪退。各种杂事多,有时间终于分析了一番。成功解决。
全网首发:分析及解决com.jogamp.opengl.GLException: J3D-Renderer-1: createImpl ARB n/a but required_柳鲲鹏-CSDN博客
让测试同事试了一下,不闪退了。得意之情油然而生。
- MAC闪退
负责MAC版本的同事暴躁不已……抱怨不已。怎么办?不断的搜索,终于找到一点启发。赶紧试试,确实可以避免这个错误。于是重新编译了OpenJDK8 MAC版本,同事终于不用暴躁了……
得意之情加倍。
- LINUX闪退2
把修改后的结果给开发同事, 他试了之后就抱怨闪退。吾当时就认为他搞错了……结果并没有,吾试了也确实死机。死机怪异的地方在于:同一台机器,同一段测试时间,有时死,有时不死。这不知道是好事还是坏事。
经过一番跟踪分析,结果也确实是奇怪的:同一个本地函数,有时加载会死,有时不会死。再向下跟踪就找不到代码了。吾气愤不已,直接把出错的那个函数过滤。果然不出错了!
现在得意之情不仅是加倍,已经是爆棚……
- LINUX闪退3
转移阵地到某华为笔记本,UOS+海思,还是跟以前一样,直接崩溃……而且从哪里开始死都不知道。后来不得不编译j3d,在j3d加代码跟踪。
经过一番眼花缭乱的修改,终于不死了。兴冲冲的让同事测试了一下,说功能都不能用了?试之,果然……说明这个改法不对。
清理代码,又经过一番晕头转向的跟踪,实验了多处修改终于定了。这次在不同系统上测试,有的正确有的异常(说明系统有问题)。
大哥汝之前说得意之情已经爆棚,现在又解决了新的闪退,这得意之情怎么办?充斥地球还是整个宇宙?
大哥吾现在已经完全不想得意了,只求不再出错,这个事收工了满意了。南无观世音菩萨……