Wiki
Risoluzione dei problemi
Soluzioni ai problemi comuni, sia lato server sia lato utente: servizio bloccato, codice di attivazione rifiutato, PostgreSQL, TLS, messaggi del client e dell'editor di Unreal.
Il servizio non si avvia
Linux: systemctl start non riesce
sudo journalctl -u uversion-server -n 100 --no-pager
Cause frequenti:
- PostgreSQL inattivo:
sudo systemctl status postgresql - Password del DB persa:
il postinst rigenera la configurazione con
--reconfigure(sudo dpkg-reconfigure uversion-server) - Porta 8443 occupata: vedere la sezione dedicata più sotto
Windows: errore 1053 o 1067
Il servizio si avvia e poi si arresta. Controllare il Visualizzatore eventi:
Get-EventLog -LogName Application -Source uVersionServer -Newest 50
Cause frequenti:
- Variabile d'ambiente
CONFIG_PATHmancante: normalmente impostata dal programma di installazione inHKLM\SYSTEM\CurrentControlSet\Services\uVersionServer\Environment - PostgreSQL inattivo:
Get-Service postgresql*
Il codice di attivazione viene rifiutato
- Verificare che il codice non sia stato usato su un'altra macchina (ogni codice è legato al server-ID della prima installazione). Richiedere un nuovo codice dalla propria area account.
- Verificare la connettività verso
licence.uversion.io:curl -I https://licence.uversion.io/api/v1/health - Se si desidera riutilizzare un codice su una nuova macchina dopo la disinstallazione, contattare il supporto per liberare il server-ID precedente.
PostgreSQL non raggiungibile
Il servizio uVersion non riesce a connettersi al database. Testare prima il database stesso, indipendentemente da uVersion.
Su Linux:
sudo -u postgres psql -c "SELECT 1;"
Su Windows:
& "C:\Program Files\PostgreSQL\16\bin\psql.exe" -U postgres -h 127.0.0.1 -c "SELECT 1;"
Se PostgreSQL risponde ma la password del superutente è andata persa,
il programma di installazione di uVersion (il postinst su Linux come install.ps1 su
Windows) può rimettere automaticamente PostgreSQL in modalità trust, reimpostare la password e poi
ripristinare la configurazione originale. Rieseguirlo.
Su Linux:
sudo dpkg-reconfigure uversion-server
Su Windows: il normale comando di installazione è sufficiente, il ripristino si attiva da solo non appena la password salvata è assente o viene rifiutata.
iwr https://uversion.io/downloads/server/install.ps1 -UseBasicParsing | iex
Il parametro -Reconfigure serve solo a riscrivere in più un
config.toml già presente, e richiede la forma lunga del comando: la
forma breve qui sopra non passa alcun parametro allo script. Vedere
Installare su Windows.
Porta 8443 già in uso
uVersion resta in ascolto per impostazione predefinita in HTTPS sulla 8443.
tls.https_port (8443 per impostazione predefinita),
oppure in HTTP semplice sulla server.port, mai entrambe. L'HTTP semplice esiste solo se
il TLS è stato esplicitamente disabilitato ([tls] disabled = true), e in tal caso
la 8443 non resta più in ascolto affatto. Di conseguenza: «nulla è in ascolto sulla 8443» non significa «è
ripiegato sulla 8080», ma «il TLS è disabilitato» o «il server non è partito». E una porta 8080 occupata su
un'installazione normale non ha nulla a che fare con uVersion.
Per sapere quale processo occupa la porta, su Linux:
sudo ss -tlnp | grep 8443
Su Windows, in due passaggi: il processo proprietario, poi il suo nome.
Get-NetTCPConnection -LocalPort 8443 | Select-Object OwningProcess, State
Get-Process -Id <PID>
Per cambiare la porta TLS, modificare config.toml:
[tls]
https_port = 9443
Poi riavviare il servizio.
Il client rifiuta la connessione TLS
uVersion usa un certificato autofirmato bloccato tramite TOFU lato client (vedere Impronta TLS). Le cause più frequenti:
- Prima connessione non confermata: il client desktop mostra
la finestra Verify server identity con l'impronta SHA-256. Confrontarla con
quella comunicata dall'amministratore, poi fare clic su
Trust this server. Nella CLI, il comando equivalente è
uversion trust <url>: è interattivo, mostra l'impronta che il server annuncia e attende la conferma da tastiera. Aggiungere--yesper saltare questa conferma, ad esempio in uno script. - Impronta cambiata (avviso rosso): il server è stato reinstallato
e ha rigenerato il proprio certificato. Confermare con l'amministratore tramite un altro canale, poi:
- Desktop: fare clic su Trust new fingerprint nella finestra di dialogo rossa
- CLI:
uversion mistrust <url>poiuversion login <url>
- Il server non fornisce HTTPS: verificare che sia effettivamente
in ascolto sulla 8443.
Su Linux:
Su Windows:ss -tlnp | grep 8443
Se non è in ascolto nulla, verificare cheGet-NetTCPConnection -LocalPort 8443 -State Listen[tls] disabled = falseinconfig.toml(è il valore predefinito). Promemoria: quando il TLS è disabilitato, il server passa a HTTP semplice e la 8443 non resta più in ascolto affatto, non c'è doppio ascolto. - Rivisualizzare l'impronta lato server, su Linux:
Su Windows:sudo cat /var/lib/uversion/data/tls/fingerprintGet-Content "C:\ProgramData\uVersion\data\tls\fingerprint"
Lato utente: messaggi del client e dell'editor
Le sezioni precedenti riguardano il server. Ecco i blocchi che gli utenti incontrano, con il messaggio esatto così come appare e cosa fare.
Non riesco a creare un repository
Admin role required
La creazione di un repository è riservata al super amministratore del server. Il ruolo
project_admin non basta: amministra i progetti che gli sono affidati, non li crea.
Chiedere al proprio super amministratore di creare il repository e poi di nominarvi amministratore dello stesso.
Aprire una cartella locale non riesce
Not a uVersion repository
La cartella scelta non contiene un .uversion/config.toml. Probabilmente avete indicato la cartella
padre, o una sottocartella. Puntare alla radice del workspace, quella che contiene la cartella .uversion/.
Creare un repository da una cartella esistente non riesce
This folder is already a uVersion repository - use "Open Local Repository" instead.
La cartella è già un workspace. Non state cercando di crearne uno nuovo, ma di riaprire quello: usare Open Local Repository.
Il client rifiuta di aprire un workspace
This workspace belongs to '<owner>'. Clone your own copy instead.
Questa cartella è stata clonata da un altro account, il cui nome è registrato in .uversion/config.toml. Questo
succede copiando un workspace da una macchina all'altra, o cambiando account nel client. Il rifiuto è
voluto: operare sotto un'altra identità produrrebbe blocchi e commit attribuiti alla persona sbagliata.
Clonare la propria copia. Se è davvero la vostra cartella ma l'altro account è anch'esso vostro, passare a esso nel
selettore di account.
Il percorso del motore Unreal viene rifiutato
Invalid Unreal Engine path: '...' is not a recognizable engine install
Il client si aspetta la radice di un'installazione di Unreal, quella che contiene sia
Engine/Build/BatchFiles sia Engine/Binaries. Ad esempio
C:\Program Files\Epic Games\UE_5.6, e non la sottocartella Engine, né la cartella del
vostro progetto, né un collegamento.
Un'azione Unreal si rifiuta di avviarsi
Unreal Engine path not configured. Please set it first.
Il rilevamento automatico non ha trovato nulla. Impostare il percorso dal menu " … " della barra
Unreal, voce Set Engine Path.... Non c'è altro punto di ingresso: né campo di
immissione, né pulsante Browse nella barra stessa.
Se la barra Unreal è completamente assente, non è il percorso del motore: il client non ha
trovato il .uproject. Lo cerca solo fino a tre livelli di profondità sotto la radice del workspace,
e oltre scompare senza messaggio. Avvicinare il progetto alla radice.
Unreal rifiuta il mio invio di codice
Code files must be submitted from the uVersion desktop client
Il plugin rifiuta il checkin dei file .cpp, .h, .hpp, .c
e .cs: il client desktop compila prima di inviare e pubblica i binari dell'editor. Inviate il vostro codice
dal client.
You have code files checked out (...): submit your code from the uVersion desktop client first
Una variante molto più sconcertante, che colpisce anche chi non scrive codice: un solo file di codice riservato da voi blocca anche i vostri invii di contenuto, anche se quel file non fa parte dell'invio. Aprire la scheda Pending del client desktop, sezione Your locks, ed eseguire un Checkin o un Revert sui file di codice rimasti lì. Vedere Plugin di Unreal Engine.
Unreal non vede il server
L'editor mostra una notifica che chiede di avviare il client desktop. È previsto: un server uVersion è autofirmato per impostazione predefinita, e Unreal non sa validare un certificato autofirmato. Il modulo di accesso della finestra Revision Control Login non supera questo ostacolo, compilarlo non serve a nulla. Avviate il client desktop, accedete con l'account proprietario del workspace, e il plugin passerà attraverso di esso.
La riserva dei file non riesce
Failed to acquire locks for {n} file(s). Another user may have them checked out.
Qualcun altro detiene quei blocchi. La scheda Pending, sezione Other Users' Locks, dice chi, e offre un pulsante Request Release per riga. Promemoria utile: un blocco non scade mai, nessuno lo rilascerà per il semplice trascorrere del tempo. Un amministratore può forzare lo sblocco, e l'operazione è tracciata nell'audit.
Il clone da riga di comando rifiuta la cartella
Directory '...' already exists and is not empty
uversion clone richiede una cartella di destinazione vuota o inesistente. Svuotatela, eliminatela, o puntate a
un altro percorso. Da non confondere con il client desktop, dove la cartella che scegliete è quella
padre: crea al suo interno una sottocartella con il nome del workspace.
Sessione scaduta
Il client tenta prima di rinnovare il token in silenzio. Se non ci riesce, torna alla pagina di accesso con un banner. Basta reinserire la password. Se ciò si ripete di continuo, di solito è perché l'account è stato disattivato lato server, o una disconnessione esplicita ha revocato i token di tutti i vostri client.
Reset completo
Vedere le pagine Disinstallare su Ubuntu/Debian o Disinstallare su Windows per ripartire da un'installazione pulita.