Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

Reto 13(v3ctor) Parchea Taller 2015 V 0.3.8

Reto 13(v3ctor) Parchea Taller 2015 V 0.3.8
Artículo
Responder citando    Descargar mensaje  
Mensaje Reto 13(v3ctor) Parchea Taller 2015 V 0.3.8 
 
buenas,

que mejor que aprovechar un error de programación para dar la posibilidad de aprender algo nuevo.

el programa taller 0.3.8 tiene un error grave Overflow.

el objetivo del reto es encontrar el código erróneo corregirlo y crear un parche.

enviarlo a antes de los 15 días después de publicado el reto, (enviar solo el parche)
si el parche corrige el error has resuelto el reto y se publicara la lista de quienes lo resolvieron.

saludos.

Lista de Usuarios que resolvieron el reto:

1- Shell  Martes, 17 Enero 2017, 23:05



 
última edición por v3ctor el Miercoles, 18 Enero 2017, 02:06; editado 1 vez 
v3ctor - Ver perfil del usuario Enviar mensaje privado  
v3ctor [ Viernes, 06 Enero 2017, 03:48 ]
 


Reto 13(v3ctor) Parchea Taller 2015 V 0.3.8
Comentarios
Responder citando    Descargar mensaje  
Mensaje Re: Reto 13(v3ctor) Parchea Taller 2015 V 0.3.8 
 
una ayudita para los novatos.

tienes que bajarte el código fuente de taller 2015 versión 0.3.8 que esta en sourceforge(ese contiene el error)
abre el proyecto, ejecuta el programa y ve donde esta el error, repara el error.
después vas a Proyecto-->parchear y te pedirá el paquete con el archivo fuente que contiene el error y te creara el parche
ese archivo lo envías a mi correo.

saludos.



 
v3ctor - Ver perfil del usuario Enviar mensaje privado  
v3ctor [ Viernes, 06 Enero 2017, 18:11 ]
Responder citando    Descargar mensaje  
Mensaje Re: Reto 13(v3ctor) Parchea Taller 2015 V 0.3.8 
 
v3ctor:

Acabo de bajarlo. Veré que puedo hacer.  
Supongo que el error se crea nada más ejecutarlo. Por que lo es buscar en que momento se produce, puede
llevar más tiempo.  

Estuve buscando overflow (desbordamiento).

Desbordamiento de búfer

¿ Qué pasó al final con la versión que tenías en la granja ?. Un día comentabas de que se había borrado algo.

Saludos



 
Shell - Ver perfil del usuario Enviar mensaje privado  
Shell [ Lunes, 16 Enero 2017, 09:57 ]
Responder citando    Descargar mensaje  
Mensaje Re: Reto 13(v3ctor) Parchea Taller 2015 V 0.3.8 
 
Me gustaría comentar que:

La aplicación no se cuelga, al menos lo que he visto desde la primera ejecución desde fuente. Es que salta antes otro error. Aunque tu lo tienes bien definido ese problema.
Es que si ese no lo solucionaste la aplicación no funcionaría nada.

He visto otro, pero ese no lo voy a comentar por ahora.  ( Puede que sea el problema del reto )
Por cierto, ¿ que tiempo llevas con Taller ?.  ( Para que veas por que no hago una aplicación completa ).  

P.d  Oye, esto es una publicidad para que la gente se baje la aplicación, ¿ no ?..  

Saludos



 
Shell - Ver perfil del usuario Enviar mensaje privado  
Shell [ Lunes, 16 Enero 2017, 10:16 ]
Responder citando    Descargar mensaje  
Mensaje Re: Reto 13(v3ctor) Parchea Taller 2015 V 0.3.8 
 
pista 1

 pista1


pista 2  
bugtracker de taller2015 en este foro



 
v3ctor - Ver perfil del usuario Enviar mensaje privado  
v3ctor [ Lunes, 16 Enero 2017, 16:02 ]
Responder citando    Descargar mensaje  
Mensaje Re: Reto 13(v3ctor) Parchea Taller 2015 V 0.3.8 
 
Shell escribió:  
Me gustaría comentar que:

La aplicación no se cuelga, al menos lo que he visto desde la primera ejecución desde fuente. Es que salta antes otro error. Aunque tu lo tienes bien definido ese problema.
Es que si ese no lo solucionaste la aplicación no funcionaría nada.

He visto otro, pero ese no lo voy a comentar por ahora.  ( Puede que sea el problema del reto )
Por cierto, ¿ que tiempo llevas con Taller ?.  ( Para que veas por que no hago una aplicación completa ).  

P.d  Oye, esto es una publicidad para que la gente se baje la aplicación, ¿ no ?..  

Saludos


me interesa saber que errores descubriste, pasa la data cuando tengas un tiempito, saludos.



 
v3ctor - Ver perfil del usuario Enviar mensaje privado  
v3ctor [ Lunes, 16 Enero 2017, 16:08 ]
Responder citando    Descargar mensaje  
Mensaje Re: Reto 13(v3ctor) Parchea Taller 2015 V 0.3.8 
 
Un error que se produce al iniciarse en el ordenador del trabajo y no lo hace en el de casa, lo tienes en la lista de tareas

Línea 122. Clase Respaldo. Da error si la carpeta no esta montada o no existe.
Public Sub Respaldar(Optional forzar As Boolean, Optional manual As Boolean, Optional ruta As String, Optional nombre As String) As Boolean
  
  If Not IsNull(ruta) Then $RutaDestino = ruta
  
  If Not Access($RutaDestino) Then
    Return False 'nueva a prueba
  Endif
  
  If manual Then
    If IsNull(nombre) Then
      $Rutafinal = $RutaDestino &/ $NameArchivo & "_" & Replace$(CString(Date), "/", "-") & "_RM" 'RM=Respaldo Manual
    Else
      $Rutafinal = $RutaDestino &/ $NameArchivo & "_" & Replace$(CString(Date), "/", "-") & "_RM_" & nombre
    Endif
  Else
    $Rutafinal = $RutaDestino &/ $NameArchivo & "_" & Replace$(CString(Date), "/", "-") & "_RA" 'RA=Respaldo Automático
  Endif
  
  If Exist($Rutafinal) Then
    If forzar Then
      Kill $RutaFinal
      Wait 0.1
      Copy $RutaOrigen To $RutaFinal
      If Not manual Then $FechaUltimoRespaldo = Now
      Return True
    Else
      Return False
    Endif
  Else
    'Añadido de Shell: Creo la ruta que contiene la variable $RutaFinal
    Mkdir $Rutafinal
    Copy $RutaOrigen To $RutaFinal 'TODO:da error si la carpeta no esta montada o no existe arreglar
    If Not manual Then $FechaUltimoRespaldo = Now
    Return True
  Endif
  
End
 

Esa modificación que ves que he hecho, en el de casa le da igual.

Añadiendo esa modificación en el ordenador del trabajo, he podido acceder
al icono de mostrar ordenes ( el dibujo de la casa) , mostrando un dibujo en el fondo de la ventana principal.
(Ordenadores)

Este el procedimiento que falla en el ordenador del trabajo, usando la modificación que he añadido al crear el directorio.

Public Sub RespaldoAutomatizado()
  Dim periodo As Byte
  Dim UltimoRespaldo As Date
  
  
  periodo = Settings["RespaldoAutomatico/Periodo", 1]  

  
  If IsNull(Settings["RespaldoAutomatico/FechaUltimoRespaldo"]) Then
     Settings["RespaldoAutomatico/FechaUltimoRespaldo"] = CString(Now) 'original
     Settings.Save
     Wait 0.1
     UltimoRespaldo = CDate(Settings["RespaldoAutomatico/FechaUltimoRespaldo"])
  Else
     UltimoRespaldo = CDate(Settings["RespaldoAutomatico/FechaUltimoRespaldo"])
  Endif
  
  RespaldoBD = New Respaldo(periodo, RutaBaseDatos, DirRespaldos, UltimoRespaldo)
 
  If Settings["RespaldoAutomatico/Activado", True] = True Then
     If RespaldoBD.UltimoRespaldo() Then
        If RespaldoBD.Respaldar() Then
          Ventanas.EjecutarSonido(FMain.SError)
          Ventanas.Mgv1.Open("<b>Se respaldo correctamente en:</b><br>" & RespaldoBD.RutaFinal)
          Settings["RespaldoAutomatico/FechaUltimoRespaldo"] = RespaldoBD.FechaUltimoRespaldo
          Settings.Save
        Else
          Ventanas.Mgv1.Open("<b>No se pudo respaldar en:</b><br>" & DirRespaldos)
        Endif
     Endif
  Endif
 


Se ejecuta esta linea:

Ventanas.Mgv1.Open("<b>No se pudo respaldar en:</b><br>" & DirRespaldos)
 


No he creado una base, ojo. Solo ejecuto la aplicación por primera vez.
En el ordenador de casa me ha dado tiempo a ver el error que tu quieres para el reto. Es un desbordamiento en un bucle while.  

Parecen errores de cosas que o no se han creado o que pueden faltar al inicio de la aplicación por primera vez.

A ver que me dices.

Saludos



 
Shell - Ver perfil del usuario Enviar mensaje privado  
Shell [ Lunes, 16 Enero 2017, 20:08 ]
Responder citando    Descargar mensaje  
Mensaje Re: Reto 13(v3ctor) Parchea Taller 2015 V 0.3.8 
 
Bien. Pues ahora ya funciona sin problemas. No tengo ni idea el motivo.
He solucionado el problema del desbordamiento.

Luego te envío el parche.

Saludos



 
Shell - Ver perfil del usuario Enviar mensaje privado  
Shell [ Martes, 17 Enero 2017, 01:05 ]
Responder citando    Descargar mensaje  
Mensaje Re: Reto 13(v3ctor) Parchea Taller 2015 V 0.3.8 
 
Shell escribió:  
Bien. Pues ahora ya funciona sin problemas. (en realidad no es que funcione sino que no se cuelga que es diferente)


 No tengo ni idea el motivo. (esto no lo sabes porque no tienes bien claro el error y como se arregla,pero... estas cerca)

He solucionado el problema del desbordamiento.

Luego te envío el parche.

Saludos



el parche tiene que ajustarse al reto, solo solucionar el problema de desbordamiento y además que el programa funcione correctamente en esa parte del código, pues con tu parche no se muestran los datos que deberían mostrarse.

estas cerca pero no has solucionado el reto
saludos.



 
v3ctor - Ver perfil del usuario Enviar mensaje privado  
v3ctor [ Martes, 17 Enero 2017, 02:39 ]
Responder citando    Descargar mensaje  
Mensaje Re: Reto 13(v3ctor) Parchea Taller 2015 V 0.3.8 
 
Bueno, puedo cambiar el parche. Pero de todas maneras te preguntaré por privado para no dar pistas a los demás.  



 
Shell - Ver perfil del usuario Enviar mensaje privado  
Shell [ Martes, 17 Enero 2017, 09:57 ]
Mostrar mensajes anteriores:    
 
Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 



 

cron