Open GoogleCodeExporter opened 9 years ago
Gente, por favor actualicen prot-filer y vuelvan a probar, acabo de arreglar al
menos uno de los bugs (es raro, todavia ni se como armar el test para esto).
Original comment by hugo.arregui
on 20 Aug 2011 at 7:46
Hugo, asi medio rapido intente compilar pero me tira error, te adjunto el
archivo con los errores.
Original comment by rulito...@gmail.com
on 21 Aug 2011 at 1:29
Attachments:
actualiza mili tambien
Original comment by hugo.arregui
on 21 Aug 2011 at 1:32
Actualicé a las últimas versiones de prot-filer (revis 73) y mili (revis 238)
y corri el clusterer con las dos cache policy. En ambos casos obtuve un
segmentation fault en la misma ubicación. Ver archivos adjuntos con los
detalles.
Original comment by lbe...@gmail.com
on 21 Aug 2011 at 10:53
Attachments:
Perfecto, por eso decia que eran dos issues a separar. El primero esta
solucionado, asi que habria que actualizar esto y dejar solo la info relevante.
Original comment by hugo.arregui
on 21 Aug 2011 at 11:08
Gente, preguntas: que es lo que pasa en clusterer cuando se cuelga? en que
estado esta, cuantos jobs se procesaron? que muestra el log?
Original comment by hugo.arregui
on 22 Aug 2011 at 11:02
Hola Hugo, aca intento dar algunas respeustas:
Cuando el clusterer tira "segmentation fault", lo que está haciendo es
procesar los resultados de las job_units correspondientes a ClustersJob, luego
de procesar bien todos los resultados de RepresentativesJob ( 15 jobs ).
Siempre tira el fault en resultados de distintas job_units, generalmente entre
la 18 y 22 hasta donde probamos. ( La primer job_unit de ClustersJob es la 16 )
Por el momento es la info que te podemos dar, más los dos archivos que subió
lucas en el comentario anterior. Vamos a seguir depurando para ver si logramos
sacar mas detalles!
Si sabes de alguna prueba que podamos hacer o algunas recomendaciones,
bienvenido sea!
Original comment by rulito...@gmail.com
on 23 Aug 2011 at 4:59
En el comentario anterior, pase la cantidad de jobunits que se procesaban antes
de actualizar prot-filer.
Ahora, para RepresentativesJob se procesar de manera correcta 26 job units.
A partir de la job_unit 27, se comienzan a procesar los resultados de los
trabajos de ClustersJob, donde según las pruebas, siempre me tiro
"segmentation fault" en la línea
http://code.google.com/p/parallel-clusterer/source/browse/branches/biopp/server/
jobs/clusters_job.cpp#83 luego de 10 iteraciones del "for".
Original comment by rulito...@gmail.com
on 24 Aug 2011 at 3:06
Gente, acá les paso la solución del problema reflejado en este issue que
encontraron Billy y Hugo en la debug session, la cual quedo colgada en un mail
con asunto "Fix Bug Parallel Cluster - Issue12":
Lo que causaba el segmentation fault era que en la linea 83:
http://code.google.com/p/parallel-clusterer/source/browse/trunk/server/jobs/clus
ters_job.cpp#83
se estaba accediendo a la posición "it->second" la cual era "1042" cuando el
tamaño del vector clusters (_clusters.size() ) era de 1023.
El problema estaba en la linea 110:
http://code.google.com/p/parallel-clusterer/source/browse/branches/biopp/server/
jobs/clusters_job.cpp#110
cuando el servidor armaba la jobUnit donde se le pasaba la proteína a
diferencia de la versión del trunk linea 107:
http://code.google.com/p/parallel-clusterer/source/browse/trunk/server/jobs/clus
ters_job.cpp#107
donde se utiliza ProteinRefWithClusterID para pasar el ClusterID como el
ProteinID.
La solución fue modificar la linea 110:
http://code.google.com/p/parallel-clusterer/source/browse/branches/biopp/server/
jobs/clusters_job.cpp#110
por:
(*res) << ClusterID(i);
(*res) << protein.getItemVector();
Para ello también se tuvo que agregar el metodo getItemVector() en la clase
Structure:
http://code.google.com/p/biopp/source/browse/biopp/prot_structure/Structure.h
ya que el vector _item_vector no era visible desde clusters_job.cpp. El código
de este nuevo método es el siguiente:
inline const std::vector<Item>& getItemVector() const
{
return _item_vector;
}
Quedaron dudas respecto de si era correcto agregar este get() o no.
Original comment by rulito...@gmail.com
on 19 Nov 2011 at 6:24
Original issue reported on code.google.com by
rulito...@gmail.com
on 18 Aug 2011 at 2:56Attachments: