Jammer-Thread

Hier kann über allgemeine Themen diskutiert werden, die sonst in kein Forum passen.
Insbesondere über Szene, Games, Kultur, Weltgeschehen, Persönliches, Recht, Hard- und Software.
Benutzeravatar
Krishty
Establishment
Beiträge: 7850
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

-fno-inline-functions war bei mir mit -O0 oder -Og noch nie nötig. Auch habe ich keine Probleme mit fehlenden Werten/Namen/Ausdrücken, so lange ich bei -O0 statt -Og bleibe. Das könnte aber ein Windows-Ding sein.

Danke für -g3, das kannte ich noch nicht. Tatsächlich enthält meine PDB mit -gfull -g3 rund 20 % mehr Daten als nur mit -gfull. Den Leuten, die diese Flags benennen, hat echt jemand ins Hirn geschissen. Kommando zurück; falschen Build verglichen! -g3 macht hier auf Windows keinen Unterschied zu -gfull oder beidem.

-fno-limit-debug-info hat allerdings keinen Einfluss auf Code oder Debug-Informationen (zumindest in meinem Szenario).
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
NytroX
Establishment
Beiträge: 264
Registriert: 03.10.2003, 12:47

Re: Jammer-Thread

Beitrag von NytroX »

Cool, danke fürs ausprobieren.
Also bei mir hüpft er definitiv ohne das "-fno-inline-functions" über einige Breakpoints. -g3 und -gfull sind wohl tatsächlich doppelt gemoppelt...
Ich habe einfach in jeder Zeile einen Breakpoint gesetzt und geschaut bei welcher Konstellation er die meisten davon "hitted". Daher lass ichs jetzt einfach so, ich fasse das nie wieder mehr an :-P
Aber kann natürlich auch was mit der Version zu tun haben; ich benutze hier gerade clang version 13.0.1 mit GDB 11.1, also alles noch etwas älter.
Benutzeravatar
Krishty
Establishment
Beiträge: 7850
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

NytroX hat geschrieben: 24.05.2022, 20:53 ich benutze hier gerade clang version 13.0.1 mit GDB 11.1, also alles noch etwas älter.
Hier 13.0.0 beta … tatsächlich ist ja schon 14 stable
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 7850
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Krishty hat geschrieben: 24.05.2022, 21:08Hier 13.0.0 beta … tatsächlich ist ja schon 14 stable
Ich wollte auf 14.0.0 aktualisieren um zu prüfen, ob der Bug vielleicht behoben ist.

Ist er nicht.

Und außerdem kann ich nun keine Sonderzeichen mehr in Variablennamen benutzen. Was mit 13.0 noch funktionierte.

💩
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 7850
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

HAHAHAHA das mit den Sonderzeichen in Variablennamen ist Absicht!

Natürlich bin ich nicht der Einzige, der drüber gestolpert ist: https://github.com/llvm/llvm-project/issues/54732

Kurz: Sie setzen nun https://www.open-std.org/jtc1/sc22/wg21 ... 949r7.html um. Da werden einige pöse Unicode-Zeichen von C++ ausgeschlossen, was prinzipiell nicht schlecht ist.

Aber sie schließen auch eine komplette Kategorie mathematischer Zeichen aus. Dafür behalten sie alle Emojis.

  float ψₖ; // ab jetzt verboten
  float x²; // ab jetzt auch verboten
  float 🔥; // weiterhin erlaubt

WTF

W
 T
  F

W F
 T
W F


Ein weiterer Beweis dafür, dass das C++-Standardkomitee von hippen Taugenichtsen geführt wird. Macht über EINER VON DENEN was Produktives mit der Sprache?!

Nachtrag: I stand corrected: Emojis funktionieren ebenfalls nicht mehr … obwohl das Bug-Ticket was anderes behauptet.
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1949r7.html hat geschrieben:The status quo of emoji support is an accident.
Dann rege ich mich direkt weniger auf, denn nun sind alle nicht-trivialen Zeichen verboten. Meine letzten Kritikpunkte sind
  • Warum keine Sonderzeichen am Anfang von Namen zulassen? Warum nur ab dem zweiten Zeichen?! Jetzt brauche ich scheiß Präfixe für meine Variablen, aber _ darf ich nicht benutzen, weil ich dann den reservierten Namensraum betrete. FFFFUUUUU
  • Warum nicht von Anfang an so? Warum haben die C++14 vor zehn Jahren(!!!) so verkackt, dass jetzt alles zurückgerollt und Boatloads von funktionierendem Code kaputtgemacht werden müssen?!
Für das zweite habe ich eine Antwort, aber die ist nicht politisch korrekt, also behalte ich sie für mich.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
dot
Establishment
Beiträge: 1681
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: Jammer-Thread

Beitrag von dot »

Krishty hat geschrieben: 28.05.2022, 03:00[*]Warum keine Sonderzeichen am Anfang von Namen zulassen? Warum nur ab dem zweiten Zeichen?! Jetzt brauche ich scheiß Präfixe für meine Variablen, aber _ darf ich nicht benutzen, weil ich dann den reservierten Namensraum betrete. FFFFUUUUU
Weil der Lexer irgendwie zwischen Identifieren und anderen Token unterscheiden muss. Soll ² wirklich ein valider Name sein? Welche Symbole sollen erlaubt sein? Wieso genau die und nicht das hier auch noch? Aber das dort ist erlaubt, wieso soll mein Lieblingssymbol aus meiner Sprache nicht erlaubt sein? Aber natürlich nur wenn es in einer bestimmten Kombination mit bestimmten anderen Symbolen vorkommt weil sonst macht das keinen Sinn. Oh aber vielleicht würden wir dieses Symbol später irgendwann doch mal als Operator verwenden wollen? …Du siehst das wird sehr schnell extrem kompliziert auf allen Ebenen, technisch, designmäßig und auch politisch. Das Unicode Consortium existiert einzig und allein um auf genau solche Fragen Antworten zu finden, die linguistisch Sinn machen und mit denen alle leben können. Es macht keinen Sinn, die ganze Arbeit die dort über die Jahrzehnte geleistet wurde zu duplizieren weil was auch immer dabei rauskommt wird nicht signifikant besser werden. Genau darum ja das von dir verlinkte Proposal zur Adoption von UAX31…
Krishty hat geschrieben: 28.05.2022, 03:00[*]Warum nicht von Anfang an so? Warum haben die C++14 vor zehn Jahren(!!!) so verkackt, dass jetzt alles zurückgerollt und Boatloads von funktionierendem Code kaputtgemacht werden müssen?![/list]
Für das zweite habe ich eine Antwort, aber die ist nicht politisch korrekt, also behalte ich sie für mich.
Unicode in Identifiern ist soweit ich das sehen kann schon seit C++98 erlaubt und seit damals praktisch unverändert. UAX31 gab's damals noch nicht (erster Draft 2003, erste offizielle Recommendation 2005)…


Edit: Wieso werden Links hier denn als display: inline-block formatiert?
Benutzeravatar
Krishty
Establishment
Beiträge: 7850
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

dot hat geschrieben: 28.05.2022, 16:17Weil der Lexer irgendwie zwischen Identifieren und anderen Token unterscheiden muss.
Aber das muss er doch ohne Unicode genau so? Bitte ausführlicher
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
dot
Establishment
Beiträge: 1681
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: Jammer-Thread

Beitrag von dot »

Krishty hat geschrieben: 28.05.2022, 18:00
dot hat geschrieben: 28.05.2022, 16:17Weil der Lexer irgendwie zwischen Identifieren und anderen Token unterscheiden muss.
Aber das muss er doch ohne Unicode genau so? Bitte ausführlicher
Ja, muss er. Zum Beispiel muss er zwischen Integerliteralen und Identifiern unterscheiden. Darum ist blub1234 ein valider Identifier aber 1234blub nicht. Weil der Lexer so weiß, wenn er ein Numeral sieht, dass da jetzt ein Integer- oder Floatliteral kommt. Und wenn er einen Buchstaben sieht, dann weiß er, dass da jetzt ein Identifier kommt. Ansonsten müsste der Lexer erstmal arbitrary Lookahead machen, Backtracken etc. um alle potentiellen Möglichkeiten auszuloten. Kann man natürlich machen, aber kostet halt. Die Frage ist: ist es das wert? Und: Macht es wirklich Sinn dass sowas wie 2blub oder ²blub ein Identifier ist? Macht es wirklich Sinn dass blub² ein Identifier ist? Die ² hat je nach Kontext eine ganze Reihe an potentiellen Bedeutungen und die haben nicht unbedingt damit zu tun, Teil eines Names zu sein…

Edit: für 1234blub ist es sowieso zu spät weil das ist mittlerweile ein user-defined Literal…
Benutzeravatar
Krishty
Establishment
Beiträge: 7850
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

dot hat geschrieben: 28.05.2022, 20:24Ansonsten müsste der Lexer erstmal arbitrary Lookahead machen, Backtracken etc. um alle potentiellen Möglichkeiten auszuloten. Kann man natürlich machen, aber kostet halt. Die Frage ist: ist es das wert?
Also im Kern eine Leistungsfrage? Ich hadere. Zum einen kommt C++’ Grammatik eh nicht ohne Lookahead aus, denn u8"lol" ist auch kein Identifier, sondern ein Literal. Speaking of Literals – in Literals sind Sonderzeichen ja eh unterstützt, der Lexer enthält das Unicode-Zeug also sowieso.

Bei GCC habe ich mal in die Quellen geschaut, und der prüft einen Identifier nicht im Lexer auf Gültigkeit, sondern liest erst die Bytes bis zum nächsten Whitespace/Operator/EOF und schiebt sie danach in _cpp_valid_ucn() in libcpp/charset.c. Dort wird dann entschieden, ob alle Bytes gültig sind. Die Logik umfasst auch so schon hunderte Zeilen von Sprüngen.

Bei Clang ist diese Prüfung diagnoseInvalidUnicodeCodepointInIdentifier() in clang/lib/Lex/Lexer.cpp, und ich kann mangels Kontext nicht so recht sagen, ob sie während des Lookaheads läuft oder erst danach. Ich kann aber recht sicher sagen, dass die neuen Prüfungen durch UAX32 wesentlich aufwändiger sind als die vorherige Version, die einfach alles Unicode gefressen hat.
dot hat geschrieben: 28.05.2022, 16:17Das Unicode Consortium existiert einzig und allein um auf genau solche Fragen Antworten zu finden, die linguistisch Sinn machen und mit denen alle leben können.
Das Unicode-Konsortium pflegt Listen, was als Whitespace zu betrachten ist und was als Zahl, usw. Die sind nützlich. Aber dass das Unicode-Konsortium nun bestimmt, welche Variablennamen in C++ linguistisch Sinn ergeben, finde ich ziemlich verstörend. Das liest sich, als hätten sie einfach nach dem erstbesten Standard gegriffen, den sie finden konnten.
dot hat geschrieben: 28.05.2022, 16:17Unicode in Identifiern ist soweit ich das sehen kann schon seit C++98 erlaubt und seit damals praktisch unverändert. UAX31 gab's damals noch nicht (erster Draft 2003, erste offizielle Recommendation 2005)…
Ich dachte, das sei an mangelnder Definition von Source Character Set gescheitert und erst mit C++0x (C++11?) gekommen … kann aber gefährliches Halbwissen sein. Ich weiß definitiv, dass die erlaubten Buchstaben für C++11 stark umgeschichtet wurden.
dot hat geschrieben: 28.05.2022, 20:24Macht es wirklich Sinn dass blub² ein Identifier ist?
Aus dem verlinkten Bug Ticket:
https://github.com/llvm/llvm-project/issues/54732#issuecomment-1120296066 hat geschrieben:As an example from the code I'm currently working on:

Code: Alles auswählen

// Compute forward-backward envelope
φₖ₊₁ = ψₖ₊₁ + 1 / (2 * γₖ₊₁) * pₖ₊₁ᵀpₖ₊₁ + grad_ψₖ₊₁ᵀpₖ₊₁;
With limited Unicode support, I have to write something like this:

Code: Alles auswählen

// Compute forward-backward envelope
φ_k_plus_1 = ψ_k_plus_1 + 1 / (2 * γ_k_plus_1) * p_k_plus_1ᵀp_k_plus_1
           + grad_ψ_k_plus_1ᵀp_k_plus_1;
Ja, solche Dinge ergeben absolut Sinn. Ich habe selber ein paar Dutzend Stellen im Code, in denen len² einfacher zu lesen ist als lenSqr.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 455
Registriert: 05.07.2003, 11:17

Re: Jammer-Thread

Beitrag von Lord Delvin »

Trifft das jetzt auch die LLVM IR oder ist das nur clang, also C++ & Co?
Würde mich extrem ärgern, wenn ich jetzt alle Namen in der IR immer mangeln müsste, weil das das Debuggen viel schwerer macht.

Hätte jetzt mal erwartet, dass es wenig strittig ist, dass ² keine Zahl ist.
Was mich an der Aktion ehrlich gesagt ziemlich irritiert ist, dass man erwarten würde, dass die anderen Tokenkategorien sowieso nicht in der Lage wären, irgendwas mit den Zeichen zu machen und es schon deswegen als Identifierzeichen verwendet werden kann. Ich meine wenn irgendwo im Code 2² steht, erwartet dann irgendwer tatsächlich, dass es ein double Literal mit dem Wert 4 ist? Oder ein Integer? Oder eine 22? Das kann bestenfalls ein Fehler sein und dann verstehe ich den rückwirkenden Eingriff nicht.
XML/JSON in schnell: OGSS
Keine Lust mehr auf C++? Versuche Tyr: Get & Get started
Helmut
Establishment
Beiträge: 236
Registriert: 11.07.2002, 15:49
Wohnort: Bonn
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Helmut »

Folgende Situation:
PC1 <<WLAN>> Router <<WLAN>> PC2

Wenn nun PC1 mittels TCP mit PC2 kommuniziert, kann man sich dann darauf verlassen, dass die gesendeten Daten nicht korrupt übermittelt werden? Stellt sich raus, dass die Antwort darauf ein klares Nein ist.
Benutzeravatar
starcow
Establishment
Beiträge: 428
Registriert: 23.04.2003, 17:42
Echter Name: Mischa Schaub

Re: Jammer-Thread

Beitrag von starcow »

Helmut hat geschrieben: 02.06.2022, 19:41 Folgende Situation:
PC1 <<WLAN>> Router <<WLAN>> PC2

Wenn nun PC1 mittels TCP mit PC2 kommuniziert, kann man sich dann darauf verlassen, dass die gesendeten Daten nicht korrupt übermittelt werden? Stellt sich raus, dass die Antwort darauf ein klares Nein ist.
Wie meinst du das? Du hast ja auf Layer 4, also TCP/IP, eine Fehlerkorrektur. Und auf Layer 2 - meine ich - auch nochmals eine...
Freelancer 3D- und 2D-Grafik
mischaschaub.com
Helmut
Establishment
Beiträge: 236
Registriert: 11.07.2002, 15:49
Wohnort: Bonn
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Helmut »

starcow hat geschrieben: 03.06.2022, 16:52
Helmut hat geschrieben: 02.06.2022, 19:41 Folgende Situation:
PC1 <<WLAN>> Router <<WLAN>> PC2

Wenn nun PC1 mittels TCP mit PC2 kommuniziert, kann man sich dann darauf verlassen, dass die gesendeten Daten nicht korrupt übermittelt werden? Stellt sich raus, dass die Antwort darauf ein klares Nein ist.
Wie meinst du das? Du hast ja auf Layer 4, also TCP/IP, eine Fehlerkorrektur. Und auf Layer 2 - meine ich - auch nochmals eine...
Ja, TCP hat eine Fehlerkorrektur. Aber leider ist die so schlecht, dass es bei mehrereren GB an Daten durch aus vorkommen kann (und bei mir auch praktisch der Fall ist), dass die Daten korrupt übertragen werden und das nicht erkannt wird. Ob es auch eine Fehlerkorrektur auf niedrigeren Layern gibt weiß ich nicht, ich weiß nur dass sie bei mir offensichtlich nicht funktioniert.
Alexander Kornrumpf
Moderator
Beiträge: 1946
Registriert: 25.02.2009, 13:37

Re: Jammer-Thread

Beitrag von Alexander Kornrumpf »

Ich hatte _manchmal_ nur in modernen Windows Dialogen (WiFi Selection, Windows Update, ihr wisst was ich meine, das neue UI was nicht mehr wie Windows 95 aussieht) aber nicht z. B. im Browser das Problem, dass der Dialog nach einem Klick immer ganz nach unten scrollte, statt den Klick zu akzeptierten.

Das Problem ist ungooglebar. In dem was ich für das offizielle Microsoft Forum halte (answers.microsoft.com oder so?) hatten mehrere Leute exakt das Problem beschrieben und die Antwort war immer ein generischer Textbaustein mit dem modernen Äquivalent zu dem was 1998 "Windows neu installieren" gewesen wäre. Das hat mich doppelt geärgert, weil die Fehlerbeschreibungen überraschend gut waren, aber die Antworten haben die halt ignoriert, und es halt die Herstellerseite ist. Alles andere auf den ersten paar google seiten kannst du auch vergessen, wer schonmal nach irgendeiner end-user Frage zu Windows gegooglet hat, weiß was dann kommt.

Da ich nicht erst seit gestern Computer benutze bin ich _natürlich_ darauf gekommen, dass da irgendwo eine Taste hängen muss und habe Maus und Tastatur jeweils einzeln abgeklemmt, ohne Verhaltensänderung.

Huh?

Nach ungefähr 30 Minuten zuviel Investigation stellt sich dann raus, dass das neue UI, wie auch immer es richtig heißt, und anscheinend auch _nur_ dieses, Input vom XBox-Controller akzeptiert, wo halt mal irgendwas gegen den Analog-Stick stößt, wenn es nur rumliegt. Dass es erst nach einem Klick passiert und nicht beim Öffnen des Dialogs scheint daran zu liegen, dass erst ein Widget den Fokus bekommen muss, und ab da ist Analog Stick down dann so wie Tab zum nächsten Widget.
Benutzeravatar
Krishty
Establishment
Beiträge: 7850
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Alexander Kornrumpf hat geschrieben: 17.06.2022, 11:04Nach ungefähr 30 Minuten zuviel Investigation stellt sich dann raus, dass das neue UI, wie auch immer es richtig heißt, und anscheinend auch _nur_ dieses, Input vom XBox-Controller akzeptiert,
Oh wow. Ich wünsche mir manchmal ziemlich sehnsüchtig, dass Windows mehr Controller unterstützt (jedes Mal, wenn ich Joystick/Racing Wheel angeschlossen habe und nicht mehr zur Maus greifen will) … und dann denke ich daran, wie verdammt stark das Controller-Signal manchmal flattert und kriege direkt Alpträume.
die Antwort war immer ein generischer Textbaustein mit dem modernen Äquivalent zu dem was 1998 "Windows neu installieren" gewesen wäre
pLeAsE dO sFc -sCaNnOw
[marked as answer by MVP from central India]
————

Kennt ihr das, dass ihr manchmal eine Codebase habt, die mit einer exotischen Tab-Größe arbeitet? 2 oder 3 oder 8 Leerzeichen pro Tab?

Für genau so etwas wurde EditorConfig erfunden. Ihr legt eine Datei namens .editorconfig in einen Ordner; schreibt die Tab-Größe rein (indent_size = 8); fertig. Ab jetzt wird eure IDE diese Einstellung auf alle Dateien im Ordner (und in Unterordnern) anwenden. Visual Studio, Eclipse, QtCreator … zwischen Repositories und Bereichen mit unterschiedlichen Tab-Größen hin- und her ohne in die Einstellungen zu müssen!

Ha ha ha ich verarsch’ euch natürlich nur. Visual Studio unterstützt zwar EditorConfig, kann aber Tabs nicht in anderen Größen anzeigen als global voreingestellt. Und das Bug-Ticket ist natürlich geschlossen als wontfix, und natürlich mit fassunglosen Kommentaren drunter. Das ist ja heute sozusagen das Microsoft Sign of Approval für die ernsten Produktprobleme!
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Alexander Kornrumpf
Moderator
Beiträge: 1946
Registriert: 25.02.2009, 13:37

Re: Jammer-Thread

Beitrag von Alexander Kornrumpf »

Krishty hat geschrieben: 19.06.2022, 17:48
die Antwort war immer ein generischer Textbaustein mit dem modernen Äquivalent zu dem was 1998 "Windows neu installieren" gewesen wäre
pLeAsE dO sFc -sCaNnOw
[marked as answer by MVP from central India]
Ich sehe, wir verstehen uns.
Alexander Kornrumpf
Moderator
Beiträge: 1946
Registriert: 25.02.2009, 13:37

Re: Jammer-Thread

Beitrag von Alexander Kornrumpf »

https://www.w3.org/TR/pointerlock-2/#do ... ointerlock

A requestPointerLock() call immediately after the default unlock gesture MUST fail even when transient activation is available, to prevent malicious sites from acquiring an unescapable locked state through repeated lock attempts.
Ja, seh ich ein. Der Grund des Jammerns: Firefox und Chrome interpretieren "immediately" sehr unterschiedlich oder Firefox implementiert es gar nicht. Ich habe es in Firefox nicht geschafft mit einem Klick (=legale Nutzerinteraktion) schnell genug wieder einen Request zu triggern um in diesen Fall zu laufen. In Chrome ist die Periode in der man kein neues Lock bekommt jedoch deutlich merkbar. Heißt: Code der in Firefox funktioniert scheitert in Chrome.

Die Kirsche auf der Torte:
Chromes Fehlermeldung

The user has exited the lock before this request was completed.
Das liest sich so als würden sich der Versuch das Lock zu bekommen und die User-Aktion asynchron überschneiden. Das ist aber nicht das was passiert. Es geht um eine User-Aktion bevor der request überhaupt gefeuert (nicht: completed) wurde.

At the time of writing Chrome's error message as quoted above has very few hits on google so chances are google brought you here searching for that error and you do not speak German. To summarise for you: The error message is in fact misleading. The reason you are getting this error is likely the requirement quoted in the beginning of this post and Chrome interpreting "immediately" as a very long time.

EDIT: Based on this issue (https://github.com/w3c/pointerlock/issues/42) I am no longer convinced that PointerLock is ready for prime time if you do not absolutely need it. Admittedly, the documentation in MDN warns you left and right that this is the case so the joke for being somewhat naive about this is on me.
Benutzeravatar
marcgfx
Establishment
Beiträge: 1943
Registriert: 18.10.2010, 23:26

Re: Jammer-Thread

Beitrag von marcgfx »

Heute ist ein rechtes Gewitter über meine Wohnung hinweg gezogen. Vorsichtshalber alles ausgeschaltet, sogar die Steckleiste. Danach die Steckleiste eingeschaltet und da hat es geknallt. Es scheint meinen PC oder zumindest das Netzteil vernichtet zu haben. Super...
Benutzeravatar
scheichs
Establishment
Beiträge: 714
Registriert: 28.07.2010, 20:18

Re: Jammer-Thread

Beitrag von scheichs »

marcgfx hat geschrieben: 22.06.2022, 23:17 Heute ist ein rechtes Gewitter über meine Wohnung hinweg gezogen. Vorsichtshalber alles ausgeschaltet, sogar die Steckleiste. Danach die Steckleiste eingeschaltet und da hat es geknallt. Es scheint meinen PC oder zumindest das Netzteil vernichtet zu haben. Super...
Oh je. Drück Dir die Daumen, dass es nur Netzteil war und Du schnell wieder entwickeln kannst.
Mirror
Establishment
Beiträge: 177
Registriert: 25.08.2019, 05:00
Alter Benutzername: gdsWizard
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Mirror »

Jetzt kommt sogar schon Werbung im Elektronischen Programm Guide meines Fernsehers. Es gibt kein Entkommen ...
ehemals gdsWizard, http://www.mirrorcad.com
Benutzeravatar
Jonathan
Establishment
Beiträge: 1959
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Jonathan »

Hab meine Bildersammlung in meine Seafile-Cloud gelegt und auf mehreren Rechnern synchronisiert um ein automatisches Backup zu haben. Nachdem ich meinen Laptop synchronisiert habe war ich neugierig und hab die Gesamtgröße und die Anzahl der Dateien verglichen. Und siehe da, auf meinem Desktop fehlt eine Datei und ein paar hundert MB.
Erst dachte ich, es sei vielleicht eine Thumbs.db oder so, die nicht synchronisiert wurde. Bei über 5000 Dateien in diversen Ordnern die auf 2 unterschiedlichen Rechnern liegen ist es gar nicht so leicht herauszufinden, welche Datei denn nun fehlt. Ugh. Ich habe letztendlich von Hand danach gesucht (bisschen Binäre Suche gemacht, Hälfte der Ordner markiert und Dateien gezählt, usw.) und letztendlich kam heraus, dass ein Video nicht synchronisiert wurde. Obwohl der Client "Synchron" angezeigt hat.

Klar kann ich das händisch fixen, aber es geht halt einfach nicht, dass eine File-Cloud nicht robust funktioniert. Es darf nicht sein, dass etwas nicht synchronisiert wird und trotzdem kein Fehler angezeigt wird. Das geht wirklich absolut gar nicht. Ich hatte das Problem noch nie, bzw. es ist mir noch nie aufgefallen, also mache ich mir jetzt ernsthafte Gedanken ob diese Lösung noch tragbar ist.

Es hilft ja nichtmal, alle paar Monate ein Backup auf eine externe Platte zu machen. Wenn ich von mehreren Rechnern aus am selben Ordner arbeite, dann weiß ich ja nicht, welcher jetzt der echte ist und garantiert alle Dateien hat. Argh...
Lieber dumm fragen, als dumm bleiben!
Benutzeravatar
x1m4
Establishment
Beiträge: 103
Registriert: 02.04.2022, 22:56
Kontaktdaten:

Re: Jammer-Thread

Beitrag von x1m4 »

marcgfx hat geschrieben: 22.06.2022, 23:17 Heute ist ein rechtes Gewitter über meine Wohnung hinweg gezogen. Vorsichtshalber alles ausgeschaltet, sogar die Steckleiste. Danach die Steckleiste eingeschaltet und da hat es geknallt. Es scheint meinen PC oder zumindest das Netzteil vernichtet zu haben. Super...
Oof ich glaub ich werde da in Zukunft vorsichtiger sein mit meinen Geräten. Gewitter gibt's bei mir gerade alle paar Tage mit ordentlich Krach.
Benutzeravatar
marcgfx
Establishment
Beiträge: 1943
Registriert: 18.10.2010, 23:26

Re: Jammer-Thread

Beitrag von marcgfx »

Der Witz ist ja, dass bei mir das Netzteil beim Einschalten der Stromleiste draufgegangen ist... wieso auch immer. Inzwischen habe ich ein neues Netzteil gekauft, war zum Glück sonst nichts kaputt. Beim letzten Gewitter auch wieder alles aus- und eingeschaltet und beim Einschalten des PCs (nicht der Stromleiste) hat es mir die Sicherung rausgehauen. Ich war sicher das wieder was kaputt ist, läuft aber noch.

Ein Kollege hat kürzlich sehr viele Daten und wichtige Projekte verloren als ein Blitz eingeschlagen ist. Die Warscheinlichkeit ist wohl klein, aber der Schaden kann gross sein.
Benutzeravatar
marcgfx
Establishment
Beiträge: 1943
Registriert: 18.10.2010, 23:26

Re: Jammer-Thread

Beitrag von marcgfx »

Habe gestern eine neue Version von der TV version von sfäre machen wollen. XCode muss auf den neuesten Stand gebracht werden. Aber auch die neuste Version von XCode unterstützt zumindest mein mobile nicht. Hm... Ah ich muss auf OSX 12 hoch. Gut dann mal updaten. Immer noch nicht OSX 12 was ist denn hier los? ... Oh mein macbook von 2013 wird nicht mehr unterstützt. Geil. Danke Apple. Darf ich mir jetzt ein neues MacBook kaufen?
Benutzeravatar
Jonathan
Establishment
Beiträge: 1959
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Jonathan »

Ja, fick Updates.
Ich habe auf meinem Server die neuste Version von Seafile installiert. Die benutzen jetzt Docker, was ansich ja irgendwie ok ist, weil dadurch zumindest theoretisch die Installation einfacher sein sollte. Nur hab ich das noch nie benutzt und musste es von Grund auf neu lernen. Weil die Anleitung, die mit 5 Kommandozeilenbefehlen ("Seafile in 5 Minuten"!) natürlich nicht out-of-the-box funktioniert hat und ich stattdessen 3 Tage rumfrickeln musste.
Ich hatte bei der letzten Installation extra umfangreiche Notizen gemacht, weil das damals auch schon ewig gedauert hat, alles korrekt aufzusetzen. Das war vor 2 oder 3 Jahren. Ich meine, auf die eine Art würde man ja denken "ok, dann lern ich jetzt halt Docker, ist eine Investition in die Zukunft", aber auf der anderen Seite ist das jetzt das dritte mal, dass ich Seafile komplett neu aufsetze anstatt es zu updaten, ich habe mir jedesmal Notizen gemacht und sie waren jedesmal beim der nächsten Installation nutzlos weil wieder alles komplett anders (und besser!!!) war.
Geil war auch, dass die neue Version die Prozessorarchitektur meines Raspberry V2 nicht mehr unterstützt, ich also irgendwo im Netz die am wenigsten dubiose Sekundärquelle für Docker-Images suchen musste.
Und es ist jetzt nicht so, dass die neue Version irgendetwas fundamental anders macht. Mir kommt Software mittlerweile wie Bürokratie vor, die Updates sind eher selbstzweck damit mehr Menschen Jobs haben, oder so. Vor 50 Jahren war unsere gesamte Bürokratie noch auf Paper statt digital, heute ist alles 10 mal effizienter, aber dafür wird dann auch eben 10 mal so viel erfasst und verwaltet und unterm Strich ist gefühlt nichts effizienter oder besser. Und Softwareupdates fressen regelmäßig meine Zeit aber man hat sich jetzt einfach so daran gewöhnt, dass man sich gar nicht mehr daran stört, dass alles vollkommen grundlos nach ein paar Monaten aufhört zu funktionieren, wenn man nicht Zeit in Upgrades investiert. Digitaler Rost quasi.

(Bonusbeispiel: Ich habe absolut keine Ahnung, welche neuen Features Firefox in den letzten 10 Jahren bekommen hat. Aber was auch immer es war, es hat nur dazu beigetragen, dass Webseiten heute nerviger sind als vor 10 Jahren. Gefühlt wäre die Welt heute besser, hätte man einfach absolut nichts verändert...)
Lieber dumm fragen, als dumm bleiben!
Benutzeravatar
Krishty
Establishment
Beiträge: 7850
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Jonathan hat geschrieben: 04.07.2022, 21:52Ich habe absolut keine Ahnung, welche neuen Features Firefox in den letzten 10 Jahren bekommen hat. Aber was auch immer es war, es hat nur dazu beigetragen, dass Webseiten heute nerviger sind als vor 10 Jahren. Gefühlt wäre die Welt heute besser, hätte man einfach absolut nichts verändert...
Passend dazu:

Visual Studio 2022 ist, verglichen mit 2019, ein dampfender Haufen Scheiße.

Auto-Vervollständigung ist bei mir locker 70 % der Zeit nicht einsatzbereit. Wenn doch, dann mit fünf bis zehn Sekunden Ladezeit.

Navigation durchs Projekt ist in 90 % der Fälle unmöglich geworden. Er findet nicht einmal mehr Klassen, die 20 Zeilen weiter oben deklariert wurden. Und wenn doch, dauert es so lange, dass ich mit einer Textsuche schneller da bin.

Meine Produktivität leidet gerade extrem unter diesem Dreck. WTF haben die denn da bitteschön verschlimmbessert?!
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
marcgfx
Establishment
Beiträge: 1943
Registriert: 18.10.2010, 23:26

Re: Jammer-Thread

Beitrag von marcgfx »

Boa, genau so geht es mir auch gerade. Mein MacBook von 2013 wird nicht mehr von Apple unterstützt. Ohne das neuste Betriebssystem gibt es kein neues XCode. Ohne das neue XCode kann ich keine Apps mehr erstellen. Neues MacBook gekauft, alles neu Installiert und auch mein Unity Projekt von 2019.4.5f auf 2021.3.5f hochgestuft.

Es ist zum kotzen. Daten gehen zwischen Windows und Mac verloren (und auch in die Gegenrichtung). Ich warte trotz neuem Gerät jetzt Minuten nachdem ich den Play-Vorgang abgebrochen habe. Es ist schneller das Ding für TvOS zu builden und auszuführen als es im Unity-Editor zu testen.

Ich muss mal schauen ob ich wieder auf die alte Version zurückstufen kann, aber sowas ist immer mega mühsam.
edit: konnte es nicht so stehen lassen. Alles zurückgesetzt. Läuft deutlich besser. Wie kann man sowas wichtiges so dermassen verhunzen?
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 455
Registriert: 05.07.2003, 11:17

Re: Jammer-Thread

Beitrag von Lord Delvin »

Krishty hat geschrieben: 08.07.2022, 01:38 Meine Produktivität leidet gerade extrem unter diesem Dreck.
Du hast es bestimmt nicht in Chrome laufen lassen, vorher alle deine lokalen Daten und Cookies gelöscht und beschwerst dich daher zu Unrecht ;)
XML/JSON in schnell: OGSS
Keine Lust mehr auf C++? Versuche Tyr: Get & Get started
Benutzeravatar
Krishty
Establishment
Beiträge: 7850
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

🚫 Closed – by design
Xiao Pigo after 12 seconds

Buy a faster PC or go kys you fckn piece of shit
Xiao Pigo after 17 seconds

Yeah fuck you
Feng Deng after 32 seconds

⚠️ Evaluation of your telemetry suggests that you are not using Windows 11. Windows 11 is the new, fast, safe operating system for your PC, smartphone, and smart toilet!
Click here to get Windows 11 now!
Azure cloud bot after 45 seconds

I have same problem it gone after 46 bits
Pavel Diksuklov after 23 minutes

✔️ Accepted Answer
Hi I’m Saresh, a certified Microsoft Professional from India.
In order to investigate your problem, please provide additional information.
1. open a command prompt by clicking Start, then typing c m d on your keyboard, and hitting enter.
2. Type: sfc /scannow
3. Go to C:\Windows\you\shouldnt\be\here and attach sfc.log to this conversation.
Saresh Maheesapeemapetilon after 1 hour

This ticket has been closed, solved, and you are an asshole. It will be deleted from our database in 5 seconds. Whatcha wanna do about it, faggot?
Microsoft feedback bot after 1 hour 2 seconds
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 7850
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Habe mal kurz reingeschaut – ein vcpkgsrv-Prozess hängt bei maximaler CPU-Last herum. Wenn ich ihn abschieße, kommt Autovervollständigung und Navigation langsam wieder, bis er irgendwann wieder hängt.

Microsoft verteilt Debug-Symbole für vcpkgsrv, also kann ich den Debugger anhängen. Er hängt in perform_scheduled_routine_moves.

Zu dem Namen gibt es im Internet genau einen Treffer: Ein Ticket, dass IntelliSense in Visual Studio Code auf MacOS hängt. Wir wissen also schonmal, dass Microsoft auf Mac den gleichen Compiler benutzt wie auf Windows, was das Ganze weniger gruselig macht.

Laut Ticket gab es zuvor einen Bug, dass die Funktion in eine Endlosschleife geriet. Ein MS-Mitarbeiter hat dann einen Notausstieg eingebaut, wenn die Schleife zu lange läuft.

Später haben sie aber den ursprünglichen Bug im Compiler korrigiert und brauchten den Notausstieg nicht mehr. Er wurde gelöscht. Und jetzt entsteht dort wieder eine Endlosschleife, aber ohne Repro nehmen sie keine Bug Reports an.

Mein Call Stack:

Code: Alles auswählen

 	cpfe.dll!perform_scheduled_routine_moves(void)
 	cpfe.dll!wrapup_scope()
 	cpfe.dll!pop_scope_full()
 	cpfe.dll!pop_scope(void)
 	cpfe.dll!pop_namespace_scope()
 	cpfe.dll!namespace_declaration()
 	cpfe.dll!check_special_declaration_form()
 	cpfe.dll!scan_nonmember_declaration()
 	cpfe.dll!declaration()
 	cpfe.dll!translation_unit()
 	cpfe.dll!process_translation_unit()
Es passiert also beim Verlassen eines Namespaces. Ich habe den Stack nach brauchbaren Strings durchsucht, aber außer dem Namen der Quelldatei konnte ich nichts finden.

Fun Fact: Die Stack-Strings, die ich gesehen habe, lassen vermuten, dass IntelliSense jedes Unterverzeichnis des Projekts als Include-Verzeichnis hinzufügt. Auch das .git-Verzeichnis, zum Beispiel; und die Ausgabeverzeichnisse für Kompilat. Das ist extrem gruselig.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Antworten