Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   NetCOBOL (https://www.cobolforo.es/forumdisplay.php?f=2)
-   -   [Compilador] Ayuda "urgente" UNDEFINED_EXCEPTION(C000041D) (https://www.cobolforo.es/showthread.php?t=1637)

Nitzer 13 de abril de 2023 19:49

Ayuda "urgente" UNDEFINED_EXCEPTION(C000041D)
 
Hola a todos, hace un mes instalé la versión 11 de Netcobol con PowerCobol y en principio todo ha ido bien, he recompilado todos las dll y se están ejecutando sin problemas.
Pero el ejecutable principal no lo había recompilado nunca en ésta versión (venía de la 9)
Pues cual ha sido mi sorpresa que hoy tenía que tocarlo para una cosa y aunque compila perfectamente, al ejecutar ......

Código:

JMW0099I-U THE APPLICATION ERROR OCURRED.

FAULTING APPLICATION: U:\UNICA\WIN\UNICAGES.EXE'
FAULTING MODULE: UNKNOWN'
FAULT ADDRESS: 0X06C40690
EXCEPTION CODE: UNDEFINED_EXCEPTION(C000041D)

Si alguien es capaz de ayudarme, estaré eternamente agradecido.

Otros ejecutables han funcionado perfectamente.
Os leí aquí con un problema de la Api, he quitado todas las llamadas a la api y nada , no hay manera de ejecutarlo.

Mil gracias de antemano.

Nitzer 13 de abril de 2023 20:14

Voy averiguando cosas, el problema viene cada vez que hago un CALLFORM desde el programa a otra ventana, esté en ese proyecto o en otra dll. No puedo decir mas por ahora, iré poniendo mas datos.

Kuk 13 de abril de 2023 21:46

@Nitzer, te genera el reporte? Si es el caso, pégalo aquí a ver qué contiene :piensa:

Kuk 13 de abril de 2023 21:50

@Nitzer, parece ser que podría tratarse de un problema de comunicación con un controlador de hardware: windows 8.1 - What does the error message 0xC000041D mean? - Super User

Cita:

NTSTATUS

The definition name (MessageId) is STATUS_FATAL_USER_CALLBACK_EXCEPTION and its description is:

Si te ha generado el reporte, habría que buscar la dirección que menciona que es FAULT ADDRESS: 0X06C40690

Si hay suerte, podremos ver en qué punto está fallando exactamente.

Nitzer 14 de abril de 2023 09:07

Me están restarando la máquina, para hacer pruebas, en cuanto tenga acceso os pego el reporte. MUCHISIMAS GRACIASSSSSSSSSSSSS

Nitzer 14 de abril de 2023 10:05

1 Archivos Adjunto(s)
el report:

Kuk 14 de abril de 2023 12:19

@Nitzer, es lo que me temía un poco:

Código:

  Exception Number  : UNDEFINED_EXCEPTION(C000041D)
  Generation Time  : 04/14/2023(10:00:37)
  Generation Module : UNKNOWN  <-----------
  Time Stamp        : UNKNOWN  <-----------
  File Size        : UNKNOWN  <-----------

Esto de Unknown quiere decir que el problema viene de más abajo del Run-Time...


Ahora, lo poco que podemos deducir de este reporte es que podría tratarse de un problema con el vsflex8l.ocx por lo siguiente:

Código:

<<Stack Summary>>
  FramePtr RetAddr  Param-01 Param-02 Param-03 Param-04 Param-05 Param-06 Param-07 Param-08 Module:Program
  0019B574 76093086 07B848C7 00000081 0019B760 00000000 00000000 00780065 006F002E 00000000 Address:07C90718
  0019B66C 76092B0A 07B848C7 00000081 0019B760 00000001 00000000 00780065 006F002E 00000000 USER32.dll:CallWindowProcW
  0019B6D0 7609EB55 018B62E0 00000081 0019B760 0000C230 00000000 52455355 00006C6C 0351E620 USER32.dll:CallWindowProcW
  0019B718 7786870D 0019B734 0019BFEC 0019B7A0 00000000 00000000 52455355 00006C6C 0351E620 USER32.dll:OffsetRect
  0019BA7C 76095F7A 00000000 00000000 00000429 0003059E 00000000 52455355 00006C6C 0351E618 ntdll.dll:KiUserCallbackDispatcher
  0019BB5C 76105528 00000000 00000000 00000429 0003059E 00000000 6C64746E 0000006C 0351E638 USER32.dll:IsWindowInDestroy
  0019BB9C 07B849C8 00000000 00000000 00000000 00000429 00000000 52455355 00006C6C 0351E628 USER32.dll:CreateWindowExA
  0019BBD8 07B8140A 0003059E 00000000 00000000 0000C230 00000000 52455355 00006C6C 0351E620 vsflex8l.ocx:DllUnregisterServer
  0019BC70 07B840EF FFFFFFFB 06FC1358 07B834E1 00000000 00000000 6C667376 78636F2E 0351E628 vsflex8l.ocx:DllUnregisterServer
  0019BC94 07B813C2 07C90748 00000000 00000000 00000000 00000000 6C667376 78636F2E 0351E628 vsflex8l.ocx:DllUnregisterServer
  0019BCB8 01184A8E 07C90748 00000000 00000000 00000000 00000000 6C667376 78636F2E 0351E628 vsflex8l.ocx:DllUnregisterServer
  0019BD34 01184B3A 06FC1358 00000000 00D7B49E 06FC13C4 00000000 6C667376 78636F2E 0351E628 f5ddka41.dll:?mDoObjectVerb@CKaItem@@QAGJJPAUtagMSG@@PAUIOleClientSite@@@Z
  0019BD60 00D71DA7 06FC1358 00000001 00030181 00D71E3B 00000000 64643566 6C6C642E 0351E678 f5ddka41.dll:?mInPlaceActivateObject@CKaItem@@QAGJPAUIOleClientSite@@@Z
  07018D68 07018D74 00000000 07018D68 00000003 00DF35F4 00000000 64643566 6C6C642E 0351E678 f5ddcy41.dll:??0SLParam@OCfGroup@@QAE@PAV1@@Z

El f5ddka41.dll es el famoso "Kakita system" del que nos hemos reído hace unos años por su nombre que viene a ser la capa base del Run-Time.


Haz lo siguiente: en el "Opened" le pones un DisplayMessage, compila y arranca el programa. Cuando salte el DisplayMessage (si es que lo hace), no le des a OK enseguida, espera unos cuantos segundos, 10 o por ahí.
Si no peta en estos 10 segundos y lo hace sólo después de haberle dado a OK, entonces confirmaríamos que el problema no viene del código de tu programa sino es un componente que trabaja a nivel más bajo (ejemplo: instanciar el FlexGrid en el Form, cosa que hace sin nuestra intervención). Estoy casi seguro que será el caso, pero vendría bien comprobarlo.

Nitzer 14 de abril de 2023 13:10

@Kuk, efectivamente, el problema viene por los componentes de componentone. En cuanto pongo uno en un formulario y éste lo compilo como exe, peta, si lo hago como dll no, eso es lo mas curioso.
Pero como bien dices el problema es ese, vsflex8l en éste caso.

He estado hablando con Luis Martinez y me ha propuesto hacer una dll puente y que sea esa dll la que llame a todo, en vez de que lo haga el ejecutable. Otra opción es compilar el ejecutable con la 9 y el resto con la 11, tela marinera :)

También le he pasado un ejemplo tonto , pero que da error a Julio Vazquez, que va a probar con otras versiones del ocx de vsflex.

Muchas gracias a todos por la colaboración.

Kuk 14 de abril de 2023 13:52

@Nitzer, vale pues hemos acertado entonces.

Yo probaría primero a ver si hay veriones más reciendes del OCX. Si no es el caso o el comportamiento es el mismo, bajar a la versión 9 es lo último, yo creo.

Lo que podrías hacer es crear un ejecutable tipo punto de entrada, que no tenga nada, y meter todo el funcional en una DLL que se cargaría en primer lugar.

Nitzer 14 de abril de 2023 16:25

Hola de nuevo, he instalado la última versión de componenteone de prueba y parece que todo vuelve a la normalidad.
¿Casualidad o problema resuelto?

Mucho me temo que el futuro que nos queda, es el del sufrimiento y la agonía con cualquier cambio :(


La franja horaria es GMT +2. Ahora son las 04:16.

Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.