Estimados, como andan, espero que todo bien!.

Les hago una consulta: han probado PowerDEVS y GSL en Windows 7 64 bits?.

Compila bien pero luego se muere al ejecutar el simulador, error "The process terminated abnormally." (ver imagen adjunta), he usado las librerias de GSL que veniamos usando y tambien he probado con el ultimo instalador para windows disponible (gsl-1.8.exe).

Hay alguna forma de debugear PD para identificar porque se muere?.

Saludos,
Attachments area
Preview attachment PDGSLError.png
Image
PDGSLError.png

Matias Bonaventura
Jul 21 (3 days ago)

to Kike, me, Ernesto, Ernesto, Rodrigo, Rodrigo
Yo lo probe en un Windows 8 64 bits y andaba bien. Ese cartel lo tira cuando se muere el proceso del simulador, puede ser cualquier cosa: desde un error de GSL o con cast mas hecho en el codigo de algun modelo.

Para debugguear y encontrar donde falla lo mejor es imprimir al log usando printLog(...). Eso va a parar al pdevs.log en la carpeta output. Podes por ejemplo agrega try/catch e imprimir la excepcion.

Abrazo!

Federico
Jul 21 (3 days ago)

Así es.
No recuerdo qué version de mingw está en la versión de windows pero
seguramente podés instalar el GDB y debuguearlo desde ahi.

Como bien dice Matías PD usa punteros a void para pasar los eventos.
Revisá bien esos casts y también los de los argumentos de los bloques
(muere en la inicialización o avanza algo la simulación?). Por ahi
desde el código del bloque asumis que existe un parámetro que no está
definido o le erras el tipo (es un valor y lo queres leer como
string).

Cualquier cosa escribí.
Saludos
Fede

2014-07-21 7:01 GMT-03:00 Matias Bonaventura

Kike Ledesma
Jul 21 (3 days ago)

Hola muchachos,
Se muere antes de empezar a simular, apenas levanta la app para ejecutar la simulación y no llega a generar el pdevs.log.

Yo he relacionado la falla a GSL porque cualquier otro modelo de los disponibles en la solucion de PD funcionan OK.

Saludos,

2014-07-21 10:40 GMT-03:00 Federico Bergero

Federico Bergero
Jul 22 (2 days ago)

to Kike, Matias, Ernesto, Ernesto, Rodrigo, Rodrigo
Te diría que pruebes guardando el modelo con otro nombre (para backup)
y luego ir borrando uno a uno los bloques hasta que la simulación no
muera. Cuando deje de morir el problema está en el bloque que último
borraste.
Me suena que tiene que ser la inicialización de algún bloque.

Saludos
Fede

2014-07-21 17:41 GMT-03:00 Kike Ledesma

Matias Bonaventura
Jul 22 (2 days ago)

Exactamente. Y si es por culpa de GSL posiblemente sea en la inicializacion de STDEVS. Asique una vez que encuentres el modelo que pincha en la inicializacion como dice Fede, podes probar comentando las lineas que usan STDEVS. O mejor ponela entre un try/catch y loguea el error asi podes ver de que se trata para googlearlo.

Abrazo!

2014-07-22 16:30 GMT+02:00 Federico Bergero

Kike Ledesma
Jul 22 (2 days ago)

to Matias, me, Ernesto, Ernesto, Rodrigo, Rodrigo
Se muere cuando ejecuta new STDEVS (que usa la libreria GSL).
Hasta donde pude rastrear el error se muere al usar la funcion gsl_rng_alloc(gsl_rng_mt19937).
Hice un programita basico con GSL en el bin de gsl y funciona ok.

Saludos,
2014-07-22 13:22 GMT-03:00 Matias Bonaventura

11:19 AM (22 hours ago)

to Kike, Matias, Ernesto, Ernesto, Rodrigo, Rodrigo
Fijate de estar compilando y linkeando la misma version de GSL. O sea
no inlcuir un header y despues usar la dll de otra version.

No se qué más decirte.

Saludos
Fede

2014-07-22 19:51 GMT-03:00 Kike Ledesma

Kike Ledesma
1:37 PM (20 hours ago)

to me, Matias, Ernesto, Ernesto, Rodrigo, Rodrigo
Copie las dll de GSL en el dir \output y funciono OK.

Gracias a todos.

 

Last edit: Federico Bergero 2014-08-11