none
Exception en hilos "código de salida 80131506." RRS feed

  • Pregunta

  • Buen día, en mi aplicación me a estado detonando la siguiente excepción:

    Aplicación: Ia.exe
    Versión de Framework: v4.0.30319
    Descripción: el proceso terminó debido a un error interno en el runtime de .NET en la dirección IP 6D0F1849 (6D040000) con el código de salida 80131506.

    Obteniendo el log a bajo nivel encuentro:

    time: 2019.02.06 16:14:48 UTC, processId: 74872, path: C:\Windows\SysWOW64\inetsrv\w3wp.exe
    Exception 0xc0000005: EXCEPTION_ACCESS_VIOLATION

    threadId 0x1b924 - stack: 1E03C000-1E040000, size: 16 kB, CAUSED EXCEPTION
      0x1E03F0D8 0x74018647 clr!GetMetaDataInternalInterfaceFromPublic+0x201ee
      0x1E03F224 0x7400F033 clr!GetMetaDataInternalInterfaceFromPublic+0x16bda
      0x1E03F264 0x7400F492 clr!GetMetaDataInternalInterfaceFromPublic+0x17039
      0x1E03F2BC 0x7400EA3A clr!GetMetaDataInternalInterfaceFromPublic+0x165e1
      0x1E03F2E0 0x73FE8AB0 clr!ClrCreateManagedInstance+0x326f
      0x1E03F7F0 0x75F37C04 KERNEL32!BaseThreadInitThunk+0x24
      0x1E03F804 0x7784AD8F ntdll!RtlInitializeExceptionChain+0x8f
      0x1E03F84C 0x7784AD5A ntdll!RtlInitializeExceptionChain+0x5a
    threadId 0x12494 - stack: 0256E000-02570000, size: 8 kB
      0x0256FCD4 0x7782C33C ntdll!ZwWaitForSingleObject+0xc
      0x0256FD4C 0x76102C02 KERNELBASE!WaitForSingleObject+0x12
      0x0256FD60 0x7046918C oneagentiis!RegisterModule+0x34463c
      0x0256FD80 0x70469371 oneagentiis!RegisterModule+0x344821
      0x0256FD94 0x7040DB27 oneagentiis!RegisterModule+0x2e8fd7
      0x0256FDBC 0x70369C56 oneagentiis!RegisterModule+0x245106
      0x0256FE1C 0x703692E7 oneagentiis!RegisterModule+0x244797
      0x0256FE34 0x70368447 oneagentiis!RegisterModule+0x2438f7
      0x0256FE68 0x7036A5E1 oneagentiis!RegisterModule+0x245a91
      0x0256FEA4 0x70461EBF oneagentiis!RegisterModule+0x33d36f
      0x0256FEB8 0x70634B17 oneagentiis!RegisterModule+0x50ffc7
      0x0256FEF4 0x75F37C04 KERNEL32!BaseThreadInitThunk+0x24
      0x0256FF08 0x7784AD8F ntdll!RtlInitializeExceptionChain+0x8f
      0x0256FF50 0x7784AD5A ntdll!RtlInitializeExceptionChain+0x5a

    Alguien tendrá algún consejo que revisar en código, o alguna experiencia similar.

    lunes, 11 de febrero de 2019 16:03

Todas las respuestas

  • hola

    puedes aportar algun dato adicional ?

    que tipo de aplicacion se trata?  usas socket? defines algun try..catch en el codigo que puediera atrapar el exception?

    accedes a alguna carpeta del sistema operativo o quizas de la red?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 11 de febrero de 2019 16:27
  • Buen día, Leandro

    Manejos dlls compartidas tanto para un ambiente web y una aplicación, tengo hilos para llamados a WS y modificación a procesos internos.

    Tareas para modificación a procesos internos:

    try
                                                                {
                                                                    var t = new Task(() =>
                                                                    {
                                                                        new TareasParalelo().Actualiza(val);
                                                                        Context.Current.Dispose();
                                                                    });
                                                                    t.Start();
                                                                    var t2 = new Task(() =>
                                                                    {
                                                                        new TareasParalelo()..Actualiza_1(val);
                                                                        Context.Current.Dispose();
                                                                    });
                                                                    t2.Start();
                                                                }catch(Exception e)
                                                                {
                                                                    Console.log(e.Tostring());
                                                                }

    El llamado al WS es similar pero guardamos en una variable global "Application.Tar_":

    if (va1)
                                                                    {
                                                                        if (Application.Tar_ != null)
                                                                        {
                                                                            try
                                                                            {
                                                                                Application.Tar_.Wait();
                                                                                if (Application.Tar_.IsCanceled)
                                                                                    Application.Tar_.Dispose();
                                                                                if (Application.Tar_.IsCompleted)
                                                                                    Application.Tar_.Dispose();
                                                                                if (Application.Tar_.IsFaulted)
                                                                                    Application.Tar_.Dispose();
                                                                            }
                                                                            catch (AggregateException ae)
                                                                            {
                                                                                ae.Handle((x) =>
                                                                                {
                                                                                    return true;
                                                                                });
                                                                            }
                                                                            catch (Exception ex)
                                                                            {
                                                                                Console.Log(ex.ToString());
                                                                            }
                                                                        }
                                                                        try
                                                                        {
                                                                            Application.Tar_ = new Task(() =>
                                                                            {
                                                                                new TareasParalelo().Tar_(val,val,val);
                                                                                Context.Current.Dispose();
                                                                            });
                                                                            Application.Tar_.Start();
                                                                        }
                                                                        catch (AggregateException ae)
                                                                        {
                                                                            ae.Handle((x) =>
                                                                            {
                                                                                Console.Log(x.ToString());
                                                                                return true;
                                                                            });
                                                                        }
                                                                        catch (Exception ex)
                                                                        {
                                                                            Console.Log(ex.ToString());
                                                                        }
                                                                    }

    lunes, 11 de febrero de 2019 16:49