"In der Endpunktzuordnung sind keine weiteren Endpunkte verfügbar"

vfl_freak

Premium-User
Moin,

eine hab' noch ...

Beim Starten meiner Server-Anwendung im Debug-Mode bekomme ich an vier oder fünf Stellen folgende Meldung (spannenderweise nur auf einem Rechner, auf allen anderen nicht) :

Eine Ausnahme (erste Chance) bei 0x7c812afb (kernel32.dll) in #myServer.exe: 0x000006D9: In der Endpunktzuordnung sind keine weiteren Endpunkte verfügbar

IMHO sind ja diese First-Chance-Exception i.d.R. nicht wirklich relevant, aber ich habe mir in den letzten Tagen schon die Finger nach dieser Endpunktzuordnung wund gegoogled, ohne eine wirklich schlaue Erklärung gefunden zu haben, geschweige denn ein Lösung hierfür ....

Ich hoffe, das hier jemand weiß, was da soll und was ich da ggf. gegen unternehmen könnte (ich möchte es gerne raushaben, um es als Grund für Folgefehler im Ablauf ausschließen zu können) !

Danke und Gruß
Klaus
 
Hallo vfl_freak

Kannst du mir kurz sagen an welcher Adresse die kernel32.dll geladen wurde im Moment in dem die Exception kommt?

Siehe Bild:
module.jpg

Grüsse
Cromon
 
Hi Cromon,

so aus dem Stand leider nicht ...
Wie komme ich dann an dieses Fenster (in VS 2010)****
Unter "Ansicht" habe ich da nix gefunden :-(

Danke und Gruß
Klaus

EDIT: ah habe es doch noch gefunden ... (Debuggen/Fenster/Module)
siehe Anhang
 

Anhänge

  • Module.jpg
    Module.jpg
    101,9 KB · Aufrufe: 25
Zuletzt bearbeitet:
Hey vfl_freak

Sorry für den Aufwand, das wär gar nicht nötig gewesen, du hast ja von der kernel32.dll die Symbole geladen, daher solltest du sehen in welcher Funktion der kernel32.dll die Exception auftrat (im Callstack), wenn wir die haben können wir da etwas genauer nachsehen.

Der Exceptioncode ist einfach der win32-Error für die Nachricht, die du erhälst. Das ist meistens irgendwas mit RPCs.

Grüsse
Cromon
 
Hi Cromon,

kein Problem:)

So - hier Callstack, wenn die Meldung das erste Mal während des Ladens der Anwendung kommt :

Gruß
Klaus
 

Anhänge

  • kernel32-error.jpg
    kernel32-error.jpg
    74,9 KB · Aufrufe: 40
Hi vfl-Freak

Etwas was ich in der MSDN dazu gefunden habe und ggf. für deine Situation passt:
If the cluster is remote, the client must be running a compatible operating system. Computers running Windows Server 2008 and Windows Vista cannot call OpenCluster against a cluster running Windows Server 2003 or Windows 2000 Server, and computers running Windows Server 2003, Windows XP, or Windows 2000 cannot call OpenCluster against a cluster running Windows Server 2008. To remotely manage these clusters, use the Failover Cluster WMI Provider.

Trifft davon zufällig etwas zu?

Grüsse
Cromon
 
Hi Cromon,

sorry, musste gerade mal in ein anderes Firmengebäude ...

Gute Frage ... der Client läuft unter XP Prof. SP3, die Datenbank AFAIK auf einem Rechner mit Suse-Linux ...
Habe gerade noch mit einem Kollegen gesprochen, dessen C++-Anwendungen auf dem geleichen XP-Rechner und vergleichbarer DB-Anbindung laufen. Er sagt, dass er diese Meldungen beim Starten auch bekommt, sie aber harmlos seinen ...

Es geht hier letztlich immer noch um dieses Problem:
http://www.tutorials.de/c-c/393334-c-c-finde-grund-fuer-stack-overflow-nicht.html
dass ich auch mit Anpassungen in meier Software an den hier verwendeten neueren DB-Client (durch Verwendnung eines aktuellen SDK von pervasive) nicht wirklich gelöst habe.

Hänge hier nochmal 3 Bilder an vom Callstack VOR, WÄHREND und NACH dem overflow. Denn ich habe mittlerweile festgestellt, dass ich, wennich die Overflow-meldung mit <weiter> wegklicke, anschließend ganz normal weiterarbeiten kann. Das Open der Tabelle ist trotzdem durchgeführt worden und ich kann auch ganz normal einen Datensatz selektieren (in Release-Version schmirrt der Server halt einfach weg, so dass dieses Verhalten dort nicht auffällt).
Ich habe mir für die ganzen Tests inzwischen einen kleinen Testclient geschrieben, der quasi direkt die betroffene Funktion anspricht (es wird lediglich zunächst in einer zentralen Funktion die gesendeten Byte über die Socket eingelesen und dann in einer weiteren Klasse in einem großen switch über zwei Werte in den ersten 16 byte des Buffer die aufzurufende Funktion bestimmt. Dort versucht gleich als erstes der Versuch, eine Tabelle zu öffnen, den genannten Stack overflow ...

Gruß
Klaus
 
Hallo vfl_freak

Ich vermute auch, dass es sich hierbei nur um eine interne Benachrichtigung an die aufrufende Methode handelt, damit sie weiss dass OpenCluster nicht möglich ist und sie auf WMI zurückgreifen sollte. Also so wie wenn du in einer deiner Methoden ne Exception wirfst wenn bsp eine Datei nicht existiert und dann entsprechend auf was anderes zurückgreifst.

Daher würde ich auch sagen, du kannst das ignorieren.

Grüsse
Cromon
 
Hi Cromon,

ja, das denke ich mittlerweile (auch noch der erwähnten Rücksprache mit dem Kollegen vorhin) auch - zumal es ja eben die Startphase des Programms ist und nicht irgendwelche Aufrufe ...

tja, nur mit diesen seltsamen Stack overflow komme ich nicht weiter, da mir hier so langsam die Ideen ausgegangen sind.

Ich habe eben nochmal den älteren Pervasive-Client von einem anderen System laden lassen (sprich: dessen DLLs inkl. der GlueDLL in das Verzeichnis des Programms kopiert). Damit läuft dann alles fehlerfrei ....

Gruß
Klaus
 
Zurück