Console starts two hdlorean daemons when no .hdlorean present

Bug #234557 reported by Jisakiel
2
Affects Status Importance Assigned to Milestone
HD Lorean
Incomplete
High
Adrián

Bug Description

hdlorean-console -l
There isn't a hdlorean daemon running. Im gonna start one for you...
DEBUG: PATH TO OPEN DAEMON IS
/home/jisakiel/hdlorean/testing-installer/hdlorean/hdloreand/hdloreand.py
There isn't a hdlorean daemon running. Im gonna start one for you...
DEBUG: PATH TO OPEN DAEMON IS
/home/jisakiel/hdlorean/testing-installer/hdlorean/hdloreand/hdloreand.py
Inicializado com.hdlorean.Server
Inicializado com.hdlorean.Server
ERROR:dbus.proxies:Introspect error on :1.28:/hdlorean: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application didnot send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Traceback (most recent call last):
  File "/usr/bin/hdlorean-console", line 8, in <module>
    load_entry_point('hdlorean==0.1.0', 'console_scripts', 'hdlorean-console')()
  File "/home/jisakiel/hdlorean/testing-installer/hdlorean/console/hdloreanConsole.py", line 298, in mainScript
    console.main()
  File "/home/jisakiel/hdlorean/testing-installer/hdlorean/console/hdloreanConsole.py", line 249, in main
    self.getHistory("/")
  File "/home/jisakiel/hdlorean/testing-installer/hdlorean/console/hdloreanConsole.py", line 78, ingetHistory
    datos=self.__frontend.getHistorical(path)
  File "/home/jisakiel/hdlorean/testing-installer/hdlorean/console/FrontendProxy.py", line 369, in getHistorical
    return self.__serverSnapshotManager.getHistorical(path)
  File "/usr/lib/python2.5/site-packages/dbus/proxies.py", line 68, in __call__
    return self._proxy_method(*args, **keywords)
  File "/usr/lib/python2.5/site-packages/dbus/proxies.py", line 140, in __call__
    **keywords)
  File "/usr/lib/python2.5/site-packages/dbus/connection.py", line 607, in call_blocking
    message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
jisakiel@k71200ddr ~/hdlorean/testing-installer $ no crontab for jisakiel
no crontab for jisakiel
Error 2: No such file or directory
Battery info dirs missing. Probably no ACPI module enabled.
Error 2: No such file or directory
Battery info dirs missing. Probably no ACPI module enabled.
Inicializado dbus
Inicializado dbus
Sched
Sched
Sched
Sched
Sched
Sched
Sched
Sched
Sched
Sched
Sched
Sched
Sched
Sched
Sched
Sched
Sched
Sched
Sched
Sched
Sched
Sched
Sched
Sched
Sched
Sched
Sched
Sched
Sched
Sched
Sched
Sched
-1497957488 he esperado 1 veces y ahora toca 0.023
Sched

jisakiel@k71200ddr ~/hdlorean/testing-installer $ Sched

jisakiel@k71200ddr ~/hdlorean/testing-installer $ -1540453488 he esperado 1 veces y ahora toca 0.017
Sched
Sched
ps axu | grep -i hdlSched
oSched
rean
jisakiel 9048 0.0 0.0 3848 804 pts/9 S+ 12:59 0:00 grep --colour=auto -i hdlorean
jisakiel 30587 8.7 0.9 81688 10140 pts/9 Sl 12:56 0:13 python /home/jisakiel/hdlorean/testing-installer/hdlorean/hdloreand/hdloreand.py
jisakiel 30674 7.6 0.9 81660 10108 pts/9 Sl 12:56 0:11 python /home/jisakiel/hdlorean/testing-installer/hdlorean/hdloreand/hdloreand.py

Por partes.

1. Nótese que ha abierto dos hdloreand.py
2. Para reproducirlo necesitais testing-installer que es un repo donde no podéis subir (es mío privado mientras apaño el puto instalador). Además, para que funcione hace falta algo más: en la carpeta principal, "sudo python setup.py develop", que deja una cagadita en akguna parte del site-packages apuntando los archivos al repo desde el que estás trabajando. Después hay un script en /usr/bin que se llama "hdlorean-console" al que se puede llamar directamente.
3. No tengo carpeta de configuración (de hecho no tengo nada de nada, este es mi sobremesa con gentoo donde no había arrancado hdlorean antes).
4. Traducid "inicializado dbus" y "he esperado tantas veces y ahora..." (de hecho quitadlo y metedlo con hdlogger casi mejor). Eso es menos importante.
5. Revisión 165 del repo. Recordad que el baseline de esto es testing, aún no lo he terminado y por tanto no me he puesto a portarlo a unstable, que son bastantes cambios (ajem todo el gui).

Ignoro si me falta alguna dependencia o algo, pero debiera cascar en un import en tal caso.

Tras hacerlo, si vuelvo a llamar a hdlorean-console todo funciona correctamente, salvo el dbus-error del demonio ese.

Related branches

Revision history for this message
Jisakiel (jisakiel) wrote :

Si lo consideras pásaselo a adri, pero no sé cómo de liado estará.

Changed in hdlorean:
assignee: nobody → ender-dragon
importance: Undecided → High
Revision history for this message
Ender (ender-dragon) wrote :

1. Two daemons have been launched by frontendproxy.
2. The daemon should detect that another daemon from the same user is already running and don't launch itself.

Changed in hdlorean:
assignee: ender-dragon → danieloop
status: New → Incomplete
Revision history for this message
danieloop (danieloop) wrote :

Eso yo creo que lo deberia tocar Adri en la parte de frontendproxy donde hace los spawns para lanzar el proceso(parte turbia de frontendproxy), supongo que con un os. algo y mirar si hay un proceso del mismo nombre y del mismo usuario no lanzar demonio nuevo.

Changed in hdlorean:
assignee: danieloop → hdlorean-watcher
Revision history for this message
gnufede (gnu.fede) wrote : Re: [Bug 234557] Re: Console starts two hdlorean daemons when no .hdlorean present

Patata caliente!!

2008/5/24 danieloop <email address hidden>:
> Eso yo creo que lo deberia tocar Adri en la parte de frontendproxy donde
> hace los spawns para lanzar el proceso(parte turbia de frontendproxy),
> supongo que con un os. algo y mirar si hay un proceso del mismo nombre y
> del mismo usuario no lanzar demonio nuevo.
>
> ** Changed in: hdlorean
> Assignee: danieloop (danieloop) => HD Lorean - Watcher (hdlorean-watcher)
>
> --
> Console starts two hdlorean daemons when no .hdlorean present
> https://bugs.launchpad.net/bugs/234557
> You received this bug notification because you are a member of HD Lorean
> developers, which is subscribed to HD Lorean.
>

Revision history for this message
Adrián (adrianbn) wrote :

Sería posible que no os autoconfirmarais, autoasignarais prioridad y asignáseis a quien debe resolver el bug? Puede que lo tenga que mirar yo, pero desde luego no pertenece a hdlorean-watcher, porque el fichero no está en ese módulo...

Revision history for this message
danieloop (danieloop) wrote :

Al asignar a hdlorean-watcher me referia al team hdlorean-watcher, es como sale no? Ya se que el fichero no esta en ese modulo. De todas formas si esta noche no esta arreglado intentare ver como sacar el user y demas de un proceso (os. algo?) si soy capaz, pero ahora mismo no puedo, estoy en win con plg.

Revision history for this message
Jisakiel (jisakiel) wrote :

Tabas, NO toques el os.spawn porque lo he cambiado totalmente para el instalador, y no quiero más fiestas de meld por ahora.

En cualquier caso, es *el demonio* (hdloreand.py) quien tiene que comprobar que no hay otro corriendo. ¿Y si lo lanzo yo a mano dos veces?

Revision history for this message
Jisakiel (jisakiel) wrote :

... pero es frontendproxy quien parece que ha intentado lanzarlo dos veces... O igual console ha lanzado dos frontendproxy. El mensaje ese de debug es parte de mi código nuevo para el instalador, vaya (pero solo afecta a cómo pillamos los paths!)

Revision history for this message
Jisakiel (jisakiel) wrote :

quizá corre menos prisa. Patata caliente a adri! (no sé de qué módulo vino hdloreand.py, pero sé que es tuyo en su mayoría). Ojo con os.spawn que lo he tocado en mi código y paso de fiesta de meld con eso

Changed in hdlorean:
assignee: hdlorean-watcher → winterfuse
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.