* valgrind2grep: - ignore some leaked motif memory (wont fix that (now))
* added aw_uninstall_xkeys() and AW_root::exit_root() to stuff some memleaks
41 lines of code changed in 5 files:
* GBS_strstruct
- made a class
- added unit tests
218 lines of code changed in 3 files:
* again added old hack-around removed in [6654]
* enabled TRACE_ALLOCS - making unit tests fail for the moment
2 lines of code changed in 2 files:
- AllocLogEntry uses void*
6 lines of code changed in 1 file:
- allow infinite NTREE clones
1 lines of code changed in 1 file:
- don't warn when reporting probe matches to field 'tmp' twice. append instead.
24 lines of code changed in 1 file:
* moved match visualization ("GUCACGGCU-=NN=====g=-CAGCAGCCC") from match_string() (aisc:MATCH_STRING) to get_match_overlay()
* removed redundant calculation of wmis/wmismatches (MATCHLIST_WMISMATCHES)
* added rpc hook for get_match_overlay() to PT.aisc (MATCHLIST_OVERLAY)
* removed rpc hook for unused variable is_member (MATCHLIST_IS_MEMBER)
(thx to elmar)
27 lines of code changed in 2 files:
* replaced tests in DB-read/write functions by some inlines providing more info
- no longer call GB_internal_error, instead dump backtrace/fail assertion in serious cases
- report(write) or export(read) error otherwise
- did not really replace macros GB_TEST_READ/GB_TEST_WRITE yet (impending conflicts)
63 lines of code changed in 1 file:
* AW_root
- ctor initializes AWAR subsystem
- made more clear that AW_root is a singleton
- call dtor atexit; unlink AWARs from prop-DB and free memory (AW_window instances and releated mem still remain)
- close properties DB
- renamed some functions
* AW_awar
- added dtor
* added AWT_create_root (necessary to add properties DB to DB-browser)
* removed AWT_open_properties (done inside AW_root-ctor now)
* EDIT properties
- detect existing properties before constructing AW_root
* removed AW_config_struct
300 lines of code changed in 29 files:
- added GB_open_DBs() - returns number of open ARB databases
5 lines of code changed in 2 files:
- free remote_hash
1 lines of code changed in 1 file:
* allow GB_close in "no transaction" mode (needed to close properties DB)
* free some memory allocated by GBT_open()
6 lines of code changed in 2 files:
- exclude directory UNIT_TESTER/tests
1 lines of code changed in 1 file:
* gbm_get_mem / gbm_free_mem use void* (like malloc/free)
64 lines of code changed in 15 files:
- more fixes to source-list
4 lines of code changed in 1 file:
* free()
- removed unneeded casts of argument
- removed unneeded if-clauses
103 lines of code changed in 37 files:
- include lib depends to arb_src.tgz
2 lines of code changed in 1 file:
- undo part of [6656]
2 lines of code changed in 1 file:
- removed unneeded 'struct' keyword
- renamed several structs (especially things like 'blabla_struct')
1349 lines of code changed in 88 files:
* struct GBS_strstruct -> GBS_strstruct
71 lines of code changed in 12 files:
* This patch stuffs all memory leaks in ARBDB (as far as covered by unit-tests) for DEBUG and NDEBUG version!
* ARBDB global data (aka 'gb_local')
- track number of opened/closed DBs
- GBK_install_SIGSEGV_handler only once in GB_init_gb()
- when closing last DB -> call GB_exit_gb() freeing more memory (also called atexit, including assertion failing if a DB is still open)
- added class ARBDB_memory_manager (just calls gbm_init_mem + gbm_flush_mem)
- GB_exit_gb flushes ARBDB_memory_manager (if all blocks were freed by gbm_free_mem, everything will be flushed)
* fixed a few more static buffer leaks
* gb_make_entry - alloc correct blocksizes for GB_STRING and GB_LINK
* fixed a hack in gb_read_bin_rek_V2
- was increasing size of memory block to avoid illegal memory access in decompress (introduced in [1003]; may occur again)
- due to mismatch in size between gbm_get_mem and gbm_free_mem memory was never flushed even if all blocks have been freed
* fixed memleak in gb_read_bin_rek_V2
- when loading mapfile, previously created 'gb_main' was not freed
* added allocation logger to admalloc.cxx (inactive - use TRACE_ALLOCS to activate it)
- traces all allocs/frees of ARBDB managed memory
- detects wrong usage (double free, size and index mismatch) and shows were the block was allocated
- added new backtrace functions helpful for debugging (store stack-backtraces and print them later)
403 lines of code changed in 13 files:
- skip scoped symbols (xx::yy) - e.g. static variables inside functions
3 lines of code changed in 1 file:
- use smart pointers for several static buffers (freeing more reachable memleaks)
57 lines of code changed in 3 files:
- rewrote arb_tcp.dat-handling (fixing memleaks)
82 lines of code changed in 1 file:
- fixed memleak caused by hash-statistics (DEBUG only)
33 lines of code changed in 1 file:
* GB_close crashed for DBs with mapfiles since [6648]
- on mapfile-load relink new DB main-entry to dummy-father
- use ARBDB memory management for DB indices (was always wrong, but no problem since they were never freed)
11 lines of code changed in 3 files:
* stuffed all direct memory leaks in GB_open/GB_close
- call gbcm_logout for main-user
- free dates
- gb_delete_main_entry -> gb_delete_dummy_father
- free key data
- free command hash
- splitted up gb_delete_entry into GBDATA- and GBCONTAINER-version
- destroy DB indices when destroying GBCONTAINER
200 lines of code changed in 9 files:
- field conversion errors were reported for wrong species
2 lines of code changed in 1 file:
* DB cache
- didn't cache anything since ages (gb_cache_entry.clock was always zero, i.e. always out-of-date). Was already broken in [2].
- increased max. cache memory from 25Mb to 50Mb
- increased max. cache entries from 8192 to 16384
- destroy cache on GB_close (fixes biggest and most useless ARBDB memleak)
- changed cache indices to uint16_t (reducing each cache entry by 8 byte (16 byte;64bit)).
- rewrote complete cache code removing much duplicated code
- added debug code to calc cache stats
* increased max. undo memory from 10Mb to 20Mb
294 lines of code changed in 8 files:
- fix error handling
2 lines of code changed in 1 file:
- disabled several debug prints
17 lines of code changed in 1 file:
- compile error
0 lines of code changed in 1 file:
- disabled some DEBUG code
2 lines of code changed in 1 file:
* fast_aligner
- fill start of alignBuffer with gaps when aligning partial sequence only (w/o this insertion of result from clustalV produced checksum errors)
- avoid possible error-overwrite
17 lines of code changed in 1 file:
* removed unused parameters/parameter names
* made several functions static
* removed useless struct keywords
105 lines of code changed in 12 files:
* GB_change_my_security
- removed constant result
- removed unused parameter 'passwd'
15 lines of code changed in 8 files:
* replaced more duplicated code
15 lines of code changed in 1 file:
* replaced duplicated code
21 lines of code changed in 1 file:
* replaced defines by enum GBCM_ServerResult
- fixed functions
84 lines of code changed in 5 files:
* removed unused parameter names (fixing unused warnings)
16 lines of code changed in 1 file:
* ARBDB memory management
- gbm_put_memblk/gbm_get_memblk went static
- renamed gbm_get_mem_impl/gbm_free_mem_impl to avoid auto-prototyping
- replaced macros handling MEMORY_TEST=0/1 by inline-functions to get rid of unused-warnings
* removed some unused code
18 lines of code changed in 5 files:
- unused warnings (removed parameters/parameternames)
16 lines of code changed in 6 files:
- rename
2 lines of code changed in 2 files:
- automatically name unnamed parameters in xsub-wrappers
8 lines of code changed in 1 file:
- gb_save_mapfile returns GB_ERROR instead of exporting it
4 lines of code changed in 3 files:
* fixed DB-main-index handling
- use GB_random() instead of time() to choose a random index
- release indices when destroying DB-main
- release index if error occurs while logging into DB
* gb_save_mapfile()
- release temporary DB-main-index used during save
- now it's possible to save a DB with mapfile and to load it afterwards w/o getting an index conflict
- single return
- removed gotos
* rewrote GB_save_as(), GB_save_quick_as(), GB_save_quick() and gb_check_saveable()
- single return
- removed gotos
- fixed error handling
- if saving mapfile fails, fallback to simple binary save
- quicksave did not return error if quicksaving was disabled. Instead silently no quicksave occurred! (related to stable patch [6519])
* several fixes of error-handling in
- gb_create_reference
- gb_add_reference
- renameQuicksaves
- GB_create_directory
* unit tests
- test save/load of mapfile (NDEBUG or MEMORY_TEST=0 only)
- fixed wrong use of TEST_ASSERT_RESULT!__NOERROREXPORTED; complete tested call needs to be passed as argument - not just result of call; otherwise it will only warn about exported error instead of creating a test failure.
427 lines of code changed in 5 files:
- depends + prototypes updated
2 lines of code changed in 2 files:
- quicksave *.a99 was never used
42 lines of code changed in 1 file:
- unit tests for save/load DB
229 lines of code changed in 1 file:
* DBs for unit-testing
106 lines of code changed in 3 files:
* some unit-test assertions for error handling
129 lines of code changed in 1 file:
* was not able to load ASCII-DB, if one string entry starts with '%'
27 lines of code changed in 1 file:
* if DB contained no tree, NDS list view was unscrollable
- reason: AWT_graphic_tree::check_update() returned error if no tree-root found. fixed
1 lines of code changed in 1 file:
- debug output
1 lines of code changed in 1 file:
- determine hash-size from tree-size (reverts hack [6619])
1 lines of code changed in 1 file:
- ~~fixed useless hash-size-warning (occurs with many zombies)~~
(reverted by [6620])
2 lines of code changed in 1 file:
* If properties were saved with 'Rotate molecule'=true, the meaning of the toggle was inverted.
- now molecule starts rotating instantly after startup
* removed useless static variable 'Spinning' (was just a duplicate of 'RNA3D->bAutoRotate')
21 lines of code changed in 1 file:
- fix_depends.pl didn't work if $ARBHOME contained '+' or similar
2 lines of code changed in 1 file:
* restored previous version (checkin by mistake)
0 lines of code changed in 1 file:
* when installing SIGPIPE handlers, also accept SIG_IGN as old handler
18 lines of code changed in 6 files:
- swapped argument order of ASSERT_RESULT()
13 lines of code changed in 5 files: