Author Topic: Fixed: r1089: Segfault in "Shared::Graphics::Mesh::getFrameCount"  (Read 970 times)

tomreyn

  • Local Moderator
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
I just ran into this segmentation fault on r1089 on a single player game against CPU:

Code: [Select]
Program terminated with signal 11, Segmentation fault.
#0  Shared::Graphics::Mesh::getFrameCount (this=0x34f1e10, t=0, cycle=true) at shared_lib/sources/../include/graphics/model.h:83
83 uint32 getFrameCount() const {return frameCount;}
#0  Shared::Graphics::Mesh::getFrameCount (this=0x34f1e10, t=0, cycle=true) at shared_lib/sources/../include/graphics/model.h:83
#1  Shared::Graphics::InterpolationData::updateVertices (this=0x34f1e10, t=0, cycle=true) at shared_lib/sources/graphics/interpolation.cpp:78
#2  0x000000000060c674 in Shared::Graphics::InterpolationData::update (this=0x34f1e10, t=0, cycle=<value optimised out>) at shared_lib/sources/graphics/interpolation.cpp:71
#3  0x00000000005edfe6 in Shared::Graphics::Mesh::updateInterpolationData (this=0x3490aa0, t=<value optimised out>, cycle=<value optimised out>) at shared_lib/sources/graphics/model.cpp:85
#4  Shared::Graphics::Model::updateInterpolationData (this=0x3490aa0, t=<value optimised out>, cycle=<value optimised out>) at shared_lib/sources/graphics/model.cpp:342
#5  0x0000000000475660 in Glest::Game::Renderer::renderObjects (this=0x8901a0, renderFps=<value optimised out>) at glest_game/graphics/renderer.cpp:1520
#6  0x000000000043f546 in Glest::Game::Game::render3d (this=0x34fb600) at glest_game/game/game.cpp:1403
#7  0x0000000000449d26 in Glest::Game::Game::renderWorker (this=0x34fb600) at glest_game/game/game.cpp:755
#8  0x000000000049d705 in Glest::Game::Program::loopWorker (this=0x22e2b30) at glest_game/main/program.cpp:266
#9  0x000000000049a625 in Glest::Game::glestMain (argc=1, argv=0x7fff366182f8) at glest_game/main/main.cpp:950
#10 0x00007ff7e52d0c4d in __libc_start_main () from /lib/libc.so.6
#11 0x000000000040ad09 in _start ()

The complete logs can be found in my log dump (which is stored in the usual location): megaglest_btrunk+r1089_d20101011-015411UTC_ptomreyntrunk_tsegfault.tar.gz

Thanks for reviewing!
« Last Edit: 25 October 2010, 12:46:32 by tomreyn »
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

tomreyn

  • Local Moderator
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
Re: Bug: r1089: Segfault in "Shared::Graphics::Mesh::getFrameCount"
« Reply #1 on: 11 October 2010, 02:41:45 »
And another one for - supposedly - the same reason:

Code: [Select]
Program terminated with signal 6, Aborted.
#0  0x00007fa5a9e2aa75 in raise () from /lib/libc.so.6
#0  0x00007fa5a9e2aa75 in raise () from /lib/libc.so.6
#1  0x00007fa5a9e2e5c0 in abort () from /lib/libc.so.6
#2  0x00007fa5a9e644fb in ?? () from /lib/libc.so.6
#3  0x00007fa5a9e6e5b6 in ?? () from /lib/libc.so.6
#4  0x00007fa5a9e74e83 in free () from /lib/libc.so.6
#5  0x00007fa5a22c7ee0 in ?? () from /usr/lib/dri/i965_dri.so
#6  0x00007fa5a22c7f85 in ?? () from /usr/lib/dri/i965_dri.so
#7  0x00007fa5a22c8000 in brw_destroy_caches () from /usr/lib/dri/i965_dri.so
#8  0x00007fa5a22c9889 in brw_destroy_state () from /usr/lib/dri/i965_dri.so
#9  0x00007fa5a22d0aec in ?? () from /usr/lib/dri/i965_dri.so
#10 0x00007fa5a228183b in intelDestroyContext () from /usr/lib/dri/i965_dri.so
#11 0x00007fa5a22771f0 in ?? () from /usr/lib/dri/i965_dri.so
#12 0x00007fa5ac8586d3 in ?? () from /usr/lib/mesa/libGL.so.1
#13 0x00007fa5ac832788 in ?? () from /usr/lib/mesa/libGL.so.1
#14 0x00007fa5acac7092 in ?? () from /usr/lib/libSDL-1.2.so.0
#15 0x00007fa5acacafbe in ?? () from /usr/lib/libSDL-1.2.so.0
#16 0x00007fa5acacb1d7 in ?? () from /usr/lib/libSDL-1.2.so.0
#17 0x00007fa5acabcc12 in SDL_VideoQuit () from /usr/lib/libSDL-1.2.so.0
#18 0x00007fa5aca95655 in SDL_QuitSubSystem () from /usr/lib/libSDL-1.2.so.0
#19 0x00007fa5aca956ee in SDL_Quit () from /usr/lib/libSDL-1.2.so.0
#20 0x00007fa5aca95f7f in ?? () from /usr/lib/libSDL-1.2.so.0
#21 <signal handler called>
#22 Shared::Graphics::Mesh::getFrameCount (this=0x28e4ed0, t=0, cycle=true) at shared_lib/sources/../include/graphics/model.h:83
#23 Shared::Graphics::InterpolationData::updateVertices (this=0x28e4ed0, t=0, cycle=true) at shared_lib/sources/graphics/interpolation.cpp:78
#24 0x000000000060c674 in Shared::Graphics::InterpolationData::update (this=0x28e4ed0, t=0, cycle=<value optimised out>) at shared_lib/sources/graphics/interpolation.cpp:71
#25 0x00000000005edfe6 in Shared::Graphics::Mesh::updateInterpolationData (this=0x2931050, t=<value optimised out>, cycle=<value optimised out>) at shared_lib/sources/graphics/model.cpp:85
#26 Shared::Graphics::Model::updateInterpolationData (this=0x2931050, t=<value optimised out>, cycle=<value optimised out>) at shared_lib/sources/graphics/model.cpp:342
#27 0x0000000000475660 in Glest::Game::Renderer::renderObjects (this=0x8901a0, renderFps=<value optimised out>) at glest_game/graphics/renderer.cpp:1520
#28 0x000000000043f546 in Glest::Game::Game::render3d (this=0x29cdb40) at glest_game/game/game.cpp:1403
#29 0x0000000000449d26 in Glest::Game::Game::renderWorker (this=0x29cdb40) at glest_game/game/game.cpp:755
#30 0x000000000049d705 in Glest::Game::Program::loopWorker (this=0x1788790) at glest_game/main/program.cpp:266
#31 0x000000000049a625 in Glest::Game::glestMain (argc=1, argv=0x7fff1a11b338) at glest_game/main/main.cpp:950
#32 0x00007fa5a9e15c4d in __libc_start_main () from /lib/libc.so.6
#33 0x000000000040ad09 in _start ()

The log file is megaglest_btrunk+r1089_d20101011-023503UTC_ptomreyntrunk_tsegfault.tar.gz

This is somehow related to graphics bugs/issues. Last time I reported this error, as soon as I drew a box around some units a whole set of trees on the lower end of the screen just disappeared. And reappeared when I unselected the units.

This time I had a single tree change its color to all white before the crash happened.

I wonder whether this could be a bug in titis transparency code?
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

titi

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 4,240
    • View Profile
    • http://www.titusgames.de
Re: Bug: r1089: Segfault in "Shared::Graphics::Mesh::getFrameCount"
« Reply #2 on: 11 October 2010, 08:56:17 »
My family and others played 3.3.7 for several hours yesterday! Noone had a crash ingame! ( I remember one or 2 in custom menu )
This is maybe something new in svn ( although I cannot imagine what may have caused this :( )

Maybe its also related to the font change of softcoder so it might be fixed after a full build too. I will have a look at this but from what I see now it doesn't make any sense!
« Last Edit: 11 October 2010, 09:29:49 by titi »
Try Megaglest! Improved Engine / New factions / New tilesets / New maps / New scenarios

tomreyn

  • Local Moderator
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
Re: Bug: r1089: Segfault in "Shared::Graphics::Mesh::getFrameCount"
« Reply #3 on: 11 October 2010, 12:24:48 »
I believe I did a full rebuild before I started testing. I ran 'jam clean; ./configure; jam' in mk/linux/. Note that I did make changes to my glestuser.ini during some of those tests, because using the glestuser.ini which worked fine with 3.3.7 did seem to cause font issues with r1089: the text vanished completely in one case (the one where a lot of trees at the bottom of my screen vanished, too), just as Nebososo had encountered it yesterday.
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

softcoder

  • MegaGlest Team
  • Battle Machine
  • ********
  • Posts: 2,239
    • View Profile
Re: Bug: r1089: Segfault in "Shared::Graphics::Mesh::getFrameCount"
« Reply #4 on: 22 October 2010, 22:57:32 »
Fixed and svn stable once again

 

anything