Skip to content

SIGSEGV when running two GUI games #155

@RobinPetit

Description

@RobinPetit

Issue by TheoVerhelst
Saturday Mar 26, 2016 at 17:00 GMT
Originally opened as https://github.com/ulb-infof209/Group5/issues/155


Branch: #148 affd197
The bug occurs when two GUI clients start a game together, gdb says:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe7fff700 (LWP 10901)]
0x00007ffff5b1588f in _int_malloc (av=av@entry=0x7fffe0000020, bytes=bytes@entry=8) at malloc.c:3326
3326    malloc.c: No such file or directory.
(gdb) bt
#0  0x00007ffff5b1588f in _int_malloc (av=av@entry=0x7fffe0000020, bytes=bytes@entry=8) at malloc.c:3326
#1  0x00007ffff5b184ae in __GI___libc_malloc (bytes=8) at malloc.c:2895
#2  0x00007ffff6103188 in operator new(unsigned long) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007ffff797509d in (anonymous namespace)::getInternalContext () at /home/theo/cpp/Bibliothèques/SFML-master/src/SFML/Window/GlContext.cpp:159
#4  0x00007ffff79753f7 in sf::priv::GlContext::ensureContext () at /home/theo/cpp/Bibliothèques/SFML-master/src/SFML/Window/GlContext.cpp:217
#5  0x00007ffff7977738 in sf::GlResource::GlResource (this=0x7fffe0157050)
    at /home/theo/cpp/Bibliothèques/SFML-master/src/SFML/Window/GlResource.cpp:60
#6  0x00007ffff79734e9 in sf::Context::Context (this=0x7fffe0157050) at /home/theo/cpp/Bibliothèques/SFML-master/src/SFML/Window/Context.cpp:60
#7  0x00007ffff79750a8 in (anonymous namespace)::getInternalContext () at /home/theo/cpp/Bibliothèques/SFML-master/src/SFML/Window/GlContext.cpp:159
#8  0x00007ffff79753f7 in sf::priv::GlContext::ensureContext () at /home/theo/cpp/Bibliothèques/SFML-master/src/SFML/Window/GlContext.cpp:217
#9  0x00007ffff7977738 in sf::GlResource::GlResource (this=0x7fffe0157030)
    at /home/theo/cpp/Bibliothèques/SFML-master/src/SFML/Window/GlResource.cpp:60
#10 0x00007ffff79734e9 in sf::Context::Context (this=0x7fffe0157030) at /home/theo/cpp/Bibliothèques/SFML-master/src/SFML/Window/Context.cpp:60
#11 0x00007ffff79750a8 in (anonymous namespace)::getInternalContext () at /home/theo/cpp/Bibliothèques/SFML-master/src/SFML/Window/GlContext.cpp:159
#12 0x00007ffff79753f7 in sf::priv::GlContext::ensureContext () at /home/theo/cpp/Bibliothèques/SFML-master/src/SFML/Window/GlContext.cpp:217
#13 0x00007ffff7977738 in sf::GlResource::GlResource (this=0x7fffe0157010)
    at /home/theo/cpp/Bibliothèques/SFML-master/src/SFML/Window/GlResource.cpp:60
#14 0x00007ffff79734e9 in sf::Context::Context (this=0x7fffe0157010) at /home/theo/cpp/Bibliothèques/SFML-master/src/SFML/Window/Context.cpp:60
#15 0x00007ffff79750a8 in (anonymous namespace)::getInternalContext () at /home/theo/cpp/Bibliothèques/SFML-master/src/SFML/Window/GlContext.cpp:159
#16 0x00007ffff79753f7 in sf::priv::GlContext::ensureContext () at /home/theo/cpp/Bibliothèques/SFML-master/src/SFML/Window/GlContext.cpp:217
#17 0x00007ffff7977738 in sf::GlResource::GlResource (this=0x7fffe0156ff0)

And then the same functions on the stack again and again, thousand of times.
This occurs in both clients.
The server says that for the game:

Game 0 is starting: testing (127.0.0.1) vs. testing2 (127.0.0.1)
Data received from testing (127.0.0.1)
Data received from testing2 (127.0.0.1)
    game n player 1 - Player::setUpGame(true)
    game n player 2 - Player::setUpGame(false)
    game n player 1 - Player::enterTurn(1)
    game n player 1 - Player::resetEnergy([1])
    game n player 1 - Player::changeEnergy([0])
    game n player 1 - Player::changeHealth([0])
    game n player 2 - Player::enterTurn(1)
    game n player 2 - Player::resetEnergy([1])
    game n player 2 - Player::changeEnergy([0])
    game n player 2 - Player::changeHealth([0])
    game n player 1 - Player::enterTurn(2)
    game n player 1 - Player::resetEnergy([1])
    game n player 1 - Player::changeEnergy([0])
    game n player 1 - Player::changeHealth([0])

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions