NVIDIA-SMI GPL-incompatible module Error
❌ Error Handling2024. 5. 29. 23:11NVIDIA-SMI GPL-incompatible module Error

NVIDIA-SMI GPL-incompatible module Error서버에서 Docker Container로 GPU를 사용하는 딥러닝 프로세스를 실행중에 강제적인 시스템 종료 시,NVIDIA Driver가 깨지는 현상이 있어서 해결한 기록을 포스팅합니다.이번에 서버 재기동이 필요하여 실수로 GPU를 사용하는 Docker Container를 내리지 않고 서버를 종료를 한건지Container 실행 시 NVIDIA Driver에 Crash가 났다는 에러가 떴습니다.그래서 dmesg | grep -i nvidia 명령을 입력해 시스템 커널 로그와 NVIDIA 에러 로그를 보니 아래와 같이,nvidia.ko 모듈이 GPL 전용 심볼을 사용하도록 되어 있었습니다.이는 NVIDIA Driver와 커널의 특정 심볼..

MySQL - Global Transaction Identifier Error (GTID)
❌ Error Handling2023. 6. 8. 17:27MySQL - Global Transaction Identifier Error (GTID)

❌ MySQL - Global Transaction Identifier Error (GTID) NCP에 있는 DB서버의 Prod DB Dump를 떠서 AWS RDS로 DB이전을 하는중 에러가 발생하여 해결 기록 글을 작성합니다. NCP와 AWS의 MySQL은 둘 다 GTID를 사용하는데, 보통의 Mysql DB Restore는 GTID를 사용하지 않습니다. 백업 단계에서 --set-gtid-purged=OFF 옵션을 추가해야 하는데 이를 사용하지 않았기 떄문입니다. Warning: A partial dump from a server that has GTIDs will by default include the GTIDs of all transactions, even those that changed sup..

Jenkins - Credential & Web hook Error
❌ Error Handling2023. 6. 2. 11:01Jenkins - Credential & Web hook Error

❌ Jenkins - Credential & Web hook Error stderr: No ECDSA host key is known for github.com and you have requested strict checking. Jenkins Item(프로젝트)를 생성할 때 이 오류가 뜨면 보통 SSH Key known_hosts 파일에 등록이 안될때 문제가 생깁니다. 리눅스를 오랜만에 만져서 조금 해멨는데 제가 시도한 방법들을 나열해 보겠습니다. ㅠ key파일의 권한이나 소유권이 안맞아도 발생할 수 있습니다. 아래 방법들 중 하나씩 시도해보면 해결이 될겁니다. 해결 기록 일단 에러의 내용이 ECDSA 키가 없다고 했으니 등록합니다. # /var/lib/jenkins/.ssh 로 이동 git ls-r..

Github Actions - every step must define a uses or run key
❌ Error Handling2023. 5. 24. 14:21Github Actions - every step must define a uses or run key

❌ Github Actions - every step must define a uses or run key Github Actions 빌드 중 Work Flow를 추가하고 갑자기 안되는 문제 발생. Yaml 문법도 다 맞는데 왜 안되나 해서 계속 만져보다가, -name 밑에 uses 중 1곳에 uses가 아닌 - uses가 되있길래 -를 뺐더니 정상 작동했다. 문제의 코드 # AWS Access & Secret Key 권한 확인, Github Actions Secret에서 등록 - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1 with: aws-access-key-id: ${{ secrets.AWS_ACCE..

Kotlin - mark, reset not supported
❌ Error Handling2023. 4. 30. 20:45Kotlin - mark, reset not supported

❌ Kotlin - mark, reset not supported 문제의 코드 inputStream.mark(2) val bytes2 = ByteArray(2) inputStream.read(bytes2, 0, 2) println("바이트 배열 일부만 읽기 1 : " + bytes2.decodeToString()) inputStream.reset() inputStream.read(bytes2, 0, 2) println("바이트 배열 일부만 읽기 2 : " + bytes2.decodeToString()) 원인 InputStream 객체가 mark()와 reset() 함수를 지원하지 않아서 예외가 발생합니다. InputStream의 mark()와 reset() 함수는, InputStream의 내부 포인터 위..

Spring - N+1 (DB 성능 이슈)
❌ Error Handling2023. 4. 15. 13:43Spring - N+1 (DB 성능 이슈)

❌ Spring - N+1 (DB 성능 이슈) 원인 이 문제는 데이터베이스에서 정보를 조회할 때 발생합니다. 연관된 엔티티를 로딩할 때, 한 번의 쿼리로 충분한 데이터를 가져올 수 있음에도 불구하고 N번의 추가 쿼리를 실행하여 성능 저하를 일으키는 문제를 의미합니다. 주로 Eager Fetching 전략이나, Lazy Fetching을 사용하면서 적절한 최적화를 하지 않았을 때 발생합니다. 예시 Fetch 전략을 Eager(즉시 로딩)으로 한 경우 발생 Fetch 전략을 Lazy(지연 로딩)으로 한 경우, 객체 그래프 탐색 시 발생 예시 1의 경우 findAll()을 하면 JPQL구문이 생성되고 그 구문을 북석한 SQL이 생성 & 실행됨 DB의 결과를 받아 엔티티의 인스턴스를 생성 영속성 컨텍스트에 검색..

Spring - Lazy Initialization Exception
❌ Error Handling2023. 4. 15. 13:41Spring - Lazy Initialization Exception

❌ Spring - Lazy Initialization Exception 원인 Hibernate가 제공하는 Lazy Loading 전략을 사용할 때 발생할 수 있습니다. Lazy Loading은 연관된 엔티티를 실제로 사용하는 시점에 로딩하는 전략입니다. 그러나, 트랜잭션이 끝나고 세션이 닫힌 후에 Lazy Loading을 시도하면, Hibernate는 연관된 엔티티를 로딩할 수 없으므로 'Lazy Initialization Exception'을 발생시킵니다. Proxy 객체로 채워진 Entity의 타입캐스팅을 시도할 때 트랜잭션 내부에서 연관관계가 설정된 엔티티의 프로퍼티 접근이 안됬을때 영속성 컨텍스트가 Transaction 범위 밖인 Controller에서 Lazy Loading을 시..

image