Bug 44128 - uvmm/node/query fails with 500 server error
uvmm/node/query fails with 500 server error
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UMC - Virtual machines (UVMM)
UCS 4.2
Other Linux
: P5 normal (vote)
: UCS 4.2
Assigned To: Florian Best
Erik Damrose
: interim-4
: 32855 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2017-03-29 14:07 CEST by Erik Damrose
Modified: 2017-05-02 16:07 CEST (History)
2 users (show)

See Also:
What kind of report is it?: Development Internal
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 Erik Damrose univentionstaff 2017-03-29 14:07:04 CEST
When opening the uvmm umc module, there are two consecutive POST calls to command/uvmm/node/query, both with the same parameters: {"options":{"nodePattern":""},"flavor":"uvmm"}

The second call fails with the response

{"status": 500, "message": "(u\"Die Verbindung zum univention-virtual-machine-manager-daemon-Dienst ist fehlgeschlagen: Not a valid Packet: 'module' object has no attribute 'DomainTemplate'\",)", "location": "http://[IPADDRESS]/univention/command"}                                                                                                                                                                                                                                                                        

and an error popup is shown. Why does the second call fail, and do we need two calls?

This can only be reproduced if a new uvmm module process is startet, so to reproduce this one has to logout and back in
Comment 1 Erik Damrose univentionstaff 2017-03-29 14:12:08 CEST
==> /var/log/univention/management-console-module-uvmm.log <==
29.03.17 14:10:30.785  DEBUG_INIT
29.03.17 14:10:31.466  ADMIN       ( WARN    ) : univention.admin.modules.update() was not called
29.03.17 14:10:31.767  MODULE      ( PROCESS ) : (u"Die Verbindung zum univention-virtual-machine-manager-daemon-Dienst ist fehlgeschlagen: Not a valid Packet: 'module' object has no attribute 'DomainTemplate'",)
Comment 2 Florian Best univentionstaff 2017-03-29 18:59:10 CEST
It seems to be an error deep in UVMMd:
I changed the following lines:

File "/usr/lib/pymodules/python2.7/univention/uvmm/client.py", line 91, in receive
  raise Exception('%r: %r: %r, %r' % (translatable_text, dict, data, buffer))

Resulting in the following data:

Exception: 'Not a valid Packet: %(msg)s': {'msg': "'module' object has no attribute 'DomainTemplate'"}: "-0.15'\np677\naS'pc-0.14'\np678\naS'pc-0.13'\np679\naS'pc-0.12'\np680\naS'pc-0.11'\np681\naS'pc-0.10'\np682\naS'isapc'\np683\nasbasg189\nI8\nsg190\nL134217728L\nsg191\nL8352956416L\nsg192\n(lp684\nsg194\n(I1\nI1\nI4\nI2\ntp685\nsg196\nF1490804980.584033\nsg197\nL1342177280L\nsbasb.", "\x00\x02\x00\x00\x00\x004\xf2ccopy_reg\n_reconstructor\np1\n(cunivention.uvmm.protocol\nResponse_DUMP\np2\nc__builtin__\nobject\np3\nNtRp4\n(dp5\nS'status'\np6\nS'OK'\np7\nsS'messages'\np8\nNsS'data'\np9\n(lp10\ng1\n(cunivention.uvmm.protocol\nData_Node\np11\ng3\nNtRp12\n(dp13\nS'supports_snapshot'\np14\nI01\nsS'cpu_usage'\np15\nI1000\nsS'name'\np16\nS'slave215-amd.ucs.local'\np17\nsS'supports_suspend'\np18\nI01\nsS'last_try'\np19\nF1490805848.4343929\nsS'uri'\np20\nS'qemu://slave215-amd.ucs.local/system'\np21\nsS'capabilities'\np22\n(lp23\ng1\n(cunivention.uvmm.node\nDomainTemplate\np24\ng3\nNtRp25\n(dp26\nS'features'\np27\n(lp28\nS'acpi'\np29\naS'apic'\np30\naS'pae'\np31\nasS'loader'\np32\nNsS'domain_type'\np33\nS'qemu'\np34\nsS'emulator'\np35\nS'/usr/bin/qemu-system-i386'\np36\nsS'os_type'\np37\nS'hvm'\np38\nsS'arch'\np39\nS'i686'\np40\nsS'machines'\np41\n(lp42\nS'pc-i440fx-2.8'\np43\naS'pc'\np44\naS'pc-0.12'\np45\naS'pc-i440fx-2.4'\np46\naS'pc-1.3'\np47\naS'pc-q35-2.7'\np48\naS'pc-q35-2.6'\np49\naS'pc-i440fx-1.7'\np50\naS'pc-i440fx-1.6'\np51\naS'pc-i440fx-2.7'\np52\naS'pc-0.11'\np53\naS'pc-i440fx-2.3'\np54\naS'pc-0.10'\np55\naS'pc-1.2'\np56\naS'pc-i440fx-2.2'\np57\naS'isapc'\np58\naS'pc-q35-2.5'\np59\naS'pc-0.15'\np60\naS'pc-0.14'\np61\naS'pc-i440fx-1.5'\np62\naS'pc-i440fx-2.6'\np63\naS'pc-i440fx-1.4'\np64\naS'pc-i440fx-2.5'\np65\naS'pc-1.1'\np66\naS'pc-i440fx-2.1'\np67\naS'pc-q35-2.8'\np68\naS'q35'\np69\naS'pc-1.0'\np70\naS'pc-i440fx-2.0'\np71\naS'pc-q35-2.4'\np72\naS'pc-0.13'\np73\nasbag1\n(g24\ng3\nNtRp74\n(dp75\ng27\ng28\nsg32\nNsg33\nS'kvm'\np76\nsg35\nS'/usr/bin/kvm'\np77\nsg37\ng38\nsg39\nS'i686'\np78\nsg41\n(lp79\nS'pc-i440fx-2.8'\np80\naS'pc'\np81\naS'pc-0.12'\np82\naS'pc-i440fx-2.4'\np83\naS'pc-1.3'\np84\naS'pc-q35-2.7'\np85\naS'pc-q35-2.6'\np86\naS'pc-i440fx-1.7'\np87\naS'pc-i440fx-1.6'\np88\naS'pc-i440fx-2.7'\np89\naS'pc-0.11'\np90\naS'pc-i440fx-2.3'\np91\naS'pc-0.10'\np92\naS'pc-1.2'\np93\naS'pc-i440fx-2.2'\np94\naS'isapc'\np95\naS'pc-q35-2.5'\np96\naS'pc-0.15'\np97\naS'pc-0.14'\np98\naS'pc-i440fx-1.5'\np99\naS'pc-i440fx-2.6'\np100\naS'pc-i440fx-1.4'\np101\naS'pc-i440fx-2.5'\np102\naS'pc-1.1'\np103\naS'pc-i440fx-2.1'\np104\naS'pc-q35-2.8'\np105\naS'q35'\np106\naS'pc-1.0'\np107\naS'pc-i440fx-2.0'\np108\naS'pc-q35-2.4'\np109\naS'pc-0.13'\np110\nasbag1\n(g24\ng3\nNtRp111\n(dp112\ng27\n(lp113\nS'acpi'\np114\naS'apic'\np115\nasg32\nNsg33\nS'qemu'\np116\nsg35\nS'/usr/bin/qemu-system-x86_64'\np117\nsg37\nS'hvm'\np118\nsg39\nS'x86_64'\np119\nsg41\n(lp120\nS'pc-i440fx-2.8'\np121\naS'pc'\np122\naS'pc-0.12'\np123\naS'pc-i440fx-2.4'\np124\naS'pc-1.3'\np125\naS'pc-q35-2.7'\np126\naS'pc-q35-2.6'\np127\naS'pc-i440fx-1.7'\np128\naS'pc-i440fx-1.6'\np129\naS'pc-i440fx-2.7'\np130\naS'pc-0.11'\np131\naS'pc-i440fx-2.3'\np132\naS'pc-0.10'\np133\naS'pc-1.2'\np134\naS'pc-i440fx-2.2'\np135\naS'isapc'\np136\naS'pc-q35-2.5'\np137\naS'pc-0.15'\np138\naS'pc-0.14'\np139\naS'pc-i440fx-1.5'\np140\naS'pc-i440fx-2.6'\np141\naS'pc-i440fx-1.4'\np142\naS'pc-i440fx-2.5'\np143\naS'pc-1.1'\np144\naS'pc-i440fx-2.1'\np145\naS'pc-q35-2.8'\np146\naS'q35'\np147\naS'pc-1.0'\np148\naS'pc-i440fx-2.0'\np149\naS'pc-q35-2.4'\np150\naS'pc-0.13'\np151\nasbag1\n(g24\ng3\nNtRp152\n(dp153\ng27\ng113\nsg32\nNsg33\nS'kvm'\np154\nsg35\nS'/usr/bin/kvm'\np155\nsg37\ng118\nsg39\nS'x86_64'\np156\nsg41\n(lp157\nS'pc-i440fx-2.8'\np158\naS'pc'\np159\naS'pc-0.12'\np160\naS'pc-i440fx-2.4'\np161\naS'pc-1.3'\np162\naS'pc-q35-2.7'\np163\naS'pc-q35-2.6'\np164\naS'pc-i440fx-1.7'\np165\naS'pc-i440fx-1.6'\np166\naS'pc-i440fx-2.7'\np167\naS'pc-0.11'\np168\naS'pc-i440fx-2.3'\np169\naS'pc-0.10'\np170\naS'pc-1.2'\np171\naS'pc-i440fx-2.2'\np172\naS'isapc'\np173\naS'pc-q35-2.5'\np174\naS'pc-0.15'\np175\naS'pc-0.14'\np176\naS'pc-i440fx-1.5'\np177\naS'pc-i440fx-2.6'\np178\naS'pc-i440fx-1.4'\np179\naS'pc-i440fx-2.5'\np180\naS'pc-1.1'\np181\naS'pc-i440fx-2.1'\np182\naS'pc-q35-2.8'\np183\naS'q35'\np184\naS'pc-1.0'\np185\naS'pc-i440fx-2.0'\np186\naS'pc-q35-2.4'\np187\naS'pc-0.13'\np188\nasbasS'cpus'\np189\nI2\nsS'curMem'\np190\nL2281701376L\nsS'phyMem'\np191\nL4113563648L\nsS'domains'\np192\n(lp193\nsS'cores'\np194\n(I1\nI1\nI2\nI1\ntp195\nsS'last_update'\np196\nF1490805848.4343929\nsS'maxMem'\np197\nL5502926848L\nsbag1\n(g11\ng3\nNtRp198\n(dp199\ng14\nI01\nsg15\nI1000\nsg16\nS'backup211.ucs.local'\np200\nsg18\nI01\nsg19\nF1490805629.9716611\nsg20\nS'qemu://backup211.ucs.local/system'\np201\nsg22\n(lp202\ng1\n(g24\ng3\nNtRp203\n(dp204\ng27\n(lp205\nS'acpi'\np206\naS'apic'\np207\naS'pae'\np208\nasg32\nNsg33\nS'qemu'\np209\nsg35\nS'/usr/bin/qemu-system-i386'\np210\nsg37\nS'hvm'\np211\nsg39\nS'i686'\np212\nsg41\n(lp213\nS'pc-i440fx-2.8'\np214\naS'pc'\np215\naS'pc-0.12'\np216\naS'pc-i440fx-2.4'\np217\naS'pc-1.3'\np218\naS'pc-q35-2.7'\np219\naS'pc-q35-2.6'\np220\naS'pc-i440fx-1.7'\np221\naS'pc-i440fx-1.6'\np222\naS'pc-i440fx-2.7'\np223\naS'pc-0.11'\np224\naS'pc-i440fx-2.3'\np225\naS'pc-0.10'\np226\naS'pc-1.2'\np227\naS'pc-i440fx-2.2'\np228\naS'isapc'\np229\naS'pc-q35-2.5'\np230\naS'pc-0.15'\np231\naS'pc-0.14'\np232\naS'pc-i440fx-1.5'\np233\naS'pc-i440fx-2.6'\np234\naS'pc-i440fx-1.4'\np235\naS'pc-i440fx-2.5'\np236\naS'pc-1.1'\np237\naS'pc-i440fx-2.1'\np238\naS'pc-q35-2.8'\np239\naS'q35'\np240\naS'pc-1.0'\np241\naS'pc-i440fx-2.0'\np242\naS'pc-q35-2.4'\np243\naS'pc-0.13'\np244\nasbag1\n(g24\ng3\nNtRp245\n(dp246\ng27\ng205\nsg32\nNsg33\nS'kvm'\np247\nsg35\nS'/usr/bin/kvm'\np248\nsg37\ng211\nsg39\nS'i686'\np249\nsg41\n(lp250\nS'pc-i440fx-2.8'\np251\naS'pc'\np252\naS'pc-0.12'\np253\naS'pc-i440fx-2.4'\np254\naS'pc-1.3'\np255\naS'pc-q35-2.7'\np256\naS'pc-q35-2.6'\np257\naS'pc-i440fx-1.7'\np258\naS'pc-i440fx-1.6'\np259\naS'pc-i440fx-2.7'\np260\naS'pc-0.11'\np261\naS'pc-i440fx-2.3'\np262\naS'pc-0.10'\np263\naS'pc-1.2'\np264\naS'pc-i440fx-2.2'\np265\naS'isapc'\np266\naS'pc-q35-2.5'\np267\naS'pc-0.15'\np268\naS'pc-0.14'\np269\naS'pc-i440fx-1.5'\np270\naS'pc-i440fx-2.6'\np271\naS'pc-i440fx-1.4'\np272\naS'pc-i440fx-2.5'\np273\naS'pc-1.1'\np274\naS'pc-i440fx-2.1'\np275\naS'pc-q35-2.8'\np276\naS'q35'\np277\naS'pc-1.0'\np278\naS'pc-i440fx-2.0'\np279\naS'pc-q35-2.4'\np280\naS'pc-0.13'\np281\nasbag1\n(g24\ng3\nNtRp282\n(dp283\ng27\n(lp284\nS'acpi'\np285\naS'apic'\np286\nasg32\nNsg33\nS'qemu'\np287\nsg35\nS'/usr/bin/qemu-system-x86_64'\np288\nsg37\nS'hvm'\np289\nsg39\nS'x86_64'\np290\nsg41\n(lp291\nS'pc-i440fx-2.8'\np292\naS'pc'\np293\naS'pc-0.12'\np294\naS'pc-i440fx-2.4'\np295\naS'pc-1.3'\np296\naS'pc-q35-2.7'\np297\naS'pc-q35-2.6'\np298\naS'pc-i440fx-1.7'\np299\naS'pc-i440fx-1.6'\np300\naS'pc-i440fx-2.7'\np301\naS'pc-0.11'\np302\naS'pc-i440fx-2.3'\np303\naS'pc-0.10'\np304\naS'pc-1.2'\np305\naS'pc-i440fx-2.2'\np306\naS'isapc'\np307\naS'pc-q35-2.5'\np308\naS'pc-0.15'\np309\naS'pc-0.14'\np310\naS'pc-i440fx-1.5'\np311\naS'pc-i440fx-2.6'\np312\naS'pc-i440fx-1.4'\np313\naS'pc-i440fx-2.5'\np314\naS'pc-1.1'\np315\naS'pc-i440fx-2.1'\np316\naS'pc-q35-2.8'\np317\naS'q35'\np318\naS'pc-1.0'\np319\naS'pc-i440fx-2.0'\np320\naS'pc-q35-2.4'\np321\naS'pc-0.13'\np322\nasbag1\n(g24\ng3\nNtRp323\n(dp324\ng27\ng284\nsg32\nNsg33\nS'kvm'\np325\nsg35\nS'/usr/bin/kvm'\np326\nsg37\ng289\nsg39\nS'x86_64'\np327\nsg41\n(lp328\nS'pc-i440fx-2.8'\np329\naS'pc'\np330\naS'pc-0.12'\np331\naS'pc-i440fx-2.4'\np332\naS'pc-1.3'\np333\naS'pc-q35-2.7'\np334\naS'pc-q35-2.6'\np335\naS'pc-i440fx-1.7'\np336\naS'pc-i440fx-1.6'\np337\naS'pc-i440fx-2.7'\np338\naS'pc-0.11'\np339\naS'pc-i440fx-2.3'\np340\naS'pc-0.10'\np341\naS'pc-1.2'\np342\naS'pc-i440fx-2.2'\np343\naS'isapc'\np344\naS'pc-q35-2.5'\np345\naS'pc-0.15'\np346\naS'pc-0.14'\np347\naS'pc-i440fx-1.5'\np348\naS'pc-i440fx-2.6'\np349\naS'pc-i440fx-1.4'\np350\naS'pc-i440fx-2.5'\np351\naS'pc-1.1'\np352\naS'pc-i440fx-2.1'\np353\naS'pc-q35-2.8'\np354\naS'q35'\np355\naS'pc-1.0'\np356\naS'pc-i440fx-2.0'\np357\naS'pc-q35-2.4'\np358\naS'pc-0.13'\np359\nasbasg189\nI8\nsg190\nL1073741824L\nsg191\nL8351907840L\nsg192\n(lp360\nsg194\n(I1\nI1\nI4\nI2\ntp361\nsg196\nF1490804963.9157791\nsg197\nL4563402752L\nsbag1\n(g11\ng3\nNtRp362\n(dp363\ng14\nI01\nsg15\nF0\nsg16\nS'slave214.ucs.local'\np364\nsg18\nI01\nsg19\nF1490805615.7636631\nsg20\nS'qemu://slave214.ucs.local/system'\np365\nsg22\n(lp366\ng1\n(g24\ng3\nNtRp367\n(dp368\ng27\n(lp369\nS'acpi'\np370\naS'apic'\np371\naS'pae'\np372\nasg32\nNsg33\nS'qemu'\np373\nsg35\nS'/usr/bin/qemu-system-i386'\np374\nsg37\nS'hvm'\np375\nsg39\nS'i686'\np376\nsg41\n(lp377\nS'pc-i440fx-2.8'\np378\naS'pc'\np379\naS'pc-0.12'\np380\naS'pc-i440fx-2.4'\np381\naS'pc-1.3'\np382\naS'pc-q35-2.7'\np383\naS'pc-q35-2.6'\np384\naS'pc-i440fx-1.7'\np385\naS'pc-i440fx-1.6'\np386\naS'pc-i440fx-2.7'\np387\naS'pc-0.11'\np388\naS'pc-i440fx-2.3'\np389\naS'pc-0.10'\np390\naS'pc-1.2'\np391\naS'pc-i440fx-2.2'\np392\naS'isapc'\np393\naS'pc-q35-2.5'\np394\naS'pc-0.15'\np395\naS'pc-0.14'\np396\naS'pc-i440fx-1.5'\np397\naS'pc-i440fx-2.6'\np398\naS'pc-i440fx-1.4'\np399\naS'pc-i440fx-2.5'\np400\naS'pc-1.1'\np401\naS'pc-i440fx-2.1'\np402\naS'pc-q35-2.8'\np403\naS'q35'\np404\naS'pc-1.0'\np405\naS'pc-i440fx-2.0'\np406\naS'pc-q35-2.4'\np407\naS'pc-0.13'\np408\nasbag1\n(g24\ng3\nNtRp409\n(dp410\ng27\ng369\nsg32\nNsg33\nS'kvm'\np411\nsg35\nS'/usr/bin/kvm'\np412\nsg37\ng375\nsg39\nS'i686'\np413\nsg41\n(lp414\nS'pc-i440fx-2.8'\np415\naS'pc'\np416\naS'pc-0.12'\np417\naS'pc-i440fx-2.4'\np418\naS'pc-1.3'\np419\naS'pc-q35-2.7'\np420\naS'pc-q35-2.6'\np421\naS'pc-i440fx-1.7'\np422\naS'pc-i440fx-1.6'\np423\naS'pc-i440fx-2.7'\np424\naS'pc-0.11'\np425\naS'pc-i440fx-2.3'\np426\naS'pc-0.10'\np427\naS'pc-1.2'\np428\naS'pc-i440fx-2.2'\np429\naS'isapc'\np430\naS'pc-q35-2.5'\np431\naS'pc-0.15'\np432\naS'pc-0.14'\np433\naS'pc-i440fx-1.5'\np434\naS'pc-i440fx-2.6'\np435\naS'pc-i440fx-1.4'\np436\naS'pc-i440fx-2.5'\np437\naS'pc-1.1'\np438\naS'pc-i440fx-2.1'\np439\naS'pc-q35-2.8'\np440\naS'q35'\np441\naS'pc-1.0'\np442\naS'pc-i440fx-2.0'\np443\naS'pc-q35-2.4'\np444\naS'pc-0.13'\np445\nasbag1\n(g24\ng3\nNtRp446\n(dp447\ng27\n(lp448\nS'acpi'\np449\naS'apic'\np450\nasg32\nNsg33\nS'qemu'\np451\nsg35\nS'/usr/bin/qemu-system-x86_64'\np452\nsg37\nS'hvm'\np453\nsg39\nS'x86_64'\np454\nsg41\n(lp455\nS'pc-i440fx-2.8'\np456\naS'pc'\np457\naS'pc-0.12'\np458\naS'pc-i440fx-2.4'\np459\naS'pc-1.3'\np460\naS'pc-q35-2.7'\np461\naS'pc-q35-2.6'\np462\naS'pc-i440fx-1.7'\np463\naS'pc-i440fx-1.6'\np464\naS'pc-i440fx-2.7'\np465\naS'pc-0.11'\np466\naS'pc-i440fx-2.3'\np467\naS'pc-0.10'\np468\naS'pc-1.2'\np469\naS'pc-i440fx-2.2'\np470\naS'isapc'\np471\naS'pc-q35-2.5'\np472\naS'pc-0.15'\np473\naS'pc-0.14'\np474\naS'pc-i440fx-1.5'\np475\naS'pc-i440fx-2.6'\np476\naS'pc-i440fx-1.4'\np477\naS'pc-i440fx-2.5'\np478\naS'pc-1.1'\np479\naS'pc-i440fx-2.1'\np480\naS'pc-q35-2.8'\np481\naS'q35'\np482\naS'pc-1.0'\np483\naS'pc-i440fx-2.0'\np484\naS'pc-q35-2.4'\np485\naS'pc-0.13'\np486\nasbag1\n(g24\ng3\nNtRp487\n(dp488\ng27\ng448\nsg32\nNsg33\nS'kvm'\np489\nsg35\nS'/usr/bin/kvm'\np490\nsg37\ng453\nsg39\nS'x86_64'\np491\nsg41\n(lp492\nS'pc-i440fx-2.8'\np493\naS'pc'\np494\naS'pc-0.12'\np495\naS'pc-i440fx-2.4'\np496\naS'pc-1.3'\np497\naS'pc-q35-2.7'\np498\naS'pc-q35-2.6'\np499\naS'pc-i440fx-1.7'\np500\naS'pc-i440fx-1.6'\np501\naS'pc-i440fx-2.7'\np502\naS'pc-0.11'\np503\naS'pc-i440fx-2.3'\np504\naS'pc-0.10'\np505\naS'pc-1.2'\np506\naS'pc-i440fx-2.2'\np507\naS'isapc'\np508\naS'pc-q35-2.5'\np509\naS'pc-0.15'\np510\naS'pc-0.14'\np511\naS'pc-i440fx-1.5'\np512\naS'pc-i440fx-2.6'\np513\naS'pc-i440fx-1.4'\np514\naS'pc-i440fx-2.5'\np515\naS'pc-1.1'\np516\naS'pc-i440fx-2.1'\np517\naS'pc-q35-2.8'\np518\naS'q35'\np519\naS'pc-1.0'\np520\naS'pc-i440fx-2.0'\np521\naS'pc-q35-2.4'\np522\naS'pc-0.13'\np523\nasbasg189\nI8\nsg190\nL0L\nsg191\nL8351907840L\nsg192\n(lp524\nsg194\n(I1\nI1\nI4\nI2\ntp525\nsg196\nF1490797000.4733081\nsg197\nL1207959552L\nsbag1\n(g11\ng3\nNtRp526\n(dp527\ng14\nI01\nsg15\nI1000\nsg16\nS'slave213.ucs.local'\np528\nsg18\nI01\nsg19\nF1490805743.0276711\nsg20\nS'qemu://slave213.ucs.local/system'\np529\nsg22\n(lp530\ng1\n(g24\ng3\nNtRp531\n(dp532\ng27\n(lp533\nS'acpi'\np534\naS'apic'\np535\naS'pae'\np536\nasg32\nNsg33\nS'qemu'\np537\nsg35\nS'/usr/bin/kvm'\np538\nsg37\nS'hvm'\np539\nsg39\nS'i686'\np540\nsg41\n(lp541\nS'pc-1.1'\np542\naS'pc'\np543\naS'pc-1.0'\np544\naS'pc-0.15'\np545\naS'pc-0.14'\np546\naS'pc-0.13'\np547\naS'pc-0.12'\np548\naS'pc-0.11'\np549\naS'pc-0.10'\np550\naS'isapc'\np551\nasbag1\n(g24\ng3\nNtRp552\n(dp553\ng27\ng533\nsg32\nNsg33\nS'kvm'\np554\nsg35\nS'/usr/bin/kvm'\np555\nsg37\ng539\nsg39\nS'i686'\np556\nsg41\n(lp557\nS'pc-1.1'\np558\naS'pc'\np559\naS'pc-1.0'\np560\naS'pc-0.15'\np561\naS'pc-0.14'\np562\naS'pc-0.13'\np563\naS'pc-0.12'\np564\naS'pc-0.11'\np565\naS'pc-0.10'\np566\naS'isapc'\np567\nasbag1\n(g24\ng3\nNtRp568\n(dp569\ng27\n(lp570\nS'acpi'\np571\naS'apic'\np572\nasg32\nNsg33\nS'qemu'\np573\nsg35\nS'/usr/bin/kvm'\np574\nsg37\nS'hvm'\np575\nsg39\nS'x86_64'\np576\nsg41\n(lp577\nS'pc-1.1'\np578\naS'pc'\np579\naS'pc-1.0'\np580\naS'pc-0.15'\np581\naS'pc-0.14'\np582\naS'pc-0.13'\np583\naS'pc-0.12'\np584\naS'pc-0.11'\np585\naS'pc-0.10'\np586\naS'isapc'\np587\nasbag1\n(g24\ng3\nNtRp588\n(dp589\ng27\ng570\nsg32\nNsg33\nS'kvm'\np590\nsg35\nS'/usr/bin/kvm'\np591\nsg37\ng575\nsg39\nS'x86_64'\np592\nsg41\n(lp593\nS'pc-1.1'\np594\naS'pc'\np595\naS'pc-1.0'\np596\naS'pc-0.15'\np597\naS'pc-0.14'\np598\naS'pc-0.13'\np599\naS'pc-0.12'\np600\naS'pc-0.11'\np601\naS'pc-0.10'\np602\naS'isapc'\np603\nasbasg189\nI8\nsg190\nL134217728L\nsg191\nL8352956416L\nsg192\n(lp604\nsg194\n(I1\nI1\nI4\nI2\ntp605\nsg196\nF1490804982.5932829\nsg197\nL1207959552L\nsbag1\n(g11\ng3\nNtRp606\n(dp607\ng14\nI01\nsg15\nI1000\nsg16\nS'slave212.ucs.local'\np608\nsg18\nI01\nsg19\nF1490805614.61166\nsg20\nS'qemu://slave212.ucs.local/system'\np609\nsg22\n(lp610\ng1\n(g24\ng3\nNtRp611\n(dp612\ng27\n(lp613\nS'acpi'\np614\naS'apic'\np615\naS'pae'\np616\nasg32\nNsg33\nS'qemu'\np617\nsg35\nS'/usr/bin/kvm'\np618\nsg37\nS'hvm'\np619\nsg39\nS'i686'\np620\nsg41\n(lp621\nS'pc-1.1'\np622\naS'pc'\np623\naS'pc-1.0'\np624\naS'pc-0.15'\np625\naS'pc-0.14'\np626\naS'pc-0.13'\np627\naS'pc-0.12'\np628\naS'pc-0.11'\np629\naS'pc-0.10'\np630\naS'isapc'\np631\nasbag1\n(g24\ng3\nNtRp632\n(dp633\ng27\ng613\nsg32\nNsg33\nS'kvm'\np634\nsg35\nS'/usr/bin/kvm'\np635\nsg37\ng619\nsg39\nS'i686'\np636\nsg41\n(lp637\nS'pc-1.1'\np638\naS'pc'\np639\naS'pc-1.0'\np640\naS'pc-0.15'\np641\naS'pc-0.14'\np642\naS'pc-0.13'\np643\naS'pc-0.12'\np644\naS'pc-0.11'\np645\naS'pc-0.10'\np646\naS'isapc'\np647\nasbag1\n(g24\ng3\nNtRp648\n(dp649\ng27\n(lp650\nS'acpi'\np651\naS'apic'\np652\nasg32\nNsg33\nS'qemu'\np653\nsg35\nS'/usr/bin/kvm'\np654\nsg37\nS'hvm'\np655\nsg39\nS'x86_64'\np656\nsg41\n(lp657\nS'pc-1.1'\np658\naS'pc'\np659\naS'pc-1.0'\np660\naS'pc-0.15'\np661\naS'pc-0.14'\np662\naS'pc-0.13'\np663\naS'pc-0.12'\np664\naS'pc-0.11'\np665\naS'pc-0.10'\np666\naS'isapc'\np667\nasbag1\n(g24\ng3\nNtRp668\n(dp669\ng27\ng650\nsg32\nNsg33\nS'kvm'\np670\nsg35\nS'/usr/bin/kvm'\np671\nsg37\ng655\nsg39\nS'x86_64'\np672\nsg41\n(lp673\nS'pc-1.1'\np674\naS'pc'\np675\naS'pc-1.0'\np676\naS'pc-0.15'\np677\naS'pc-0.14'\np678\naS'pc-0.13'\np679\naS'pc-0.12'\np680\naS'pc-0.11'\np681\naS'pc-0.10'\np682\naS'isapc'\np683\nasbasg189\nI8\nsg190\nL134217728L\nsg191\nL8352956416L\nsg192\n(lp684\nsg194\n(I1\nI1\nI4\nI2\ntp685\nsg196\nF1490804980.584033\nsg197\nL1342177280L\nsbasb."


If I want to reconstruct the message, it can be parsed somehow and doesn't contain that exception string - wherever this comes from.

>>> l, r = univention.uvmm.protocol.Packet.parse(b); b = b[l:]
>>> r
<univention.uvmm.protocol.Response_DUMP object at 0x7fb66d2a6590>
Comment 3 Florian Best univentionstaff 2017-03-29 19:05:47 CEST
Oh, here is the original traceback, which happens during unpickling the data from UVMMd:

Traceback (most recent call last):
  File "%PY2.7%/notifier/threads.py", line 82, in _run
    tmp = self._function()
  File "%PY2.7%/notifier/__init__.py", line 104, in __call__
    return self._function( *tmp, **self._kwargs )
  File "%PY2.7%/univention/management/console/modules/uvmm/uvmmd.py", line 97, in request
    data = uvmm_client.send(request)
  File "%PY2.7%/univention/uvmm/client.py", line 62, in send
    return self.receive()
  File "%PY2.7%/univention/uvmm/client.py", line 79, in receive
    packet = protocol.Packet.parse(buffer)
  File "%PY2.7%/univention/uvmm/protocol.py", line 97, in parse
    packet = p.load()
AttributeError: 'module' object has no attribute 'DomainTemplate'
Comment 4 Florian Best univentionstaff 2017-03-29 19:46:12 CEST
I think this has to do with multiple threads. Python imports the necessary modules automatically when unpickling the data. This seems then to lead to a race condition if mutliple threads are used like it's the case in the UVMM UMC module where 2 parallel requests are doing the same?

If I take the regular pickle string and load it in a new python session wihtout importing anything else everything works fine.

The following patch seems to help:

diff --git a/virtualization/univention-virtual-machine-manager-daemon/src/univention/uvmm/protocol.py b/virtualization/univention-virtual-machine-manager-daemon/src/univention/uvmm/protocol.py
index bc1beb7..a417ba3 100644
--- a/virtualization/univention-virtual-machine-manager-daemon/src/univention/uvmm/protocol.py
+++ b/virtualization/univention-virtual-machine-manager-daemon/src/univention/uvmm/protocol.py
@@ -81,6 +81,7 @@ def pack(self):
 »   @staticmethod
 »   def parse(buffer, offset=0):
 »   »   """Unpack packet from data."""
+»   »   import univention.uvmm.node  # important!
 »   »   FORMAT = '!HHI'
 »   »   SIZE = struct.calcsize(FORMAT)
 »   »   if len(buffer) < offset + SIZE:

@phahn: Maybe you have a better idea?
Comment 5 Florian Best univentionstaff 2017-03-30 13:04:10 CEST
univention-virtual-machine-manager-daemon (6.0.4-1):
r78497 | Bug #44128: fix error when unpickling / parsing messages from UVMMd in certain situations like parallel threads.
Comment 6 Erik Damrose univentionstaff 2017-03-30 15:08:01 CEST
OK: No error message
OK: found no regressions in product tests
Verified
Comment 7 Stefan Gohmann univentionstaff 2017-04-04 18:28:38 CEST
UCS 4.2 has been released:
 https://docs.software-univention.de/release-notes-4.2-0-en.html
 https://docs.software-univention.de/release-notes-4.2-0-de.html

If this error occurs again, please use "Clone This Bug".
Comment 8 Philipp Hahn univentionstaff 2017-05-02 16:07:38 CEST
*** Bug 32855 has been marked as a duplicate of this bug. ***