Foros del Web » Programación para mayores de 30 ;) » .NET »

Error

Estas en el tema de Error en el foro de .NET en Foros del Web. Ha alguien le suena este error? Cita: The CLR has been unable to transition from COM context 0x1a3008 to COM context 0x1a3178 for 60 seconds. ...
  #1 (permalink)  
Antiguo 14/07/2009, 06:28
Avatar de MeXiCaN  
Fecha de Ingreso: mayo-2004
Ubicación: Barcelona - España , Morelia - México
Mensajes: 162
Antigüedad: 19 años, 11 meses
Puntos: 0
Error

Ha alguien le suena este error?

Cita:
The CLR has been unable to transition from COM context 0x1a3008 to COM context 0x1a3178 for 60 seconds. The thread that owns the destination context/apartment is most likely either doing a non pumping wait or processing a very long running operation without pumping Windows messages. This situation generally has a negative performance impact and may even lead to the application becoming non responsive or memory usage accumulating continually over time. To avoid this problem, all single threaded apartment (STA) threads should use pumping wait primitives (such as CoWaitForMultipleHandles) and routinely pump messages during long running operations.
Muchas gracias
__________________
Un saludo, MeXiCaN :golpeado: :adios:

Poco es tanto, cuando poco necesitas. E.Bunbury

Siempre que haya una causa noble por la que luchar, siempre habrá ladrones que la apoyarán.

Última edición por MeXiCaN; 14/07/2009 a las 20:51
  #2 (permalink)  
Antiguo 14/07/2009, 09:03
 
Fecha de Ingreso: enero-2007
Ubicación: Tingo María - Perú
Mensajes: 399
Antigüedad: 17 años, 3 meses
Puntos: 13
Respuesta: Error

me suena a que estas sobrecargando demasiado la memoria haciendo llamados recursivos a procesos.

Pero si no nos das mas detalles es dificil ayudarte
__________________
Vivir para ser buenos y ser buenos para servir mejor.
  #3 (permalink)  
Antiguo 14/07/2009, 20:51
Avatar de MeXiCaN  
Fecha de Ingreso: mayo-2004
Ubicación: Barcelona - España , Morelia - México
Mensajes: 162
Antigüedad: 19 años, 11 meses
Puntos: 0
Respuesta: Error

Quizá sea por el thread.

Pero diría que sólo tengo uno.

Lo que hace el thread es leer linea a linea 22 ficheros algunos más pequeños y otros más grandes, de unos 100 megas en txt.

Que más detalles necesitas?
__________________
Un saludo, MeXiCaN :golpeado: :adios:

Poco es tanto, cuando poco necesitas. E.Bunbury

Siempre que haya una causa noble por la que luchar, siempre habrá ladrones que la apoyarán.
  #4 (permalink)  
Antiguo 14/07/2009, 23:09
 
Fecha de Ingreso: enero-2007
Ubicación: Tingo María - Perú
Mensajes: 399
Antigüedad: 17 años, 3 meses
Puntos: 13
Respuesta: Error

he ahi el problema (a mi parecer) 100mb*22 <> 2gb
como esta el recolector de basura?
estas destruyendo los objectos que se abren?
estas cerrando bien los archivos luego de abrirlos?
__________________
Vivir para ser buenos y ser buenos para servir mejor.
  #5 (permalink)  
Antiguo 15/07/2009, 23:52
Avatar de MeXiCaN  
Fecha de Ingreso: mayo-2004
Ubicación: Barcelona - España , Morelia - México
Mensajes: 162
Antigüedad: 19 años, 11 meses
Puntos: 0
Respuesta: Error

Gracias boluart.

Pues bien los archivos se cierran todos después de su finalizada lectura.

El único objeto que tengo es el thread y no sabía que había que destruirlo, pensé que una vez finalizado, liberaba todo...

Recolector de basura? Eso que es?

Creo que me compraré un buen libro de programación...
__________________
Un saludo, MeXiCaN :golpeado: :adios:

Poco es tanto, cuando poco necesitas. E.Bunbury

Siempre que haya una causa noble por la que luchar, siempre habrá ladrones que la apoyarán.
  #6 (permalink)  
Antiguo 16/07/2009, 08:58
 
Fecha de Ingreso: enero-2007
Ubicación: Tingo María - Perú
Mensajes: 399
Antigüedad: 17 años, 3 meses
Puntos: 13
Respuesta: Error

haber tratare de ser bien practico: como ya sabemos cuando declaras variables el ordenador reserva espacio de memoria para usarlo, al asignar estos espacios son llenados y se carga en memoria ahora bien el recolector de basura de .net deberia liberar este espacio al destruirse el objeto. Pero en ciertas ocaciones deberiamos invocarlos, hasta donde tengo entendido basta con: Obj = nothing , para destruirlos, en todo caso busca mas info sobre esto, aqui algo que te puede ayudar.

http://msdn.microsoft.com/es-es/libr...tx(VS.80).aspx
__________________
Vivir para ser buenos y ser buenos para servir mejor.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:41.