Ticket #1472 (closed defect: fixed)

Opened 2 years ago

Last modified 2 years ago

La advertencia de timesets no acotados no se muestra siempre

Reported by: pgea Owned by: vdebuen
Priority: high Milestone: Mantainance
Component: Kernel Version: 3.1
Severity: major Keywords:
Cc:

Description

La advertencia de timesets no acotados desaparece al cambiar sólo el nombre de una serie.

A partir del ejemplo indicado en #1451 se crea una variante que ya no muestra la advertencia simplemente cambiando el nombre "data" por "ser.1".

Se adjunta un archivo de ejemplo.

Attachments

check.00.tol (0.7 kB) - added by pgea 2 years ago.
check.00_NoWarning.tol (383 bytes) - added by pgea 2 years ago.
check.00_Warning.tol (379 bytes) - added by pgea 2 years ago.

Change History

Changed 2 years ago by pgea

Changed 2 years ago by vdebuen

  • status changed from new to closed
  • resolution set to wontfix

Efectivamente, eso es un hecho conocido pero que no tiene solución factible.
La única solución sería serializar binariamente todas las clases relacionadas con los tipos virtuales infinitos TimeSet y Serie lo cual no hay recursos para hacerlo ahora.

Changed 2 years ago by vdebuen

  • status changed from closed to reopened
  • resolution wontfix deleted

Changed 2 years ago by vdebuen

  • status changed from reopened to closed
  • resolution set to remind

Changed 2 years ago by pgea

  • status changed from closed to reopened
  • resolution remind deleted

No entiendo que la elección del nombre de una variable afecte a que se muestre o no una adevertencia y desde luego no veo qué tiene que ver con cómo se serialicen las series o los timesets. ¿Podrías explicarlo un poco mejor?

Changed 2 years ago by vdebuen

  • status changed from reopened to closed
  • resolution set to remind

Pues porque ser.1 sí existe, es así de simple.

Changed 2 years ago by pgea

  • status changed from closed to reopened
  • resolution remind deleted

De verdad que haces difícil las cosas.
Simplemente, ¿puedes decir en qué se diferencian los dos archivos siguientes? y ¿por qué uno me da un warning y el otro no?

Changed 2 years ago by pgea

Changed 2 years ago by pgea

Changed 2 years ago by vdebuen

Yo también podría decir que tú me haces muy difícil las cosas a mí no explicando bien los problemas.

Ahora se entiende perfectamente y no se parece en nada a lo que habías dicho al principio.

Voy a depurar porque efectivamente no parece tener ningún sentido.

Changed 2 years ago by vdebuen

Bueno, ya veo lo que está pasando:

La función Ois.Store llama a la función Ois.Create la cual toma entre otros un argumento Set data que contiene precisamente los objetos a almacenar, y por ese motivo, al evaluar la expresión no le deja crear otro objeto con el mismo nombre Set data.

La solución es simular internamente que se abre un nuevo paréntesis para que se evalúe localmente aislándose de la pila local previa.

Changed 2 years ago by vdebuen

  • status changed from reopened to closed
  • resolution set to fixed

(In [4337]) Fixes #1472
Incrementing scope level before to try evaluate TimeSet expressions

Changed 2 years ago by vdebuen

(In [4338]) Fixes #1472
Incrementing scope level before to try evaluate TimeSet expressions

Changed 2 years ago by vdebuen

(In [4359]) Refs #1472

Note: See TracTickets for help on using tickets.