Skip to content

[Bug]: 26-1 백엔드 버그픽스 #3577

Description

@Choi-Jung-Hyeon

Describe the bug

그동안 발견된 버그들

버그 리스트

  • multiline 처리 불가능 에러 (해결)
  • Empty-enter 처리 불가능 에러 ⇒ runner 문제로 추정…
  • super일때는 shared와 My의 구분이 없어진다.
  • 대회 매니저 초대할때 이메일이 아니라 아이디로 가져오기
  • User Analysis에서 통계값에 오류 있는 듯함(Penalty 부분)
    2025 SKKU 프로그래밍 대회 → DB 데이터가 꼬여서 그럴 수도
  • 대회에서는 group이 없기 때문에 shared problem이 안보인다.
  • Contest 생성 시 Join Duetime을 이미 지난 시점으로 설정하면 Contest 시작 이전에 Problem 접근 가능(Super 또는 Creator만 가능한 건지는 확인못함) 다만 제출시 Submission Period has Ended 문제 발생

zip 관련 문제

  • 현재 프론트 측에서는 UploadTestcaseZip가 아닌 UploadTestcaseZipLegacy 사용 중
    두 API의 큰 차이점으로는 Legacy의 경우 DB에 저장하지만 새로 만든 API의 경우 S3에 저장
    다만, UploadTestcaseZipLegacy를 이용해서 업로드를 해도 TC가 조회될 때에는 GQL의 ResolveField에서 Flag를 확인하고 input, output을 null로 가져오게
  • updateProblem에서 전달하는 tc의 id가 outdated된 id일 경우 기존의 zip으로 올라간 tc들 전부 flag해제

백엔드 문제

  • assignmentRecord 기반 권한 검증 삭제
  • canCreateCourse 권한이 없는 유저가 Course 생성 시도시 Unexpected Error Occurred 토스트가 뜸 (개발자도구로 보면 Forbidden) Exception을 더 깔끔하게 처리해야할 듯
  • 문제를 푼 유저가 이전 Submission에 접근 시 Access Denied가 발생하는 문제 → 과거 대회에 있던 문제의 경우 그 당시 submission에는 contestId가 들어있음. 대회가 종료되고 나서 공개 문제로 전환된 이후에 제출된 submission은 contestId가 null임. 그래서 과거 대회가 진행 중이었을 때의 submission은 찾으려고 하면 EntityNotExistException(”Submission”) 발생.
    → submission.service.ts의 #1124부터 확인
  • hidden testcase 만 채점하는 contest에 포함되어 있는 problem이 hidden TC를 가지고 있지 않을때, 제출상태를 변경해주는 trigger가 발생하지 않아서 계속 judging에 머무르고 있다. ⇒ 어떻게 해결해야할지 고민 중. (record도 안만들고, mq에 넣지도 않는다.)
  • getsubmission에서 admin 권한 바이패스 안됨. 오직 대회 관련자만 볼 수 있음

프런트엔드 문제 @권수린

  • Contset 생성 후 Client Side에서 Problem에 접근하려고 하면 URL이 이상함 (https://stage.codedang.com/contest/27//problem/34)
  • 또한, Contest Register 후 Start 이전에 URL로 강제로 접근할 시 Finished 창이 뜸
    • 캡쳐 화면

      image.png


[2026 / 05 / 19] 프로그래밍 대회 대비 QA

버그 리스트

  • reviewer QnA에 댓글 작성 불가능. → 의도된 동장
  • ContestRecord 없어서 Staff도 제출 불가 → 의도된 동작, 스태프는 제출 불가(참여 안했으므로)
  • iris pod을 맘대로 죽이면 안된다 → nest는 상태를 저장하고 있어서 응답이 안오면 계속 그렇게 생각하고 있을 거임. → 확신 X 어떻게 상태 업데이트 하는지 확인해봐야 함.

백엔드 문제


프론트엔드 문제 @권수린

  • Reviewer로 되어있는 사람이 [codedang.com/admin/contest](http://codedang.com/admin/contest로) 접근 시 페이지 접근 가능 → Contest 버튼이 없어야됨
  • management에서 문제 조회 및 수정 권한이 없는 사람도 페이지 자체는 로딩 됨. 막아야… → 프런트
  • course 도 create 로 들어올 수 도 있음. → 이건 사실 실제로는 create 페이지까지는 백앤드 요청이 오고 있지 않아서 프런트에서 막아줘야 함. 근데 실제 생성 시 에러메세지가 부적절함.

Reproduction

Logs

No response

System Info

No response

Validations

Metadata

Metadata

Type

Fields

No fields configured for Bug.

Projects

Status
Done ✔️

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions