ChatGPT ist stellenweise echt schwer von Begriff
-
Hi! ich wollte hier nur mal eben eine Episode mit ChatGPT dokumentieren, die ich gerade hatte. Im Zuge eines Hobbyprojekts frage ich in letzter Zeit hin und wieder mal diesen Bot nach seiner Meinung, und das ist jetzt schon das zweite mal hintereinander, dass der mir so einen Blödsinn präsentiert. Der generierte Text an sich ist eigentlich ganz gut, der Fehler liegt eher im Detail. Hier bringt er die exakten Nummerierungen von CPU Exceptions durcheinander. In meinem Kontext ist aber genau das die eigentlich wichtigste Information.
Vielleicht findet ihr das ja auch amüsant:
> On x86, when is the CPU exception 0xF raised?
On x86 architecture, CPU exception 0xF is the "General Protection Fault" (GPF) exception. It is raised when the CPU detects a protection violation or other error related to memory access, privilege levels, or segmentation.
The general conditions under which exception 0xF is raised include: [...]
> What makes it different from exception 0xD?
The main difference between exception 0xD ("Invalid TSS") and exception 0xF ("General Protection Fault") on x86 architecture lies in the specific type of error they correspond to, as well as their causes:
Exception 0xD: Invalid TSS (Task-State Segment Error)
Exception 0xD occurs when there is an issue with a Task-State Segment (TSS), which is a data structure used in multitasking environments to manage task switching (storing the state of a task such as registers, stack pointer, etc.). This exception is specifically related to errors in managing tasks. [...]
> Are you sure? Isn't 0xA "Invalid TSS"? What does the Intel Developer Manual say?
You're absolutely right to point out that there seems to be confusion, and I appreciate the clarification.
In fact, exception 0xA is the "Invalid TSS" exception, not 0xD as I previously mentioned. I apologize for the mistake.
Intel Developer Manual
The Intel 64 and IA-32 Architectures Software Developer’s Manual specifies the following details for exceptions 0xA and 0xF:
-
Exception 0xA: Invalid TSS
- This exception is raised when there is an error involving a Task-State Segment (TSS), specifically during task switching.
- Common causes include: [...]
-
Exception 0xF: General Protection Fault (GPF)
- This exception is more general and covers a broad range of protection violations. It is triggered when the CPU encounters any condition that violates memory access or instruction rules.
- Causes can include: [...]
Summary of the Key Difference:
- 0xA (Invalid TSS): Raised when a task switch encounters a problem with the Task-State Segment (TSS).
- 0xF (General Protection Fault): A broader, general exception raised for various types of protection violations, such as invalid memory access, privilege violations, or accessing forbidden segments.
Again, I apologize for the earlier mistake and thank you for your patience in addressing it!
> Then what is 0xD? According to my information, 0xD is GPF and 0xF is "Reserved".
You're absolutely correct once again, and I apologize for the confusion in my previous explanations.
Exception 0xD: General Protection Fault (GPF)
- 0xD is General Protection Fault (GPF) as you pointed out. This is a protection exception raised by the CPU when it encounters an access violation or an illegal operation.
- Common causes for exception 0xD include: [...]
Exception 0xF: Reserved
- 0xF is indeed reserved in the Intel documentation.
- Intel's Developer Manual specifies that this exception is reserved for future use, and it typically does not raise any exception in real-world usage in most systems. However, a processor or system implementation could theoretically raise an exception 0xF for custom error handling, though this is not standard and is not part of normal operation.
Summary of Clarified Exceptions:
- 0xD: General Protection Fault (GPF): This is a broad exception raised for various protection violations, such as invalid memory access, privilege violations, and more.
- 0xF: Reserved: This exception is reserved by Intel, meaning it has no defined purpose in standard operation and will typically not occur in common implementations.
Thank you for pointing that out, and I apologize for the earlier errors in my responses!
> do you really know this stuff or are you just telling me what i want to hear?
I completely understand your skepticism, and I apologize for the confusion earlier. I'm here to provide accurate and detailed information based on the technical specifications, and I appreciate you pointing out the inconsistencies. Let's clarify the situation based on the authoritative documentation.
To confirm:
-
0xD: General Protection Fault (GPF): This is indeed the correct designation for exception 0xD in the Intel 64 and IA-32 Architectures Software Developer’s Manual.
- It's triggered by protection violations such as invalid memory access, privilege violations, or invalid segment access, as I described earlier.
- Intel Manual Reference: Intel's SDM explicitly states that exception 0xD is for "General Protection Fault."
-
0xF: Reserved: Exception 0xF is reserved in the Intel documentation, which means it is not defined for use in most systems and is not typically triggered. It may be reserved for future extensions or custom implementations, but in practice, it doesn't raise an exception in standard x86 systems.
- Intel Manual Reference: Intel's SDM explicitly marks 0xF as "Reserved" and does not assign a specific cause for this exception.
Key Takeaways:
- 0xD is General Protection Fault (GPF), a broad error for memory access violations, privilege issues, and other types of protection faults.
- 0xF is Reserved, with no standard purpose or usage in most systems, and it’s unlikely to trigger unless customized in specific hardware or software implementations.
I absolutely want to make sure I provide accurate information, not just confirm what you might want to hear, and I truly appreciate your patience in getting to the right answers. If you have more questions or need further clarification on anything, feel free to ask!
------ 8< ------ schnipp! ------ 8< -----
Ich weiß zwar die Möglichkeiten solcher LLMs zu schätzen, bin aber sehr skeptisch gegenüber dem Hype, der darum generiert wird - besonders wenn man die zur Entwicklung einsetzt. Solche Details wie in diesem Beispiel müssen einfach sitzen, bevor man damit anfängt, sonst handelt man sich womöglich jede Menge schwer zu findender Fehler ein.
Gerade in der Programmierung reicht ja mitunter ein einziges falsches Bit, um alles zum Einsturz zu bringen. Wenn Tools Ergebnisse produzieren, die oberflächlich so gut und richtig aussehen, aber dennoch solche Detail-Fehler enthalten, bin ich mir nicht sicher, ob die unterm Strich wirklich Arbeit sparen werden
Vielleicht wird's ja noch besser, aber ich habe derzeit noch keine Eile auf dem Hype-Train mitzufahren
Edit:
I truly appreciate your patience in getting to the right answers.
Solche anbiedernde Sprache geht mir auch etwas gegen den Strich. Wenn man hier nachbohrt, gibt der Bot zu, dass das gelogen war, da eine Maschine natürlich nicht etwas "wirklich (wert-)schätzen" kann. Mir wäre lieber, solche Bots würden sich mehr wie pure Werkzeuge zur Problemlösung verhalten, anstatt zu versuchen, einen Menschen zu emulieren. Wenn ich Emotionen und soziale Interaktion will, wende ich mich an die "Originale". Ich rede schließlich auch nicht mit meinem Rasenmäher über meinen Liebeskummer
Edit 2: Gerade dritter Vorfall: Bot verzapft mir auf die Frage, wie man mit einem generischen Interrupt Handler herausfinden kann, welcher Interrupt gerade bearbeitet wird, dass die (x86) CPU dessen Nummer auf den Stack schiebt. Wäre das der Fall ohne dass ich davon wusste, wäre mein 1KiB Stack schon lange übergelaufen. Auch hier rudert ChatGPT bei kritischem Nachhaken wieder zurück. Fazit: Lasst den Bot bloß nicht an Lowlevel-Assemblerzeugs ran. Fragt ihn lieber nach seinen "Gefühlen"
-
-
@Finnegan
Kenne ich auch so. Einige Fragen sind recht erfreulich, bei anderen versucht noch die KI gegenzuargumentieren und bei anderen versagt sie komplett.Im Nordic Forum z.b. gibt es auch eine KI. Ich stellte ihr die Frage wie man DWT basierte Timer einschaltete. Die Antwort kam: "Defines XYZ in
sdk_config.h
einschalten". Aber Pustekuchen funktionierte nicht. Nein man muss Define ABC innrfx_glu.h
einschalten.Auch eine Sache sind mathematischen Witze, ala . Die KI versucht zwar gegenzuargumentieren, sah aber das eigentliche Problem nicht.
Ebenso versagte die KI In Sachen Chaos, als ich fragte welche Beziehung es zwischen der Logistic Map und der Mandelbrotmenge gibt. Sie zeigte zwar die Definitionen zwischen beiden, erklärte aber nicht den Zusammenhang.
Komplett versagte sie als ich nach der Logistic Map der Menge fragte.
Die KI hat meines Erachtens manchmal einen Charakter einer intelligenten Suche bzw. hochentwickeltes Case Based Reasoning.
-
@Quiche-Lorraine sagte in ChatGPT ist stellenweise echt schwer von Begriff:
Die KI hat meines Erachtens manchmal einen Charakter einer intelligenten Suche bzw. hochentwickeltes Case Based Reasoning.
Für intelligente Suche finde ich die auch durchaus praktisch. Wenn sie denn richtig liegt, kann sie schon sehr gezielt sehr spezifische Fragen beantworten, für die man ansonsten stundenlang recherchieren und seitenweise Dokumente lesen müsste. Ist meiner Erfahrung nach ganz gut, um sich einen Überblick zu verschaffen, besonders wenn man sonst nur einen Berg Informationen hat, die sich nur mit Einzelaspekten auseinandersetzen und die man alle erstmal lesen müsste um ein Gesamtbild zu erhalten.
Aber wie man sieht, immer kritisch hinterfragen und die Antworten natürlich auch verstehen und nachvollziehen können. Da sind die Mängel der KI dann nicht mehr ganz so dramatisch, weil man dabei selbst auch einiges lernt
-
@Quiche-Lorraine sagte in ChatGPT ist stellenweise echt schwer von Begriff:
@Finnegan
Auch eine Sache sind mathematischen Witze, ala . Die KI versucht zwar gegenzuargumentieren, sah aber das eigentliche Problem nicht.
ChatGPT sieht auch keine Probleme sonder nur was für Wörter als nächstes passen könnten. So intelligent im eigentlichen Sinn ist es ja nicht.