[건의사항] 메모리 제한에 걸렸을 때 "런타임 오류" 말고 별도의 오류 코드가 있었으면 합니다.

  • bupjae
    bupjae

    GBB 에 제출한 답안이 "런타임 오류"가 나오길래
    런타임 오류 날 곳은 입력을 잘못 해석했거나 map 초기화 실패 말고는 없어서
    몇 번의 삽질과 2번의 추가 뻘submit 끝에 실제 원인은 메모리 초과 라는걸 알게 되었습니다.

    (제가 submit한 프로그램은 최대 load 에서 70MB 정도 잡아먹더군요)

    물론 RTE 메세지에서 (SIGKILL: program was forcefully killed, probably memory limit exceeded) 라면서 메모리 초과일 수도 있다는 언급은 하고 있지만, 오류 원인 분석할 때 아무래도 뒷전으로 밀릴 수 밖에 없는 것 같습니다.

    채점 시스템에 따라 제출된 프로그램의 런타임 오류와 메모리 초과를 구분하는게 어려울 수도 있다는 점은 알고 있지만, 검토 부탁드립니다.


    7년 전
2개의 댓글이 있습니다.
  • JongMan
    JongMan

    음 그러게요. SIGKILL과 SIGSEGV 를 다른 오류 코드로 보여주면 될까요? 어떻게 해야 할지 감이 잘 안 오네요.


    7년 전 link
  • bupjae
    bupjae

    if and only if 메모리 초과되었을 때만 SIGKILL 을 사용한다면 SIGKILL 을 "결과: 메모리 초과" 라는 식으로 알려주면 될 것 같긴 한데

    SIGKILL 이 다양한 상황에서 쓰일 수 있기 때문에 걱정이긴 합니다.

    예를들어 "금지된 행동" (예를 들어 엄한 file open을 시도했다던가...)을 했을 경우에는 어떤 signal로 죽이나요?


    7년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.