PplWare Mobile

Bug dos anos 70 do iPhone tem resolução e explicação

                                    
                                

Este artigo tem mais de um ano


Autor: Pedro Simões


  1. Jls says:

    Os aparelhos electrónicos não deveriam permitir recuo da data anterior à do seu fabrico.

    • cesar says:

      Existe um calendario musulmano diferente do nosso, existem varios calendarios: todos devem ter liberdade de escolher o seu

      • JBM says:

        o que é que isso tem a ver com o que ele disse?
        O que é guardado no sistema não é a data segundo os calendários, é uma contagem do tempo que depois pode ser convertida em data em qualquer calendário, pelo algoritmo correspondente.

  2. Miguel says:

    Se tirar a bateria la se vai a garantia, como resolvo isto?
    Tenho contactos de clientes e não queria estar a espera que a bayeria se esgote!
    Estou mesmo arrependido de comprar um iphone 5 🙁

  3. Sergio J says:

    Eu tenho um problema semelhante. Em algumas das nossas placas não temos pilha, mas tem um RTC interno ao micro. Quando o sistema desliga vai para essa data. A primeira coisa que tenta é sincronizar a hora na rede. Caso não consiga eu adiciono os segundos necessários para colocar a data em 1/1/2000. Desta forma torna-se mais fácil corrigir falhas quando existem falhas de rede e o sistema tem de reiniciar. Chamo ao meu problema, o problema do ano 2000. Se não lhe adiciona-se os segundos seria o problema de 1970.

    O problema em questão é daqueles que para quem está a programar nem lhe passa pela cabeça que possa acontecer. Provavelmente faz um conta com datas e como é zero dará overflow. Normalmente os códigos em embebidos ou neste caso a zona de boot são extremamente limitado sem termos de espaço de memória de códigos e dados. Temos de fazer código simples e muitas vezes assumir pressupostos. Aí também entra a experiência do programador. Esta é uma daquelas situações que não me choca a ver acontecer. É embaraçosa, mas que um programador de embebidos entende muito bem.

    • JBM says:

      Aqui será + o caso de terem feito bem a coisa mas com a mudança na arquitectura do processador ter passado despercebido a introdução dum bug.

      • Sergio J says:

        Eu não discuto a verdadeira razão. Digo apenas que é natural este tipo de Bugs. Pot exrmplo, considero-me um programador experiente na área de embebidos e no caso da forma como geria hora no exemplo acima tinha um Bug similar que depois de descoberto achei-o ridículo. Depois do sistema entrar em produção começou-se a verifica que numa determinada versão havia em clientes que o sistema volta atrás cerca de 1 mês. Era pontual. Primeiro não dei valor e achei que teria sido um problema no servidor do cliente. Mas depois apareceu um segundo caso e aí fiquei com sérias dúvidas. Não havia nada no código que pudesse indicar o problema. Aconteceu um terceiro caso no primeiro cliente fiquei deveras preocupado. Apesar que não acontecia em mais lado nenhum. Esmiucei o código ao máximo. Ao fim de algum tempo acabei por verificar que poder o caso de overflow numa variável se o sistema estivesse a funcionar consecutivamente durante 34 dias. Era preciso mais umas condições para que isso acontecesse, por isso só se manifestava naqueles dois clientes. Por mais testes que se tivessem feito era quase impossível detetar aquilo. Depois de descobrir parecia meio elementar, mas foi preciso descobrir.

        É daquelas Coisas muito difícil de descobrir. Falei hoje com outros colegas super experientes e concordaram. É folheiro acontecer, ninguém quer que aconteça, mas qualquer engenheiro da área compreende perfeitamente.

  4. Ricardo Sousa says:

    Ridículo uma empresa deste tipo nunca ter detetado um erro tão básico como este…Têm que automatizar um teste para evitar futuras surpresas!

    • zee says:

      Não sou fanboy apple, mas admito que isto é um erro que é fácil de passar despercebido. Os testes unitários/automatizados também são construídos/configurados por seres humanos 😉

    • JBM says:

      os bugs são quase sempre ridículos depois de descobertos, e neste caso deverá ser um conjugar de factores já que só acontece em aparelhos com processadores de 64bits.

    • JJ says:

      Ridículo é alguém do nada quer mudar a data para 40 anos atrás.
      Se não for por brincadeira, não vejo mais nenhum motivo para fazer este tipo de mudança.

      Acho que eles nem nunca pensaram que alguém iria mudar para uma data anterior, principalmente tanto anos atrás.

      O tempo anda para a frente, não para trás.

  5. Miguel says:

    Não vale a pena já comprei um Lumia 950 😀

  6. JBM says:

    Também se pode recorrer ao modo DFU fazendo um factory reset mas não na forma tradicional

  7. Marcos says:

    O IOS não tem uma combinação de teclas para fazer reset?

  8. Francisco says:

    O mais engraçado é o pessoal saber que o telemóvel encrava e mesmo assim configuram da data….. depois o problema é do software! ha ha ha

  9. Helder Correia says:

    uffffaa!! Alguns android já estavam todos contentes… afinal no iOS tudo se resolve, nada se perde e tudo se transforma. 😀 😀 😀

  10. vitor C says:

    Mas quem é que precisa de colocar a data de 3 Janeiro de 1970 num Smartphone seja Apple ou Android?!? Em 2016…lol

  11. Gilberto says:

    Tenho iOS e Android e posso dizer isso com toda certeza, iOS é modinha, da problema igual Android as vezes até pior como nesse caso, trava nos momentos mais importantes e demora uma eternidade para destravar, dizem que o Android trava, e trava mesmo em smartphones fracos mas não é uma travada que atrapalhe, da um lag e volta a funcionar, tenho um iPhone 5S já perdi varias ligações por causa do celular travar quando recebe uma ligação, não estou generalizando, mas a minha experiência com iOS não é das melhores.
    Tenho um iPhone 5S e um Moto X XT1097, o Moto X mata a pau o iPhone 5S, nunca tive problema com eu Moto X e com o dinheiro que é preciso para comprar um iPhone compro 2 Moto X…

  12. Gilberto says:

    Tenho iOS e Android e posso dizer isso com toda certeza, iOS é modinha, da problema igual Android as vezes até pior como nesse caso, trava nos momentos mais importantes e demora uma eternidade para destravar, dizem que o Android trava, e trava mesmo em smartphones fracos mas não é uma travada que atrapalhe, da um lag e volta a funcionar, tenho um iPhone 5S já perdi varias ligações por causa do celular travar quando recebe uma ligação, não estou generalizando, mas a minha experiência com iOS não é das melhores.
    Tenho um iPhone 5S e um Moto X XT1097, o Moto X mata a pau o iPhone 5S, nunca tive problema com eu Moto X e com o dinheiro que é preciso para comprar um iPhone compro 2 Moto X…

  13. Cenerentola says:

    muahahahaha parte final do filme “next time you wanna time travel better use a Android”

  14. me and me says:

    o engraçado é que como é erro da apple é um erro que faz sentido… ahaahahaha

  15. Xico says:

    “Bug dos anos 70 do iPhone tem resolução e explicação”
    A explicação é apresentada na forma de teoria? Ficou mesmo explicado…

  16. Carlos says:

    Mas porque é que há gente a fazer isto?

    Já sabem que dá barraca mas fazem na mesma.

    Está tudo a ficar estúpido ou quê?

    Já agora, e não façam isto, se pegarem num martelo e derem com ele em cheio no meio da vossa própria testa, doi como o caraças.

    Mas não façam isso, ok?

  17. vector says:

    Não consigo entender as guerras entre Android e iOS.. Argumentam, defendem, chateiam se por causa de uma marca que não é vossa! A sério.. e uma vida não?! Ah e tal o meu é que é bom o teu não presta… Parecem os putos, ai espera, se calhar é isso!

  18. Christian Nogueira de Faria says:

    Não entendo o motivo de tanto choro!!
    Por que diabos estão alterando as datas? Eu acho que ele não está voltando a data sozinho!

  19. fernando martini says:

    nem windows se faz necessario algo assim tao radical, com suas telas azuis….. imagine o cidad]ao brasileiro que gastou mais de 5 mil no iphone, vendeu quase o ri, para comprar, vai abrir e fazer ese procedimento, duvido muito

  20. Fteixeira says:

    “Por outro lado, há quem defenda que o problema está na variável que armazena o valor da data. Este será um unsigned int, que apenas consegue guardar valores positivos. Ora se o valor obtido, após cálculos feitos para obter a data e a hora, for negativo, o problema surge porque o valor é negativo.”

    Não sei, mas esta teoria n bate muito bem, mas se um int com o valor( num 32bits) 0x1BAF80 (número de segundos entre 1 e 21 de Janeiro) com o bit mais significativo a 1 que marca o sinal a negativo, iria ter-se o valor 0x801BAF80 num uint que daria Tue, 09 Feb 2038 03:14:08 GMT Correcto?

  21. Lory says:

    O meu aparelho é um 4s, ele acordou um certo dia com a tela toda preta e manchada… Como já estava fora da garantia, levei ele á uma autorizada, que dizia ser a placa e trocou em 1 hora… Porémmmm ele veio com essa data… Posso desconfiar que fizeram isso de propósito?

    é ignorante mas vou perguntar… Ele tem senha , eles conseguem acessar?

    Help me

Deixe um comentário

O seu endereço de email não será publicado.

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste site ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. A administração deste site reserva-se, desde já, no direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação do seu autor (nome completo e endereço válido de email) também poderão ser excluídos.