You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
argp-standalone을 추가하고 수정해서 안드로이드와 같이 argp 함수를 지원하지 않는 환경에서도 uftrace를 사용 가능하게끔 수정
-> 아쉽게도 maintainer가 argp-standalone 보다 getopt(_long) 방식을 선호하여 closed.
namhyung#961
set follow-fork-mode child
set follow-exec-mode new
가 포함된 .gdbinit을 추가해 편리하게 디버깅 하고자 함
namhyung#981
gnu c 확장인 versionsort를 지원하지 않을 경우 해결
-> 현재로서는 versionsort가 한 군데의 소스코드에만 쓰이기 때문에 versionsort를 대체할 수 있는 generic한 function을 구현하는 것 보다 현재 소스코드에만 적용가능한 함수를 새로 만드는 것을 선호.
Merged pull requests
namhyung#879
configure에서 운영체제가 리눅스가 아닐 경우를 감지하지 못함
-> configure에서 운영체제가 리눅스가 아닐 경우 종료하는 코드 추가
namhyung#887
다양한 배포판에서 uftrace를 테스트 하기 힘듦
-> Dockerfile을 추가하여 다양한 배포판에서 uftrace 테스트 가능
namhyung#947
misc/install-deps.sh 에서 alpine과 manjaro 미지원
-> misc/install-deps.sh 코드를 수정하여 alpine 리눅스와 manjaro 리눅스의 의존성도 설치하게끔 수정
namhyung#960
valgrind로 uftrace를 실행시켜보다가 메모리 누수 발견
-> utils/auto-args.c 에서 발생하는 메모리 누수 해결
namhyung#967
안드로이드에서 빌드할 때의 컴파일 경고 및 에러 해결
-> 안드로이드의 libc인 bionic과 컴파일러인 gcc-clang에 의해 발생하는 컴파일 경고 및 에러 해결.
namhyung#968
termux에서는 gcc-clang을 사용하는데 기본적으로 gcc 보다 많은 경고를 출력해준다
-> libdw가 존재하지 않을 경우에 발생하는 컴파일러 경고 해결
namhyung#982
live replay를 할 때 xstrdup을 하기 이전에 free를 하지 않음으로 인해 메모리 누수가 생긴다
-> 코드 수정 후 해결
namhyung#987 fread() 관련 merge된 코드에서 프로그램이 제대로 동작하지 않는 심각한 문제점을 발견
-> ferror()를 이용해 실제로 에러가 발생했는지 검사하여 해결
namhyung#974
/tmp 디렉토리에 접근이 불가능한 경우 uftrace.data/tmp 디렉토리를 대신 사용하게끔 수정
namhyung#866 luajit을 이용해 lua5.1 스크립트를 실행할 수 있는 기능 추가
-> 이 pull request로 통해 이제 uftrace는 python2 뿐만 아니라 luajit 스크립트도 실행할 수 있게 됨
Pending pull requests
namhyung#973
posix shared memory 함수를 지원하지 않는 환경의 경우 일반 파일 입출력을 사용하게끔 수정
-> 파일 입출력 대신 ashmem과 sysV shm을 사용하게끔 수정예정
namhyung#1002
.travis.yml 에서 install-deps.sh를 이용해 의존성을 설치하도록 수정
-> install-deps.sh가 오동작 할 경우 미리 감지할 수 있음
Learning
https://uftrace.github.io/slide
uftrace 튜토리얼 슬라이드
#89
컨트리뷰션 시작을 위한 레퍼런스
#87
uftrace 이해에 도움이 되는 자료들
#90
uftrace 분석에 도움이 되는 자료들
address sanitizer를 이용한 메모리 버그 찾기
많은 리뷰를 받음으로서 적절한 내용의 commit message를 작성하는 법을 배움
Closed pull requests
namhyung#959
argp-standalone을 추가하고 수정해서 안드로이드와 같이 argp 함수를 지원하지 않는 환경에서도 uftrace를 사용 가능하게끔 수정
-> 아쉽게도 maintainer가 argp-standalone 보다 getopt(_long) 방식을 선호하여 closed.
namhyung#961
set follow-fork-mode child
set follow-exec-mode new
가 포함된 .gdbinit을 추가해 편리하게 디버깅 하고자 함
namhyung#981
gnu c 확장인 versionsort를 지원하지 않을 경우 해결
-> 현재로서는 versionsort가 한 군데의 소스코드에만 쓰이기 때문에 versionsort를 대체할 수 있는 generic한 function을 구현하는 것 보다 현재 소스코드에만 적용가능한 함수를 새로 만드는 것을 선호.
Merged pull requests
namhyung#879
configure에서 운영체제가 리눅스가 아닐 경우를 감지하지 못함
-> configure에서 운영체제가 리눅스가 아닐 경우 종료하는 코드 추가
namhyung#887
다양한 배포판에서 uftrace를 테스트 하기 힘듦
-> Dockerfile을 추가하여 다양한 배포판에서 uftrace 테스트 가능
namhyung#947
misc/install-deps.sh 에서 alpine과 manjaro 미지원
-> misc/install-deps.sh 코드를 수정하여 alpine 리눅스와 manjaro 리눅스의 의존성도 설치하게끔 수정
namhyung#960
valgrind로 uftrace를 실행시켜보다가 메모리 누수 발견
-> utils/auto-args.c 에서 발생하는 메모리 누수 해결
namhyung#967
안드로이드에서 빌드할 때의 컴파일 경고 및 에러 해결
-> 안드로이드의 libc인 bionic과 컴파일러인 gcc-clang에 의해 발생하는 컴파일 경고 및 에러 해결.
namhyung#968
termux에서는 gcc-clang을 사용하는데 기본적으로 gcc 보다 많은 경고를 출력해준다
-> libdw가 존재하지 않을 경우에 발생하는 컴파일러 경고 해결
namhyung#982
live replay를 할 때 xstrdup을 하기 이전에 free를 하지 않음으로 인해 메모리 누수가 생긴다
-> 코드 수정 후 해결
namhyung#987
fread() 관련 merge된 코드에서 프로그램이 제대로 동작하지 않는 심각한 문제점을 발견
-> ferror()를 이용해 실제로 에러가 발생했는지 검사하여 해결
namhyung#974
/tmp 디렉토리에 접근이 불가능한 경우 uftrace.data/tmp 디렉토리를 대신 사용하게끔 수정
namhyung#866
luajit을 이용해 lua5.1 스크립트를 실행할 수 있는 기능 추가
-> 이 pull request로 통해 이제 uftrace는 python2 뿐만 아니라 luajit 스크립트도 실행할 수 있게 됨
Pending pull requests
namhyung#973
posix shared memory 함수를 지원하지 않는 환경의 경우 일반 파일 입출력을 사용하게끔 수정
-> 파일 입출력 대신 ashmem과 sysV shm을 사용하게끔 수정예정
namhyung#1002
.travis.yml 에서 install-deps.sh를 이용해 의존성을 설치하도록 수정
-> install-deps.sh가 오동작 할 경우 미리 감지할 수 있음
namhyung#1004
uftrace-script.md에 luajit에 관한 내용 추가
Result
버그들 수정
마이너한 기능들 추가(안드로이드 빌드를 위한 준비 변경)
메이저한 기능 추가(luajit)
uftrace 멘티들 중에서 추가한 코드 줄 수 1위 달성
Feelings
단독 오픈소스 활동을 주로 하던 저에게 꼼꼼한 코드 리뷰와 올바른 커밋 메세지 작성에 대해 조언을 주신 멘토님들과 maintainer님 덕분에 많이 배운 것 같습니다. 컨트리뷰톤 기간이 끝나도 시간 날 때마다 계속 기여해보고 싶습니다.
The text was updated successfully, but these errors were encountered: