Skip to content
This repository has been archived by the owner on Apr 17, 2022. It is now read-only.

leaks ahoy #1673

Closed
wzdev-ci opened this issue Mar 9, 2010 · 24 comments
Closed

leaks ahoy #1673

wzdev-ci opened this issue Mar 9, 2010 · 24 comments

Comments

@wzdev-ci
Copy link
Contributor

wzdev-ci commented Mar 9, 2010

resolution_closed type_bug | by Buginator


For some crazy reason, someone thought it would be nice to nuke pointers in the 'init' stage, and not what the pointer was pointing to. This caused memory leaks.

Note, I really think we should go back to using memory pools for the blasted parser crapola, and maybe even the game state.
I believe this is part of the reason why savegames are getting 'invalid' data in them.

Fix memleak for mod_list.

Fix memleak for stars.

Fix memleak for apCompLists. (the /* ... */ stuff will be gone on commit.)

Fix memleak for ALLOC_STATS macro.

in systemShutdown(), gonna move freeComponentLists() & statsShutDown()to a better place...

and sill got to fix leaks for events (didn't have time to fix)

..\lib\script\event.c(460) : {695168} normal block at 0x03A549C0, 255 bytes long.
..\lib\script\event.c(460) : {695375} normal block at 0x03A7D2D0, 255 bytes long.
..\lib\script\event.c(460) : {695582} normal block at 0x03A7F9C0, 255 bytes long.
..\lib\script\event.c(460) : {695789} normal block at 0x03A7A0F8, 255 bytes long.
..\lib\script\event.c(460) : {695996} normal block at 0x03A6FDE8, 255 bytes long.
..\lib\script\event.c(460) : {696203} normal block at 0x03A59C10, 255 bytes long.
..\lib\script\event.c(460) : {696410} normal block at 0x03A80A68, 255 bytes long.
..\lib\script\event.c(460) : {696617} normal block at 0x03A55B00, 255 bytes long.

and visibility (didn't have time to fix)

..\src\visibility.c(374) : {450377} normal block at 0x039F2FB0, 360 bytes long.
..\src\visibility.c(374) : {450391} normal block at 0x039F6228, 344 bytes long.
..\src\visibility.c(374) : {450393} normal block at 0x039F6948, 366 bytes long.
..\src\visibility.c(374) : {450395} normal block at 0x039F7080, 386 bytes long.
..\src\visibility.c(374) : {450397} normal block at 0x039F77C8, 390 bytes long.
..\src\visibility.c(374) : {450399} normal block at 0x039F7F18, 394 bytes long.
..\src\visibility.c(374) : {450401} normal block at 0x039F8668, 404 bytes long.
..\src\visibility.c(374) : {450403} normal block at 0x039F8DC0, 370 bytes long.
..\src\visibility.c(374) : {450405} normal block at 0x039F94F8, 422 bytes long.
..\src\visibility.c(374) : {450517} normal block at 0x039FE630, 386 bytes long.
..\src\visibility.c(374) : {450522} normal block at 0x039FECF0, 360 bytes long.
..\src\visibility.c(374) : {450529} normal block at 0x039FF7F0, 876 bytes long.
..\src\visibility.c(374) : {450538} normal block at 0x03A00738, 948 bytes long.
..\src\visibility.c(374) : {450551} normal block at 0x03A01BF8, 184 bytes long.
..\src\visibility.c(374) : {450556} normal block at 0x03A021F0, 276 bytes long.
..\src\visibility.c(374) : {450560} normal block at 0x03A027F0, 602 bytes long.
..\src\visibility.c(374) : {450573} normal block at 0x03A03AD0, 268 bytes long.
..\src\visibility.c(374) : {450578} normal block at 0x03A04118, 310 bytes long.
..\src\visibility.c(374) : {450582} normal block at 0x03A04740, 512 bytes long.
..\src\visibility.c(374) : {450592} normal block at 0x03A05538, 268 bytes long.
..\src\visibility.c(374) : {450597} normal block at 0x03A05B80, 306 bytes long.
..\src\visibility.c(374) : {450610} normal block at 0x03A06F18, 876 bytes long.
..\src\visibility.c(374) : {450617} normal block at 0x03A07A50, 324 bytes long.
..\src\visibility.c(374) : {450622} normal block at 0x03A080D0, 318 bytes long.
..\src\visibility.c(374) : {450626} normal block at 0x03A08700, 690 bytes long.
..\src\visibility.c(374) : {450639} normal block at 0x03A09A80, 312 bytes long.
..\src\visibility.c(374) : {450644} normal block at 0x03A0A0F8, 348 bytes long.
..\src\visibility.c(374) : {450648} normal block at 0x03A0A740, 840 bytes long.
..\src\visibility.c(374) : {450658} normal block at 0x03A0B6A8, 290 bytes long.
..\src\visibility.c(374) : {450663} normal block at 0x03A0BD08, 270 bytes long.
..\src\visibility.c(374) : {450670} normal block at 0x03A0C738, 696 bytes long.
..\src\visibility.c(374) : {450680} normal block at 0x03A0D648, 312 bytes long.
..\src\visibility.c(374) : {450685} normal block at 0x03A0DCC0, 298 bytes long.
..\src\visibility.c(374) : {450694} normal block at 0x03A0ED20, 442 bytes long.
..\src\visibility.c(374) : {450696} normal block at 0x03A0F1F8, 388 bytes long.
..\src\visibility.c(374) : {450698} normal block at 0x03A0F698, 428 bytes long.
..\src\visibility.c(374) : {450700} normal block at 0x03A0FB60, 422 bytes long.
..\src\visibility.c(374) : {450707} normal block at 0x03A10C38, 422 bytes long.
..\src\visibility.c(374) : {450710} normal block at 0x03A0CDC0, 174 bytes long.
..\src\visibility.c(374) : {450714} normal block at 0x03A11380, 160 bytes long.
..\src\visibility.c(374) : {450718} normal block at 0x03A117F0, 230 bytes long.
..\src\visibility.c(374) : {450720} normal block at 0x03A11BF8, 232 bytes long.
..\src\visibility.c(374) : {450722} normal block at 0x03A12000, 304 bytes long.
..\src\visibility.c(374) : {450724} normal block at 0x03A12450, 238 bytes long.
..\src\visibility.c(374) : {450726} normal block at 0x03A12860, 330 bytes long.
..\src\visibility.c(374) : {450727} normal block at 0x03A0B2A0, 152 bytes long.
..\src\visibility.c(374) : {450731} normal block at 0x03A12D78, 140 bytes long.
..\src\visibility.c(374) : {450736} normal block at 0x03A13750, 346 bytes long.
..\src\visibility.c(374) : {450740} normal block at 0x03A13D98, 332 bytes long.
..\src\visibility.c(374) : {450742} normal block at 0x03A14200, 324 bytes long.
..\src\visibility.c(374) : {450744} normal block at 0x03A14660, 388 bytes long.
..\src\visibility.c(374) : {450746} normal block at 0x03A14B00, 370 bytes long.
..\src\visibility.c(374) : {450752} normal block at 0x03A15B50, 378 bytes long.
..\src\visibility.c(374) : {450754} normal block at 0x03A15FE8, 388 bytes long.
..\src\visibility.c(374) : {450755} normal block at 0x03A02E18, 132 bytes long.
..\src\visibility.c(374) : {450759} normal block at 0x03A16538, 150 bytes long.
..\src\visibility.c(374) : {450761} normal block at 0x03A168F0, 312 bytes long.
..\src\visibility.c(374) : {450767} normal block at 0x03A17908, 322 bytes long.
..\src\visibility.c(374) : {450769} normal block at 0x03A17D68, 294 bytes long.
..\src\visibility.c(374) : {450771} normal block at 0x03A181B0, 330 bytes long.
..\src\visibility.c(374) : {450773} normal block at 0x03A18618, 332 bytes long.
..\src\visibility.c(374) : {450775} normal block at 0x03A18A80, 404 bytes long.
..\src\visibility.c(374) : {450777} normal block at 0x03A18F30, 394 bytes long.
..\src\visibility.c(374) : {450784} normal block at 0x03A19FE8, 350 bytes long.
..\src\visibility.c(374) : {450789} normal block at 0x039FFF28, 150 bytes long.
..\src\visibility.c(374) : {450793} normal block at 0x03A1ACC8, 142 bytes long.
..\src\visibility.c(374) : {450795} normal block at 0x03A1B078, 362 bytes long.
..\src\visibility.c(374) : {450797} normal block at 0x03A1B500, 388 bytes long.
..\src\visibility.c(374) : {450799} normal block at 0x03A1B9A0, 400 bytes long.
..\src\visibility.c(374) : {450806} normal block at 0x03A1CA60, 426 bytes long.
..\src\visibility.c(374) : {450809} normal block at 0x03A08D80, 162 bytes long.
..\src\visibility.c(374) : {450813} normal block at 0x03A1D1A8, 152 bytes long.
..\src\visibility.c(374) : {450815} normal block at 0x03A1D560, 280 bytes long.
..\src\visibility.c(374) : {450817} normal block at 0x03A1D998, 450 bytes long.
..\src\visibility.c(374) : {450819} normal block at 0x03A1DE78, 444 bytes long.
..\src\visibility.c(374) : {450821} normal block at 0x03A1E350, 450 bytes long.
..\src\visibility.c(374) : {450823} normal block at 0x03A1E830, 444 bytes long.
..\src\visibility.c(374) : {450830} normal block at 0x03A1F918, 448 bytes long.
..\src\visibility.c(374) : {450834} normal block at 0x03A1FFC8, 320 bytes long.
..\src\visibility.c(374) : {450836} normal block at 0x03A20428, 336 bytes long.
..\src\visibility.c(374) : {450837} normal block at 0x03A07650, 146 bytes long.
..\src\visibility.c(374) : {450841} normal block at 0x03A20948, 194 bytes long.
..\src\visibility.c(374) : {450845} normal block at 0x03A21308, 412 bytes long.
..\src\visibility.c(374) : {450847} normal block at 0x03A217C0, 376 bytes long.
..\src\visibility.c(374) : {450849} normal block at 0x03A21C58, 384 bytes long.
..\src\visibility.c(374) : {450852} normal block at 0x03A22148, 370 bytes long.
..\src\visibility.c(374) : {450856} normal block at 0x03A227A8, 384 bytes long.
..\src\visibility.c(374) : {450858} normal block at 0x03A22C48, 300 bytes long.
..\src\visibility.c(374) : {450860} normal block at 0x03A23090, 414 bytes long.
..\src\visibility.c(374) : {450862} normal block at 0x03A23550, 386 bytes long.
..\src\visibility.c(374) : {450870} normal block at 0x03A24660, 166 bytes long.
..\src\visibility.c(374) : {450871} normal block at 0x03A04D10, 140 bytes long.
..\src\visibility.c(374) : {450873} normal block at 0x03A24A28, 290 bytes long.
..\src\visibility.c(374) : {450878} normal block at 0x03A25498, 368 bytes long.
..\src\visibility.c(374) : {450882} normal block at 0x03A25AF8, 386 bytes long.
..\src\visibility.c(374) : {450884} normal block at 0x03A25F98, 350 bytes long.
..\src\visibility.c(374) : {450886} normal block at 0x03A26418, 388 bytes long.
..\src\visibility.c(374) : {450888} normal block at 0x03A268B8, 344 bytes long.
..\src\visibility.c(374) : {450895} normal block at 0x03A27BE0, 386 bytes long.
..\src\visibility.c(374) : {450897} normal block at 0x03A28080, 388 bytes long.
..\src\visibility.c(374) : {450898} normal block at 0x03A00EB8, 160 bytes long.
..\src\visibility.c(374) : {450902} normal block at 0x03A285D0, 132 bytes long.
..\src\visibility.c(374) : {450904} normal block at 0x03A28970, 300 bytes long.
..\src\visibility.c(374) : {450908} normal block at 0x03A29398, 414 bytes long.
..\src\visibility.c(374) : {450910} normal block at 0x03A29858, 386 bytes long.
..\src\visibility.c(374) : {450912} normal block at 0x03A29CF8, 418 bytes long.
..\src\visibility.c(374) : {450914} normal block at 0x03A2A1B8, 406 bytes long.
..\src\visibility.c(374) : {450921} normal block at 0x03A2B280, 408 bytes long.
..\src\visibility.c(374) : {450927} normal block at 0x03A2BEE8, 458 bytes long.
..\src\visibility.c(374) : {450929} normal block at 0x03A2C3D0, 454 bytes long.
..\src\visibility.c(374) : {450933} normal block at 0x03A2C968, 352 bytes long.
..\src\visibility.c(374) : {450939} normal block at 0x03A03648, 278 bytes long.
..\src\visibility.c(374) : {450940} normal block at 0x03A2D418, 224 bytes long.
..\src\visibility.c(374) : {450941} normal block at 0x03A0C358, 194 bytes long.
..\src\visibility.c(374) : {450945} normal block at 0x03A2D868, 278 bytes long.
..\src\visibility.c(374) : {450949} normal block at 0x03A2DD50, 346 bytes long.
..\src\visibility.c(374) : {450950} normal block at 0x03A03208, 210 bytes long.
..\src\visibility.c(374) : {450951} normal block at 0x03A0ADF8, 214 bytes long.
..\src\visibility.c(374) : {450957} normal block at 0x03A2E858, 276 bytes long.
..\src\visibility.c(374) : {450961} normal block at 0x03A00330, 232 bytes long.
..\src\visibility.c(374) : {450962} normal block at 0x03A2ECD8, 240 bytes long.
..\src\visibility.c(374) : {450963} normal block at 0x039FF398, 310 bytes long.
..\src\visibility.c(374) : {450965} normal block at 0x03A2F0E8, 482 bytes long.
..\src\visibility.c(374) : {450967} normal block at 0x03A2F5E8, 408 bytes long.
..\src\visibility.c(374) : {450969} normal block at 0x03A2FAA0, 436 bytes long.
..\src\visibility.c(374) : {450971} normal block at 0x03A2FF70, 434 bytes long.
..\src\visibility.c(374) : {450973} normal block at 0x03A30440, 424 bytes long.
..\src\visibility.c(374) : {450975} normal block at 0x03A30908, 416 bytes long.
..\src\visibility.c(374) : {450980} normal block at 0x03A09190, 250 bytes long.
..\src\visibility.c(374) : {450984} normal block at 0x03A319D8, 232 bytes long.
..\src\visibility.c(374) : {450988} normal block at 0x03A31E90, 360 bytes long.
..\src\visibility.c(374) : {450990} normal block at 0x03A32318, 402 bytes long.
..\src\visibility.c(374) : {450992} normal block at 0x03A327C8, 378 bytes long.
..\src\visibility.c(374) : {450995} normal block at 0x03A06698, 208 bytes long.
..\src\visibility.c(374) : {450999} normal block at 0x03A33290, 296 bytes long.
..\src\visibility.c(374) : {451003} normal block at 0x03A33788, 308 bytes long.
..\src\visibility.c(374) : {451005} normal block at 0x03A33BD8, 488 bytes long.
..\src\visibility.c(374) : {451007} normal block at 0x03A340E0, 486 bytes long.
..\src\visibility.c(374) : {451008} normal block at 0x03A06AD8, 292 bytes long.
..\src\visibility.c(374) : {451010} normal block at 0x03A05108, 194 bytes long.
..\src\visibility.c(374) : {451017} normal block at 0x03A34E38, 268 bytes long.
..\src\visibility.c(374) : {451018} normal block at 0x03A34928, 318 bytes long.
..\src\visibility.c(374) : {451019} normal block at 0x03A061F0, 310 bytes long.
..\src\visibility.c(374) : {451023} normal block at 0x03A01790, 250 bytes long.
..\src\visibility.c(374) : {451024} normal block at 0x03A352B0, 356 bytes long.
..\src\visibility.c(374) : {451028} normal block at 0x03A357E0, 236 bytes long.
..\src\visibility.c(374) : {451029} normal block at 0x03A012C8, 348 bytes long.
..\src\visibility.c(374) : {451033} normal block at 0x03A361C8, 382 bytes long.
..\src\visibility.c(374) : {451035} normal block at 0x03A36668, 388 bytes long.
..\src\visibility.c(374) : {451039} normal block at 0x03A0E328, 246 bytes long.
..\src\visibility.c(374) : {451040} normal block at 0x03A36B58, 224 bytes long.
..\src\visibility.c(374) : {451041} normal block at 0x03A0D1E0, 248 bytes long.
..\src\visibility.c(374) : {451045} normal block at 0x03A37538, 268 bytes long.
..\src\visibility.c(374) : {451047} normal block at 0x03A37960, 324 bytes long.
..\src\visibility.c(374) : {451049} normal block at 0x03A37DC0, 500 bytes long.
..\src\visibility.c(374) : {451051} normal block at 0x03A382D0, 456 bytes long.
..\src\visibility.c(374) : {451053} normal block at 0x03A387B8, 388 bytes long.
..\src\visibility.c(374) : {451055} normal block at 0x03A38C58, 352 bytes long.
..\src\visibility.c(374) : {451057} normal block at 0x03A390D8, 486 bytes long.
..\src\visibility.c(374) : {451059} normal block at 0x03A395E0, 438 bytes long.
..\src\visibility.c(374) : {451060} normal block at 0x03A095F8, 284 bytes long.
..\src\visibility.c(374) : {451063} normal block at 0x03A39B08, 422 bytes long.
..\src\visibility.c(374) : {451067} normal block at 0x03A3A1A0, 424 bytes long.
..\src\visibility.c(374) : {451069} normal block at 0x03A3A668, 416 bytes long.
..\src\visibility.c(374) : {451071} normal block at 0x03A3AB28, 428 bytes long.
..\src\visibility.c(374) : {451073} normal block at 0x03A3AFF0, 416 bytes long.
..\src\visibility.c(374) : {451080} normal block at 0x03A3C0C0, 368 bytes long.
..\src\visibility.c(374) : {451084} normal block at 0x03A3C720, 382 bytes long.
..\src\visibility.c(374) : {451086} normal block at 0x03A3CBC0, 350 bytes long.
..\src\visibility.c(374) : {451088} normal block at 0x03A3D040, 398 bytes long.
..\src\visibility.c(374) : {451090} normal block at 0x03A3D4F0, 350 bytes long.
..\src\visibility.c(374) : {451096} normal block at 0x03A3E530, 396 bytes long.
..\src\visibility.c(374) : {451098} normal block at 0x03A3E9D8, 388 bytes long.
..\src\visibility.c(374) : {451100} normal block at 0x03A3EE78, 404 bytes long.
..\src\visibility.c(374) : {451102} normal block at 0x03A3F328, 390 bytes long.
..\src\visibility.c(374) : {451109} normal block at 0x03A403E0, 396 bytes long.
..\src\visibility.c(374) : {451113} normal block at 0x03A40A58, 346 bytes long.
..\src\visibility.c(374) : {451115} normal block at 0x03A40ED0, 390 bytes long.
..\src\visibility.c(374) : {451117} normal block at 0x03A41378, 402 bytes long.
..\src\visibility.c(374) : {451119} normal block at 0x03A41828, 330 bytes long.
..\src\visibility.c(374) : {451126} normal block at 0x03A428A0, 368 bytes long.
..\src\visibility.c(374) : {451131} normal block at 0x03A42F50, 406 bytes long.
..\src\visibility.c(374) : {451135} normal block at 0x03A435D8, 400 bytes long.
..\src\visibility.c(374) : {451137} normal block at 0x03A43A88, 394 bytes long.
..\src\visibility.c(374) : {451139} normal block at 0x03A43F30, 426 bytes long.
..\src\visibility.c(374) : {451141} normal block at 0x03A443F8, 422 bytes long.
..\src\visibility.c(374) : {451147} normal block at 0x03A45480, 406 bytes long.
..\src\visibility.c(374) : {451149} normal block at 0x03A45938, 382 bytes long.
..\src\visibility.c(374) : {451151} normal block at 0x03A45DD8, 354 bytes long.
..\src\visibility.c(374) : {451153} normal block at 0x03A46258, 350 bytes long.
..\src\visibility.c(374) : {451160} normal block at 0x03A472E8, 370 bytes long.
..\src\visibility.c(374) : {451169} normal block at 0x03A48558, 430 bytes long.
..\src\visibility.c(374) : {451173} normal block at 0x03A48BF8, 430 bytes long.
..\src\visibility.c(374) : {451175} normal block at 0x03A490C8, 420 bytes long.
..\src\visibility.c(374) : {451177} normal block at 0x03A49588, 424 bytes long.
..\src\visibility.c(374) : {451179} normal block at 0x03A49A50, 442 bytes long.
..\src\visibility.c(374) : {451181} normal block at 0x03A49F28, 450 bytes long.
..\src\visibility.c(374) : {451183} normal block at 0x03A4A408, 450 bytes long.
..\src\visibility.c(374) : {451185} normal block at 0x03A4A8E8, 450 bytes long.
..\src\visibility.c(374) : {451187} normal block at 0x03A4ADC8, 450 bytes long.
..\src\visibility.c(374) : {451194} normal block at 0x03A4BEB8, 446 bytes long.
..\src\visibility.c(374) : {702370} normal block at 0x039F5B00, 356 bytes long.
..\src\visibility.c(374) : {702371} normal block at 0x039F3DE0, 396 bytes long.
..\src\visibility.c(374) : {702372} normal block at 0x039F4530, 396 bytes long.
..\src\visibility.c(374) : {702373} normal block at 0x03757B48, 324 bytes long.
..\src\visibility.c(374) : {702379} normal block at 0x039F4C90, 388 bytes long.
..\src\visibility.c(374) : {702380} normal block at 0x039F2898, 326 bytes long.
..\src\visibility.c(374) : {702381} normal block at 0x039F36E0, 314 bytes long.

Issue migrated from trac:1673 at 2022-04-15 21:12:28 -0700

@wzdev-ci
Copy link
Contributor Author

wzdev-ci commented Mar 9, 2010

Buginator uploaded file memleaks1.patch (5.6 KiB)

@wzdev-ci
Copy link
Contributor Author

Buginator commented


Fixed all but stack, event, and I think that is it...

@wzdev-ci
Copy link
Contributor Author

Buginator uploaded file Zmemtest2.patch (12.2 KiB)

@wzdev-ci
Copy link
Contributor Author

Buginator commented


(In [10255]) Fix mem leaks concerning screenshots

2.3: [10249]

refs #1673

@wzdev-ci
Copy link
Contributor Author

Buginator commented


(In [10257]) Fix memleak in stars

2.3: [10245]

refs #1673

@wzdev-ci
Copy link
Contributor Author

svnsync commented


(In [10258]) Fix memleak in stats, and get rid of code that was causing dangling pointers.

2.3: [10246]

refs #1673

@wzdev-ci
Copy link
Contributor Author

Buginator commented


(In [10259]) Fix mem leaks concerning apCompLists

2.3: [10247]

refs #1673

@wzdev-ci
Copy link
Contributor Author

Buginator commented


(In [10260]) Fix mem leaks concerning Visibility

2.3: [10248]

refs #1673

@wzdev-ci
Copy link
Contributor Author

Buginator commented


(In [10261]) Add new routines for MSVC that allows us to toggle the allocation tracking.

Currently, it is only used in debug builds for strdup().
For release builds, we use _strdup().

This was necessary to prevent reporting of tons of 'memory leaks' caused by strdup(). Mostly caused by all the parsers lack of cleaning up after themselves.

Sample of what it does is shown. When we don't toggle the allocator, then it is added to the Normal Blocks. If we do toggle the allocator, then it is added to the CRT Blocks.
0 bytes in 0 Free Blocks means no memory leaks (for this quick loading of a SP mission--we still have LOTS of other leaks!)
I believe you can figure out what the rest of the stats mean.

0 bytes in 0 Free Blocks.
913860 bytes in 1826 Normal Blocks.
18745 bytes in 139 CRT Blocks.
0 bytes in 0 Ignore Blocks.
0 bytes in 0 Client Blocks.
Largest number used: 13564181 bytes.
Total allocations: 283917669 bytes.

2.3: [10250]

refs #1673

@wzdev-ci
Copy link
Contributor Author

Buginator commented


(In [10262]) Cleanup main so we only have 1 atexit() call for our system shutdown routine, instead of hiding multiple shutdown routines using atexit() for each.

Currently, we have 1 atexit for our main shutdown routine, and 1 atexit call for the exception handler.

Fix mem leak for mod list.

Also dump allocator stats for MSVC people

2.3: [10251]

refs #1673

@wzdev-ci
Copy link
Contributor Author

Git SVN Gateway <gateway@...> commented


(In Warzone2100/warzone2100@90326fc) Fix mem leaks concerning screenshots

2.3: [10249]

refs #1673

git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10255 4a71c877-e1ca-e34f-864e-861f7616d084

@wzdev-ci
Copy link
Contributor Author

Git SVN Gateway <gateway@...> commented


(In Warzone2100/warzone2100@7019910) Fix mem leaks concerning apCompLists

2.3: [10247]

refs #1673

git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10259 4a71c877-e1ca-e34f-864e-861f7616d084

@wzdev-ci
Copy link
Contributor Author

wzdev-ci commented Jul 5, 2010

Zarel commented


status?

@wzdev-ci
Copy link
Contributor Author

Buginator commented


in limbo, since pumpkin does lots of pointer swapping for levels, and it is a mess.

@wzdev-ci
Copy link
Contributor Author

Git SVN Gateway <gateway@...> commented


In Warzone2100/warzone2100@90326fc:

#CommitTicketReference repository="" revision="90326fcbf0c56f456d8323069bf2d99cffe17ee0"
Fix mem leaks concerning screenshots

2.3: [10249]

refs #1673

git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10255 4a71c877-e1ca-e34f-864e-861f7616d084

@wzdev-ci
Copy link
Contributor Author

Git SVN Gateway <gateway@...> commented


In Warzone2100/warzone2100@d1cd675:

#CommitTicketReference repository="" revision="d1cd6754380dbcacda4df017bf7d1a2cc4aa2a65"
Fix memleak in stars

2.3: [10245]

refs #1673

git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10257 4a71c877-e1ca-e34f-864e-861f7616d084

@wzdev-ci
Copy link
Contributor Author

Git SVN Gateway <gateway@...> commented


In Warzone2100/warzone2100@e9f3105:

#CommitTicketReference repository="" revision="e9f3105719fe9cf2b20bbe1ff771462480e1825a"
Fix memleak in stats, and get rid of code that was causing dangling pointers.

2.3: [10246]

refs #1673


git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10258 4a71c877-e1ca-e34f-864e-861f7616d084

@wzdev-ci
Copy link
Contributor Author

Git SVN Gateway <gateway@...> commented


In Warzone2100/warzone2100@7019910:

#CommitTicketReference repository="" revision="701991017833f93f99414bf524f0d8869fd1d0ae"
Fix mem leaks concerning apCompLists

2.3: [10247]

refs #1673

git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10259 4a71c877-e1ca-e34f-864e-861f7616d084

@wzdev-ci
Copy link
Contributor Author

Git SVN Gateway <gateway@...> commented


In Warzone2100/warzone2100@01fee22:

#CommitTicketReference repository="" revision="01fee22afecd6387bf3cafb330910af48b16552c"
Fix mem leaks concerning Visibility

2.3: [10248]

refs #1673


git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10260 4a71c877-e1ca-e34f-864e-861f7616d084

@wzdev-ci
Copy link
Contributor Author

Git SVN Gateway <gateway@...> commented


In Warzone2100/warzone2100@584c4f1:

#CommitTicketReference repository="" revision="584c4f1aee9326393d5031aa6d364e3849632635"
Add new routines for MSVC that allows us to toggle the allocation tracking.

Currently, it is only used in debug builds for strdup().
For release builds, we use _strdup().

This was necessary to prevent reporting of tons of 'memory leaks' caused by strdup(). Mostly caused by all the parsers lack of cleaning up after themselves.

Sample of what it does is shown.  When we don't toggle the allocator, then it is added to the Normal Blocks.  If we do toggle the allocator, then it is added to the CRT Blocks.
0 bytes in 0 Free Blocks means no memory leaks (for this quick loading of a SP mission--we still have LOTS of other leaks!)
I believe you can figure out what the rest of the stats mean.


0 bytes in 0 Free Blocks.
913860 bytes in 1826 Normal Blocks.
18745 bytes in 139 CRT Blocks.
0 bytes in 0 Ignore Blocks.
0 bytes in 0 Client Blocks.
Largest number used: 13564181 bytes.
Total allocations: 283917669 bytes.

2.3: [10250]

refs #1673


git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10261 4a71c877-e1ca-e34f-864e-861f7616d084

@wzdev-ci
Copy link
Contributor Author

Git SVN Gateway <gateway@...> commented


In Warzone2100/warzone2100@19696a3:

#CommitTicketReference repository="" revision="19696a3f166e02a5bc9a2397d2e311e923a2bac6"
Cleanup main so we only have 1 atexit() call for our system shutdown routine, instead of hiding multiple shutdown routines using atexit() for each.

Currently, we have 1 atexit for our main shutdown routine, and 1 atexit call for the exception handler.



Fix mem leak for mod list.

Also dump allocator stats for MSVC people

2.3: [10251]

refs #1673


git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@10262 4a71c877-e1ca-e34f-864e-861f7616d084

@wzdev-ci
Copy link
Contributor Author

vexed changed status from new to closed

@wzdev-ci
Copy link
Contributor Author

vexed changed resolution from `` to closed

@wzdev-ci
Copy link
Contributor Author

vexed commented


closing, see #3395 & #3218

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant