WebLogic PSU 171017 Patch 이후 Error 발생

View Comments

setMaxRequest.py

setMaxRequest.sh

WebLogic 10.3.6 PSU 171017 Patch 적용 후 Error 발생


1.     weblogic.utils.http.MaxRequestParameterExceedException  발생


- 원인 -


 1) 해당 Exception 자체 원인 
   - 전달하는 파라미터 값이 default 값 10000개를 초과

 2) 패치 이후 해당 Exception이 발생하는 원인

  - (SR 진행중이며, 구두로 전달받은 내용) 2017/10(FMJJ) PSU 이후 해당 Exception 케이스가 발생한 곳이 다수
 , 해당 패치가 패치 이전에 비해 Max Request parameter 값을 보다 엄격하게 적용


- 해결 방안 -

* 환경 = 어드민, 매니지드 서버 모두 띄워진 상태

1.
첨부파일을 웹로직 엔진 경로/server/bin/. 아래에 위치
*
웹로직 엔진 경로 = () WLS_HOME=/u01/weblogic10.3.6/wlserver_10.3

2. setMaxRequest.sh
내에서 자바 홈 경로, 웹로직 엔진 경로를 수정
*
웹로직 엔진 경로는 wlserver_10.3 까지를 적용
(
) WLS_HOME=/u01/weblogic10.3.6/wlserver_10.3

3. setMaxRequest.py
내에서 상위 4가지 파라미터 값 수정
* ServerName
은 해당 애플리케이션이 디플로이 된 서버의 이름으로 수정
*
숫자는 이미 50000 입력



2.     Java.lang.AssertionError 발생


- 장애 - 

<ServletContext-/Tax> <> <> 

#### <> <>  java.lang.AssertionError: Reference Count value set below 0, value is-1.
java.lang.AssertionError: Reference Count value set below 0, value is-1
  at weblogic.servlet.internal.session.ReplicatedSessionContext.sync(ReplicatedSessionContext.java:88)
  at weblogic.servlet.internal.ServletRequestImpl$SessionHelper.syncSession(ServletRequestImpl.java:2981)
  at weblogic.servlet.internal.ServletRequestImpl$SessionHelper.syncSessions(ServletRequestImpl.java:2959)
  at weblogic.servlet.internal.ServletRequestImpl$SessionHelper.syncSession(ServletRequestImpl.java:2947)
  at weblogic.servlet.internal.ServletResponseImpl$1.run(ServletResponseImpl.java:1504)
  at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
  at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
  at weblogic.servlet.internal.ServletResponseImpl.send(ServletResponseImpl.java:1498)
  at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1499)
  at weblogic.work.ExecuteThread.execute(ExecuteThread.java:263)
  at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)



- 해결 방안  -

After Applying Patch 20181997 Application Fails With java.lang.AssertionError: Reference Count value set below 0, value is-1 (문서 ID 2031641.1)


해당 Patch를 다운 받아 덮어 쓴다

Patch 18057437            


아래 글 "WebLogic 10.3.6패치 이슈 확인 - 2017년04월 18일자" 참고

Comments (+add yours?)

Tracbacks (+view to the desc.)

[WLS&OHS] Oracle HTTP Server 80포트(root 권한 필요) 서비스 하는 경우

View Comments



안녕하세요.


OHS - WLS 연동 시 80포트를 사용하게 될 경우 필요한 조치 내역 및 에러 케이스에 대해 안내 드립니다.



[ 환 경 ]


AIX 6.1 & JDK 1.6.0.9

WLS 10.3.6

OHS 11.1.1.9



[ 작업 내역  ] 


80포트로 연동 시, Oracle_Home/ohs/bin 폴더 내 .apachectl 권한, 소유자를 변경


chown root:그룹명(=was계정그룹명) .apachectl

chmod 6750 .apachectl



[ 이슈 케이스 ]


해당 권한 변경 작업에도 불구하고, 계속해서 Permission Deny 현상 발생



[ 추가 조치 사항 ]


httpd.conf 내에 User, Group 추가


<IfModule !mpm_winnt_module>

           User wasecost

           Group wasadm

</IfModule>


* 해당 사이트의 httpd.conf에는 User만 표기되어 있었으며, 

Group명 추가 이후 Permission Deny 현상 사라지고 정상 작동



[ 주의 ]


동일 경로에 .apachectl, apachectl을 혼동하지 않도록 주의



[ Guide Document ]


https://docs.oracle.com/cd/E23943_01/web.1111/e10144/getstart.htm#HSADM849

4.1.2.3 Starting Oracle HTTP Server on a Privileged Port



Comments (+add yours?)

Tracbacks (+view to the desc.)

[WLS_10.3.6] 충돌 PATCH REMOVE시 비정상적으로 시간이 오래 걸리는 현상

View Comments

안녕하세요. 


정진욱 전임입니다.  


WLS 패치시 발생한 이슈사항과 관련해 다음의 내용을 공유합니다.


*환경 정보


OS : AIX 6.1


WLS Version : 10.3.6


JDK Version : 1.6.0 


*현상 


1) Patch Set Update 10.3.6.0.171017을 적용하는 과정에서 충돌나는 패치가 발생


2) 충돌나는 패치를 bsu 툴을 이용해 remove하는 과정에서 작업을 완료하지 못하고..비정상적으로 오랜 시간 remove를 진행함. (9시간 넘도록 진행되어도 remove 작업이 완료 안됨, OS의 cpu 및 메모리 자원엔 특이사항 없음)


ex)당시 현상



*조사내용 


1) My Oracle Support 사이트를 검색중, 위의 현상과 비슷한 현상에 대한 내용이 있음을 확인 

    (문서 ID 2271366.1 참고)

    

2) 문서의 내용에 따르면 현상의 원인은 제품 내부적인 결함 때문이라고 나와 있으며, bsu 성능을 개선시킨       패치를 적용해 볼 것을 권고하고 있습니다. (그 외 권고사항도 있습니다만, 패치 적용을 가장 우선적으로 

   강조하고 있습니다)


*조치사항


1) 권고한 패치 적용 

   -> 적용한 패치는 총 2개 (Patch 12426828 , Patch 27238412)이며 자세한 작업 내용은 문서ID 2271366.1 

       내용을 참고 부탁드립니다.


2) 패치 삭제 및 설치작업 진행

   -> 패치 적용 후, 기존패치 삭제작업 및 신규패치 설치작업에 걸리는 시간이 크게 단축된 것을 확인하였습         니다. (삭제작업은 5분, 설치작업은 10분 소요)


3) 사내 테스트 결과


 

 패치전

 패치후

 PSU install 작업

7분 소요

 2분 소요

 PSU remove 작업 

 6분 소요

 1분 소요


*결론


: bsu 성능 개선 패치를 적용 후 PSU install 및 remove 작업에 걸리는 시간이 크게 개선되었으며, 향후 신규   패치 적용 작업이  있을시  bsu 성능 개선 패치를 적용하고 작업을 한다면 소요시간을 크게 단축할 수 있   을 것으로 생각 됩니다. 








 



Comments (+add yours?)

Tracbacks (+view to the desc.)

[10.3.6] config.sh 구성 시 libjni.linux.so를 활성화 할 수 없는 이슈

View Comments



안녕하세요.


RedHat 7.3 & 6.8 / Oracle JDK 1.7.0.80 환경에서, 

10.3.6 엔진 설치 후 Config.sh 실행하면, 해당 메시지를 출력합니다.



Unable to instantiate GUI, defaulting to console mode.

Extracting 0%...................................................................................................

Java HotSpot(TM) Server VM warning: You have loaded library /wlserver_10.3/common/lib/libjni.linux.so which might have disabled stack

guard. The VM will try to fix the stack guard now.

It's highly recommended that you fix the library with 'execstack -c ', or link it with '-z noexecstack'.



메시지의 마지막 권고사항을 실행하였습니다.

1) execstack -c <libfile>
[결과] 해당 메시지를 입력하여도 특이사항 발생하지 않았으며, config.sh 재 실행하여도 동일 현상 발생
[설명] execstack -c 해당 라이브러리에 execstack이 있을 경우, 이를 무시하도록 설정하는 명령어

2) /ecom/bea11/wlserver_10.3/common/lib/libjni.so -z noexecstack
[결과] Segmentation fault (core dumped) 메시지 발생
[설명] -z noexecstack 해당 라이브러리를 다시 생성하도록 하는 명령어, 단 실행파일에만 유효

3) ./config.sh -mode=console -log=a.txt 실행하여 a.txt 내용 확인 

2017-12-13 19:30:41,875 WARN [main] com.oracle.cie.wizard.WizardController - Unable to instantiate GUI, defaulting to console mode. 

[결과] GUI 모드가 활성화 되지 않았다는 메시지만 출력



해당 권고사항을 실행하여도 계속해서 해당 현상이 재현되었습니다.


현상의 원인은
해당 경로에 있는 libjni.so 가 32bit 모듈이며, JDK가 1.7 64bit 버전이기 때문에 발생합니다.
메시지는 JDK7에서 발생합니다.

libjni.so는 설치 구성 시에만 참조하는 모듈이므로, 무시하고 진행하여도 상관 없습니다. (SR 공식 답변)
실제로 사이트에서 해당 메시지를 무시하여 진행하였고 기동/중지/사용에 별다른 이슈가 없었습니다.

* 해당 내용은 Oracle JDK 1.7.0.51 이상 부터 발생합니다.

감사합니다.




Comments (+add yours?)

Tracbacks (+view to the desc.)

[10.3.5] 이미지 변경 시 Reloading 관련 테스트 & 결과

View Comments


안녕하세요.


WebLogic Server의 파라미터 설정에 따른 이미지 로드,

Web ApplicationAjax 사용시의 이미지 로드를 테스트 하였습니다.


테스트 환경은 WebLogic 11g 10.3.5 (Windows) 입니다.

 

1) weblogic.xml 파라미터 테스트


파라미터

새로고침 시

반영 여부

(HTML, JSP)

웹로직 재시작 후

반영 여부

page-check-seconds

resource-reload-check-secs

1

1

O

O

1

-1

-1

1

브라우저 캐시 삭제 必

-1

-1

 

ü  page-check-secondsresource-reload-check-secs override 하기 때문에, 해당 파라미터를 동시에 사용하게 될 경우 page-check-seconds만 유효하게 됩니다


ü  변경될 이미지의 최종 수정 날짜가 기존의 이미지와 동일 또는 이전일 경우, 새로고침 및 웹로직 재시작을 하여도 반영되지 않습니다.

 

2) Ajax 이미지 로딩 테스트


Ajax로 이미지를 불러오게 될 경우, ajaxcache 파라미터가 기본적으로 true로 설정되어 있어 weblogic.xml 내 이미지 로딩과 관련된 파라미터 값을 무시합니다. 따라서 변경된 이미지가 바로 반영되지 않으나, 서버를 재기동 할 경우에는 반영이 됩니다

 

- Ajax 사용시의 cache를 사용 하지 않기 위해서는 다음과 같이 설정 해야 합니다.


1) cache 값을 false로 설정

$.ajax({

    type: 'POST',

    url: baseURL,

    dataType: 'html',

    cache: false,

    data: {

 

2) 이미지 urlcachebuster 파라미터와 현재 시간 값을 추가

profileimg.jpg?cachebuster=" + new Date().getTime()



<요약>


웹로직 자체 내 캐싱 기능은 없으며(공식 답변), Ajax 내에 cache 속성의 default가 true이기 때문에 Ajax로 이미지를 호출하게 될 경우 변경할 이미지를 업로드 하더라도 바로 반영이 되지 않습니다.


따라서 상단의 내용대로, Ajax의 cache 값을 false로 설정하거나 이미지 url에 cachebuster 파라미터를 추가하는 방법을 사용하여 재기동 없이도 이미지가 변경되도록 할 수 있습니다.



감사합니다.



Comments (+add yours?)

Tracbacks (+view to the desc.)

Newer Entries Older Entries