ChannelState.DoSetChannelStates: An unknown error occured while setting channel states (1 Viewer)

popy

MP Donator
  • Premium Supporter
  • July 3, 2011
    617
    141
    Hallo.

    Ich habe das Problem immer noch :(
    Was meint ihr dazu?

    Edit 05.02.2014: Neue Logs angehängt & Lösung, was keine war entfernt

    Mein Setup
    Multiseat: Server mit TVService 1.6 und 2x MP Clients mit 1.6

    Verhalten:
    Mediaportal und der TVService läuft für ca. 14 Tage stabil. Öfters wurde das TVService einfach beendet.
    Im TVService Error Log konnten dann folgende Exceptions gefunden werden:

    Code:
    [2014-02-05 12:35:34,743] [Log    ] [Channel state thread] [ERROR] - ChannelState.DoSetChannelStates: An unknown error occured while setting channel states - select idTuning, idChannel, name, provider, channelType, channelNumber, frequency, countryId, isRadio, isTv, networkId, transportId, serviceId, pmtPid, freeToAir, modulation, polarisation, symbolrate, diseqc, switchingFrequency, bandwidth, majorChannel, minorChannel, videoSource, audioSource, isVCRSignal, tuningSource, band, satIndex, innerFecRate, pilot, rollOff, url, bitrate from TuningDetail where idChannel = ?idChannel;
    Error: StatementErrorUnclassified
    Gentle.Common.GentleException: select idTuning, idChannel, name, provider, channelType, channelNumber, frequency, countryId, isRadio, isTv, networkId, transportId, serviceId, pmtPid, freeToAir, modulation, polarisation, symbolrate, diseqc, switchingFrequency, bandwidth, majorChannel, minorChannel, videoSource, audioSource, isVCRSignal, tuningSource, band, satIndex, innerFecRate, pilot, rollOff, url, bitrate from TuningDetail where idChannel = ?idChannel; ---> System.Threading.ThreadAbortException: Der Thread wurde abgebrochen.
       bei System.Net.UnsafeNclNativeMethods.OSSOCK.recv(IntPtr socketHandle, Byte* pinnedBuffer, Int32 len, SocketFlags socketFlags)
       bei System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, SocketError& errorCode)
       bei System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
       bei System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
       bei System.IO.BufferedStream.ReadByte()
       bei MySql.Data.MySqlClient.MySqlStream.LoadPacket()
       bei MySql.Data.MySqlClient.MySqlStream.OpenPacket()
       bei MySql.Data.MySqlClient.NativeDriver.ReadResult(UInt64& affectedRows, Int64& lastInsertId)
       bei MySql.Data.MySqlClient.MySqlDataReader.GetResultSet()
       bei MySql.Data.MySqlClient.MySqlDataReader.NextResult()
       bei MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
       bei MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
       bei System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader()
       bei Gentle.Framework.SqlStatement.Execute(IDbConnection conn, IDbTransaction tr)
       --- Ende der internen Ausnahmestapelüberwachung ---
       bei Gentle.Framework.SqlStatement.Execute(IDbConnection conn, IDbTransaction tr)
       bei Gentle.Framework.PersistenceBroker.Execute(SqlStatement stmt, IDbConnection dbConnection, IDbTransaction dbTransaction)
       bei TvDatabase.Channel.ReferringTuningDetail()
       bei TvDatabase.TvBusinessLayer.GetTuningChannelsByDbChannel(Channel channel)
       bei TvService.ChannelStates.DoSetChannelStates(IDictionary`2 cards, ICollection`1 channels, ICollection`1 allUsers, IController tvController)System.Threading.ThreadAbortException: Der Thread wurde abgebrochen.
       bei System.Net.UnsafeNclNativeMethods.OSSOCK.recv(IntPtr socketHandle, Byte* pinnedBuffer, Int32 len, SocketFlags socketFlags)
       bei System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, SocketError& errorCode)
       bei System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
       bei System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
       bei System.IO.BufferedStream.ReadByte()
       bei MySql.Data.MySqlClient.MySqlStream.LoadPacket()
       bei MySql.Data.MySqlClient.MySqlStream.OpenPacket()
       bei MySql.Data.MySqlClient.NativeDriver.ReadResult(UInt64& affectedRows, Int64& lastInsertId)
       bei MySql.Data.MySqlClient.MySqlDataReader.GetResultSet()
       bei MySql.Data.MySqlClient.MySqlDataReader.NextResult()
       bei MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
       bei MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
       bei System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader()
       bei Gentle.Framework.SqlStatement.Execute(IDbConnection conn, IDbTransaction tr)

    Wäre toll wenn mir jemand helfen könnte.
    Im Anhang noch ein weiteres Log.

    cu
    pOpY
     

    Attachments

    • log dosetchannelstate 2.zip
      313.6 KB
    Last edited:

    popy

    MP Donator
  • Premium Supporter
  • July 3, 2011
    617
    141
    Folgendes habe ich noch versucht:

    * Löschen aller TV/Radio Kanäle & Channel Maps. Neuer Sendersuchlauf und neu Ordnern der Sender -> Leider keinen Erfolg, heute schon wieder die Meldung

    Habe jetzt mal das Service so eingestellt dass es bei einem Fehler/Crash sich neu startet. So muss ich es wenigstens nicht manuell neu starten.

    Hat von euch keiner eine Idee von wo der Fehler kommt bzw. was ich dagegen machen kann.
    Ansonsten läuft meine 1.6 MultiSeat Installation perfekt.

    thx
    pOpY
     

    popy

    MP Donator
  • Premium Supporter
  • July 3, 2011
    617
    141
    Problem besteht weiterhin :( keiner eine Idee was ich machen kann?

    Kann das Problem reproduzieren wenn ich in SetupTV.exe auf "TestChannels" gehe.
    Nicht den Crash aber die Exceptions:

    upload_2014-2-5_12-42-41.png


    Ignored zählt auch rauf.
    Im Anhang die Logs.

    Wäre toll wenn sich die Logs mal jemand anschauen könnte.

    Danke
    pOpY
     

    Attachments

    • log dosetchannelstate - Test Channels.zip
      43 KB

    JayDee1704

    Portal Member
    February 2, 2009
    7
    2
    Home Country
    Germany Germany
    Hallo Popy,
    auch ich habe eine Client/Server-Struktur mit einem WHS-Server und 5 Clients.
    Seit dem Update auf 1.6 habe ich die gleichen Fehlermeldungen und auch mein TV-Service stürzte nach einiger Zeit ab.
    Das Problem ist nachvollziehbar.
    Immer wenn Du auf einem Client umschaltest und der TV-Server dabei die TV-Karte wechselt tritt das Problem auf.
    (siehe beim Umschalten am Server unter "Manual Control").
    Bsp:
    Wenn Du ARD auf Karte 1 mappest und ZDF auf Karte 2 mappest und dann umschaltest.

    Wird beim Umschalten die Karte des Servers nicht gewechselt
    oder man stoppt erst das laufende Programm und schaltet dann auf einen anderen Kanal wo der Server
    die Karte wechselt, tritt das Problem nicht auf.

    Ich denke da gibt es ein Problem in der V1.6
    Hier wurde auch der MySQL-Server gewechselt.

    Leider hilft Dir das jetzt wahrscheinlich auch nicht weiter, wollte mich aber melden da Du mit dem Problem nicht alleine bist.
     

    popy

    MP Donator
  • Premium Supporter
  • July 3, 2011
    617
    141
    Danke JayDee1704!!!
    Ich hätte schon gemeint ich bin zu blöd ;) um mein System zum laufen zu bekommen und wusste schon nicht mehr was ich machen soll um es zu lösen.
    Es hilft mir schon mal dass ich nicht alleine bin.

    Zu meinen Mappings:
    Ich habe 4 Tuner je 2 Tuner auf 2 Karten (2x DD Cine V6).
    Bei mir sind alle Kanäle auf Alle Karten gemappt, da ja das gleiche Signal auf allen Karten anliegt.

    Folgendes habe ich nun gemacht:
    Log Level des TV Service auf: DEBUG
    Automatischen Neustart des Service wieder ausgeschaltet, sodass es mir auffällt wenn das Service abschmiert und ich die Logs sichern kann

    Meine Beobachtungen:
    • Der Fehler tritt meistens auf wenn mehrere Clients zappen
    • Das TVService stürtzt nicht nach der ersten Exception ab, sondern erst nach ein paar Tage
    • Da ich sonst keine anderen Errors im Log habe muss der Crash fast mit der Fehlermeldung DoSetChannelStates zusammenhängen

    Kannst du auch bitte Logs machen. Um so mehr Logs es gibt umso leichter lässt sich der Fehler hoffentlich finden.
    Im Anhang sind jetzt Logs mit dem Fehler (allerdings ohne Crash) mit Log Level DEBUG.

    Hab auch im englischen thread, deine beobachtungen gepostet.
    vll. kann sich dass mal ein dev anschauen.

    thx
    pOpY
     

    Attachments

    • log_with debug.zip
      404.7 KB
    Last edited:

    JayDee1704

    Portal Member
    February 2, 2009
    7
    2
    Home Country
    Germany Germany
    Hallo Popy,
    auch ich habe 4 Tuner auf 4 Karten (WinTV) verteilt.
    Auch bei mir stürzt der TV-Service erst nach ein paar Tagen ab.
    Es ist dabei egal, ob alle Kanäle auf alle Karten gemappt sind oder einzelne Kanäle auf einzelne Karten.
    Das Problem tritt erst mit der v1.6 auf (Neuinstallation kein Update).

    Ich bin da auch Deiner Meinung, dass das Abstürzen des TV-Services mit der Fehlermeldung zusammenhängt.

    Ich werde später auch noch ein paar Logs ziehen und diese dann hochladen.

    Bis bald
    JayDee
     

    popy

    MP Donator
  • Premium Supporter
  • July 3, 2011
    617
    141
    Hey JayDee1704.

    Danke für die Info und wie es aussieht deckt sich unsere Konfiguration bzw. das Fehlerbild.
    Auch ich habe schon eine KOMPLETTE Neuinstallation des TVServices gemacht, leider ohne Erfolg.

    Wenn deine Logs online sind werde ich diese auch im Englischen Thread posten.

    thx
    pOpY
     

    Wiedmann

    Portal Pro
    June 22, 2007
    107
    28
    Home Country
    Germany Germany
    Im TVService Error Log konnten dann folgende Exceptions gefunden werden:
    Code:
    [2014-02-05 12:35:34,743] [Log    ] [Channel state thread] [ERROR] - ChannelState.DoSetChannelStates: An unknown error occured while setting channel states - select idTuning, idChannel, name, provider, channelType, channelNumber, frequency, countryId, isRadio, isTv, networkId, transportId, serviceId, pmtPid, freeToAir, modulation, polarisation, symbolrate, diseqc, switchingFrequency, bandwidth, majorChannel, minorChannel, videoSource, audioSource, isVCRSignal, tuningSource, band, satIndex, innerFecRate, pilot, rollOff, url, bitrate from TuningDetail where idChannel = ?idChannel;
    Error: StatementErrorUnclassified
    Gentle.Common.GentleException: select idTuning, idChannel, name, provider, channelType, channelNumber, frequency, countryId, isRadio, isTv, networkId, transportId, serviceId, pmtPid, freeToAir, modulation, polarisation, symbolrate, diseqc, switchingFrequency, bandwidth, majorChannel, minorChannel, videoSource, audioSource, isVCRSignal, tuningSource, band, satIndex, innerFecRate, pilot, rollOff, url, bitrate from TuningDetail where idChannel = ?idChannel;
    ...
    Den kenne ich auch. Oder alternativ:

    Code:
    [2014-02-02 07:17:51,510] [Log    ] [Channel state thread] [ERROR] - ChannelState.DoSetChannelStates: An unknown error occured while setting channel states - The database backend (provider MySQL) could not be reached.
    Check the connection string: Server=mediacenter;Database=MpTvDb;User ID=foo;Password=bar;charset=utf8;Connection Timeout=30;
    Error: DatabaseUnavailableUnclassified
    Gentle.Common.GentleException: The database backend (provider MySQL) could not be reached.
    ...
    oder auch mal:
    Code:
    [2014-02-05 21:08:31,417] [Log    ] [EPG Update thread] [ERROR] - Exception in Program.Persist() with Message The database backend (provider MySQL) could not be reached.
    Check the connection string: Server=mediacenter;Database=MpTvDb;User ID=foo;Password=bar;charset=utf8;Connection Timeout=30;

    Der MySQL Server zeigt hier dann auch jedesmal, dass der Client MP die Verbindung abgebrochen hat, ohne die Verbindung korrekt zu schliessen.

    Tatsächlich ist MP hier das einzigste Programm, was Probleme mit dem Zugriff auf den Server hat. "mysql-stress-test.pl" zeigt, dass der Server keine Probleme hat.


    Die Querys und benutze Indexe von MP sollte man tatsächlich mal besser optimieren. Oder auch:
    Der TV Server verbindet sich hier im ø 105000 Mal in der Stunde mit dem Server, wählt seine Datenbank aus, und... macht nichts weiter. Diese unnötigen Abfragen machen 50% aller Abfragen aus. Und das bei derzeit ca. 60 / Sekunde vom TV Server.


    Öfters wurde das TVService einfach beendet.
    Also grundsätzlich provozieren kann ich den Fehler, wenn ich im SetupTV -> Tv Channels ein "Test timeshifting" mache.

    Das der Dienst dabei Abstürtzt hatte ich bisher bei: SetupTV -> Radio Channels -> "Test" Scrambled.
     
    Last edited:

    Users who are viewing this thread

    Top Bottom