[NET/Remote]Poging tot begeleide uitvoering binnen OS Loader

Pagina: 1
Acties:
  • 272 views sinds 30-01-2008
  • Reageer

  • ThaStealth
  • Registratie: Oktober 2004
  • Laatst online: 27-11 13:59
Ik ben atm bezig met een (gedistribueerd) programma in VS2005 (C#), dus .NET remoting
Nu heb ik een simpel form in elkaar gedraait, maar telkens als ik in een textbox iets wil typen knalt het programma eruit met de volgende melding:
Poging tot begeleide uitvoering binnen OS Loader-vergrendeling. Probeer geen begeleide code uit te voeren binnen een DllMain- of afbeeldingsinitialisatiefunctie, omdat de toepassing hierdoor kan vastlopen.
Ik heb geen code erin die ervoor zorgt dat de main threat geblocked word om wat voor een reden dan ook (heb de code die voor remoting zorgt er tijdelijk uitgecommend, maar krijg nog steeds de melding)
Ik heb geen flauw idee wat hij van me wil, of hoe ik dit probleem moet oplossen, wie kan me hiermee helpen.

Tnx

Mess with the best, die like the rest


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:54
Kan je wat meer info geven; doe je iets in de TextChanged oid event van die TextBox ?
Wat doe je precies met die remoting ? Zit je met events die gethrowed worden door je remote object die je op de client kant wil opvangen , etc ....

https://fgheysels.github.io/


  • ThaStealth
  • Registratie: Oktober 2004
  • Laatst online: 27-11 13:59
Er zit geen TextChanged event aan de textbox.
Maar ik vang wel events op vanaf een remote object in de client, maar dit heb ik tijdelijk uitgezet (ook references verwijderd) en nog krijg ik hetzelfde probleem.

Hier is het client deel te downloaden, ik heb alle code eruit gegooit, tevens ook alle references, gewoon runnen en in de textbox iets typen

Ik ben eens benieuwd of het bij andere users ook optreed

[ Voor 6% gewijzigd door ThaStealth op 14-05-2007 10:37 ]

Mess with the best, die like the rest


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:54
Dit hoort zowiezo thuis in PRG, en niet in SEA trouwens.
-> PRG

https://fgheysels.github.io/


  • Zr40
  • Registratie: Juli 2000
  • Niet online

Zr40

Moderator General Chat

heeft native IPv6

Bij mij werkt het gewoon.

Behalve dat het een vieze vertaalde foutmelding is, wat voor fout is het? Is het een exception? (Zo ja, welke?) Is het een foutmelding van Visual Studio? Van Windows?

  • ThaStealth
  • Registratie: Oktober 2004
  • Laatst online: 27-11 13:59
is een fout van VS2005:
Afbeeldingslocatie: http://www.vwiggen.nl/foutmelding.jpg

Mess with the best, die like the rest


  • Zr40
  • Registratie: Juli 2000
  • Niet online

Zr40

Moderator General Chat

heeft native IPv6

Ah, een MDA. Informatie op MSDN over LoaderLock is te vinden op http://msdn2.microsoft.com/en-us/library/ms172219.aspx.

Kan je een screenshot maken van de stack trace?

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:54
Wat probeer je eigenlijk precies te doen ?

Zonder relevante code kunnen we je moeilijk helpen.

https://fgheysels.github.io/


  • ParaNoiMia
  • Registratie: Mei 2000
  • Laatst online: 27-11 12:15
ThaStealth schreef op maandag 14 mei 2007 @ 10:37:
Ik ben eens benieuwd of het bij andere users ook optreed
Bij mij ontstaat geen foutmelding. (helaas kan ik je ook niet echt verder helpen, threads ben ik nog niet bij gearriveerd ;) )

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Sluit iTunes eens af.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • ThaStealth
  • Registratie: Oktober 2004
  • Laatst online: 27-11 13:59
Precies, heb de pagina eens doorgelezen (terwijl ik naar iTunes aan het luisteren was) toen ik deze afsloot liep ie als nooit tevoren!

Mess with the best, die like the rest


  • Zr40
  • Registratie: Juli 2000
  • Niet online

Zr40

Moderator General Chat

heeft native IPv6

Toch ben ik benieuwd naar de stack trace. Ik vraag mij namelijk af hoe iets als iTunes invloed kan hebben op een simpel en klein programma.

  • ThaStealth
  • Registratie: Oktober 2004
  • Laatst online: 27-11 13:59
waar kan ik de stack trace vinden }:O dan post ik het wel??

Als ik em nu run en ik maak verbinding met een aantal pc's binnen het netwerk dan doet ie het vlekkeloos, als er echter een pc buiten het netwerk verbinding maakt met de server dan doet ie het alleen als er niemand anders op de server aanwezig is, hij knalt er telkens uit met de volgende fout (duurt enige tijd voordat deze verschijnt):
Afbeeldingslocatie: http://www.vwiggen.nl/foutmelding2.jpg

Mess with the best, die like the rest


  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 17-10 16:43
Zr40 schreef op maandag 14 mei 2007 @ 13:21:
Toch ben ik benieuwd naar de stack trace. Ik vraag mij namelijk af hoe iets als iTunes invloed kan hebben op een simpel en klein programma.
Ook benieuwd of dit na het compilen nog gebeurt! Zou wel erg kritiek zijn (en wat maakt een programma als Itunes zo anders als WMP, je prog runt gewoon terwijl WMP aan staat... vreemd!

(mompelt iets over *innovatief apple* hehe ;) >:) )

@TS heb je ook die custom errors al aangezet om te kijken wat ie nog meer zegt?

[ Voor 7% gewijzigd door roy-t op 14-05-2007 15:46 ]

~ Mijn prog blog!


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:54
Stacktrace is een property van je Exception object.

Voor je andere fout: lees eens wat er als hulpmessage bij je exception-dialog staat: schakel customerrors in (ff zoeken in MSDN hoe je dat precies moet doen; is een setting in je web.config file), en dan zal je wat meer info krijgen over het hoe & waarom.

https://fgheysels.github.io/


  • ThaStealth
  • Registratie: Oktober 2004
  • Laatst online: 27-11 13:59
whoami schreef op maandag 14 mei 2007 @ 15:47:
Stacktrace is een property van je Exception object.
Eeuuuh ik heb geeen id wat je bedoeld, sorry :o
Voor je andere fout: lees eens wat er als hulpmessage bij je exception-dialog staat: schakel customerrors in (ff zoeken in MSDN hoe je dat precies moet doen; is een setting in je web.config file), en dan zal je wat meer info krijgen over het hoe & waarom.
Ben al op zoek geweest naar die config file, alleen weet ik niet waar ik hem moet vinden in het project (bij ASP.NET weet ik waar ik moet vinden, alleen bij dit project ben ik hem nog niet tegengekomen) :o :o

[ Voor 7% gewijzigd door ThaStealth op 14-05-2007 15:56 ]

Mess with the best, die like the rest


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:54
ThaStealth schreef op maandag 14 mei 2007 @ 15:55:
[...]

Eeuuuh ik heb geeen id wat je bedoeld, sorry :o
Dan denk ik dat je je eerst eens met wat moet bezighouden dat wat meer 'basic' is dan hetgeen waar je nu mee bezig bent.
Als je die zin begrijpend leest, en je weet niet wat een object is, en wat een property is, of hoe je aan exception handling kunt doen, dan denk ik dat je eerst toch een paar andere tutorials of boeken moet doornemen.
Zoals ik dus reeds zei: de stacktrace vind je terug in de StackTrace property van het exception object dat gegooid wordt.
code:
1
2
3
4
5
6
7
8
9
try
{
   // lijn code die fout gaat.
}
catch( Exception ex )
{
   Console.WriteLine (ex.Message);
   Console.WriteLine (ex.StackTrace);
}

Je kan ze ook bekijken door op 'view details' te klikken van dat schermpje dat je daar post.
Ben al op zoek geweest naar die config file, alleen weet ik niet waar ik hem moet vinden in het project (bij ASP.NET weet ik waar ik moet vinden, alleen bij dit project ben ik hem nog niet tegengekomen) :o :o
Hoe is je remoted object gehost ? Wordt het gehost in IIS (door ASP.NET), of heb je een eigen service / Programma geschreven dat als server fungeert (en dus de 'server kant' speelt van je app ? )

https://fgheysels.github.io/


  • Zr40
  • Registratie: Juli 2000
  • Niet online

Zr40

Moderator General Chat

heeft native IPv6

whoami schreef op maandag 14 mei 2007 @ 15:47:
Stacktrace is een property van je Exception object.
Echter is dit een MDA (Managed Debugging Assistant), wat geen Exception is (en dus ook niet gethrowed wordt) maar een door Visual Studio gedetecteerde eigenaardigheid. De stack trace is dus gelijk aan de call stack op het moment dat de MDA getoond wordt.

  • ThaStealth
  • Registratie: Oktober 2004
  • Laatst online: 27-11 13:59
Voor het LoaderLock probleem, hij crashed op deze regel: Application.Run(new ClientApplicatie()); (das dus in Program.cs) dus hij catched em niet.

Ik heb een eigen service gemaakt die de server kant voor zijn rekening neemt.

Mess with the best, die like the rest


  • Zr40
  • Registratie: Juli 2000
  • Niet online

Zr40

Moderator General Chat

heeft native IPv6

ThaStealth schreef op maandag 14 mei 2007 @ 16:24:
Voor het LoaderLock probleem, hij crashed op deze regel: Application.Run(new ClientApplicatie()); (das dus in Program.cs) dus hij catched em niet.

Ik heb een eigen service gemaakt die de server kant voor zijn rekening neemt.
Waarschijnlijk wordt LoaderLock gedetecteerd in niet-user code. Visual Studio verbergt deze standaard.
edit:
Dit wordt weergegeven als [External Code]. :)

Ik zal vanavond zelf eens het een en ander met iTunes gaan proberen om dit te reproduceren.

Overigens komen MDA's per definitie alleen tijdens debuggen voor. Ze zijn dus ook niet fataal. Normaal gesproken geven ze echter wel belangrijke fouten aan.

[ Voor 4% gewijzigd door Zr40 op 14-05-2007 16:34 ]


  • ThaStealth
  • Registratie: Oktober 2004
  • Laatst online: 27-11 13:59
[External Code]
> Client.exe!TestApplicatie.Program.Main() Line 19 + 0x1a bytes C#
[External Code]
Dit is dus de inhoud van de call stack

Mess with the best, die like the rest


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:54
Wat doe je in de constructor van je ClientApplicatie class ?

https://fgheysels.github.io/


  • ThaStealth
  • Registratie: Oktober 2004
  • Laatst online: 27-11 13:59
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        public ClientApplicatie()
        {
            InitializeComponent();
            BinaryClientFormatterSinkProvider clientProvider = new
BinaryClientFormatterSinkProvider();
            BinaryServerFormatterSinkProvider serverProvider = new
            BinaryServerFormatterSinkProvider();
            serverProvider.TypeFilterLevel =
            System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;
            IDictionary props = new Hashtable();
            props["port"] = 0;
            props["typeFilterLevel"] = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;
            TcpChannel chan = new TcpChannel(
            props, clientProvider, serverProvider);
            ChannelServices.RegisterChannel(chan, false);
        }

Is de initialisatie van de verbinding die ik later ga gebruiken om verbinding te leggen naar de server, maar dat voert ie allemaal netjes uit, die MDA komt pas als ik iets in de textbox wil invoeren (zit niets van een event achter). En de andere fout (die server fout) komt pas als er iemand extern verbinding maakt en ik zit ook reeds op de server.

Weet iemand de oplossing voor het serverprobleem?

[ Voor 14% gewijzigd door ThaStealth op 14-05-2007 18:15 ]

Mess with the best, die like the rest


  • Zr40
  • Registratie: Juli 2000
  • Niet online

Zr40

Moderator General Chat

heeft native IPv6

Zr40 schreef op maandag 14 mei 2007 @ 16:27:
Ik zal vanavond zelf eens het een en ander met iTunes gaan proberen om dit te reproduceren.
Ik heb het kunnen reproduceren.

Aan de call stack te zien wordt na de eerste toetsaanslag in een TextBox een library geladen: iTunesKeyboardCompatibility.dll. Het lijkt dus inderdaad door iTunes veroorzaakt te worden.

Als ik de MDA negeer lijkt het testprogramma nog te werken.
Pagina: 1