Verlorene Verbindung

Open
#109 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
57/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
python
Domain
networking

Research direction

Start in socha/api/networking/xml_protocol_interface.py at _receive and _deserialize_object, using the reported XmlContextError for room_id and the game_client.py call path. Reproduce the connection with the listed Python client and GUI versions, then verify that the server response is deserialized successfully and the client remains connected for the local random and human-player setup.

Written by the indexing model from the issue text.

Description

bug

Description

Wir möchten gerne einen eigenen Player in der GUI anmelden. Wir haben die aktuelle Version gui-27.0.6-windows-amd64 mit der empfohlenen gestartet und dort versuchsweise für einen der Spieler "Eigener Computerspieler, manuell gestartet" ausgewählt.

Environment

  • open-jdk-25.0.4.1
  • gui-27.0.6
  • Python 3.14.7
  • Operating System: Windows 11
  • Version of the Python SoCha Client: 5.0.3
  • setuptools v69.5.1

Expected Behavior

Das Spiel startet mit dem lokalen Zufallsclient und einem Menschlichen Spieler.

Actual Behavior

Spieler und GUI-Server erkennen sich verlieren aber sofort die Verbindung. Fehlermeldung sie Screenshots.

Screenshots/Fehler-Log:

Fehlermeldung VSCoder:

2026-09-21 11:19:32,338: INFO - You're running the latest version of socha (5.0.3)
2026-09-21 11:19:32,341: INFO - Joining game
2026-09-21 11:19:32,366: ERROR - An error occurred while receiving data from the server.
Traceback (most recent call last):
  File "C:\Python314\Lib\site-packages\xsdata\formats\dataclass\parsers\bases.py", line 86, in start
    item = queue[-1]
           ~~~~~^^^^
IndexError: list index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Python314\Lib\site-packages\socha\api\networking\xml_protocol_interface.py", line 138, in _receive
    cls = self._deserialize_object(receiving)
  File "C:\Python314\Lib\site-packages\socha\api\networking\xml_protocol_interface.py", line 191, in _deserialize_object
    return self.deserializer.from_bytes(byte_stream)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "C:\Python314\Lib\site-packages\xsdata\formats\bindings.py", line 29, in from_bytes
    return self.parse(io.BytesIO(source), clazz)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python314\Lib\site-packages\xsdata\formats\dataclass\parsers\bases.py", line 53, in parse
    result = handler.parse(source)
  File "C:\Python314\Lib\site-packages\xsdata\formats\dataclass\parsers\handlers\native.py", line 60, in parse
    return self.process_context(ctx)
           ~~~~~~~~~~~~~~~~~~~~^^^^^
  File "C:\Python314\Lib\site-packages\xsdata\formats\dataclass\parsers\handlers\native.py", line 67, in process_context
    self.parser.start(
    ~~~~~~~~~~~~~~~~~^
        self.clazz,
        ^^^^^^^^^^^
    ...<4 lines>...
        self.merge_parent_namespaces(ns_map),
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "C:\Python314\Lib\site-packages\xsdata\formats\dataclass\parsers\bases.py", line 103, in start
    meta = self.context.fetch(clazz, xsi_type=xsi_type)
  File "C:\Python314\Lib\site-packages\xsdata\formats\dataclass\context.py", line 74, in fetch
    meta = self.build(clazz, parent_ns)
  File "C:\Python314\Lib\site-packages\xsdata\formats\dataclass\context.py", line 184, in build
    self.cache[clazz] = builder.build(clazz, parent_ns)
                        ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "C:\Python314\Lib\site-packages\xsdata\formats\dataclass\models\builders.py", line 76, in build
    for var in class_vars:
               ^^^^^^^^^^
  File "C:\Python314\Lib\site-packages\xsdata\formats\dataclass\models\builders.py", line 121, in build_vars
    real_clazz = self.find_declared_class(clazz, field.name)
  File "C:\Python314\Lib\site-packages\xsdata\formats\dataclass\models\builders.py", line 186, in find_declared_class
    raise XmlContextError(f"Failed to detect the declared class for field {name}")
xsdata.exceptions.XmlContextError: Failed to detect the declared class for field room_id
Traceback (most recent call last):
  File "C:\Python314\Lib\site-packages\xsdata\formats\dataclass\parsers\bases.py", line 86, in start
    item = queue[-1]
           ~~~~~^^^^
IndexError: list index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\Users\adrian\OneDrive\Documents\02 Adrian\Repos\Blockade\logic.py", line 46, in <module>
    Starter(logic=Logic())
    ~~~~~~~^^^^^^^^^^^^^^^
  File "C:\Python314\Lib\site-packages\socha\starter.py", line 116, in __init__
    self.client.start()
    ~~~~~~~~~~~~~~~~~^^
  File "C:\Python314\Lib\site-packages\socha\api\networking\game_client.py", line 294, in start
    self._client_loop()
    ~~~~~~~~~~~~~~~~~^^
  File "C:\Python314\Lib\site-packages\socha\api\networking\game_client.py", line 353, in _client_loop
    response = self._receive()
  File "C:\Python314\Lib\site-packages\socha\api\networking\xml_protocol_interface.py", line 138, in _receive
    cls = self._deserialize_object(receiving)
  File "C:\Python314\Lib\site-packages\socha\api\networking\xml_protocol_interface.py", line 191, in _deserialize_object
    return self.deserializer.from_bytes(byte_stream)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "C:\Python314\Lib\site-packages\xsdata\formats\bindings.py", line 29, in from_bytes
    return self.parse(io.BytesIO(source), clazz)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python314\Lib\site-packages\xsdata\formats\dataclass\parsers\bases.py", line 53, in parse
    result = handler.parse(source)
  File "C:\Python314\Lib\site-packages\xsdata\formats\dataclass\parsers\handlers\native.py", line 60, in parse
    return self.process_context(ctx)
           ~~~~~~~~~~~~~~~~~~~~^^^^^
  File "C:\Python314\Lib\site-packages\xsdata\formats\dataclass\parsers\handlers\native.py", line 67, in process_context
    self.parser.start(
    ~~~~~~~~~~~~~~~~~^
        self.clazz,
        ^^^^^^^^^^^
    ...<4 lines>...
        self.merge_parent_namespaces(ns_map),
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "C:\Python314\Lib\site-packages\xsdata\formats\dataclass\parsers\bases.py", line 103, in start
    meta = self.context.fetch(clazz, xsi_type=xsi_type)
  File "C:\Python314\Lib\site-packages\xsdata\formats\dataclass\context.py", line 74, in fetch
    meta = self.build(clazz, parent_ns)
  File "C:\Python314\Lib\site-packages\xsdata\formats\dataclass\context.py", line 184, in build
    self.cache[clazz] = builder.build(clazz, parent_ns)
                        ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "C:\Python314\Lib\site-packages\xsdata\formats\dataclass\models\builders.py", line 76, in build
    for var in class_vars:
               ^^^^^^^^^^
  File "C:\Python314\Lib\site-packages\xsdata\formats\dataclass\models\builders.py", line 121, in build_vars
    real_clazz = self.find_declared_class(clazz, field.name)
  File "C:\Python314\Lib\site-packages\xsdata\formats\dataclass\models\builders.py", line 186, in find_declared_class
    raise XmlContextError(f"Failed to detect the declared class for field {name}")
xsdata.exceptions.XmlContextError: Failed to detect the declared class for field room_id

Server-Log:

11:19:20,380 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found logback-core version 1.5.32
11:19:20,381 |-INFO in ch.qos.logback.classic.util.ContextInitializer@255b53dc - No custom configurators were discovered as a service.
11:19:20,382 |-INFO in ch.qos.logback.classic.util.ContextInitializer@255b53dc - Trying to configure with ch.qos.logback.classic.util.DefaultJoranConfigurator
11:19:20,384 |-INFO in ch.qos.logback.classic.util.ContextInitializer@255b53dc - Constructed configurator of type class ch.qos.logback.classic.util.DefaultJoranConfigurator
11:19:20,387 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [C:\Users\adrian\Downloads\logback.xml]
11:19:20,388 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
11:19:20,388 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/C:/Users/adrian/Downloads/gui-27.0.6-windows-amd64.jar!/logback.xml]
11:19:20,557 |-INFO in ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull - Scan attribute not set or set to unrecognized value.
11:19:20,557 |-INFO in ch.qos.logback.core.model.processor.TimestampModelHandler - Using current interpretation time, i.e. now, as time reference.
11:19:20,590 |-INFO in ch.qos.logback.core.model.processor.TimestampModelHandler - Adding property to the context with key="time" and value="09-21T111920" to the LOCAL scope
11:19:20,599 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - Processing appender named [FILE]
11:19:20,599 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - About to instantiate appender of type [sc.gui.util.TidyFileAppender]
11:19:20,611 |-INFO in ch.qos.logback.core.model.processor.ModelInterpretationContext@1dd92fe2 - value "log/game-server_09-21T111920.log" substituted for "${LOG_DIRECTORY:-log}/game-server_${time}.log"
11:19:20,677 |-WARN in sc.gui.util.TidyFileAppender[FILE] - This appender no longer admits a layout as a sub-component, set an encoder instead.
11:19:20,677 |-WARN in sc.gui.util.TidyFileAppender[FILE] - To ensure compatibility, wrapping your layout in LayoutWrappingEncoder.
11:19:20,677 |-WARN in sc.gui.util.TidyFileAppender[FILE] - See also https://logback.qos.ch/codes.html#layoutInsteadOfEncoder for details
11:19:20,677 |-INFO in sc.gui.util.TidyFileAppender[FILE] - File property is set to [log/game-server_09-21T111920.log]
11:19:20,681 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - Processing appender named [STDOUT]
11:19:20,681 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
11:19:20,683 |-INFO in ch.qos.logback.core.model.processor.ImplicitModelHandler - Assuming default type [ch.qos.logback.classic.PatternLayout] for [layout] property
11:19:20,683 |-WARN in ch.qos.logback.core.ConsoleAppender[STDOUT] - This appender no longer admits a layout as a sub-component, set an encoder instead.
11:19:20,683 |-WARN in ch.qos.logback.core.ConsoleAppender[STDOUT] - To ensure compatibility, wrapping your layout in LayoutWrappingEncoder.
11:19:20,683 |-WARN in ch.qos.logback.core.ConsoleAppender[STDOUT] - See also https://logback.qos.ch/codes.html#layoutInsteadOfEncoder for details
11:19:20,683 |-INFO in ch.qos.logback.core.ConsoleAppender[STDOUT] - NOTE: Writing to the console can be slow. Try to avoid logging to the
11:19:20,683 |-INFO in ch.qos.logback.core.ConsoleAppender[STDOUT] - console in production environments, especially in high volume systems.
11:19:20,683 |-INFO in ch.qos.logback.core.ConsoleAppender[STDOUT] - See also https://logback.qos.ch/codes.html#slowConsole
11:19:20,684 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [sc] to INFO
11:19:20,684 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [sc.gui] to DEBUG
11:19:20,684 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [sc.networking.clients.XStreamClient] to INFO
11:19:20,684 |-INFO in ch.qos.logback.classic.model.processor.RootLoggerModelHandler - Setting level of ROOT logger to INFO
11:19:20,685 |-INFO in ch.qos.logback.core.model.processor.AppenderRefModelHandler - Attaching appender named [FILE] to Logger[ROOT]
11:19:20,685 |-INFO in ch.qos.logback.core.model.processor.AppenderRefModelHandler - Attaching appender named [STDOUT] to Logger[ROOT]
11:19:20,685 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@6b53e23f - End of configuration.
11:19:20,686 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@64d2d351 - Registering current configuration as safe fallback point
11:19:20,689 |-INFO in ch.qos.logback.classic.util.ContextInitializer@255b53dc - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 302 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY

Sept. 21, 2026 11:19:20 AM com.sun.javafx.application.PlatformImpl startup
WARNUNG: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @5702b3b1'
WARNING: A restricted method in java.lang.System has been called
WARNING: java.lang.System::load has been called by com.sun.glass.utils.NativeLibLoader in an unnamed module (file:/C:/Users/adrian/Downloads/gui-27.0.6-windows-amd64.jar)
WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
WARNING: Restricted methods will be blocked in a future release unless native access is enabled

kotlin-logging: initializing... active logger factory: Slf4jLoggerFactory
Sept. 21, 2026 11:19:21 AM tornadofx.Stylesheet$Companion detectAndInstallUrlHandler
INFORMATION: Installing CSS url handler, since it was not picked up automatically
11:19:20,380 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found logback-core version 1.5.32
11:19:20,381 |-INFO in ch.qos.logback.classic.util.ContextInitializer@255b53dc - No custom configurators were discovered as a service.
11:19:20,382 |-INFO in ch.qos.logback.classic.util.ContextInitializer@255b53dc - Trying to configure with ch.qos.logback.classic.util.DefaultJoranConfigurator
11:19:20,384 |-INFO in ch.qos.logback.classic.util.ContextInitializer@255b53dc - Constructed configurator of type class ch.qos.logback.classic.util.DefaultJoranConfigurator
11:19:20,387 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [C:\Users\adrian\Downloads\logback.xml]
11:19:20,388 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
11:19:20,388 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/C:/Users/adrian/Downloads/gui-27.0.6-windows-amd64.jar!/logback.xml]
11:19:20,557 |-INFO in ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull - Scan attribute not set or set to unrecognized value.
11:19:20,557 |-INFO in ch.qos.logback.core.model.processor.TimestampModelHandler - Using current interpretation time, i.e. now, as time reference.
11:19:20,590 |-INFO in ch.qos.logback.core.model.processor.TimestampModelHandler - Adding property to the context with key="time" and value="09-21T111920" to the LOCAL scope
11:19:20,599 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - Processing appender named [FILE]
11:19:20,599 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - About to instantiate appender of type [sc.gui.util.TidyFileAppender]
11:19:20,611 |-INFO in ch.qos.logback.core.model.processor.ModelInterpretationContext@1dd92fe2 - value "log/game-server_09-21T111920.log" substituted for "${LOG_DIRECTORY:-log}/game-server_${time}.log"
11:19:20,677 |-WARN in sc.gui.util.TidyFileAppender[FILE] - This appender no longer admits a layout as a sub-component, set an encoder instead.
11:19:20,677 |-WARN in sc.gui.util.TidyFileAppender[FILE] - To ensure compatibility, wrapping your layout in LayoutWrappingEncoder.
11:19:20,677 |-WARN in sc.gui.util.TidyFileAppender[FILE] - See also https://logback.qos.ch/codes.html#layoutInsteadOfEncoder for details
11:19:20,677 |-INFO in sc.gui.util.TidyFileAppender[FILE] - File property is set to [log/game-server_09-21T111920.log]
11:19:20,681 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - Processing appender named [STDOUT]
11:19:20,681 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
11:19:20,683 |-INFO in ch.qos.logback.core.model.processor.ImplicitModelHandler - Assuming default type [ch.qos.logback.classic.PatternLayout] for [layout] property
11:19:20,683 |-WARN in ch.qos.logback.core.ConsoleAppender[STDOUT] - This appender no longer admits a layout as a sub-component, set an encoder instead.
11:19:20,683 |-WARN in ch.qos.logback.core.ConsoleAppender[STDOUT] - To ensure compatibility, wrapping your layout in LayoutWrappingEncoder.
11:19:20,683 |-WARN in ch.qos.logback.core.ConsoleAppender[STDOUT] - See also https://logback.qos.ch/codes.html#layoutInsteadOfEncoder for details
11:19:20,683 |-INFO in ch.qos.logback.core.ConsoleAppender[STDOUT] - NOTE: Writing to the console can be slow. Try to avoid logging to the
11:19:20,683 |-INFO in ch.qos.logback.core.ConsoleAppender[STDOUT] - console in production environments, especially in high volume systems.
11:19:20,683 |-INFO in ch.qos.logback.core.ConsoleAppender[STDOUT] - See also https://logback.qos.ch/codes.html#slowConsole
11:19:20,684 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [sc] to INFO
11:19:20,684 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [sc.gui] to DEBUG
11:19:20,684 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [sc.networking.clients.XStreamClient] to INFO
11:19:20,684 |-INFO in ch.qos.logback.classic.model.processor.RootLoggerModelHandler - Setting level of ROOT logger to INFO
11:19:20,685 |-INFO in ch.qos.logback.core.model.processor.AppenderRefModelHandler - Attaching appender named [FILE] to Logger[ROOT]
11:19:20,685 |-INFO in ch.qos.logback.core.model.processor.AppenderRefModelHandler - Attaching appender named [STDOUT] to Logger[ROOT]
11:19:20,685 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@6b53e23f - End of configuration.
11:19:20,686 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@64d2d351 - Registering current configuration as safe fallback point
11:19:20,689 |-INFO in ch.qos.logback.classic.util.ContextInitializer@255b53dc - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 302 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY

   954 WARN  [JavaFX Application Th]            sc.server.Configuration - Could not find server.properties at C:\Users\adrian\Downloads\server.properties, will use default values!
   969 INFO  [JavaFX Application Th] s.server.network.NewClientListener - Listening on port 13050 for incoming connections.
   971 INFO          [ClientManager]    sc.server.network.ClientManager - ClientManager running
  1145 DEBUG [JavaFX Application Th]                    sc.gui.AppStyle - System Font: Font[name=System Regular, family=System, style=Regular, size=12.0]
  1754 DEBUG [JavaFX Application Th]    sc.gui.controller.AppController - Requested View change from GAME_CREATION -> GAME_CREATION
  1756 WARN  [JavaFX Application Th]    sc.gui.controller.AppController - Noop view change request!
  1766 DEBUG [JavaFX Application Th]                sc.gui.view.AppView - New window title: Software-Challenge GUI 27.0.6
WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
WARNING: sun.misc.Unsafe::allocateMemory has been called by com.sun.marlin.OffHeapArray (file:/C:/Users/adrian/Downloads/gui-27.0.6-windows-amd64.jar)
WARNING: Please consider reporting this to the maintainers of class com.sun.marlin.OffHeapArray
WARNING: sun.misc.Unsafe::allocateMemory will be removed in a future release
  7121 DEBUG [JavaFX Application Th]    sc.gui.controller.AppController - Requested View change from GAME_CREATION -> GAME_LOADING
  7133 DEBUG [JavaFX Application Th]                sc.gui.view.AppView - New window title: Spiel Startet - Software-Challenge GUI 27.0.6
  7172 INFO  [tornadofx-thread-1-da] s.networking.clients.XStreamClient - Creating TCP Network for localhost:13050
  7197 INFO      [NewClientListener] s.server.network.NewClientListener - Connecting a Client at Socket[addr=/127.0.0.1,port=61932,localport=13050]...
  7679 INFO          [ClientManager]    sc.server.network.ClientManager - Delegating new client to ClientManager...
  7679 INFO      [NewClientListener] s.server.network.NewClientListener - Added Client Client@7aae5d3f to ReadyQueue.
  7680 INFO          [ClientManager]    sc.server.network.ClientManager - Delegation done
  7691 INFO  [tornadofx-thread-1-da] s.networking.clients.XStreamClient - Creating TCP Network for localhost:13050
  7692 INFO      [NewClientListener] s.server.network.NewClientListener - Connecting a Client at Socket[addr=/127.0.0.1,port=61933,localport=13050]...
Security framework of XStream not explicitly initialized, using predefined black list on your own risk.
  7699 INFO  [XStream-Receive id:49]           sc.server.network.Client - Client authenticated as administrator
  7700 INFO      [NewClientListener] s.server.network.NewClientListener - Added Client Client@67e112be to ReadyQueue.
  7700 INFO          [ClientManager]    sc.server.network.ClientManager - Delegating new client to ClientManager...
  7700 INFO          [ClientManager]    sc.server.network.ClientManager - Delegation done
  7710 DEBUG [tornadofx-thread-1-da]                sc.gui.LobbyManager - Starting new game of swc_2027_blokus (paused: true, players: [Player(name=Spieler 1, client=sc.gui.controller.client.GuiClient@4dddcc9c type Zufalls-Computerspieler on localhost:13050), Player(name=Spieler 2, client=sc.gui.controller.client.ExternalClient@4d74401f on localhost:13050)])
  7736 INFO  [XStream-Receive id:49]          sc.server.gaming.GameRoom - Toggling PAUSE from false to true for Game(players=[], gameState=GameState(turn=0,currentTeam=ONE,currentPlayer=Farbe Blau))
Security framework of XStream not explicitly initialized, using predefined black list on your own risk.
Security framework of XStream not explicitly initialized, using predefined black list on your own risk.
Please start the manual client on localhost:13050 to join room ce16fe77-d23e-448c-b667-bc8721b72734
  7756 INFO  [XStream-Receive id:50] s.server.gaming.ReservationManager - Reservation aea07f40-52e6-46d0-b096-4d6614d6bb40 was redeemed.
Security framework of XStream not explicitly initialized, using predefined black list on your own risk.
  7757 INFO  [XStream-Receive id:50]          sc.server.gaming.GameRoom - Game not ready yet: Game(PAUSED, players=[ONE(Spieler 1), TWO(Spieler 2)], gameState=GameState(turn=0,currentTeam=ONE,currentPlayer=Farbe Blau))
 11979 INFO      [NewClientListener] s.server.network.NewClientListener - Connecting a Client at Socket[addr=/127.0.0.1,port=61937,localport=13050]...
 11991 INFO          [ClientManager]    sc.server.network.ClientManager - Delegating new client to ClientManager...
 11991 INFO      [NewClientListener] s.server.network.NewClientListener - Added Client Client@3269b4e5 to ReadyQueue.
 11991 INFO          [ClientManager]    sc.server.network.ClientManager - Delegation done
Security framework of XStream not explicitly initialized, using predefined black list on your own risk.
 11999 INFO  [XStream-Receive id:52]          sc.server.gaming.GameRoom - Starting Game(PAUSED, players=[ONE(Spieler 1), TWO(Spieler 2)], gameState=GameState(turn=0,currentTeam=ONE,currentPlayer=Farbe Blau))
 12021 INFO  [XStream-Receive id:52]          sc.server.gaming.GameRoom - Updating Status to ACTIVE (was: CREATED)
 12031 DEBUG [JavaFX Application Th]  s.g.controller.GameFlowController - New state: GameState(turn=0,currentTeam=ONE,currentPlayer=Farbe Blau)
 12031 DEBUG [JavaFX Application Th]    sc.gui.controller.AppController - Requested View change from GAME_LOADING -> GAME
 12037 WARN  [XStream-Receive id:52] s.networking.clients.XStreamClient - Disconnecting with LOST_CONNECTION because of com.thoughtworks.xstream.io.StreamException: : Client@3269b4e5
com.thoughtworks.xstream.io.StreamException:
        at com.thoughtworks.xstream.io.xml.XppReader.pullNextEvent(XppReader.java:126)
        at com.thoughtworks.xstream.io.xml.AbstractPullReader.readRealEvent(AbstractPullReader.java:148)
        at com.thoughtworks.xstream.io.xml.AbstractPullReader.readEvent(AbstractPullReader.java:135)
        at com.thoughtworks.xstream.io.xml.AbstractPullReader.hasMoreChildren(AbstractPullReader.java:87)
        at com.thoughtworks.xstream.XStream$4.readFromStream(XStream.java:2101)
        at com.thoughtworks.xstream.core.util.CustomObjectInputStream.readObjectOverride(CustomObjectInputStream.java:123)
        at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:478)
        at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:445)
        at sc.networking.clients.XStreamClient.receiveThread(XStreamClient.java:103)
        at sc.networking.clients.XStreamClient$1.run(XStreamClient.java:80)
        at java.base/java.lang.Thread.run(Thread.java:1474)
Caused by: java.net.SocketException: Connection reset
        at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:316)
        at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:354)
        at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:798)
        at java.base/java.net.Socket$SocketInputStream.implRead(Socket.java:974)
        at java.base/java.net.Socket$SocketInputStream.read(Socket.java:964)
        at java.base/java.io.FilterInputStream.read(FilterInputStream.java:119)
        at java.base/java.io.PushbackInputStream.read(PushbackInputStream.java:185)
        at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:279)
        at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:322)
        at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:186)
        at java.base/java.io.InputStreamReader.read(InputStreamReader.java:183)
        at com.thoughtworks.xstream.core.util.XmlHeaderAwareReader.read(XmlHeaderAwareReader.java:223)
        at org.kxml2.io.KXmlParser.peek(Unknown Source)
        at org.kxml2.io.KXmlParser.pushText(Unknown Source)
        at org.kxml2.io.KXmlParser.nextImpl(Unknown Source)
        at org.kxml2.io.KXmlParser.next(Unknown Source)
        at com.thoughtworks.xstream.io.xml.XppReader.pullNextEvent(XppReader.java:109)
        ... 10 common frames omitted
 12046 INFO  [XStream-Receive id:52] s.networking.clients.XStreamClient - Disconnected with LOST_CONNECTION: Client@3269b4e5
 12048 INFO  [XStream-Receive id:52]    sc.server.network.ClientManager - Removing client Client@3269b4e5 from client manager
 12048 INFO  [XStream-Receive id:52]          sc.server.gaming.GameRoom - Removing TWO(Spieler 2) from sc.server.gaming.GameRoom@6aa07bfc
 12048 INFO  [XStream-Receive id:52]  s.framework.plugins.TwoPlayerGame - Stopping Game(PAUSED, players=[ONE(Spieler 1), TWO(Spieler 2)], gameState=GameState(turn=0,currentTeam=ONE,currentPlayer=Farbe Blau))
 12050 INFO  [XStream-Receive id:52]          sc.server.gaming.GameRoom - Updating Status to OVER (was: ACTIVE)
 12050 INFO  [XStream-Receive id:52]          sc.server.gaming.GameRoom - Game(PAUSED, players=[ONE(Spieler 1), TWO(Spieler 2)], gameState=GameState(turn=0,currentTeam=ONE,currentPlayer=Farbe Blau)) is over (regular=false)
 12060 WARN  [XStream-Receive id:52] s.networking.clients.XStreamClient - Writing on a closed Stream -> dropped the packet (tried to send package of type RoomPacket)
 12066 INFO  [XStream-Receive id:48]  sc.networking.clients.LobbyClient - Received game result: GameResult(winner=Spieler 2 hat das Spiel verlassen: LOST_CONNECTION, scores=[Spieler 1[Siegpunkte=2, Punkte=0], Spieler 2[Siegpunkte=0, Punkte=0]])
 12067 INFO  [XStream-Receive id:51]  sc.networking.clients.LobbyClient - Received game result: GameResult(winner=Spieler 2 hat das Spiel verlassen: LOST_CONNECTION, scores=[Spieler 1[Siegpunkte=2, Punkte=0], Spieler 2[Siegpunkte=0, Punkte=0]])
 12091 INFO  [XStream-Receive id:51]  sc.networking.clients.LobbyClient - Left ce16fe77-d23e-448c-b667-bc8721b72734
 12091 WARN  [XStream-Receive id:52] s.networking.clients.XStreamClient - Writing on a closed Stream -> dropped the packet (tried to send package of type RemovedFromGame)
 12095 INFO  [XStream-Receive id:51] s.networking.clients.XStreamClient - Stopping XStream-Receive id:51 of LobbyClient@45ca22e5
 12095 INFO  [XStream-Receive id:48]  sc.networking.clients.LobbyClient - Left ce16fe77-d23e-448c-b667-bc8721b72734
 12095 INFO  [XStream-Receive id:50] s.networking.clients.XStreamClient - Disconnected with RECEIVED_DISCONNECT: Client@67e112be
 12097 WARN  [XStream-Receive id:51] s.networking.clients.XStreamClient - ReceiveThread is stopping itself
 12097 INFO  [XStream-Receive id:50]    sc.server.network.ClientManager - Removing client Client@67e112be from client manager
 12099 INFO  [XStream-Receive id:51] s.networking.clients.XStreamClient - Disconnected with INITIATED_DISCONNECT: LobbyClient@45ca22e5
 12099 INFO  [XStream-Receive id:50]          sc.server.gaming.GameRoom - Removing ONE(Spieler 1) from sc.server.gaming.GameRoom@6aa07bfc
 12226 DEBUG [JavaFX Application Th]            sc.gui.view.ControlView - GameControlState START
 12417 DEBUG [JavaFX Application Th]                sc.gui.view.AppView - New window title: Spiele Blokus - Software-Challenge GUI 27.0.6
 12442 DEBUG [JavaFX Application Th]            sc.gui.view.ControlView - GameControlState FINISHED
 12449 DEBUG [JavaFX Application Th]              sc.gui.view.GameBoard - New State: GameState(turn=0,currentTeam=ONE,currentPlayer=Farbe Blau)
 12454 DEBUG [JavaFX Application Th]              sc.gui.view.GameBoard - GameState(turn=0,currentTeam=ONE,currentPlayer=Farbe Blau)
15625316 DEBUG [JavaFX Application Th]             sc.gui.model.GameModel - Resetting GameModel
15625323 DEBUG [JavaFX Application Th]              sc.gui.view.GameBoard - New State: null
15625326 DEBUG [JavaFX Application Th]              sc.gui.view.GameBoard - null
15625330 DEBUG [JavaFX Application Th]              sc.gui.model.AppModel - Saving Preferences
15625330 INFO  [JavaFX Application Th] s.server.network.NewClientListener - Shutting down NewClientListener...
15625336 INFO  [JavaFX Application Th]                   sc.gui.ServerApp - App stopped, Terminating
Dominant language
Python
Stars
13
Forks
4
Avg merge
12h 20m
Merged PRs (30d)
2

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from software-challenge/player_python

All issues in software-challenge/player_python

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.