Bug 29333 - UMC hängt beim Anlegen eines Druckers wenn univention-printserver nicht installiert ist
UMC hängt beim Anlegen eines Druckers wenn univention-printserver nicht insta...
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UMC - Printers
UCS 3.0
Other Linux
: P5 normal (vote)
: UCS 3.1
Assigned To: Dirk Wiesenthal
Lukas Walter
: interim-4
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-11-20 16:22 CET by Moritz Muehlenhoff
Modified: 2012-12-12 21:08 CET (History)
4 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Moritz Muehlenhoff univentionstaff 2012-11-20 16:22:42 CET
Auf einem aktuellen 3.1, auf dem univention-printserver nicht installiert ist:

Lege ich im Drucker-Modul einen Drucker an, sehe ich nur endlos diesen kleinen, drehenden Ladekreisel.
Comment 1 Dirk Wiesenthal univentionstaff 2012-11-22 21:35:43 CET
Das Problem ist durch Bug #28400 eingeführt worden. Seit neuestem blockiert die Seite nämlich nicht mehr bis die ersten Policy-Informationen da sind (zu dem Zeitpunkt ist nämlich das Formular u.U. noch nicht komplett geladen), sondern bis alle Widgets gefüllt wurden - samt Abhängigkeiten.

Die Abhängigkeit von PrinterDriverList auf PrinterProducerList war hier das Problem. Ohne univention-printserver gibt es keine Produzenten im LDAP. Deshalb wartet das Widget "model" auch ewig auf das Widget "producer", weil das nie ernsthaft gefüllt wird.

Das grundlegende Problem bestand schon vorher, es ist nur nie aufgefallen. Das Formular war offiziell nie richtig fertig, aber das interessierte weiter keinen, denn die Seite blockierte ja nicht.

Technisch war das Problem, dass die Dependencies so überprüft wurden:

  if (_dependValues[dep]) // false bei ''

Ich hab das mal geändert (denn PrinterProducerList gibt etwas zurück: [], also ist der Wert ''):

  if (_dependValues[dep] !== undefined)

mit entsprechend vielen möglichen Implikationen. Wer weiß, wer sich darauf verlässt, dass '' nicht als erfüllte Abhängigkeit gilt?  Viel Spaß, QA!

Zweite Änderung: UDM_Attribute hat sich darauf verlassen, dass in den jeweiligen Objekten das Attribut vorhanden ist. Das ist hier nicht der Fall und würde dann zu einem KeyError und einem 500er Fehler führen (ist aber bisher nie passiert, weil eben die Abhängigkeiten nicht aufgelöst wurden). Das habe ich abgefangen und gebe [] zurück. Ich denke, das ist recht unkritisch.

  univention-management-console-module-udm 3.0.61-1.290.201211222103
und
  univention-management-console-frontend 2.0.169-1.521.201211222121
Comment 2 Philipp Hahn univentionstaff 2012-11-23 13:52:23 CET
Ich halte diese Änderung für Bug #29375 verantwortlich.
Comment 3 Jascha Geerds univentionstaff 2012-11-23 13:55:00 CET
(In reply to comment #2)
> Ich halte diese Änderung für Bug #29375 verantwortlich.

Das ist korrekt
Comment 4 Dirk Wiesenthal univentionstaff 2012-11-23 16:29:18 CET
Wär ja auch zu schön gewesen.

Fixed in
  univention-management-console-frontend 2.0.170-1.522.201211231522

Jetzt sieht es schon ganz gut aus. Jetzt werden noch ready()-Informationen der Widgets übergeben. Falls ein Widget das unterstützt und ready() ist Fulfilled(), dann wird auch ein '' (oder ein false) akzeptiert. Andernfalls weiterhin nicht.

Das sollte ziemlich rückwärtskompatibel sein und löst das Problem in UVMM, denn da wird ready() unterstützt.
Comment 5 Dirk Wiesenthal univentionstaff 2012-11-23 19:08:45 CET
QA: Neben UDM ist offenbar UVMM am interessantesten zu untersuchen (vielleicht auch Basic Settings). Eben überall da, wo es doch ein wenig komplexer wird und depends benutzt wird.
Comment 6 Lukas Walter univentionstaff 2012-11-26 17:02:37 CET
(In reply to comment #0)
> Auf einem aktuellen 3.1, auf dem univention-printserver nicht installiert ist:
> 
> Lege ich im Drucker-Modul einen Drucker an, sehe ich nur endlos diesen kleinen,
> drehenden Ladekreisel.

FAIL: Das tritt immernoch auf.
Comment 7 Dirk Wiesenthal univentionstaff 2012-11-26 19:37:42 CET
(In reply to comment #6)
> (In reply to comment #0)
> > Auf einem aktuellen 3.1, auf dem univention-printserver nicht installiert ist:
> > 
> > Lege ich im Drucker-Modul einen Drucker an, sehe ich nur endlos diesen kleinen,
> > drehenden Ladekreisel.
> 
> FAIL: Das tritt immernoch auf.

Verflixt und zugenäht. Tatsächlich tritt das _wieder_ auf. Kaum flickt man das links zusammen, bricht rechts alles auf. Nächster Versuch:

  univention-management-console-frontend 2.0.175-1.527.201211261926

Kurz getestet und für ausreichend befunden. Allerdings war ich mir letztes Mal auch recht sicher...
Comment 8 Lukas Walter univentionstaff 2012-11-27 12:24:29 CET
(In reply to comment #0)
> Auf einem aktuellen 3.1, auf dem univention-printserver nicht installiert ist:
> 
> Lege ich im Drucker-Modul einen Drucker an, sehe ich nur endlos diesen kleinen,
> drehenden Ladekreisel.

OK: Jetzt ist es behoben.

Changelogeintrag ist vorhanden,
Verified.
Comment 9 Stefan Gohmann univentionstaff 2012-12-12 21:08:57 CET
UCS 3.1-0 has been released: 
 http://forum.univention.de/viewtopic.php?f=54&t=2125

If this error occurs again, please use "Clone This Bug".