(Se está convirtiendo en costumbre, pero he de reconocer que mi vida, en estos últimos tiempos solo se centra en el tajo)
– MAAAAAAYYYYYYY EJHTO EJHTA ROTOOOOOOOOO!!!!!!
Pues empezamos bien la mañana. Pero vamos, es Cocoliso y se lo permito.
– A ver, alma de $Deity, a riesgo de acabar peor que la niña del exorcista, QUÉ es exactamente lo que está roto?
Cocoliso es bueno en su trabajo. No da por saco, valora nuestro curro y cuando requiere de los servicios de nuestro poco ocupado y no-amistoso departamento hace gala de una cortesía profesional extrema. Andaluz, con un acento cerrado de mil pares de cojones, la cabeza afeitada y esa mala bebida de quien ha hecho de su actividad favorita su modo de vida y trabajo y no acepta que nadie le toree en ese aspecto.
– Po ehto, cohone. Hago una llamada a una funsión de un controler en el servido’ y me devuelve un taimout. En mi local funsiona. Y no tengo ni puta idea.
Coño. Es esto a lo que me referia. Ni una mala palabra, ni una acusación, ni echarnos nada en cara. Una incidencia como $Deity manda. En un tono normal, coherente y más una petición de ayuda que un reporte en si. Mira, ni siquiera le voy a pedir que me abra el ticket. Se ha tomado la molestia de traer su equipo de desarrollo a nuestro sector y se le ve perdido al hombre.
– A ver… coño, pues si. Qué raro.
– ¿Lo veh tu tambiéh?
Rareza sobre rareza: Descarto inmediatamente tema del servidor web. O sirve o no sirve. Fin. Determinista. Lo de que sea exclusivamente esa URL me pone alerta. Lo siguiente es fiarme del desarrollador: Cocoliso siempre ha tenido fama de disparar primero y preguntar después. Pero tras la última (que fue de escándalo y daría para un blog completo), me consta que ha aprendido y ahora se contiene mucho más. Para la siguiente causa, Maqui se me adelanta.
– ¿No será una query asesina de esas vuestras que tanto os molan?
– No, hoder. La única query que ze tira eh en la entrada al controler, loh rezultadoh quedan en memoria y soy yo el que loh trata dehde el codigo péashepé.
Esta va a ser una de esas en las que los bits de protección a la entrada del registro B del core 3 florecen al amanecer. Vamos, que ni puta idea más allá de la magia negra. Maqui se me vuelve a adelantar.
– Vamos a reiniciar los servicios de apache y de mysql… primero uno…. luego el otro….
– Y zigue zin funsioná.
– Espera, Maqui, voy a mirar el top del server en la carga de la página. Mmmmmunsegundo. Ya. Dale.
Y Cocoliso le da. Y el top me dice que el servidor puede echarse la siesta tranquilamente porque no tiene ni carga, ni procesos, ni memoria ocupada…. Copón. Solo nos queda una bala.
– Cocoliso, debuguea en el servidor.
Y ahí que va. Diez minutos despues, levanta la cabeza y se le ve en la cara la desesperación de quien no comprende qué está pasando.
– Que no, cohonez, que no. Eh que ni ziquiera entra en el controler. No llega a ehecutarse ziquiera.
– Chico, no tienes algún debug sobre la composición de la llamada?
– Dale a Inspect Elemen sobre la pehtaña donde pone máh. Zaca la conzola. Veh? Ehte eh el valor que devuelva para la creazión de la llamada al POST. Y funsiona.
– Copón…
– …
Y da la casualidad de que $Tec_Boss pasó por allí.
– Qué pasa, chicos?
– Po aquí, con un poltergeih en una llamada a una funsión de controler de codeigniter. La funsión se llama get_sex_heatmap.
$Tec_Boss mira al cielo un momento. Y de repente, baja la mirada y dice:
– Quita la cadena get_. A Grocery_Crud no le sientan bien las llamadas get fuera de sus propios constructores.
– Que no, $Tec_Boss, que no. Que he hesho mileh de llamadah a funcioneh fuera de Crud y han shutado todah. Que ni ziquiera cargo er modelo de Crud.
– Tú prueba eso.
Una hora después, nada. Ni eso. Cocoliso es la viva imagen de la desesperación: Imaginad un bigardo de metro noventa, con espaldas de culturista inclinado sobre sus codos en la mesa negando con la cabeza.
– Po’ a ver quien eh el guapo que le dise a $Tec_Boss que lo suyo no funciona. Hoder, es que no tiene sentío, se llame get, cat o pepe. Ademáh, ahora er nombre de la funsió queda rídiculo: sex_heatmap, amoandanomeodas, parece que pideh sexo en zonah de caló.
PLINK! Bombillita en mi cerebro. Ya sabía yo que la url no era del todo inocente…
– Ostia, Maqui…. seguimos con el firewall activado con los términos prohibidos en URL?
cricri…. cricri….. Cocoliso y Maqui se miran entre sí, se vuelven a mirarme a mi y luego se miran entre si de nuevo, el uno con el alivio dibujado en la cara y el otro con el asombro tatuado en ella.
– Coño, no me odais que tenemoh gente tan gilipollah como pa ve’ pohno en la ofisina.
El suspiro nos salió a dúo a Maqui y a mi. Ni ensayado.
– Te sorprenderías.
Yo continué.
– Dos opciones, tio: O cambias el nombre de la función dentro del controlador o quitamos el filtro…
Y de repente se escucha la voz de $Tec_Boss desde la distancia:
– ¡¡El filtro no se toca!!
– Po ala, chavalote. Ya han decidido por tí. A cambiar el nombre de la función. Yo genero el ticket. A pasarlo bien.
– Grasiah, shavaleh!!
Estas. Estas son las que me molan. Las que te pones por cabezonería y al final resulta ser algo que ni tú ni nadie hubiese acertado a deducir a las primeras de cambio. Y que gente como Cocoliso y Maqui, verdaderos cracks en lo suyo, te reconozcan el mérito de haber dado con la causa del problema pues tiene su aquel. Ayer me fui bastante contento por hacer bien mi trabajo: dar soluciones y causas de problemas técnicos a gente que no entiende qué está ocurriendo.