[ CnUnix ] in KIDS 글 쓴 이(By): ymir (Mizz) 날 짜 (Date): 2006년 12월 11일 월요일 오후 07시 04분 44초 제 목(Title): Re: [Q] fcntl 관련... 제 질문에 관심 가져 주셔서 감사합니다. 일단 로그인이 안 되는 현상은.. 로그인 프로세스 중간에 hang 이 걸려서 발생한 것입니다.. fcntl 의 동작이 궁금해서 다른 부분은 대충 생략했는데.. 그 부분까지 조언을 주셔서 고맙습니다. 동일한 OS 의 (패치 레벨은 다를 수 있음) 로그인 과정에서는.. .. open("/etc/project", O_RDONLY|O_LARGEFILE) = 5 fcntl(5, F_DUPFD, 0x00000100) Err#22 EINVAL read(5, " s y s t e m : 0 : : : :".., 1024) = 78 close(5) = 0 .. 와 같이 에러 리턴을 하고 처리가 되었는데.. 문제가 발생한 머신에서는.. ... open("/etc/project", O_RDONLY|O_LARGEFILE) = 4 fcntl(4, F_DUPFD, 0x00000100) = 256 close(4) = 0 read(256, " s y s t e m : 0 : : : :".., 1024) = 78 close(256) = 0 .. 와 같이 리턴 값이 다르기에 여쭤 본 것입니다. 물론 로직상으로는 처리에 이상이 없어 보입니다만.. 저와 동일한 상황(?)을 만들려면 어떤 설정 변경이 필요하다든지.. 또는 오류가 맞다면 어떤 오류가 있었을 때 저렇게 동작을 하는지.. 등이 궁금해서입니다. 실제로 로그인이 안 되는 부분은는.. PAM 에서 관련 모듈등을 처리하다가... .. open("/etc/project", O_RDONLY|O_LARGEFILE) = 4 fcntl(4, F_DUPFD, 0x00000100) = 256 close(4) = 0 read(256, " s y s t e m : 0 : : : :".., 1024) = 78 close(256) = 0 door_info(3, 0xFFBF9368) = 0 door_call(3, 0xFFBF9350) = 0 access("/var/run/pool.state", 0) Err#2 ENOENT .. 이후에 hang 이 걸려서 더 이상 진행이 되지 않아서 입니다. (원인은 알 수 없음) 정상적인 머신에서는.. 아래와 같이 settaskid() 가 실행되면서 이후 과정이 진행됩니다. ... open("/etc/project", O_RDONLY|O_LARGEFILE) = 5 fcntl(5, F_DUPFD, 0x00000100) Err#22 EINVAL read(5, " s y s t e m : 0 : : : :".., 1024) = 78 close(5) = 0 door_info(4, 0xFFBF9370) = 0 door_call(4, 0xFFBF9358) = 0 access("/var/run/pool.state", 0) Err#2 ENOENT settaskid(1, 0x00000000) = 41 door_info(4, 0xFFBFEFB8) = 0 door_call(4, 0xFFBFEFA0) = 0 open("/etc/shadow", O_RDONLY|O_LARGEFILE) = 5 fcntl(5, F_DUPFD, 0x00000100) Err#22 EINVAL read(5, " r o o t : J G x W b j F".., 1024) = 1024 close(5) = 0 ... 만약 커널이나 시스템에 이상이 생긴 것이라면.. cron 프로세스가 무수히 떠 있는 것도 이와 관련지어서 설명할 수 있을지도 모르겠습니다. (그 부분은 이미 상황 해제 된 상태라 더 이상 조사 불가) 즉, cron 프로세스가 진행되다가 어느 시점에서 hang 이 걸린게 아닐까 하는 것입니다. 저 hang 이 걸린 부분은, PAM 인증 과정중에 pam_projects.so.1 이 실행되는 부분으로 보입니다. 조금 전에 확인해 본 결과, cron 은 물론 hang 이 걸린 login 프로세스도 kill 이 되지 않았었다고 합니다.. 그런데 시스템 리붓을 위해 몇몇 서비스들을 내렸었는데, 그러고 나니.. cron 프로세스들도 어느새 사라져 있더라고 하더군요. 뭔가 deadlock 이라도 걸린 것일까요.. -.-? Oh, I do believe everlasting love and destiny to meet you again I feel a pain I can hardly stand all I can do is loving you - *Mizz* the Magic Knight! |