[DONE] Elephant "vergisst" konfigurierte Datenbanken ((nur?)bei Popup-Nutzung)

    • v0lle85
      v0lle85
      Bronze
      Dabei seit: 21.04.2008 Beiträge: 31
      Hallo!

      Mein Elephant "vergisst" die konfigurierten Datenbanken immer, wenn ich mit einem Rechtsklick auf die Stats der Gegner ein Popup öffne. Sobald die nächste Hand dann importiert werden soll, öffnet sich wieder der Dialog, man solle doch bitte zunächst eine Datenbank konfigurieren. ALLE vorher eingestellten Datenbanken (ich hatte mal zu Testzwecken mehrere konfiguriert) sind dann auch in den Einstellungen verloren und bei JEDER gespielten und importierten Hand öffnet sich der besagte Dialog, was dazu führt, dass man schnell 10 oder mehr dieser Dialoge offen hat.

      Nach Beheben des eigentlichen Bugs schlage ich also vor, auch dafür zu sorgen, dass dieser Dialog immer nur einmal geöffnet ist und sich das Informationsfenster auch nicht mehr öffnet, wenn man gerade dabei ist, die Daten für eine Datenbank einzutragen ;)

      Es gibt zwei weitere Threads zu diesem Thema, soweit ich das beurteilen kann, wobei ich natürlich nicht sicher bin, ob es sich um das exakt gleiche Problem handelt. Da ich aber aufgefordert wurde, einen neuen Thread zu starten, tu ich das hiermit mit Verweis auf die Alten:

      [IN:000630] Plötzlich Unterbrechung zur Datenbank
      [DONE] Popup verursacht Probleme

      Die Information, dass das Problem auch bei Pokerstars besteht, entnehme ich übrigens dreisterweise einfach aus dem Screenshot, der in einem der beiden Threads auftaucht.

      Hier die Fakten:

      PokerStrategy.com Elephant Version: 0.89.30823.3

      Betriebssystem:
      (x) XP
      ( ) Vista
      ( ) Windows 7

      ANMERKUNG: XP läuft in meinem Fall unter Linux in einer VirtualBox

      Auf welchen Pokerraum bezieht sich das Problem:
      ( ) PartyPoker
      (x) PokerStars
      ( ) Full Tilt Poker
      ( ) iPoker Netzwerk (Mansion, Titan, etc.)
      (x) andere: Everest

      Problem in FAQ gesucht: (Siehe: hier)
      ( ) Ja
      (x) Nein

      Screenshot vorhanden:
      ( ) Ja
      (x) Nein

      Fehlermeldungen im Logfile des Elephants vorhanden:
      (Wo finde ich die Log-Datei auf meinem Computer? Siehe: hier)
      (x) Ja (Bitte auch den Inhalt des Logfiles posten!)
      ( ) Nein

      Bei Datenbankproblemen:
      PostgreSQL separat installiert:
      (x) Ja
      ( ) Nein, der Elephant hat Postgres mit installiert

      Datenbankproblem-Guide gelesen? (Siehe: hier)
      ( ) Ja
      (x) Nein (Aufgrund der Moderatorantwort in einem anderen Thread scheint mir das Problem unbekannt zu sein)




      Fehlermeldungen im Log:

      Folgendes hat vermutlich nicht mit dem Problem zu tun. Ich poste es trotzdem:


      2010-08-30 11:36:04,922 - 60 (UTC:2010-08-30 09:36:04,922) [1] INFO Welcome Message:
      ---------------------------------------- Launching 'Elephant.exe' (Version: 0.89.30823.3) ----------------------------------------------------------------------
      2010-08-30 11:36:06,830 - 1968 (UTC:2010-08-30 09:36:06,830) [3] INFO Welcome Message:
      -------------------- System Info --------------------
      CPU: AMD Phenom(tm) II X2 550 Processor at 3095 Mhz with 1 cores (x86 Family 16 Model 4 Stepping 2)
      OS : Microsoft Windows XP Professional (Microsoft Windows NT 5.1.2600 Service Pack 2)
      RAM: 2.56GB
      Culture info: de-DE

      2010-08-30 11:36:21,140 - 16279 (UTC:2010-08-30 09:36:21,140) [1] INFO Welcome Message: Installed PostgreSQL version: PostgreSQL 8.4.4 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.4.real (Ubuntu 4.4.3-4ubuntu5) 4.4.3, 64-bit
      2010-08-30 11:36:27,780 - 22918 (UTC:2010-08-30 09:36:27,780) [1] INFO VersionUpdate: Starting background version check...
      2010-08-30 11:36:29,873 - 25011 (UTC:2010-08-30 09:36:29,873) [14] ERROR PokerStrategy.Elephant.Import.PipeNode.Parser: Exception caught in Void PokerStrategy.Elephant.Import.PipeNode.PipeNodeBase.ThreadFuncWrapper(PokerStrategy.Elephant.Import.PipeNode.IPipeContext): No matching parser found.
      Will put this work item into error queue
      2010-08-30 11:36:31,285 - 26423 (UTC:2010-08-30 09:36:31,285) [10] INFO VersionUpdate: Background version check finished.
      Latest Version: 0.87.1381.2210
      NewVersionAvail: False
      IgnoreUpdateVersion:

      2010-08-30 11:38:09,955 - 125093 (UTC:2010-08-30 09:38:09,955) [9] ERROR PokerStrategy.Elephant.Import.PipeNode.Parser: Exception caught in Void PokerStrategy.Elephant.Import.PipeNode.PipeNodeBase.ThreadFuncWrapper(PokerStrategy.Elephant.Import.PipeNode.IPipeContext): No matching parser found.
      Will put this work item into error queue




      2010-08-30 11:38:53,317 - 168455 (UTC:2010-08-30 09:38:53,317) [19] ERROR PBNLogger:
      -------------------- Npgsql.NpgsqlException --------------------
      - Message: ERROR: 42602: relative path not allowed for COPY to file
      - Severity: ERROR
      - Code: 42602
      - BaseMessage: relative path not allowed for COPY to file
      - Detail:
      - Hint:
      - Position:
      - Where:
      - File: copy.c
      - Line: 1244
      - Routine: DoCopyTo
      - ErrorSql: COPY (SELECT TRIM(comment,'\''), author_id, player_name, site_id FROM comment_on_player) TO 'C:/WINDOWS/TEMP/CommentsPlayers.ele' WITH DELIMITER ',' CSV QUOTE AS '\'' NULL AS 'NULL'
      - Errors: System.Collections.ArrayList
      - ErrorCode: -2147467259
      - Data: System.Collections.ListDictionaryInternal
      - TargetSite: Boolean MoveNext()
      - HelpLink: <null>
      - Source: Npgsql
      - InnerException: <null><none>
      - StackTrace:
      bei Npgsql.NpgsqlState.<ProcessBackendResponses_Ver_3>d__a.MoveNext()
      bei Npgsql.ForwardsOnlyDataReader.GetNextResponseObject()
      bei Npgsql.ForwardsOnlyDataReader.GetNextRowDescription()
      bei Npgsql.ForwardsOnlyDataReader.NextResult()
      bei Npgsql.ForwardsOnlyDataReader..ctor(IEnumerable`1 dataEnumeration, CommandBehavior behavior, NpgsqlCommand command, NotificationThreadBlock threadBlock, Boolean synchOnReadError)
      bei Npgsql.NpgsqlCommand.GetReader(CommandBehavior cb)
      bei Npgsql.NpgsqlCommand.ExecuteNonQuery()
      bei PBN.Database.PostgreSQL.ExecuteNonQuery(String in_sQueryString)


      Installed PostgreSQL version: PostgreSQL 8.4.4 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.4.real (Ubuntu 4.4.3-4ubuntu5) 4.4.3, 64-bit


      Das Ganze passiert extrem häufig, vermutlich bei jedem Import.

      Relevant scheint mir Folgender Teil:

      2010-08-30 11:43:53,620 - 468759 (UTC:2010-08-30 09:43:53,620) [19] ERROR PBNLogger: Exception caught in Boolean PBN.Database.PostgreSQL.InitializeConnection(System.String ByRef)
      -------------------- System.Exception --------------------
      - Message: Timeout while getting a connection from pool.
      - Data: System.Collections.ListDictionaryInternal
      - TargetSite: Npgsql.NpgsqlConnector RequestPooledConnector(Npgsql.NpgsqlConnection)
      - HelpLink: <null>
      - Source: Npgsql
      - InnerException: <null><none>
      - StackTrace:
      bei Npgsql.NpgsqlConnectorPool.RequestPooledConnector(NpgsqlConnection Connection)
      bei Npgsql.NpgsqlConnectorPool.RequestConnector(NpgsqlConnection Connection)
      bei Npgsql.NpgsqlConnection.Open()
      bei PBN.Database.PostgreSQL.InitializeConnection(String& in_sBinPath)
      2010-08-30 11:43:53,630 - 468769 (UTC:2010-08-30 09:43:53,630) [19] ERROR PBNLogger: Exception caught in Void PokerStrategyElephant.HudWindowPlayerDetails.RefreshMatrix()
      -------------------- System.NullReferenceException --------------------
      - Message: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
      - Data: System.Collections.ListDictionaryInternal
      - TargetSite: Poker.Classes.PlayerStatisticRatioCollection GetCustomizedHudLinesFromCache(System.Collections.Generic.List`1[System.String], System.Collections.Generic.List`1[Poker.Classes.Statistics+HudValue], System.String, PokerStrategyElephant.DatabaseFilter, Boolean, Int32, Int32)
      - HelpLink: <null>
      - Source: Elephant
      - InnerException: <null><none>
      - StackTrace:
      bei PokerStrategyElephant.Database.MainQuery.GetCustomizedHudLinesFromCache(List`1 playerNames, List`1 request, String siteId, DatabaseFilter filter, Boolean useStrippedNames, Int32 minimumHands, Int32 minimumHandsPlayerStats)
      bei PokerStrategyElephant.HudWindowPlayerDetails.RefreshMatrix()


      Da hier von einem Timeout die Rede ist, noch die Info, dass das öffnen des Popups mehr als 5 Sekunden nach dem Klick benötigt. Zum Schließen braucht das einmal geöffnete Popup sogar um Längen mehr, vllt 15 Sekunden... (Könnte natürlich sein, dass das an der VirtualBox liegt, allerdings sollte das nicht zu einem vollständigen Vergessen der DB führen...)

      Gruß, V0lle85
  • 7 Antworten
    • MichaelWagner42
      MichaelWagner42
      Bronze
      Dabei seit: 12.09.2009 Beiträge: 1.552
      Hallo,

      Kannst Du bitte mal sicher stellen, dass jeder auf c:\windows\temp volle Rechte hat?

      Der Elephant, bzw. PostgreSQL kann in dem Ordner eine Datei nicht beschreiben und das ist das Problem.

      Ciao
      Michael
    • v0lle85
      v0lle85
      Bronze
      Dabei seit: 21.04.2008 Beiträge: 31
      Hi!

      Unter XP kann ich ja nur den Schreibschutz entfernen, eine sonstige Zugriffsverwaltung gibt es nicht, oder?
      Ansonsten: PostgreSQL wird über Netzwerk angesprochen, kann also keinen Zugriff auf dieses Verzeichnis bekommen.

      EDIT: Vielleicht ist das gerade das Problem, dass PostgreSQL unter Linux quasi nicht bedacht wurde beim nutzen von Windows/Temp?

      EDIT: Übrigens tritt der Fehler, in dem auf Windows/Temp verwiesen wird, so häufig auf, dass er zumindest nicht DIREKT mit dem öffnen des Popups zusammen hängen kann. Wird an der Stelle irgendwas geschrieben, was später vom Popup benötigt wird?
    • MichaelWagner42
      MichaelWagner42
      Bronze
      Dabei seit: 12.09.2009 Beiträge: 1.552
      Hallo,

      Die Spielerkommentare werden via sql befehl nach c:\windows\temp\CommentsPlayers.ele kopiert.

      Das wird mit nem Linux PostgreSQL natürlich gar nicht gehen :(

      Da musst Du leider erst mal ohne die Popups auskommen. Ich werde das hier mal besprechen.

      Ciao
      Michael
    • v0lle85
      v0lle85
      Bronze
      Dabei seit: 21.04.2008 Beiträge: 31
      Kann ich vorübergehend die Popups abschalten, damit ich nicht aus Versehen darauf klicke und die Datenbank verliere? Ich benutzt die Popups momentan ohnehin noch nicht.

      Danke schonmal für die schnellen Antworten.

      Gruß, V0lle85
    • mrk1988
      mrk1988
      Bronze
      Dabei seit: 04.02.2007 Beiträge: 13.337
      Ja das geht. Dazu klickst du dich in die Hud-Einstellungen und schaltest die Option "Hud Spieler Details anzeigen" aus.
    • v0lle85
      v0lle85
      Bronze
      Dabei seit: 21.04.2008 Beiträge: 31
      Danke, das klappt für mich für's Erste.
      Vielleicht wär's noch interessant zu wissen, ob in den anderen beiden Threads die jeweiligen User das Problem aus ähnlichen Gründen haben, also ob sie den SQL-Server auch unter Linux laufen haben bzw. der Zugriff auf Windows/Temp unmöglich ist...?

      Gruß, V0lle85
    • Larres
      Larres
      Bronze
      Dabei seit: 07.09.2009 Beiträge: 2.402
      Hi ho,

      ohne weiteres Feedback schließe ich diesen erledigten Thread jetzt aber mal.

      Cheers,
      L