2 puntos por GN⁺ 2023-09-21 | 1 comentarios | Compartir por WhatsApp
  • Un nuevo propietario de un Pontiac reclamó ante la Pontiac Division de General Motors que, cada noche, después de comprar helado, el auto no arrancaba solo cuando elegía vainilla
  • El presidente de Pontiac dudó de la carta, pero envió a un ingeniero, y en el lugar se reprodujo realmente la falla de arranque después de comprar vainilla
  • Los días en que compraban chocolate o fresa, el auto arrancaba, pero el día que compraban vainilla volvía a fallar, confirmando repetidamente una condición que parecía absurda
  • El ingeniero registró la hora, el tipo de combustible, el tiempo de ida y vuelta, y el tiempo de compra, hasta que descubrió una diferencia en el recorrido: solo la vainilla podía comprarse rápidamente en un refrigerador separado al frente de la tienda
  • La causa no era el sabor del helado, sino un vapor lock provocado porque, al ser muy corto el tiempo de compra, el motor no alcanzaba a enfriarse; incluso los reportes extraños deben verificarse con observación y reproducción

El extraño problema de arranque del Pontiac

  • Un propietario de un Pontiac envió una segunda carta a la Pontiac Division de General Motors
  • Después de cenar, la familia votaba cada noche qué sabor de helado comería como postre, y él siempre manejaba hasta la tienda para comprarlo
  • Tras comprar un Pontiac nuevo, el problema se repetía solo bajo ciertas condiciones
    • Si compraba helado de vainilla, al volver de la tienda no podía arrancar el auto
    • Si compraba otro sabor, el auto arrancaba con normalidad
  • Aunque reconocía que la pregunta podía sonar tonta, preguntaba por qué el Pontiac no arrancaba solo cuando compraba vainilla

Verificación en campo y reproducción repetida

  • El presidente de Pontiac recibió la carta con escepticismo, pero envió a un ingeniero para comprobarlo personalmente
  • El ingeniero se reunió con el dueño justo después de la cena y fueron juntos a la heladería
  • Ese día tocaba comprar vainilla y, cuando ambos regresaron al auto, efectivamente no arrancó
  • Durante los tres días siguientes verificaron la situación cambiando las condiciones, con resultados claros
    • El primer día, cuando compraron chocolate, el auto arrancó
    • El segundo día, cuando compraron fresa, el auto también arrancó
    • El tercer día, cuando compraron vainilla, volvió a fallar el arranque

La pista surgida de los registros de observación

  • El ingeniero no aceptó la interpretación de que el auto fuera alérgico al helado de vainilla
  • Decidió seguir visitando hasta resolver el problema y registró varios datos
    • Hora del día
    • Tipo de combustible usado
    • Tiempo de ida y vuelta hasta la tienda
    • Tiempo que tomaba la compra
  • La pista decisiva fue que comprar vainilla tomaba menos tiempo que comprar otros sabores
  • La disposición de la tienda estaba generando la diferencia de tiempo
    • La vainilla era el sabor más popular, así que estaba en un refrigerador separado al frente de la tienda para que pudiera tomarse rápidamente
    • Los otros sabores estaban en otro mostrador, al fondo de la tienda, por lo que encontrar el sabor y pagar tomaba mucho más tiempo

La causa real: vapor lock

  • El núcleo del problema no era el sabor del helado, sino el corto tiempo de espera
  • Tras darse cuenta de que el tiempo era la causa, el ingeniero identificó el vapor lock como el origen
  • El vapor lock ocurría todos los días, pero cuando compraban otros sabores, el tiempo de compra era más largo, el motor alcanzaba a enfriarse lo suficiente y el auto podía arrancar
  • Cuando compraban vainilla, el tiempo de compra era demasiado corto, el motor seguía caliente y, como el vapor lock no desaparecía, el auto no arrancaba

Lección

  • Aunque un problema parezca no tener sentido a primera vista, los hechos observados pueden ser reales
  • Incluso si los síntomas parecen absurdos, al repetir la verificación de las condiciones y reunir datos se puede encontrar la causa real

1 comentarios

 
GN⁺ 2023-09-21
Opiniones de Hacker News
  • A fines de los 90 me pasó algo parecido en el trabajo. El mouse de un empleado se congelaba solo a ciertas horas del día: en la mañana funcionaba bien, cerca del almuerzo dejaba de andar y más tarde volvía a funcionar.
    La pista decisiva fue que en los días nublados funcionaba perfecto todo el día, pero en los días soleados se repetía el mismo comportamiento extraño. Resultó que la carcasa de plástico de un mouse de bola barato era demasiado delgada, así que en los días soleados la luz del sol sobrepasaba por mucho al LED en los sensores de los ejes X/Y, y solo volvía a funcionar normalmente cuando el sol se movía y aparecía una sombra. Al principio parecía absurdo, pero la causa era completamente lógica.

    • Hace mucho hubo un problema parecido con el iPhone 4. Si arrancaba en un lugar oscuro, quedaba atrapado en un bucle infinito de arranque en el logo de Apple.
      Parece que algunas versiones del jailbreak Pangu para iOS 7.1.x se caían durante el arranque si el valor del sensor de luz ambiental estaba por debajo de cierto umbral. Todavía no sé la causa exacta, pero parece que Pangu incluía código innecesario que tocaba el sensor de luz [1].
      [1] https://www.reddit.com/r/jailbreak/comments/294wob/jailbreak...
      [2] https://www.reddit.com/294wob/
    • Tuve un problema parecido, pero en sentido contrario. La velocidad del internet por cable de mi casa normalmente estaba bien, pero a veces, sin morirse del todo, se ponía lenta como un glaciar.
      Después de revisar todo tipo de posibles problemas, descubrí que no ocurría cuando llovía, sino cuando había niebla densa o llovizna. Al revisar, el técnico de la compañía de cable confirmó que dentro de la casa todo estaba bien, y que el cable que venía de la línea principal a la casa tenía un daño diminuto por donde se filtraba la humedad del ambiente y arruinaba la conexión.
    • La máquina de hielo de encimera de mi casa también, por una razón parecida, se traba y produce hielo de más en días soleados.
      Cuando el depósito de hielo se llena, un haz infrarrojo debería bloquearse y detener la fabricación de hielo, pero en los días soleados la luz intensa de la cocina engaña al sensor y hace que siga produciendo hielo. Así que le puse encima una revista cualquiera para que funcione bien.
    • Me acuerdo del día en que descubrimos que el sistema de CI del trabajo era vulnerable a las vibraciones.
      Un día, de pronto, las pruebas relacionadas con una app gráfica cliente de X empezaron a fallar de forma intermitente, pero no se podían reproducir bajo otras condiciones. Resultó que los trabajos de CI se ejecutaban en máquinas de escritorio ubicadas en algún lugar de la empresa, y alguien había conectado un mouse a una de esas máquinas y lo había dejado en un estante. Cuando la carga de la máquina subía, el ventilador aceleraba y aumentaba la vibración, el mouse se movía apenas un poco y, por alguna razón desconocida, eso producía efectos secundarios en las pruebas. Me sentí bastante orgulloso de diagnosticar por SSH una máquina que ni siquiera estaba en el lugar.
    • En días soleados, el auto de mi esposa no puede abrir la puerta del garaje, y mi auto solo la abre si me acerco muchísimo. Cuando se pone el sol, ambos pueden abrirla desde la calle.
      Resultó que los paneles solares, o los optimizadores/inversores, estaban emitiendo radiofrecuencias que interferían con el control remoto de la puerta del garaje. Cuando había sol y estaban generando energía, la interferencia se volvía más fuerte que el abridor de garaje HomeLink. Hace unos años, el abridor de la puerta del garaje empezó a funcionar bien de repente, y unos días después descubrí que era porque el inversor se había descompuesto. Según las normas de la FCC, quizá el instalador debería arreglarlo, pero la relación se deterioró durante la instalación, así que me pareció mejor renunciar al control remoto que lidiar con ellos por una reparación en garantía.
  • Es una anécdota graciosa que me contaron de la época en que existían las salas de servidores. El servidor de la empresa de un amigo se reiniciaba todos los días alrededor de las 5 p. m., y aunque revisaron todo lo posible del lado del sistema operativo, no pudieron encontrar la causa.
    Al final decidieron pararse frente al servidor a esa hora, y vieron que la persona de limpieza entraba al cuarto, desenchufaba la alimentación del rack de servidores, conectaba la aspiradora para limpiar y luego volvía a enchufar el rack.

    • Tuve un caso parecido que depuré estando físicamente en la sala. Estábamos desarrollando un producto de cámara inteligente para contar el tráfico vial, un equipo que se instala en las calles para entidades como ayuntamientos y genera estadísticas de camiones, autos y motocicletas.
      Una de las cámaras se reiniciaba todos los días casi a la misma hora; no era exactamente el mismo segundo, sino que había un patrón claro: un día a las 19:12:10, al día siguiente 2 segundos después, y al siguiente otros 2 segundos después. Resultó que, al ponerse el sol, una instalación de la calle proyectaba una sombra frente a la cámara, y el software la confundía con un vehículo y empezaba a recopilar información de clasificación. Como la sombra se movía mucho más lento que un vehículo real, la memoria se agotaba antes de que saliera del encuadre; el sistema se colgaba y luego el watchdog lo reiniciaba. El patrón horario se debía a que el ángulo del sol cambiaba cada día, así que la sombra engañaba al algoritmo cada vez un poco más tarde.
    • Esta historia ya parece casi una leyenda urbana. En un hilo de Reddit[0] también se menciona que era una historia de computadoras que circulaba en los años 80 y que fue recopilada en 1990[1].
      [0] https://old.reddit.com/r/talesfromtechsupport/comments/5yrs1...
      [1] https://www.goodreads.com/book/show/3227607-the-devouring-fu...
    • Personalmente también viví algo parecido. Administraba el servidor de un despacho contable, y el servidor de impresión a veces se reiniciaba únicamente entre las 9 y las 10 de la mañana.
      Me senté allí durante una semana en esa franja horaria y vi cómo se atenuaban las luces y ocurría el reinicio. El abogado de la oficina de al lado llegaba a trabajar y encendía al mismo tiempo su PC, la impresora y la cafetera, todos conectados a la misma regleta; por la corriente de arranque, bajaba el voltaje del circuito al que estaba conectado el servidor. Había un UPS, pero los UPS de consumo de esa época solo manejaban cortes de energía; medimos que el voltaje caía hasta 85V, y en la práctica se reiniciaba cuando bajaba de 95V.
    • En 1999, en el ayuntamiento de un pequeño municipio al sureste de Stuttgart, Alemania, fui al sitio por tercera vez en medio año para arreglar índices corruptos de una base de datos MS SQL.
      Era viernes temprano por la tarde, hacía calor y humedad y estaba por llegar una tormenta eléctrica; alrededor de las 16:00 vino el responsable y me dijo que me apurara porque a las 17:00 cortarían la electricidad de todo el edificio. Todos los viernes apagaban la energía para ahorrar, y justo todos los viernes a las 16:30 estaba programado el mantenimiento de la base de datos. Así que durante la hora restante arreglé el problema, cancelé la tarea de esa semana y apagué manualmente el servidor de la base de datos. Cada semana cortaban la energía por la fuerza y provocaban una incidencia de producción en el servidor Netware y en el servidor de base de datos del software de recaudación, y por el contrato de mantenimiento nos tocaba arreglarlo cada vez. Finalmente, como un mes después, pospusieron el corte forzado de energía para el sábado por la mañana, de modo que el servidor pudiera apagarse correctamente después de completarse los respaldos.
  • Me recuerda a la minivan GM que manejaba mi cuñado en los 80. Era un auto que le había dado mi suegro, quien era ingeniero automotriz en GM; a veces, de forma aleatoria, no arrancaba y todo el sistema eléctrico parecía muerto.
    Como consideraban que mi cuñado no sabía mucho de autos, mi suegro no tomó en serio sus quejas. Al final acordaron intercambiar autos durante un mes; el problema se reprodujo en el estacionamiento del GM Technical Center, y ni los ingenieros de GM que se reunieron alrededor pudieron descubrir por qué parecía que el sistema eléctrico estaba muerto, así que mi cuñado pudo sacarse la espina.

    • Tuve el mismo síntoma en un Mercedes SLK 2009. El 99.9% del tiempo funcionaba perfecto, pero una de cada mil veces ni siquiera intentaba arrancar: sin clic, sin reconocer que se estaba girando la llave, parecía completamente muerto.
      Unas horas después arrancaba como si nada, así que en el centro de servicio no podían diagnosticarlo. Más adelante empezó a afectar mi vida, incluso durante campamentos off-road en los que no arrancaba; finalmente, cuando no arrancó en la entrada de mi casa, lo remolqué a un taller independiente y allí también se reprodujo el problema. El mecánico sugirió cambiar el módulo ECU o cambiar la caja de fusibles completa; la ECU costaba miles de dólares, pero cambiar la caja de fusibles costaba menos de 200 dólares incluida la mano de obra, así que elegí eso. Han pasado 6 o 7 años, ese auto sigue siendo mi principal y único vehículo, y desde entonces no ha tenido ni un solo problema mecánico.
    • Un bug tipo Heisenberg es señal de una falla de diseño del sistema completo. Aparece en proyectos que no fueron diseñados para facilitar la resolución de problemas, con subsistemas fuertemente acoplados y donde todo está apenas sostenido con alambre y chicle.
      Es totalmente plausible que los vehículos GM de su época infame sufrieran problemas eléctricos misteriosos capaces de volver loco a cualquiera.
    • Los autos GM tienen fama de generar de vez en cuando problemas raros, como si estuvieran poseídos. Incluso aunque, desde 1990, los autos GM se acercaron bastante a los japoneses en confiabilidad general.
    • En este hilo hay muchos autos que de forma intermitente no encienden, pero antes también había autos que de forma intermitente no se apagaban. O al menos, los faros no se apagaban.
      Creo que en algún lugar un relay se sobrecalentaba y quedaba cerrado, pero no pude depurarlo yo mismo y mi primo, que era mecánico automotriz, tampoco lo encontró. No me esforcé demasiado: cuando pasaba, sacaba el fusible y lo volvía a poner a la mañana siguiente.
    • Si tuviera que adivinar, quizá necesitaba una batería nueva. Mi auto GM también mostraba comportamientos extraños al arrancar cuando la batería ya estaba vieja.
      Muchas veces el motor de arranque giraba bien, pero la electrónica quedaba atrapada en un estado raro y solo se solucionaba desconectando la batería para hacer un hard reset.
  • En una casa donde vivía antes, me pasó un fenómeno raro y repetitivo relacionado con aparatos electrónicos. A medianoche de cierto día de la semana, en varios aparatos electrónicos fijos se oía muy tenuemente algo que sonaba como una grabación de un discurso político de la Segunda Guerra Mundial.
    El sonido era tan débil que era difícil ubicarlo en un solo lugar, y no se entendían las palabras, así que parecía que una grabación vieja sonaba simultáneamente desde todos lados. Seguía pasando aunque desenchufara todo o aunque se cortara la luz en la casa. Pensé que me estaba volviendo loco o que la casa estaba embrujada por el fantasma de Hitler, pero después escuché algo parecido en la radio del auto y entendí qué pasaba. Una estación católica de radio AM empezaba su transmisión el mismo día y a la misma hora con canto gregoriano y sermones, y el cableado de la casa de alguna manera actuaba como un receptor de radio AM, haciendo que algunos componentes vibraran con el audio transportado en la señal de radio.

    • La radio AM es un formato de transmisión horrible en muchos sentidos, pero también tiene la ventaja de que es muy fácil demodularla en sonido de esta forma.
    • Cerca de mi trabajo hay un tramo de unos 25 pies frente a una fábrica donde casi todas las estaciones de FM quedan tapadas por Muzak. No sé qué pasa en esa fábrica, y alguna vez pensé seriamente en contactar a la FCC.
    • Es algo realmente increíble. Yo habría estado poniendo un círculo de sal alrededor de las ventanas.
  • Cada vez que mi hijo jugaba American Truck Simulator, la pantalla de la laptop se apagaba, y mientras estaba en negro el camión se salía del camino.
    Cuando yo jugaba en la misma laptop no pasaba, así que mi hijo estaba convencido de que estaba maldito. Después de que se repitiera durante varios días, lo observé mientras jugaba y noté que la correa de su reloj era una banda metálica con cierre magnético. La posición de su muñeca activaba el sensor Hall de la laptop, haciéndole creer que la tapa se había cerrado. Mi hijo, mi esposa y yo nos sentimos aliviados al saber que él no estaba maldito.

    • Por este bug, Apple cambió el sensor de ángulo de la pantalla por otro método. Y, muy al estilo Apple, también obtuvo una excusa para serializar ese sensor.
      https://www.ifixit.com/News/33952/apple-put-a-hinge-sensor-i...
    • También nos pasaba a veces en el help desk de la universidad. Podía ocurrir al poner una MacBook abierta encima de una MacBook cerrada; los imanes se alineaban fácilmente y la pantalla se apagaba.
  • Historias como estas eran lo que hacía tan entretenido a Car Talk. No era simplemente una historia de mecánicos arreglando autos: las situaciones eran tan extrañas y peculiares que resultaban interesantes.
    También era muy divertido oír a mecánicos con mucha experiencia tratar con naturalidad tantas situaciones raras, y además eran excelentes narradores.

    • “Ve al taller y busca a la persona de más edad. Quizás esa persona pueda lidiar con un carburador”.
  • Más que “los problemas que parecen absurdos a veces son reales”, para mí la lección es: el problema del usuario por lo general sí existe, pero no confíes en su capacidad para diagnosticar la causa.

    • Dicho de otra manera, hay que distinguir entre los hechos observados en la historia y las inferencias. Descartar una inferencia no significa que debas ignorar también la observación en sí. Es parecido al problema XY.
    • La causa inmediata y la causa raíz son muy distintas. La causa inmediata es la compra de helado de vainilla, y la causa raíz es el vapor lock.
      La carta no afirmaba que el helado fuera la causa raíz; dejaba muy claro que era la causa inmediata. El presidente de Pontiac y la persona que escribió esa “lección” quizá confundieron ambas, pero el ingeniero que investigó no lo hizo.
    • Quien resuelve problemas no debe quedar atrapado demasiado pronto en una sola teoría. Es fácil pasar por alto otra información que no encaja.
    • El título era deliberadamente provocador, pero apenas lo leí lo primero que se me ocurrió fue un problema de timing. Puede que se me haya ocurrido por suerte porque lidio a menudo con problemas de timing, pero descarté esa hipótesis pensando que el usuario ya se habría dado cuenta de algo así. No era el caso.
      Por mi experiencia haciendo también help desk durante trabajos de desarrollo, los usuarios asignan con facilidad hechos arbitrarios como causa de un problema. Heurísticas como “correlación es causalidad” o post hoc ergo propter hoc pueden ayudar, pero son malas si reemplazan al razonamiento. Como los usuarios no saben cómo funcionan las cosas que usan, les cuesta diagnosticarlas correctamente, y los usuarios que creen “saber algo de eso” suelen ser los más difíciles de tratar.
  • El auto de mi esposa ahora tiene poco líquido limpiaparabrisas, pero la alerta solo aparece en un punto específico mientras maneja. No es a cierta distancia de casa, sino una ubicación exacta.
    Al principio pensé que quizá era por el tiempo que tardaba en ir y volver de algún lugar, pero sin importar si antes había manejado 5 minutos, 5 millas, 1 hora o 60 millas, la alerta visual y sonora siempre aparece en ese lugar. La única pista adicional es que ese punto es una zona sin cobertura para la mayoría de los celulares y operadoras. Al rellenar el líquido limpiaparabrisas, el misterio quedó en pausa, pero me pregunto si todas las alertas aparecen ahí. Es como si en ese punto la telemetría del vehículo recibiera alguna interferencia, despertara y dijera algo.

    • La pendiente de ese lugar podría hacer que el nivel del líquido baje en el punto donde está el sensor. ¿Hay alguna inclinación inusual en algún eje?
    • En mi caso fue algo parecido, pero era evidente que la combinación de una curva suave en ese lugar y una velocidad relativamente alta hacía que el líquido limpiaparabrisas se desplazara hacia un lado del tanque. Parece que el sensor está del lado opuesto.
    • Mi Subaru solo muestra la alerta de líquido limpiaparabrisas en una salida de autopista, por los cambios de velocidad e inclinación.
    • Suena como una zona con fuerte interferencia electromagnética. Podría ser un semáforo con sensores subterráneos, debajo de líneas de alta tensión, cerca de una subestación o cerca de una antena de radio de alta potencia.
      Podría generar una interferencia lo bastante extraña como para empujar apenas el sensor de “líquido suficiente” a “bajo”.
    • Ahora me pasa lo mismo con un VW Passat 2019. La alerta aparece cuando acelero, freno o tomo una curva larga.
      Es simplemente un problema del líquido moviéndose dentro del depósito. Hoy limpié un poco el parabrisas para que el auto dejara encendida de forma permanente la luz de nivel bajo.
  • Una noche, mientras hacía una tarea de Java en el laboratorio de informática, el profesor encargado pasó y dijo: “Ah, en esa máquina vas a necesitar suerte”
    Esa máquina, en algún momento, no podía ejecutar ningún programa Java y moría de forma espectacular, pero C++ y Python funcionaban bien. Incluso el programa del profesor, que al principio no lo creía, hizo crashear esa máquina. Tras unas dos semanas de investigación entre un técnico y el profesor, descubrieron que cada vez que se iniciaba la JVM asignaba el entero 12 a la misma dirección de RAM, y que el chip de RAM que contenía esa dirección de hardware estaba dañado. Cada vez que intentaba asignar algo en esa dirección, crasheaba; al reemplazar el módulo de RAM defectuoso, se resolvió de inmediato

  • Esta historia es un ejemplo interesante de variable de confusión
    En inferencia causal, una variable de confusión es una variable que afecta tanto a la variable dependiente como a la independiente, creando una asociación falsa. Es un concepto causal que no puede explicarse solo con correlación, y una de las razones cuantitativas importantes detrás de “correlación no implica causalidad”
    https://en.wikipedia.org/wiki/Confounding
    Expresado como modelo estadístico, puede verse como S = f(H, I, T). S es si el auto arranca o no, H es la temperatura del motor, I es el tipo de helado elegido y T es el tiempo que tomó comprar el helado. Si T es corto, el motor queda más caliente y se vuelve más vulnerable al bloqueo por vapor, lo que afecta a S; además, la ubicación del helado de vainilla permite comprarlo más rápido, conectándolo también con I. Por eso aparece una relación falsa entre I y S

    • Es una explicación interesante, pero ¿no será que I influye en T, y no que T influye en I? Porque el tipo de helado determina el tiempo que se pasa dentro de la tienda