zoukankan      html  css  js  c++  java
  • 记一个神奇的WAS问题:sibuswsgw-sibuswsgw_console.jar invalid LOC header (bad signature) 分类: WebSphere 2015-08-06 23:21 9人阅读 评论(0) 收藏

    今天晚上,出现了一个神奇的WAS问题,详细问题异常信息如下:

    [15-8-6 22:13:29:146 CST] 00000013 ApplicationMg A   WSVR0203I: 应用程序:isclite 应用程序构建级别:WAS61.WSC [cf471333.01]
    [15-8-6 22:13:32:266 CST] 00000013 CompoundClass E   WSVR0120E: 处理 E:IBMWebSphereAppServersystemAppsisclite.earisclite.warWEB-INFlibsibuswsgw-sibuswsgw_console.jar 时发生错误
    java.lang.InternalError: jzentry == 0,
     jzfile = 196639408,
     total = 80,
     name = E:IBMWebSphereAppServersystemAppsisclite.earisclite.warWEB-INFlibsibuswsgw-sibuswsgw_console.jar,
     i = 6,
     message = invalid LOC header (bad signature)
        at java.util.zip.ZipFile$4.nextElement(ZipFile.java:531)
        at java.util.zip.ZipFile$4.nextElement(ZipFile.java:517)
        at java.util.jar.JarFile$1.nextElement(JarFile.java:305)
        at java.util.jar.JarFile$1.nextElement(JarFile.java:304)
        at com.ibm.ws.classloader.SinglePathClassProvider.buildContentsCache(SinglePathClassProvider.java:598)
        at com.ibm.ws.classloader.SinglePathClassProvider.<init>(SinglePathClassProvider.java:114)
        at com.ibm.ws.classloader.SinglePathClassProvider.create(SinglePathClassProvider.java:141)
        at com.ibm.ws.classloader.CompoundClassLoader.addPaths(CompoundClassLoader.java:251)
        at com.ibm.ws.classloader.ReloadableClassLoader.createLoader(ReloadableClassLoader.java:108)
        at com.ibm.ws.classloader.JarClassLoader.<init>(JarClassLoader.java:53)
        at com.ibm.ws.classloader.ClassGraph.processWARModule(ClassGraph.java:375)
        at com.ibm.ws.classloader.ClassGraph.createClassLoaders(ClassGraph.java:487)
        at com.ibm.ws.classloader.ClassGraph.calculate(ClassGraph.java:247)
        at com.ibm.ws.classloader.ClassLoaderManager.initialize(ClassLoaderManager.java:225)
        at com.ibm.ws.classloader.ClassLoaderManager.<init>(ClassLoaderManager.java:176)
        at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:761)
        at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:945)
        at com.ibm.ws.runtime.component.ApplicationMgrImpl$AppInitializer.run(ApplicationMgrImpl.java:2120)
        at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:342)
        at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1595)

    问题现象描述:WAS的控制台无法正常登录,无论是访问9060,还是9043的网址,都提示找不到xxx.jsp,甚至连logonError.jsp也找不到,是不是挺奇怪的?还有奇怪的是,应用程序竟然还是可以正常访问的,说明控制台是出问题了。

    invalid LOC header (bad signature),咋一看,还以为是WAS授权到期了呢

    之前很早就听说WAS有试用期的问题,于是,网上搜罗了一番,找到如下的试用期过期异常:

    WSVR0025I: Creating temporary product license
    WSVR0027I: The product will expire in 60 days.
    ADMU0116I: Tool information is being logged in file
               /usr/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/server1/start
    Server.log
    ADMU0128I: Starting tool with the AppSrv01 profile
    ADMU3100I: Reading configuration for server: server1
    ADMU3200I: Server launched. Waiting for initialization status.
    ADMU3000I: Server server1 open for e-business; process id is 13756

    貌似和我遇到的问题孑然不同,网上也搜不到任何关于sibuswsgw-sibuswsgw_console.jar文件的线索。那么,好吧,好奇心驱使我想弄个明白,于是晚上的业余时间就开始往里搭了

    首先,这台服务器上的WebSphere安装了两个AppSrv节点,既然AppSrv01启动失败,那我就试试AppSrv02吧

    其实遇到这个问题,也并非纯属巧合,事情的经过是这样的,晚上闲来无事,我登录AppSrv01控制台修改了一些参数设置,具体哪些我还真没详细记录,根据经验能修改的我都扒拉了一遍全部改了,这不一定算是功劳,但肯定不能算恶意搞破坏。

    正当我兴致勃勃准备迎接飞奔的AppSrv01时,杯具出现了,重启之后控制台进不去了,各种500,提示找不到logon.jsp,甚至找不到logonError.jsp,这些都是WAS自带的程序,怎么会无缘无故丢了呢,我修改的参数怎么想也不会影响到这里啊

    越想越奇怪,但是我修改参数之前的确又都是可以的,无论是控制台,还是应用程序,都是可以正常访问的。并且从时间上来看,晚上22点之后了,该下班的、不该下班的早都下班了,除了我自己,估计是没有第2个人来捣鼓了

    一般遇到问题,首先想到的是度娘,如果她帮不到我,再找谷哥,如果还是不行,就只能拍自己脑袋了

    既然是在我修改参数之后出现的问题,也有可能是修改的时候出现了手误,如果真的是这样,恢复参数就可以解决问题。于是,我把WAS相关的配置文件都检查了一遍,但是发现常用的那些参数值都没有问题,看来这条路是走不通了

    WAS有个很好的设计,日志系统比较完善,除了问题应该是会有日志的吧。

    查看了server和ffdc的日志,的确找到一些线索,关键的invalid LOC header (bad signature),网上虽然没有说WAS相关的问题,但很多和Maven相关的,大体意思就是文件被破坏了,日志里也是有大量java.util.zip.ZipFile的异常,大差不离啊

    文件被破坏了,那就去看看sibuswsgw-sibuswsgw_console.jar文件吧,显示日期和WAS安装日期完全一样,肉眼看不出来是被人工替换还是被恶意程序篡改,既然这样,那就从别的服务器找一个同名文件替换了试试吧

    找了同名的sibuswsgw-sibuswsgw_console.jar文件替换,重启AppSrv01之后,控制台就可以正常访问了。

    问题解决之后,写下这篇文章,备忘,备忘,备忘,重要的事情要说3遍的……

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    element-ui 刷新页面不能自动打开对应的菜单
    cookie
    cdn
    为已有文件添加 d.ts 声明
    WiFi 漫游过程
    Wifi 4 way handshake 四次握手
    WiFi association request/response
    WiFi beacon
    WiFi Auth/Deauth帧
    WiFi probe request/response
  • 原文地址:https://www.cnblogs.com/wenlong/p/4719384.html
Copyright © 2011-2022 走看看