Background Image

FORUM

2017.05.30 01:19

메모리 관련 질문

조회 수 3096 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Linux 64bit
CUBRID Ver.
  CUBRID 9.3 (9.3.6.0002) (64bit release build for linux_gnu)
CUBRID TOOL Ver.
 9.3.6.007 (64bit)
응용 환경(API)
  c++

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.

CCI 드라이버  사용 할 때

http://www.cubrid.org/manual/ko/9.2.0/api/cci.html?highlight=cci_prepare#c.cci_prepare


의  예제 1  의 실행파일이 있다면  Valgrind  로 실행 할 경우 메모리 누수 발생

cci_close_req_handle ( )   호출 시  net_buf_realloc (cci_net_buf.c:288) 소스 부분의  malloc 된 메모리 가 delete( )  되는지 체크 해 주시면 될 것 같습니다.

재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------

Valgrind    로 메모리 누수 부분을 돌려보니   cci_prepare()    함수 호출 후  

cci_close_req_handle(  );  로 close 해주었는데도 net_buf_realloc (cci_net_buf.c:288) 소스 부분의  malloc 된  메모리가 해지 안되는 현상이 있는듯 합니다.

따로 해지할 수 있는 방법이 있을까요?


아래는 Valgrind    수행 결과입니다.

==13137==  Address 0xb7fda61 is 65 bytes inside a block of size 1,024 alloc'd
==13137==    at 0x4C29BE3: malloc (vg_replace_malloc.c:299)
==13137==    by 0x5072C0B: net_buf_realloc (cci_net_buf.c:288)
==13137==    by 0x5072C0B: cnet_buf_cp_str (cci_net_buf.c:117)
==13137==    by 0x5070E29: qe_prepare (cci_query_execute.c:448)
==13137==    by 0x5068508: cci_prepare (cas_cci.c:950)


답변 부탁 드리겠습니다. 감사합니다.

  • ?
    주현 2017.06.02 02:22

    안녕하세요. 큐브리드를 이용해주셔서 감사합니다.


    cci_disconnect(con, &cci_error);를 호출하시면 malloc된 메모리가 해제 될 것입니다.


    감사합니다.

    아래는 cci_close_req_handle()이후 cci_disconnect()까지 수행한 결과입니다.


    [bagus@newTest2 RunCcode]$ valgrind --leak-check=yes ./simple
    ==27387== Memcheck, a memory error detector
    ==27387== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
    ==27387== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
    ==27387== Command: ./simple
    ==27387==
    1       |test                   |test   |
    2       |[ttt]test              |[ttt]test      |
    3       |[[ttt]]test            |[[ttt]]test    |
    ==27387==
    ==27387== HEAP SUMMARY:
    ==27387==     in use at exit: 0 bytes in 0 blocks
    ==27387==   total heap usage: 92 allocs, 92 frees, 31,715 bytes allocated
    ==27387==
    ==27387== All heap blocks were freed -- no leaks are possible

  • ?
    주현 2017.06.02 02:26

    안녕하세요. 큐브리드를 이용해주셔서 감사합니다.


    담당자 분이 작성자님과 유선연락이 되어 내부 처리 중에 있는 이슈이네요.


    분석 후, 담당자가 연락 드리도록 하겠습니다. 감사합니다.


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 48
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
3894 큐브리드 2008 R1.3 버전 설치 질문 3 김우람 2009.02.25 13608
3893 select하여, 일부만 변수값으로 넣으려고 합니다... 1 안지민 2009.02.26 13530
3892 java proc 1 벅지 2009.02.26 16999
3891 VARCHAR 타입에 관한 질문. 2 김우람 2009.02.26 26250
3890 procedure 내 내부 커넥션 4 벅지 2009.02.27 24426
3889 큐브리드 잠금정보 관련 질문 드립니다. 5 kkckc 2009.02.27 14497
3888 리눅스에서 큐브리드 설치시 문제입니다 2 file 유니콘 2009.02.27 13563
3887 서브쿼리에서 두개 이상의 데이터를 참조하려면. 2 안지민 2009.03.03 22320
3886 오라클에서 큐브리드로 마이그레이션 방법이 있나요? 1 삽질쟁이 2009.03.03 16004
3885 FreeBSD port 지원 가능한가요? 1 자유연애 2009.03.03 14524
3884 자동증가 필드 질문합니다 1 유니콘 2009.03.04 16024
3883 Java Heap Space 에러가 납니다 2 file 유니콘 2009.03.04 18182
3882 rownum은 order by에 영향을 안 받네요 2 안지민 2009.03.04 20485
3881 manager server에 이상이 생긴 거 같습니다. 4 Devin 2009.03.05 11389
3880 자바 함수 생성후 결과값 확인을 어떻게 하는지?? 3 이석희 2009.03.05 18751
3879 에러 코드 조회 3 kkckc 2009.03.05 11839
3878 아무리 생각해도 이건 버그 같습니다. 3 안지민 2009.03.06 11498
3877 왜 컬럼이름이 안붙나요...... 1 file 안지민 2009.03.06 12075
3876 테이블 파티셔닝은 1 홍서기 2009.03.07 15037
3875 DB 로그인시 에러 1 file 이석희 2009.03.12 11748
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 200 Next
/ 200

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales