Post AYIOkS83sycm5mA0Se by heluecht@pirati.ca
 (DIR) More posts by heluecht@pirati.ca
 (DIR) Post #AYIMoubtjePTfv7AvI by raroun@friendica.opensocial.space
       2023-08-01T17:24:38Z
       
       0 likes, 0 repeats
       
       Hallo zusammen,es ist wieder soweit - einmal im Monat poste ich den Serverstatus aus Transparenzgründen.Die Sprünge im Ram sind Neustarts des Servers. Diese werden in der Regel nur Nachts und prophylaktisch vorgenommen. Bei Sicherheitskritischen Updates wie Firmware oder ähnlichem auch mal am Tag - Ein Neustart des Servers und aller Services dauert in der Regel 1-2 Minuten.Wie Ihr am Ram sehen könnt, lief der Server fast den ganzen Monat stabil ohne Neustarts, außer am 09.07.2023.Ab dem 31.07.2023 seht Ihr , das der Server ca. 2 mal am Tag neu gestartet wurde.Dies hat einen Grund: Aktuell kämpfen wir vermutlich mit einem Bug in Friendica.Es scheint einen Thread im Fediverse zu geben, der dafür sorgt, das sich die PHP-Prozesse in einer Endlosschleife aufhängen, bis der maximale Speicher von 3 Gigabyte pro Prozeess erreicht ist - danach wird dieser abgebrochen.Das hört sich jetzt nicht dramatisch an, aber da bei uns bis zu 150 Prozesse gleichzeitig laufen dürfen, ist der Ram dann schnell erschöpft.Also Sofortmaßnahme habe ich das Speicherlimit pro Prozess auf 1 Gigabyte limitiert.Bisher scheint es keine Abhilfe zu geben und so wie es aussieht ist vorerst nur diese Instanz betroffen.Das kann sich schnell ändern, wenn der Thread auch andere Friendica-Instanzen erreicht.Die ist nun das 3. mal, das wir hier "Vorreiter" waren - echte Pionierarbeit 😉In der Regel dauert es 1-2 Wochen, bis ein Dev über so einen Vorfall auf seiner eigenen Instanz aufmerksam wird und dann ist solch ein Vorfall auch schnell behoben -so zumindest die Erfahrungswerte.Bis dahin muss ich halt 2-3 am Tag den Server neu starten, damit dieser Stabil weiterläuft.Ich habe #friendica.opensocial.space heute auch auf die Entwicklungsversion 2023.09-dev angehoben, in der Hoffnung, das sich irgendwo in dem neuen Code ein fix verbirgt, dem war aber leider nicht so.Für die Nutzer dieser Instanz sollte sich dennoch nichts ändern, außer das das System insgesamt über den Tag verteilt mal 3-6 Minuten nicht erreichbar ist 😀Der Vorfall wurde meinerseits auch hier gemeldet:https://github.com/friendica/friendica/issues/13156Das System kann derzeit aufgrund der Endlosschleifen etwas träger sein als sonst (aber auch nicht akut langsamer) - ich bitte dies zu entschuldigen, aber leider liegt dies außerhalb meines Wirkungsbereiches.Ansonsten gab es keine erwähnenswerten Vorkommnisse, außer das die Moderation und Schlichtungsverfahren leicht zugenommen haben.Für die Statistik-Fans:Derzeit haben wir 479 registrierte Nutzer (+60 im letzen Monat), von denen 217 (+4 im letzen Monat) in den letzten 6 Monaten aktiv waren und ca. 122 (+11 im letzen Monat) regelmäßig aktiv sind.Und wie immer der Zusatz:Wir speichern weder IP-Adressen, Referer oder User-Agent beim Zugriff auf unseren Dienst.Es kann allerdings sein, dass das Loggen dieser Metadaten kurzzeitig aktiviert wird - beispielsweise bei einer DOS oder DDOS-Attacke - aber auch nur, um technische Gegenmaßnahmen einzuleiten. Das Loggen wird nach solch einem Vorfall direkt wieder deaktiviert und die entsprechenden Logs gelöscht.#friendica.opensocial.space
       
 (DIR) Post #AYIMovOSp5G46Xpxce by raroun@friendica.opensocial.space
       2023-08-01T18:32:11Z
       
       0 likes, 0 repeats
       
       Ob ich vielleicht ganz vorsichtig und unerwartungsvoll in Richtung  @heluecht blicken dürfte?
       
 (DIR) Post #AYIMow7890zGL4jdFA by heluecht@pirati.ca
       2023-08-01T18:34:12Z
       
       0 likes, 0 repeats
       
       Worum geht es?
       
 (DIR) Post #AYIOkRYxzSYGKvjyl6 by raroun@friendica.opensocial.space
       2023-08-01T18:37:35Z
       
       0 likes, 0 repeats
       
       @heluechtMeine Instanz wird von Endlosschleifen aufgefressen. 🙁Grobe Informationen gibt es hier:https://github.com/friendica/friendica/issues/13156Detaillierte hier in diesem Thread:https://friendica.opensocial.space/display/8ffdf77c-5664-c93f-d647-d5f453481357Ich weiß echt nicht mehr weiter 😴
       
 (DIR) Post #AYIOkS83sycm5mA0Se by heluecht@pirati.ca
       2023-08-01T18:55:59Z
       
       0 likes, 0 repeats
       
       Setz mal max_recursion_depth auf einen Wert unter 50 und setze fetch_parents auf false.
       
 (DIR) Post #AYIPDp7fTVJdnsyuAK by heluecht@pirati.ca
       2023-08-01T19:01:17Z
       
       0 likes, 0 repeats
       
       Du könntest auch Maximale Anzahl von Kommentaren pro Beitrag und Maximale Anzahl von Kommentaren in der Einzelansicht auf niedrigere Werte setzen. Und eventuell hilft es auch emoji_activities zu aktivieren.
       
 (DIR) Post #AYIPsMDDrrwK0puKDQ by raroun@friendica.opensocial.space
       2023-08-01T19:07:28Z
       
       0 likes, 0 repeats
       
       @heluechtmax_recursion_depth ist nun auf 20fetch_parents ist auf falseDie Änderungen haben leider nichts bewirkt.Selbe Ausgangssituation:Die PHP-FPM Prozesse laufen bis zum PHP max_memory Limit und sterben dann.
       
 (DIR) Post #AYIPsMupFkomC4J9BA by heluecht@pirati.ca
       2023-08-01T19:08:35Z
       
       0 likes, 0 repeats
       
       Was ist mit den anderen Einstellungen? Es sieht mir mehr nach einem Frontend-Dingens aus.
       
 (DIR) Post #AYIRhJbpPDgKf6HMKO by raroun@friendica.opensocial.space
       2023-08-01T19:22:53Z
       
       0 likes, 0 repeats
       
       @heluechtemoji_activities ist falseSelbst wenn noch kein Nutzer verbunen ist - direkt nach einem Neustart -  hacken die php_fpm Prozesse auf der Datenbank rum.Maximale Anzahl von Kommentaren pro Beitrag sind nun 20Maximale Anzahl von Kommentaren in der Einzelansicht  sind nun auch 20Immer noch selbes Verhalten. PHP-FPM frisst sich fest, Datenbank liegt bei 500% CPU..Das ist erst seit 2 Tagen so - seit dem der Beitrag dort gepostet wurde. in mytop sehe ich halt die selects auf die user in diesem Beitrag.
       
 (DIR) Post #AYIRhKIipjzco8LcBc by heluecht@pirati.ca
       2023-08-01T19:29:00Z
       
       0 likes, 0 repeats
       
       Du könntest noch emoji_activities auf true setzen. Ansonsten könntest Du mal schauen, welche Aufrufe das auslösen könnten, eventuell gibt es etwas Seltsames bei den Daten. So aus der Ferne ist die Analyse schwer.
       
 (DIR) Post #AYIT1JJAKnZrTSeF4i by raroun@friendica.opensocial.space
       2023-08-01T19:38:14Z
       
       0 likes, 0 repeats
       
       @heluechtemoji_activities = true - gleiche Situation.Das einzige was ich einsehen kann, ist auf der Datenbank alle User aus diesem Wissenschafts-Thread abgearbeitet werden. mit selects und update statisticsWenn alle durch sind - scheinbar , das sieht man ja nicht so in Echtzeit -, fängt das System von vorne an.Es ist immer die selben zwei thread-uri, die unendlich abgearbeitet werden 🙁
       
 (DIR) Post #AYIT1KxcBtWkbCa3lI by heluecht@pirati.ca
       2023-08-01T19:43:49Z
       
       0 likes, 0 repeats
       
       D.h. Du hast die URI? Dann schaue Dir die Posts an. Dazu kannst Du die View post-view verwenden. Lass Dir die Felder uri, thr-parent, parent-uri anzeigen (Hole Dir die uri des Thread-Starters und rufe alle Posts ab, die diese uri als thr-parent verwenden) und schaue, ob da etwas seltsam aussieht.
       
 (DIR) Post #AYIUyFXc5EJYpZ4eZs by raroun@friendica.opensocial.space
       2023-08-01T19:58:55Z
       
       0 likes, 0 repeats
       
       @heluechtSELECT `uri`, `thr-parent`, `parent-uri` FROM `post-view` WHERE `uri-id` = 21941455\G                           *************************** 1. row ***************************       uri: https://toot.cat/users/Hashtags/statuses/110413239368701976thr-parent: https://toot.cat/users/Hashtags/statuses/110413239368701976parent-uri: https://toot.cat/users/Hashtags/statuses/110413239368701976Bei allen Posts die diese uri als thr-parent verwenden bräuchte ich vielleicht einen tip in form eines sql-staements 😅
       
 (DIR) Post #AYIUyO22VzPFAFN476 by heluecht@pirati.ca
       2023-08-01T20:05:40Z
       
       0 likes, 0 repeats
       
       Du musst beim WHERE einfach nur die parent-uri eintragen, statt der uri-id.
       
 (DIR) Post #AYIVkrXU6x4sZyC6pE by raroun@friendica.opensocial.space
       2023-08-01T20:06:39Z
       
       0 likes, 0 repeats
       
       das ist die zweite uro die immer wieder auftaucht:SELECT `uri`, `thr-parent`, `parent-uri` FROM `post-view` WHERE `uri-id` = 21941457\G*************************** 1. row ***************************       uri: https://toot.cat/users/Hashtags/statuses/110742042033681800thr-parent: https://toot.cat/users/Hashtags/statuses/110742042033681800parent-uri: https://toot.cat/users/Hashtags/statuses/110742042033681800
       
 (DIR) Post #AYIVksIdHen8wCFlJY by heluecht@pirati.ca
       2023-08-01T20:14:23Z
       
       0 likes, 0 repeats
       
       Wie gesagt, Ersetze das `uri-id` = 21941457 durch `thr-parent` = 'https://toot.cat/users/Hashtags/statuses/110742042033681800'
       
 (DIR) Post #AYJ9Nq0xbrfFMBYbke by raroun@friendica.opensocial.space
       2023-08-01T20:23:24Z
       
       0 likes, 0 repeats
       
       @heluechtDanke! 😉SELECT `uri`, `thr-parent`, `parent-uri` FROM `post-view` WHERE `thr-parent` = 'https://toot.cat/users/Hashtags/statuses/110742042033681800'\G*************************** 1. row ***************************       uri: https://toot.cat/users/Hashtags/statuses/110742042033681800thr-parent: https://toot.cat/users/Hashtags/statuses/110742042033681800parent-uri: https://toot.cat/users/Hashtags/statuses/110742042033681800Da kommt exakt das gleiche Ergebnis 😀
       
 (DIR) Post #AYJ9Nqh951PNT1IIVM by heluecht@pirati.ca
       2023-08-02T03:37:27Z
       
       0 likes, 0 repeats
       
       Zeigt das Tool das Du da verwendest alle Zeilen an oder nur die erste?
       
 (DIR) Post #AYJIdWJBXk7qSbdOEa by raroun@friendica.opensocial.space
       2023-08-02T05:07:09Z
       
       0 likes, 0 repeats
       
       @heluechtDas ist die einzige row, die von dem Statement zurückgegeben wird.
       
 (DIR) Post #AYJIdX1qrfr2h8X3r6 by heluecht@pirati.ca
       2023-08-02T05:22:10Z
       
       0 likes, 0 repeats
       
       Wenn das Tool was Du da verwendest (es ist nicht die SQL-Konsole, oder?) ansonsten mehrere Zeilen zurückgibt, dann weiß ich auch nicht weiter.Schau Dir die Logs an, insbesondere auch die access-Log des Webservers. Eventuell gibt es auch einen externen Prozess, der die gleiche URL immer und immer wieder abruft.
       
 (DIR) Post #AYJJukCzDTn8RoVnWq by raroun@friendica.opensocial.space
       2023-08-02T05:30:00Z
       
       0 likes, 0 repeats
       
       @heluechtEs ist die normale mysql-Konsole.Die Access-Log ist heute Morgen ruhig, also kann ich einen externen Prozess Zugriff ausschließen.Meine Vermutung fiel auf eine Endlosschleife, weil sich die Prozesse in der Smilies.php festfressen - also so wie ich es verstehe in der Text-Aufbereitung des Posts.Ich studiere mal die Friendica-Logs, vielleicht steht da ja was auffälliges drin 😀
       
 (DIR) Post #AYJJul229gcn08OZ60 by heluecht@pirati.ca
       2023-08-02T05:36:31Z
       
       0 likes, 0 repeats
       
       Ja, dass Smilies.php ist da eher der Tropfen und nicht die Ursache. Ein vollständiger Callstack wäre klasse.
       
 (DIR) Post #AYJMqowJz3BfpEXOMK by raroun@friendica.opensocial.space
       2023-08-02T05:40:13Z
       
       0 likes, 0 repeats
       
       @heluechtDen Callstack krieg ich eher schlecht aus einem Fatal raus - aber ich schaue und beobachte weiter 😀Wenn mir irgendetwas auffällt, poste ich es hier.Auf jeden Fall hier schon mal ein dickes Dankeschön für Deine Zeit und dein Engagement 😀
       
 (DIR) Post #AYJMqpmmpz9eRx5I8W by heluecht@pirati.ca
       2023-08-02T06:09:05Z
       
       0 likes, 0 repeats
       
       Leider ist meine Zeit massiv limitiert. Es wäre gut, die Ursache zu finden.
       
 (DIR) Post #AYLwpr2efSbkinG5r6 by raroun@friendica.opensocial.space
       2023-08-03T10:39:46Z
       
       0 likes, 0 repeats
       
       @heluechtIch glaube ich habe die Ursache für den loop gefunden:/src/factory/api/mastodon/Status.phpfunction createQuoteWenn ich die Function auskommentiere, gibt es keinen loop (also den Inhalt der Funktion).https://github.com/friendica/friendica/issues/13156
       
 (DIR) Post #AYLwprkG3LUCu1euoq by heluecht@pirati.ca
       2023-08-03T12:02:05Z
       
       0 likes, 0 repeats
       
       Ah okay, danke für den Hinweis!