UFO: Alien Invasion Issue Tracker
UFO: Alien Invasion
Go to the previous open issue
Go to the previous issue (open or closed)
star_faded.png
Please log in to bookmark issues
icon_project.png UFO: Alien Invasion / Closed Bug report #2014 assert in ~HashedCache
Go to the next issue (open or closed)
Go to the next open issue
This issue has been closed with status "Closed" and resolution "Not determined".
Issue basics
  • Type of issue
    Bug report
  • Category
    Map Editor (UFORadiant)
  • Targetted for
    Not determined
  • Status
    Closed
  • Priority
    3. Normal
User pain
  • Type of bug
    Not triaged
  • Likelihood
    Not triaged
  • Effect
    Not triaged
Affected by this issue (0)
There are no items
People involved
Times and dates
  • Posted at
  • Last updated
  • Estimated time
    Not estimated
Issue details
  • Resolution
    Not determined
  • Reproducability
    Not determined
  • Severity
    Not determined
  • Complexity
    Not determined
  • Platform
    Not determined
  • Architecture
    Not determined
Attachments (0)
There is nothing attached to this issue
Duplicate issues (0)
This issue does not have any duplicates
Description
[http://sourceforge.net/p/ufoai/bugs/2014 Item 2014] imported from sourceforge.net tracker on 2013-01-28 19:18:54

revision 22045
when closing radiant :

Program received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 0xb68e16f0 (LWP 9440)]
0x0831b08d in ~HashedCache (this=0x8cd7c4c) at src/tools/radiant/libs/container/cache.h:105
105 ASSERT_MESSAGE(empty(), "HashedCache::~HashedCache: not empty");
(gdb) bt full
#0 0x0831b08d in ~HashedCache (this=0x8cd7c4c) at src/tools/radiant/libs/container/cache.h:105
No locals.
#1 0x0831b0f6 in ~TexturesMap (this=0x8cd7c48) at src/tools/radiant/radiant/textures.cpp:298
No locals.
#2 0x083173ec in Textures_Destroy () at src/tools/radiant/radiant/textures.cpp:718
No locals.
#3 0x08318e15 in ~TexturesAPI (this=0x8cd5bf0) at src/tools/radiant/radiant/textures.cpp:757
No locals.
#4 0x08319801 in DefaultAPIConstructor<TexturesAPI, TexturesDependencies>::destroyAPI (this=0x83ec5e8, api=0x8cd5bf0)
at src/tools/radiant/libs/modulesystem/singletonmodule.h:42
No locals.
#5 0x0831a523 in SingletonModule<TexturesAPI, TexturesDependencies, DefaultAPIConstructor<TexturesAPI, TexturesDependencies> >::release (this=0x83ec5e8) at src/tools/radiant/libs/modulesystem/singletonmodule.h:117
No locals.
#6 0x082e42e7 in SingletonModuleRef<TexturesCache>::release (this=0x83e9630)
at src/tools/radiant/include/modulesystem.h:189
No locals.
#7 0x082e4300 in ~GlobalModuleRef (this=0x8ccfcc8) at src/tools/radiant/include/modulesystem.h:220
No locals.
#8 0xb65df791 in ~ShadersDependencies (this=0x8ccfcc8) at src/tools/radiant/plugins/shaders/plugin.cpp:39
No locals.
#9 0xb65dfac9 in SingletonModule<ShadersAPI, ShadersDependencies, DependenciesAPIConstructor<ShadersAPI, ShadersDependencies> >::release (this=0xb65e7fb0) at src/tools/radiant/libs/modulesystem/singletonmodule.h:119
No locals.
#10 0x082b9927 in SingletonModuleRef<ShaderSystem>::release (this=0x83e8fa0)
at src/tools/radiant/include/modulesystem.h:189
No locals.
#11 0x082b9940 in ~GlobalModuleRef (this=0x8cbff80) at src/tools/radiant/include/modulesystem.h:220
No locals.
#12 0x082e6452 in ~ShaderCacheDependencies (this=0x8cbff80) at src/tools/radiant/radiant/renderstate.cpp:1369
No locals.
#13 0x082e9a76 in SingletonModule<ShaderCacheAPI, ShaderCacheDependencies, DefaultAPIConstructor<ShaderCacheAPI, ShaderCacheDependencies> >::release (this=0x83ebe28) at src/tools/radiant/libs/modulesystem/singletonmodule.h:119
No locals.
#14 0x0822e569 in SingletonModuleRef<ShaderCache>::release (this=0x83e8f80) at src/tools/radiant/include/modulesystem.h:189
No locals.
#15 0x0822e582 in ~GlobalModuleRef (this=0x8cd6af0) at src/tools/radiant/include/modulesystem.h:220
No locals.
#16 0xb66ad6ec in ~EntityDependencies (this=0x8cd6af0) at src/tools/radiant/plugins/entity/plugin.cpp:60
No locals.
#17 0xb66ae43d in SingletonModule<EntityAPI, EntityDependencies, DefaultAPIConstructor<EntityAPI, EntityDependencies> >::release (this=0xb6736740) at src/tools/radiant/libs/modulesystem/singletonmodule.h:119
No locals.
#18 0x082b986f in SingletonModuleRef<EntityCreator>::release (this=0x83ea258)
at src/tools/radiant/include/modulesystem.h:189
No locals.
#19 0x082b9888 in ~GlobalModuleRef (this=0x8ccfd00) at src/tools/radiant/include/modulesystem.h:220
No locals.
#20 0x082bce69 in ~RadiantDependencies (this=0x8ccfd00) at src/tools/radiant/radiant/plugin.cpp:194
No locals.
#21 0x082b9040 in Radiant_Destroy () at src/tools/radiant/radiant/plugin.cpp:322
No locals.
#22 0x08295eac in Radiant_Shutdown () at src/tools/radiant/radiant/mainframe.cpp:501
No locals.
#23 0x0828e36b in main (argc=1, argv=0xbf8c3c44) at src/tools/radiant/radiant/main.cpp:492
No locals.

===== Comments Ported from Sourceforge =====

====== rudolfowood (2009-01-28 20:24:40) ======

this is what is reported on radiant TODO list also. It only happens if you load bigger maps, perhaps cache is somehow corrupted to loose some values if it gets too big?
====== rudolfowood (2009-02-01 23:02:01) ======

further investigations revealed that
1) particle textures cause these
2) if particle texture is not tga, it will not be loaded correctly (code for jpg is never called due to lack on cache returning texture even for the case it could not be loaded)
3) there is some commented code on ParticleDefinition.destroy, TODO on change method - there it seems to readd the texture without freeing the previous one
====== rudolfowood (2009-02-03 12:13:24) ======

3) could be wrong - it seems that the destructor of ParticleDefinition is called twice because g_particleDefinitions.insert(ParticleDefinitionMap::value_type(pID, ParticleDefinition(pID, model, image))).second) (particles.h 184) creates a pair that uses copy constructor(?), after that destructor is called from ~pair and directly ~ParticleDefinition. Both objects share the same m_image, but only the first one is freed correctly (as the second one does not need to be emptied)
====== rudolfowood (2009-02-03 12:50:53) ======

I introduced a new field (rev 22275) indicating whether ParticleDefinition is a copy, don&#039;t release texture for copy. This way it seems to work correct. I don&#039;t know whether there is a saner way to do so.
====== richlv (2009-02-03 15:05:41) ======

doesn&#039;t happen anymore with revision 22277
Steps to reproduce this issue
Nothing entered.
Todos (0 / 0)
Issue created
footer_logo.png The Bug Genie 4.3.1 | Support | Feedback spinning_16.gif