Jammer-Thread
Re: Jammer-Thread
Neuen Monitor angeschlossen und ZACK, Internet funktioniert nicht mehr. Selbst nach stundenlangem Treiber neuinstallieren, neue Netzwerkkarte einbauen und etlichen Neustarts wollte es nicht laufen. Musste schließlich Windows neu installieren.
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Jammer-Thread
Mein Monitor bombardiert mich mit Popup-Werbung:
Ich werde jetzt neu starten. Aber ich kann bis dahin meine Frustration, dass so etwas überhaupt technisch möglich und im Monitor einprogrammiert ist, garnicht in Worte fassen.
Die Werbung verdeckt meine Task-Leiste. Sie kommt definitiv vom Monitor weil selbst der Mauszeiger verdeckt wird. Alle 5 Sekunden verschwindet sie für eine Zehntelsekunde und taucht dann wieder auf.
Ich werde jetzt neu starten. Aber ich kann bis dahin meine Frustration, dass so etwas überhaupt technisch möglich und im Monitor einprogrammiert ist, garnicht in Worte fassen.
- Schrompf
- Moderator
- Beiträge: 5047
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Jammer-Thread
Das ist heftig. Danke für die Warnung.
Evtl. kann der Support Dir da helfen. Bei mir zumindest war er schnell und gut.
Evtl. kann der Support Dir da helfen. Bei mir zumindest war er schnell und gut.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
- kimmi
- Moderator
- Beiträge: 1405
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Jammer-Thread
Das ist ja krass, was mittlerweile als Firmware durchgehen darf.
Gruß Kimmi
Gruß Kimmi
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Jammer-Thread
Ist immernoch da … dann muss ich wohl den Support anrufen. Shit shit shit.
Ich hatte ja schonmal erwähnt, dass die Firmware blockiert (der Monitor nicht auf Eingaben reagiert) während der PC herunterfährt. Der Monitor macht beim Ausschalten immer ein Piep-piep-Geräusch. Letztens habe ich die Aus-Taste exakt in dem Augenblick gedrückt, wo das Signal vom PC wegblieb, und dann hat er mit dem ersten Piep angefangen, die Firmware hat blockiert, und der Monitor hat eineinhalb Minuten laut gepiept und dabei nicht auf Eingaben reagiert. Als das Timeout zuende war, hat das Piepen aufgehört, der zweite Piep kam, und der Monitor ging aus.
Sonst ist er eigentlich wirklich gut und ich bin voll zufrieden … aber die Firmware …
Ich hatte ja schonmal erwähnt, dass die Firmware blockiert (der Monitor nicht auf Eingaben reagiert) während der PC herunterfährt. Der Monitor macht beim Ausschalten immer ein Piep-piep-Geräusch. Letztens habe ich die Aus-Taste exakt in dem Augenblick gedrückt, wo das Signal vom PC wegblieb, und dann hat er mit dem ersten Piep angefangen, die Firmware hat blockiert, und der Monitor hat eineinhalb Minuten laut gepiept und dabei nicht auf Eingaben reagiert. Als das Timeout zuende war, hat das Piepen aufgehört, der zweite Piep kam, und der Monitor ging aus.
Sonst ist er eigentlich wirklich gut und ich bin voll zufrieden … aber die Firmware …
- kimmi
- Moderator
- Beiträge: 1405
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Jammer-Thread
Na dann schnapp dir doch mal einen gdb und mach Kernel-Debugging über RS-232 ;). Da kannst du dich dann mal so richtig austoben.
Kimmi
Kimmi
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Jammer-Thread
Man muss echt alles selber schreiben. Sogar Monitor-Firmware.
————
Geschafft! Monitor vom PC trennen, via Menü auf Werkseinstellungen zurücksetzen, wieder anschließen, fertig. Ein Glück, dass es kein Fernseher ist.
*Hier beliebiges Furzgeräusch einsetzen*LG Support hat geschrieben:Hier hat sich aus unbekannten Gründen der Demo-Modus aktiviert und kann nur durch unseren Service deaktiviert werden.
Um ein Gerät für eine Reparatur anzumelden, verwenden Sie bitte unser Kontaktformular auf unserer Homepage:
…
————
Geschafft! Monitor vom PC trennen, via Menü auf Werkseinstellungen zurücksetzen, wieder anschließen, fertig. Ein Glück, dass es kein Fernseher ist.
Re: Jammer-Thread
Oh leck... ich hab die ganze Zeit gedacht das mit der Werbung wär ein Scherz, Krishty. :shock: Sah halt so nach Std-Aufkleber aus.
Aber auch super Support von LG...
Aber auch super Support von LG...
Re: Jammer-Thread
:twisted: :twisted: :twisted: WAAAAAH. ICH HASSE DLLS :!: :!: :!:
Ich werd hier noch total bekloppt. ARGH! :twisted: :twisted: :twisted:
Nachdem ich mein System neu aufgesetzt habe (neues VC, alle Libs in aktueller Version runtergeladen und kompiliert), startete mein Mesh-Viewer nicht mehr im Release-Mode. Keine Fehlermeldung, gar nichts. Nachdem ich eine Releaseversion mit Debug-Infos hatte, konnte ich es durchsteppen und es brach einfach mitten in einem Widget-Konstruktor ab. Alle Member waren ok, der Code hatte keinerlei Fehler. Es gab nicht den Hauch einer Fehlermeldung, wenn man einmal weitergesteppt hat, war das Programm einfach auf einmal beendet. Gar nichts.
Nach einer halben Stunde dann, kam ich endlich auf die Idee, Dependency-Walker zu benutzen. Und siehe da, die Releaseversion hat 2 QT-Dlls aus meiner MikTex-Installation (warum zur Hölle liegen da im bin-Verzeichnis DLLS rum??? :twisted: :twisted: :twisted: Man braucht doch nur die beschissenene MikTex-Binaries, nicht den ganzen Dll-Rotz), und eine von mir kompilierte. Kein Wunder, dass das Probleme machte.
Gut, dank Rapid-Environment-Editor konnte ich die Umgebungsvariablen flugs anpassen und jetzt werden meine Qt-Dlls priorisiert.
Aber das ist doch echt die Hölle. Vor allen Dingen, weil man Umgebungsvariablen unter Windows mit Bordmitteln im Grunde genommen nicht editieren kann (wer auch immer die GUI dafür geschrieben hat, gehört ausgepeitscht - das ist ja mal dermaßen was von unfunktional und umständlich, dass selbst das Anpassen per Kommendozeile einfach ist :twisted: ).
Ohne diese zwei Tools (Dependency-Walker und Rapid-Environoment-Editor) könnte ich echt nicht mehr arbeiten. Und das ist das eigentliche Problem, dass das ganze System von Dlls dermaßen kaputt ist, dass ich gleich zwei Extra-Tools brauche um Fehler zu finden und zu beheben.
Es hat schon einen Grund, warum ich mittlerweile grundsätzlich alles statisch Linke, was irgendwie statisch geht. Die 5mb Executable Code sind mir dann einfach mal egal, und ansonsten haben dlls einfach 0 Vorteile. Ob ich jetzt ne dll tausche oder das Programm neu kompiliere ist egal, sobald alles einmal eingerichtet ist, ist Kompilieren ja kein Problem mehr.
In diesem Sinne: DLLS sind Scheiße! :twisted:
(sorry für die Kraftausdrücke, aber mit gesitteter Sprache kann ich meine Emotionen gerade nicht ausdrücken. Ich denke, in diesem Thread sollte das auch ok sein)
beinahe vergessen: noch ein paar :twisted: :twisted: :twisted: :twisted: (da ich leider keine schönen gifs zur Hand habe - wenn jemand ein paar gute rant-gifs hat, immer her damit)
Ich werd hier noch total bekloppt. ARGH! :twisted: :twisted: :twisted:
Nachdem ich mein System neu aufgesetzt habe (neues VC, alle Libs in aktueller Version runtergeladen und kompiliert), startete mein Mesh-Viewer nicht mehr im Release-Mode. Keine Fehlermeldung, gar nichts. Nachdem ich eine Releaseversion mit Debug-Infos hatte, konnte ich es durchsteppen und es brach einfach mitten in einem Widget-Konstruktor ab. Alle Member waren ok, der Code hatte keinerlei Fehler. Es gab nicht den Hauch einer Fehlermeldung, wenn man einmal weitergesteppt hat, war das Programm einfach auf einmal beendet. Gar nichts.
Nach einer halben Stunde dann, kam ich endlich auf die Idee, Dependency-Walker zu benutzen. Und siehe da, die Releaseversion hat 2 QT-Dlls aus meiner MikTex-Installation (warum zur Hölle liegen da im bin-Verzeichnis DLLS rum??? :twisted: :twisted: :twisted: Man braucht doch nur die beschissenene MikTex-Binaries, nicht den ganzen Dll-Rotz), und eine von mir kompilierte. Kein Wunder, dass das Probleme machte.
Gut, dank Rapid-Environment-Editor konnte ich die Umgebungsvariablen flugs anpassen und jetzt werden meine Qt-Dlls priorisiert.
Aber das ist doch echt die Hölle. Vor allen Dingen, weil man Umgebungsvariablen unter Windows mit Bordmitteln im Grunde genommen nicht editieren kann (wer auch immer die GUI dafür geschrieben hat, gehört ausgepeitscht - das ist ja mal dermaßen was von unfunktional und umständlich, dass selbst das Anpassen per Kommendozeile einfach ist :twisted: ).
Ohne diese zwei Tools (Dependency-Walker und Rapid-Environoment-Editor) könnte ich echt nicht mehr arbeiten. Und das ist das eigentliche Problem, dass das ganze System von Dlls dermaßen kaputt ist, dass ich gleich zwei Extra-Tools brauche um Fehler zu finden und zu beheben.
Es hat schon einen Grund, warum ich mittlerweile grundsätzlich alles statisch Linke, was irgendwie statisch geht. Die 5mb Executable Code sind mir dann einfach mal egal, und ansonsten haben dlls einfach 0 Vorteile. Ob ich jetzt ne dll tausche oder das Programm neu kompiliere ist egal, sobald alles einmal eingerichtet ist, ist Kompilieren ja kein Problem mehr.
In diesem Sinne: DLLS sind Scheiße! :twisted:
(sorry für die Kraftausdrücke, aber mit gesitteter Sprache kann ich meine Emotionen gerade nicht ausdrücken. Ich denke, in diesem Thread sollte das auch ok sein)
beinahe vergessen: noch ein paar :twisted: :twisted: :twisted: :twisted: (da ich leider keine schönen gifs zur Hand habe - wenn jemand ein paar gute rant-gifs hat, immer her damit)
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
- Chromanoid
- Moderator
- Beiträge: 4273
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
Re: Jammer-Thread
Das nennt sich mal eine zünftige DLL Hell, aber ich nehme an den Begriff kanntest Du schon bei der Dichte an Teufeln :D
Mit Jars kann man ähnlichen Spaß haben :D der ist dann aber wenigstens nicht ganz so schlimm zu analysieren.
Mit Jars kann man ähnlichen Spaß haben :D der ist dann aber wenigstens nicht ganz so schlimm zu analysieren.
- dot
- Establishment
- Beiträge: 1745
- Registriert: 06.03.2004, 18:10
- Echter Name: Michael Kenzel
- Kontaktdaten:
Re: Jammer-Thread
"Das System" ist alles andere als kaputt und bietet natürlich eine wunderbare und wohl durchdachte Lösung für all diese Dinge. Das Problem ist, dass niemand das System richtig benutzt. Am schlimmsten sind die Leute, die einfach ihren Kram in System32 packen, obwohl der Ordnername an sich doch schon klipp und klar sagt, dass Dinge, die nicht Teil des Betriebssystems sind, dort absolut nichts zu suchen haben. Denen verdanken wir auch, dass der Ordner immer noch System32 heißt...Jonathan hat geschrieben:Und das ist das eigentliche Problem, dass das ganze System von Dlls dermaßen kaputt ist, dass ich gleich zwei Extra-Tools brauche um Fehler zu finden und zu beheben.
- kimmi
- Moderator
- Beiträge: 1405
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Jammer-Thread
Dem kann ich nur zustimmen.. Was machen Qt-Dlls im System32. Die Qt-Installation unterscheidet in ihren Deployment nach Versionen und Exe haben ihre Abhängigkeiten nicht ohne Grund im gleichen Verzeichnis, um solche Probleme erst gar nicht aufkommen zu lassen. Man darf halt einfach nicht mal eben System32 der Einfachheit halber zumüllen.dot hat geschrieben:"Das System" ist alles andere als kaputt und bietet natürlich eine wunderbare und wohl durchdachte Lösung für all diese Dinge. Das Problem ist, dass niemand das System richtig benutzt. Am schlimmsten sind die Leute, die einfach ihren Kram in System32 packen, obwohl der Ordnername an sich doch schon klipp und klar sagt, dass Dinge, die nicht Teil des Betriebssystems sind, dort absolut nichts zu suchen haben. Denen verdanken wir auch, dass der Ordner immer noch System32 heißt...Jonathan hat geschrieben:Und das ist das eigentliche Problem, dass das ganze System von Dlls dermaßen kaputt ist, dass ich gleich zwei Extra-Tools brauche um Fehler zu finden und zu beheben.
Allerdings der Fairnis halber: das Pluginsystem von Qt mit QML ist gewöhnungsbedürftig, besonders, wenn Teile des Plugins auch im C++-Code benutzt werden müssen. Dann hat man bei Nichteinhaltung gewisser kaum dokumentierten Richtlinien gern mal die gleiche Dll zweimal geladen und dann ist es Essig mit static-Daten.
Gruß Kimmmi
- RustySpoon
- Establishment
- Beiträge: 298
- Registriert: 17.03.2009, 13:59
- Wohnort: Dresden
Re: Jammer-Thread
Dann ist "das System" aber sehr wohl kaputt. Ein gutes System sollte eben nicht nur "im Prinzip" gut durchdacht sein und funktionierende Lösungen anbietet, sondern sollte eben auch transparent und robust sein. Dumme Dinge passieren nunmal dauernd aus Unwissenheit und Ignoranz. Und zumindest ersteren Punkt kann ich niemanden vorwerfen, wenn das System nichtmal aktiv kommuniziert wenn irgendwas Dummes passiert.dot hat geschrieben:"Das System" ist alles andere als kaputt und bietet natürlich eine wunderbare und wohl durchdachte Lösung für all diese Dinge. Das Problem ist, dass niemand das System richtig benutzt. Am schlimmsten sind die Leute, die einfach ihren Kram in System32 packen, obwohl der Ordnername an sich doch schon klipp und klar sagt, dass Dinge, die nicht Teil des Betriebssystems sind, dort absolut nichts zu suchen haben. Denen verdanken wir auch, dass der Ordner immer noch System32 heißt...
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Jammer-Thread
Und so wird Microsoft wieder in Grund und Boden gebasht von den Leuten, die dieses unheimlich gute Betriebssystem entworfen haben, in dem das Teilen von Daten und Code so unheimlich einfach ist und wo es niemals Probleme mit Versionierung, Lokalisierung, und Abwärtskompatibilität gibt. Wie heißt es nochmal? Ach stimmt – es existiert nicht. Weil „wir machen das jetzt alles neu und diesmal richtig“ sich noch nie durchgesetzt hat.
Windows aber schon. Und zwar nicht obwohl sondern weil es abwärtskompatibel ist zu Anwendungen, die für 2 MiB RAM ohne virtuellen Adressraum in einem preemptiv nebenläufigen System arbeiteten.
DLLs funktionieren so, wie sie es tun, weil es sie schon gab, bevor es den Begriff „Sicherheit“ gab, weil die Entwickler das so wollten. Weil sie aus einer Zeit kommen, wo sich zwei Programminstanzen den selben Satz globale Variablen geteilt haben weil die Entwickler das so wollten. Wo die Programmmodule aus dem Working Directory zusammengesucht werden weil die Entwickler es so wollten. Weil Microsoft es nicht zuließ, dass der scheiß Kopierschutz des 3-Dollar-Doom-Plagiats von 1993 mit dem fest einprogrammierten Animationspfad ins System32-Verzeichnis aufhört zu funktionieren wenn man von Vista auf Windows 7 umsteigt, weil die Kunden es so wollten.
Die armen Schweine, die ein ganzes Betriebssystem mit über 15.000 einzelnen Abhängigkeiten auf dieser Infrastruktur ausliefern müssen, haben es ganz sicher nicht so gewollt. Und ich bin mir sicher dass sie viel mehr Ahnung von der Materie und noch viel mehr Kopfzerbrechen deswegen haben als ihr. Aber ohne Zeitmaschine können wir es nunmal nicht ändern.
Windows aber schon. Und zwar nicht obwohl sondern weil es abwärtskompatibel ist zu Anwendungen, die für 2 MiB RAM ohne virtuellen Adressraum in einem preemptiv nebenläufigen System arbeiteten.
DLLs funktionieren so, wie sie es tun, weil es sie schon gab, bevor es den Begriff „Sicherheit“ gab, weil die Entwickler das so wollten. Weil sie aus einer Zeit kommen, wo sich zwei Programminstanzen den selben Satz globale Variablen geteilt haben weil die Entwickler das so wollten. Wo die Programmmodule aus dem Working Directory zusammengesucht werden weil die Entwickler es so wollten. Weil Microsoft es nicht zuließ, dass der scheiß Kopierschutz des 3-Dollar-Doom-Plagiats von 1993 mit dem fest einprogrammierten Animationspfad ins System32-Verzeichnis aufhört zu funktionieren wenn man von Vista auf Windows 7 umsteigt, weil die Kunden es so wollten.
Die armen Schweine, die ein ganzes Betriebssystem mit über 15.000 einzelnen Abhängigkeiten auf dieser Infrastruktur ausliefern müssen, haben es ganz sicher nicht so gewollt. Und ich bin mir sicher dass sie viel mehr Ahnung von der Materie und noch viel mehr Kopfzerbrechen deswegen haben als ihr. Aber ohne Zeitmaschine können wir es nunmal nicht ändern.
Re: Jammer-Thread
... und wir reden von dem Hersteller, der es trotz allem dann auch noch vorgeworfen bekommt, wenn er dahingehend Sicherheiten einbaut!!! Und daraufhin die Sicherheit wieder entfernt, weil die Kunden es so wollen! (ich rede hier von der UAC, falls es nicht aufgefallen sein sollte)
- RustySpoon
- Establishment
- Beiträge: 298
- Registriert: 17.03.2009, 13:59
- Wohnort: Dresden
Re: Jammer-Thread
Ey Jungs, bleibt doch mal geschmeidig. ;-) Hier basht doch niemand Microsoft in Grund und Boden.
Aber wir müssen ein "System" (und damit mein ich zumindest keineswegs Windows sondern eher das Management geteilter Ressourcen) welches ein paar offensichtliche Probleme hat auch nicht abfeiern. Du bist doch sonst auch eher der Finger-in-die-Wunde-Typ, Krishty?
Zu behaupten, dass ich ein (Betriebs-)System kennen würde wo das - oder zumindest einen durchdachten Plan hätte wie das - besser funktionieren könnte, wäre auch vermessen. Steht auch total außer Frage, dass die zu einem Großteil historisch bedingt etc. sind. Ich will auch keineswegs implizieren das "die Anderen" das irgendwie besser gelöst haben. Ich für meinen Teil bin sowieso nur unter Windows und OS X und ab und an Linux unterwegs - da verbietet sich Besserwisserei sowieso - und meines Erachtens ist das zumindest bei den Dreien ziemlich analog gelöst.
Noch was am Rande: Ich find ehrlich gesagt diese Personifizierung eines Multimilliarden-Dollar Unternehmens etwas irritierend. Da arbeiten zehntausende Menschen jahrzehntelang an einem Produkt mit unzähligen Stakeholdern und stetig wechselnden Anforderung. Und die wenigstens von denen sind totale Idioten oder wollen nur das Schlechteste für ihre Mitmenschen. Es ist totaler Unsinn da DIE EINE übergeordnete Entität sehen zu wollen auf die man mit dem Finger zeigen kann. Das gilt genauso für die Hater wie für die Fanboys.
Aber wir müssen ein "System" (und damit mein ich zumindest keineswegs Windows sondern eher das Management geteilter Ressourcen) welches ein paar offensichtliche Probleme hat auch nicht abfeiern. Du bist doch sonst auch eher der Finger-in-die-Wunde-Typ, Krishty?
Zu behaupten, dass ich ein (Betriebs-)System kennen würde wo das - oder zumindest einen durchdachten Plan hätte wie das - besser funktionieren könnte, wäre auch vermessen. Steht auch total außer Frage, dass die zu einem Großteil historisch bedingt etc. sind. Ich will auch keineswegs implizieren das "die Anderen" das irgendwie besser gelöst haben. Ich für meinen Teil bin sowieso nur unter Windows und OS X und ab und an Linux unterwegs - da verbietet sich Besserwisserei sowieso - und meines Erachtens ist das zumindest bei den Dreien ziemlich analog gelöst.
Noch was am Rande: Ich find ehrlich gesagt diese Personifizierung eines Multimilliarden-Dollar Unternehmens etwas irritierend. Da arbeiten zehntausende Menschen jahrzehntelang an einem Produkt mit unzähligen Stakeholdern und stetig wechselnden Anforderung. Und die wenigstens von denen sind totale Idioten oder wollen nur das Schlechteste für ihre Mitmenschen. Es ist totaler Unsinn da DIE EINE übergeordnete Entität sehen zu wollen auf die man mit dem Finger zeigen kann. Das gilt genauso für die Hater wie für die Fanboys.
- dot
- Establishment
- Beiträge: 1745
- Registriert: 06.03.2004, 18:10
- Echter Name: Michael Kenzel
- Kontaktdaten:
Re: Jammer-Thread
Afaik haben "die Anderen" im Gegensatz zu Windows gar keine wirkliche Lösung dafür. Zumindest bei Linux wäre mir nichts bekannt, nicht umsonst gibt's dort so Probleme wie dass die OpenGL Driver verschiedener Hersteller sich gegenseitig auf die Füße steigen und man nun über so Hacks diskutiert wie eine Master .so, die ein standardisiertes Interface hat und sich dann um das Weiterleiten an die passenden anderen .so kümmert...RustySpoon hat geschrieben:Ich will auch keineswegs implizieren das "die Anderen" das irgendwie besser gelöst haben. Ich für meinen Teil bin sowieso nur unter Windows und OS X und ab und an Linux unterwegs - da verbietet sich Besserwisserei sowieso - und meines Erachtens ist das zumindest bei den Dreien ziemlich analog gelöst.
- kimmi
- Moderator
- Beiträge: 1405
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Jammer-Thread
Das gleiche Problem gibt es übrigens auch bei Linux :). Da werden als Abhilfe halt jede Menge symbolische Libs umgebogen. Aber genau den gleichen Crash hatte ich dort auch schon etliche Male ( ebenfalls ohne Fehlermeldung ). Wenn man dann doch einen Crosscompiler betreibt und nach dem Deploy ohne Debugunterstützung auf einem etwas eigenen System suchen darf, wird das richtig lustig. Ein Hoch auf ldd, was mir dann irgendwann immmer helfen konnte.
Irgendwie klingt das dem Windowsproblem doch recht ähnlich.
Gruß Kimmi
Irgendwie klingt das dem Windowsproblem doch recht ähnlich.
Gruß Kimmi
- kimmi
- Moderator
- Beiträge: 1405
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Jammer-Thread
Man kriegst das durchaus hin. Einmal der Einfachheit halber den Link zum Kernelmodul umbiegen ( der Einfachheit halber, ist in etwa vergleichbar mit Dll's nach system32 kopieren ), bei den Abhängigkeiten etwas falsch machen und bumm. Ich habe das mehr als einmal geschafft.dot hat geschrieben:Afaik haben "die Anderen" im Gegensatz zu Windows gar keine wirkliche Lösung dafür. Zumindest bei Linux wäre mir nichts bekannt, nicht umsonst gibt's dort so Probleme wie dass die OpenGL Driver verschiedener Hersteller sich gegenseitig auf die Füße steigen und man nun über so Hacks diskutiert wie eine Master .so, die ein standardisiertes Interface hat und sich dann um das Weiterleiten an die passenden anderen .so kümmert...RustySpoon hat geschrieben:Ich will auch keineswegs implizieren das "die Anderen" das irgendwie besser gelöst haben. Ich für meinen Teil bin sowieso nur unter Windows und OS X und ab und an Linux unterwegs - da verbietet sich Besserwisserei sowieso - und meines Erachtens ist das zumindest bei den Dreien ziemlich analog gelöst.
Und mit ABI-inkompatiblen so-Dateien gerät man in eine ähnliche Hölle. Hat hier schon irgendwer mal versuch, ohne apt-get KDE oder Gnome zu aktualisieren?
Gruß Kimmi
- Fahnenflucht
- Beiträge: 8
- Registriert: 14.08.2014, 15:29
- Echter Name: Frank
Re: Jammer-Thread
Ich habe auch zu jammern, meine wunschdomain wurde mir heute morgen vor der nase weggeschnappt, ich wollte meine top level domain gerade hier absichern, aber jetzt ist die .de vergriffen. Ich überlege jetzt mir schnell .com .eu und vielleicht noch eine ausgefallene zu sichern.. Oder macht es mehr Sinn auf eine andere domain zu setzen.
Jedenfalls ist das gerade sehr ärgerlich und ich habe allen Grund zu jammern. :x
Jedenfalls ist das gerade sehr ärgerlich und ich habe allen Grund zu jammern. :x
- CodingCat
- Establishment
- Beiträge: 1857
- Registriert: 02.03.2009, 21:25
- Wohnort: Student @ KIT
- Kontaktdaten:
Re: Jammer-Thread
Wenn man den Process Monitor anwirft, bekommt man ein ganz neues Bild von der Qualität der Software, die auf praktisch jedem PC so "im Hintergrund" läuft. Was da abgeht ist eine absolute Frechheit; das Synaptics Touchpad pollt gerne auch mal 10-50 Mal in der Sekunde nicht existierende Registry Keys; praktisch alle "interaktiven" Anwendungen öffnen zumindest alle paar Sekunden mehrere Dateien (Skype, Dropbox, Thunderbird, ...); ich sehe es den Leuten ja nach, wenn sie für sporadische Abfragen nicht sämtliche Mikroallokationen wegoptimieren, aber wenn schon mein Touchpad mein Energiesparsystem mit einem unsichtbaren Fehlertsunami zur Echtzeitanwendung macht, hört der Spaß langsam auf. (Ich habe frech alle vom Installer vergessenen Keys mit willkuerlichen Werten manuell in die Registry eingefuegt, dann schaut der Treiber wenigstens nur noch alle paar Sekunden irgendwas nach.)
Davon abgesehen schmiert mein Laptop alle paar Tage beim Start einer beliebigen OpenGL-Anwendung mit Blue Screen ab, nachdem das System einige Sekunden vergeblich auf das Anspringen der zuvor schlafenden NVIDIA-GPU wartet. Nicht deterministisch reproduzierbar und weder Laptop-Hersteller noch NVIDIA machen sich überhaupt die Mühe, das Problem anzusehen; NVIDIA auch nicht nachdem ich selbst eine ausführliche WinDbg-Fehler-Analyse der von mir bereitgestellten Crashdumps angefertigt und beigefügt habe.
Davon abgesehen schmiert mein Laptop alle paar Tage beim Start einer beliebigen OpenGL-Anwendung mit Blue Screen ab, nachdem das System einige Sekunden vergeblich auf das Anspringen der zuvor schlafenden NVIDIA-GPU wartet. Nicht deterministisch reproduzierbar und weder Laptop-Hersteller noch NVIDIA machen sich überhaupt die Mühe, das Problem anzusehen; NVIDIA auch nicht nachdem ich selbst eine ausführliche WinDbg-Fehler-Analyse der von mir bereitgestellten Crashdumps angefertigt und beigefügt habe.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Jammer-Thread
„Neu“? Warst das nicht du, dem ich vor zwei Jahren dank Process Monitor erzählt habe, wie mein Miranda-Smiley-Plugin bei jedem Tastendruck die Registry pollt?CodingCat hat geschrieben:Wenn man den Process Monitor anwirft, bekommt man ein ganz neues Bild von der Qualität der Software, die auf praktisch jedem PC so "im Hintergrund" läuft.
Und dann hilf mir bitte auf die Sprünge, ob ich damals VMWare oder Oracle Wörtschl Box benutzt habe – eines von beiden hat einen auch ohne VM ständig laufenden Netzwerktreiber, der Synaptics in nichts nachsteht. Damals warst du mein Jammer-Ableiter, aber da wir nun bei dem Thema sind, soll es auch in diesem Thread landen.
Nachtrag: Es ist erst ein Jahr her und ich zitiere einfach mal frei, was ich damals nicht hier veröffentlicht habe …
Klaviaturkrawatte, 22.10.2013 22:57:34:
Tipp: Miranda greift 47 Mal auf die Registry zu bei jedem Buchstaben, den ich tippe [das war das SmileyAdd-Plugin]
Klaviaturkrawatte, 22:58:00:
Der Netzwerktreiber von VMWare macht 100 pro Sekunde selbst wenn er nicht benutzt wird
Klaviaturkrawatte, 22.10.2013 22:59:05:
ich optimiere einzelne Registry-Zugriffe aus meiner Pampe raus
in mühevoller Kleinarbeit
und wenn ich dann den Monitor starte sind da nach einer Minute 25k Ereignisse drin
Klaviaturkrawatte, 23:03:32:
Der Explorer will dauernd wissen, ob eine Slideshow läuft
Klaviaturkrawatte, 22.10.2013 23:06:51:
VC 12 starten und meine SOlution öffnen: 55.000 Registry-Zugriffe
Klaviaturkrawatte, 23:12:03:
WTF Chrome
CreateFile C:\ SUCCESS
CreateFile C:\Users SUCCESS
CreateFile C:\Users\Krishty SUCCESS
CreateFile C:\Users\Krishty\AppData SUCCESS
CreateFile C:\Users\Krishty\AppData\Local SUCCESS
CreateFile C:\Users\Krishty\AppData\Local\Google SUCCESS
CreateFile C:\Users\Krishty\AppData\Local\Google\Chrome\User Data SUCCESS
Sehr vorsichtig programmiert, muss ich sagen! [Zumal ein Ordner vergessen wird …]
- CodingCat
- Establishment
- Beiträge: 1857
- Registriert: 02.03.2009, 21:25
- Wohnort: Student @ KIT
- Kontaktdaten:
Re: Jammer-Thread
Noch sind wir ab und an nicht die einzigen hier. ;) Ich hatte sowas im Kopf, habe es aber nicht mehr gefunden - umso mehr Zeit, es endlich öffentlich anzusprechen. Eine VM habe ich hier auch noch, die vielfach pro Sekunde sämtliche Treiber (.inf) von Neuem einliest. Man findet irgendwann keine Worte mehr.Krishty hat geschrieben:„Neu“? Warst das nicht du, dem ich vor zwei Jahren dank Process Monitor erzählt habe, wie mein Miranda-Smiley-Plugin bei jedem Tastendruck die Registry pollt?
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Jammer-Thread
Nachdem ich meine Lavabit-Konten aus Thunderbird gelöscht habe, hat Thunderbird die Daten nicht tatsächlich von der Festplatte gelöscht sondern einfach nur so getan. D’ouh. Scheinbar gilt das auch für viele andere gelöschte Daten, die ich jetzt jahrelang mitgeschleppt habe obwohl sie nicht mehr zugreifbar waren. Ich habe die offensichtlich unnötigen Ordner von Hand gelöscht und nun ist Thunderbird nur noch halb so groß m[
Re: Jammer-Thread
Mir war Thunderbrid neulich auch viel zu zugemüllt. Ich habe es einfach komplett deinstalliert und neu installiert, mein Konto angegeben und alle Mails Synchronisiert und schon hatte ich eine quasi minimale Installation. Seine Daten in der Cloud zu haben ist schon enorm nützlich. Und da ich endlich eingesehen habe, dass man entweder mit seinen Daten oder mit seinem Geld bezahlt, habe ich jetzt eine EMailadresse bei posteo denen ich so halbwegs vertraue.
Ich bezahle lieber direkt und ehrlich, als mich von Werbung nerven zu lassen und unbewusst und indirekt zu bezahlen. Die Welt könnte so viel schöner sein, wenn jeder das einsehen würde: Wir hätten alle genauso viel Geld und viel mehr Zeit da weniger Werbung und weniger Angebote die auf Zeitverschwendung ausgerichtet sind, damit Leute länger Werbung gucken.
Ich bezahle lieber direkt und ehrlich, als mich von Werbung nerven zu lassen und unbewusst und indirekt zu bezahlen. Die Welt könnte so viel schöner sein, wenn jeder das einsehen würde: Wir hätten alle genauso viel Geld und viel mehr Zeit da weniger Werbung und weniger Angebote die auf Zeitverschwendung ausgerichtet sind, damit Leute länger Werbung gucken.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
Re: Jammer-Thread
Heute Auftrag angenommen; Preis ist nicht optimal ausgehandelt und zu allem Überfluss hat sich mein Mini-Jobber ohne mich zu informieren in den Urlaub verabschiedet. Deadline: 14 Tage. In 7 kommt er erst wieder.
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
Re: Jammer-Thread
OpenGL ist doch immer wieder nervig.
Ich benutze Version 4.3 core und möchte eigentlich nur ein paar Linien zeichnen. Früher war es einfach, ein glBegin, ein paar gelVertex und fertig.
Heute musst du Buffer erstellen, Binden füllen, VertexArrays verwalten, Shader schreiben laden und setzen und kannst dann irgendwann zeichnen. Ich habe dafür heute ungefähr 50 Zeilen Code geschrieben (ohne den Shadercode - den hatte ich schon) und versuche jetzt schon seit Ewigkeiten herauszufinden, warum nichts gezeichnet wird. Ich bin dutzende Tutorials durchgegangen, habe jeden Funktionsaufruf 3 mal auf falsche Parameter überprüft und überprüft, dass meine Linien auch im Sichtbereich liegen. Und trotzdem wurde noch nie irgendetwas gerendert.
Ich habe AMD gDebugger benutzt, weil das der einzige OpenGL Debugger meines Wissens ist, der ansatzweise hilfreich ist, aber das Teil bringt mich ungefähr 0 weiter. Mir gehen hier echt die Ideen aus, und dabei will ich doch einfach nur Linien zeichnen :(
Das ist einfach das schlimme: Ich habe sehr viel Logik und die einzige Art es zu debuggen, ist zu sehen, ob man am Ende etwas sieht. Würde wenigstens irgendetwas gerendert, könnte ich ja noch gucken, ob sich die Ausgabe irgendwie ändert, wenn ich was ändere. Aber außer wenn ich groben Unfug begehe und das Programm abstürzt, ändert sich an der Ausgabe einfach überhaupt gar nichts.
Naja, falls jemand drübergucken will, hier der Code:
Hauptklasse:
Vertexshader:
Fragmentshader:
Benutzung:
Ich benutze Version 4.3 core und möchte eigentlich nur ein paar Linien zeichnen. Früher war es einfach, ein glBegin, ein paar gelVertex und fertig.
Heute musst du Buffer erstellen, Binden füllen, VertexArrays verwalten, Shader schreiben laden und setzen und kannst dann irgendwann zeichnen. Ich habe dafür heute ungefähr 50 Zeilen Code geschrieben (ohne den Shadercode - den hatte ich schon) und versuche jetzt schon seit Ewigkeiten herauszufinden, warum nichts gezeichnet wird. Ich bin dutzende Tutorials durchgegangen, habe jeden Funktionsaufruf 3 mal auf falsche Parameter überprüft und überprüft, dass meine Linien auch im Sichtbereich liegen. Und trotzdem wurde noch nie irgendetwas gerendert.
Ich habe AMD gDebugger benutzt, weil das der einzige OpenGL Debugger meines Wissens ist, der ansatzweise hilfreich ist, aber das Teil bringt mich ungefähr 0 weiter. Mir gehen hier echt die Ideen aus, und dabei will ich doch einfach nur Linien zeichnen :(
Das ist einfach das schlimme: Ich habe sehr viel Logik und die einzige Art es zu debuggen, ist zu sehen, ob man am Ende etwas sieht. Würde wenigstens irgendetwas gerendert, könnte ich ja noch gucken, ob sich die Ausgabe irgendwie ändert, wenn ich was ändere. Aber außer wenn ich groben Unfug begehe und das Programm abstürzt, ändert sich an der Ausgabe einfach überhaupt gar nichts.
Naja, falls jemand drübergucken will, hier der Code:
Hauptklasse:
Code: Alles auswählen
#include "LineDrawer.hpp"
#include "gl4.h"
using namespace glm;
using namespace std;
LineDrawer::LineDrawer()
{
glGenBuffers(1, &m_PositionBuffer);
glGenBuffers(1, &m_ColorBuffer);
glGenVertexArrays(1, &m_VAO);
m_Shader.Load("Line.vs", "Line.fs");
glBindVertexArray(m_VAO);
const auto PositionLocation = 1u;
const auto ColorLocation = 2u;
glBindBuffer(GL_ARRAY_BUFFER, m_PositionBuffer);
glEnableVertexAttribArray(PositionLocation);
glVertexAttribPointer(PositionLocation, 3, GL_FLOAT, GL_FALSE, 0, nullptr);
glBindBuffer(GL_ARRAY_BUFFER, m_ColorBuffer);
glEnableVertexAttribArray(ColorLocation);
glVertexAttribPointer(ColorLocation, 4, GL_FLOAT, GL_FALSE, 0, nullptr);
glBindVertexArray(0);
glBindBuffer(GL_ARRAY_BUFFER, 0);
}
LineDrawer::~LineDrawer()
{
glDeleteBuffers(1, &m_PositionBuffer);
glDeleteBuffers(1, &m_ColorBuffer);
glDeleteVertexArrays(1, &m_VAO);
}
void LineDrawer::Clear()
{
m_PositionData.clear();
m_ColorData.clear();
}
void LineDrawer::AddLine(vec3 Start, vec3 End, vec4 Color)
{
m_PositionData.push_back(Start);
m_PositionData.push_back(End);
m_ColorData.push_back(Color);
m_ColorData.push_back(Color);
}
void LineDrawer::UpdateBuffers()
{
glBindVertexArray(m_VAO);
glBindBuffer(GL_ARRAY_BUFFER, m_PositionBuffer);
glBufferData(GL_ARRAY_BUFFER, 3*m_PositionData.size(), m_PositionData.data(), GL_STATIC_DRAW);
glBindBuffer(GL_ARRAY_BUFFER, m_ColorBuffer);
glBufferData(GL_ARRAY_BUFFER, 4 * m_ColorData.size(), m_ColorData.data(), GL_STATIC_DRAW);
glBindVertexArray(0);
}
void LineDrawer::SetProjectionMatrix(glm::mat4 Projection)
{
m_Projection = Projection;
}
void LineDrawer::Draw(glm::mat4 Camera)
{
glBindVertexArray(m_VAO);
m_Shader.Set();
m_Shader.SetUniform("CameraMatrix", Camera);
m_Shader.SetUniform("ProjectionMatrix", m_Projection);
glDrawArrays(GL_LINES, 0, m_PositionData.size());
m_Shader.Unset();
glBindVertexArray(0);
}
Code: Alles auswählen
#version 430 core
layout(location=1) in vec3 attPosition;
layout(location=2) in vec4 attColor;
out vec4 varColor;
uniform mat4 CameraMatrix;
uniform mat4 ProjectionMatrix;
void main()
{
varColor=attColor;
gl_Position=ProjectionMatrix * CameraMatrix * vec4(attPosition, 1);
}
Code: Alles auswählen
#version 430 core
in vec4 varColor;
out vec4 FragColor;
void main()
{
FragColor=varColor;
}
Code: Alles auswählen
m_SkeletonLines->Clear();
m_SkeletonLines->AddLine(vec3(0, 0, 0), vec3(0, 0, 10), vec4(1, 0, 0, 1));
m_SkeletonLines->AddLine(vec3(-0.2, 0, 0), vec3(0.2, 0, 0), vec4(1, 1, 0, 1));
m_SkeletonLines->UpdateBuffers();
m_SkeletonLines->SetProjectionMatrix(GetProjection());
m_SkeletonLines->Draw(GetCamera());
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
- Schrompf
- Moderator
- Beiträge: 5047
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Jammer-Thread
Zum Code kann ich Dir nix sagen, aber NVidia NSight war für solche Probleme ein Augenöffner für mich. Trotz aller Abstürze und Systemkiller, die damit einherkamen.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
-
- Establishment
- Beiträge: 426
- Registriert: 23.01.2013, 15:55
Re: Jammer-Thread
Mit dem Nervigen hast du sicher nicht ganz unrecht. Es war damals mit einer der Gründe warum ich mich sehr für OpenGL im Gegensatz zu DirectX begeistern konnte: Einfach loslegen und vor allen Dingen keine Buffer verwalten müssen... Heute im modernen OpenGL ja leider nicht mehr. Wegen Debugger solltest du mal nach AMD CodeXL und Nvidia Nisght schauen. gDebugger wird meines Wissens nicht mehr weiterentwickelt und unterstützt nur bis 3.2. Alles Neue darüber macht entsprechend Probleme. Sowohl die AMD als auch die Nvidia-Variante sind direkt in VS integrierbar. Nsight soll sogar einen Shaderdebugger haben. Leider stürzt das tolle Nvidia Nscheiß, äh Nsight bei mir beim Versuch des Debuggens immer sofort ab... (Jammer, Jammer, Jammer... ;)) Und AMD CodeXL funktioniert zwar(Wow, Nvidia Hardware!) meistens, verursacht aber dermaßen viele OpenGL Fehler das man den Debug Output vorher deaktivieren muss... Außerdem gibt es da soweit ich weiß kein Shaderdebugging.
Und mal schnell durchgeschaut: Der "stride"-Parameter von "glVertexAttribPointer" sind definitv falsch.
Außerdem sollte man meiner Erfahrung nach nicht davor scheuen die Szene drastisch zu vereinfachen und die komplexe Logik zum Test zu verbannen. Rentiert sich meiner Erfahrung trotz unangenehmen überflüssigen Arbeitsaufwand häufig. ;)
Und mal schnell durchgeschaut: Der "stride"-Parameter von "glVertexAttribPointer" sind definitv falsch.
Außerdem sollte man meiner Erfahrung nach nicht davor scheuen die Szene drastisch zu vereinfachen und die komplexe Logik zum Test zu verbannen. Rentiert sich meiner Erfahrung trotz unangenehmen überflüssigen Arbeitsaufwand häufig. ;)
Re: Jammer-Thread
Ja, das Problem kenn ich auch. War bei mir aber bei DX auch nicht besser (eher noch schlimmer).
Wenn nix angezeigt wird und es auch keine Fehler gibt, ist meistens auch nix falsch :mrgreen:
Ich hatte z.B. das Problem, dass das Objekt (mein tolles Dreieck :-)) einfach nicht vor der Kamera war.
Nimm doch im Shader mal die Berechnungen raus und mach sie im Code; und dann debug das mal bzw. schau mal was dabei rauskommt und ob das überhaupt irgendwie hinhauen kann.
Wenn nix angezeigt wird und es auch keine Fehler gibt, ist meistens auch nix falsch :mrgreen:
Ich hatte z.B. das Problem, dass das Objekt (mein tolles Dreieck :-)) einfach nicht vor der Kamera war.
Nimm doch im Shader mal die Berechnungen raus und mach sie im Code; und dann debug das mal bzw. schau mal was dabei rauskommt und ob das überhaupt irgendwie hinhauen kann.