Newsgroup: it.comp.lang.delphi
Titolo: [D7] [Windows Server 2012 R2 64 bit] [Firebird 1.5] Errori Strani

Un buongiorno a tutti,
dopo anni mio cognato, anzi, il fratello di mio cognato gli ha proposto un upgrade del sistema, prima era un server con vari client, adesso c'e' un serverone, ed al posto dei pc come client vi sono dei video con una "scatoletta" strana che non so cosa sia per accendere/spegnere, l'accesso al server è di tipo TS ( terminal server ). Ora, nel vecchio sistema il mio programma girava che era un gioiellino, adesso ogni tanto va in errore. Non penso che il mio programma improvvisamente sia impazzito per cui credo ci sia qualche problema a livello sistemistico. Il SO è a 64 bit mentre il mio programma è a 32 bit, tengo a precisare che all'interno del mio programma "trappo" sistematicamente gli eventuali errori tramite il componente Eureka Log. L'errore che esce non è dell'applicativo ma di sistema, infatti Eureka Log non mi evidenzia nessun errore. Appena l'errore si manifesta esce il messaggio "Il programma ha smesso di funzionare" e qui di seguito potete vedere il dettaglio dell'errore :
 
Firma problema:
  Nome evento problema:                               InPageError
  Codice di stato dell'errore:                        c00000c4
  Tipo di supporto per cui è stato generato l'errore: 00000000
  Versione SO:                                        6.3.9600.2.0.0.16.7
  ID impostazioni locali:                             1040
  Informazioni aggiuntive 1:                          4d1e
  Ulteriori informazioni 2:                           4d1e4a3efb0e6c0b7d0ddb898a99dc68
  Ulteriori informazioni 3:                           2b89
  Ulteriori informazioni 4:                           2b897ba46ce98f38cc6ff2c7d6ffaa7b
 
A questo punto l'icona del programma sparisce dalla barra in basso ma rimane appeso come processo, a questo punto il fratello di mio cognato ( che è sistemista ) killa il processo ed a questo punto, una volta rilanciato il programma ritorna a funzionare.
 
Per caso a qualcuno gli viene in mente qualche idea per tale comportamento del programma ?
 
Un grazie di cuore a tutti per l'eventuale supporto, tecnico e non.
 
Ciao a tutti da Enrico c/o Icograf

 Per caso a qualcuno gli viene in mente qualche idea per tale comportamento del programma ?
 
Diventa difficile se non impossibile diagnosticare il problema con gli elementi che hai riportato, perché non c'è alcun indizio su quali operazioni svolge il tuo programma, nemmeno a grandi linee.
 
Non riesci ad aggiungere qualche dettaglio? Non so... se accede o meno a un database, che librerie/componenti usa, se apre un socket, con quale versione di Delphi è stato realizzato/compilato, ecc.
 
Ciao,
  Marco.
 
-- 
MARCO BREVEGLIERI (Software and Web Developer)
#Home: 
http://bit.ly/marcobreveglieri
 
#Blog: 
http://bit.ly/compilaquindiva
 

On 06.02.2015 14:27, 
enrico....@gmail.com
 wrote:
 > Per caso a qualcuno gli viene in mente qualche idea per tale 
comportamento del programma ?
 
Il bug è casuale o sistematico? Cioè: avviene sempre durante la stessa 
operazione?
 
Che SO è installato sul server?
 
Ho il sospetto che si tratti di un problema con l'hardware: googla per 
"InpageError"
 
Un workaround: se il server è sufficientemente potente, potresti far 
girare il tuo software in una virtual machine 32 bit con il SO sul quale 
funzionava. Fai questa prova se non ti porta via troppo tempo.
 
Le virtual machines sono degli ottimi strumenti di sviluppo/testing 
spesso sottovalutate.
 
-- 
Morde

 Non riesci ad aggiungere qualche dettaglio? Non so... se accede o meno a un database, che librerie/componenti usa, se apre un socket, con quale versione di Delphi è stato realizzato/compilato, ecc.
 
La persona che ha l'errore ( che sia mio cognato o un suo collaboratore ) mi dice solo che esce l'errore che ti ho indicato. Qualsiasi operazione effettuata fa un accesso al db, le operazioni sono varie, per il momento non c'e' un punto preciso, sta di fatto che la stessa operazione effettuata dopo il kill del processo va correttamente a buon fine. Per accedere al db utilizzo i componenti FIBPlus, qualche libreria ma niente di che, nessun socket, la versione di delphi è la 7 come da titolo del thread.
 
Lo so che non è molto su cui lavorare, mi conforta il fatto che prima della migrazione al nuovo sistema il programma non ha mai dato nessun problema.
Il fratello di mio cognato mi diceva che probabilmente potrebbe :
 
a) L'isolamento dei processi 32 bit in macchina 64 non sia completo
 
b) Il processo che rimane "appeso" lascia delle lock aperte sul DB (o qualcosa di simile), e il programma va in crash per una condizione non gestita.
 
In pratica, ad un certo punto la videata va via ma il processo continua ad essere attivo senza dare nessun messaggio di errore, poi ritornando al programma nello stesso punto che ha dato l'errore esce il messaggio che ti dicevo.
 
Spero di essere stato chiaro.
 
Ciao e grazie ancora per l'aiuto da Enrico c/o Icograf
 

 Che SO è installato sul server?
 
Scusa non avevo letto per bene l'oggetto, la risposta è palese.
Riesci a  mettere la tua parte server (DB) in una VM?
In questo modo, hai un'ambiente da te controllato su cui operare..
 
-- 
Morde

On Friday, 6 February 2015 13:27:39 UTC, 
enrico....@gmail.com
  wrote:
 
<snip>
Sei sicuro che il server ha tutte le hotfix MS necessarie?
L'Event Viewer che cosa mostra? (dovresti trovare una corrispondenza con c00000c4)

A parte le cose che ti sono gia state suggerite:
 
 
1) quanti sono gli utenti contemporanei sul server?
2) normalmente il tuo processo quanta memoria alloca, grosso modo?
3) quanta RAM ha il server?
 
A.

 spesso sottovalutate.
 
Quando parte il client mi sembra che parte una VM e poi arriva il desktop con le icone, per cui credo che sia già come dici tu. Però credimi, io sono una pippa come sistemista.
 
Ciao e grazie ancora da Enrico.

 In questo modo, hai un'ambiente da te controllato su cui operare..
 
Scusami Morde ma stai parlando con uno che non ne capisce di problematiche sistemistiche.

 L'Event Viewer che cosa mostra? (dovresti trovare una corrispondenza con c00000c4)
 
Ciao Andrea,
 
beh, qui dovrei chiedere al sistemista/fratello. Vediamo cosa mi dice.
 
Grazie.

 3) quanta RAM ha il server?
 
sinceramente non lo so ma credo almeno 16 gb con 4 o 6 cpu, insomma una "bestia" di server.
 
Ciao e grazie da Enrico.


Spero per te che non sia questa la causa
 
http://www.bearnakedcode.com/2011/06/win-2008-terminal-server-network-app.html
 
 
 
 
-- 
@WarpTen10


stai tranquillo, se è per quello, neanche Lui!
ciao morde...tutto bene?
 
-- 
(..) la rivoluzione non è un pranzo di gala, non è una festa letteraria, 
non è un disegno o un ricamo; non si può
fare con tanta eleganza, con tanta serenità e delicatezza, con tanta 
grazia e cortesia. La rivoluzione è un atto
di violenza, è l'azione implacabile di una classe che abbatte il potere 
di un'altra classe. (Mao Tze-tung)

 
http://www.bearnakedcode.com/2011/06/win-2008-terminal-server-network-app.html
 
 
ti ringrazio moltissimo per il link, lo passerò al sistemista e vediamo cosa ne dice, l'esperto è lui. Comunque l'articolo parla di windows 2008 mentre mio cognato ha windows 2012, secondo te potrebbe essere lo stesso ?



Non lo so.
 
Però, qui 
http://wiki.agencysystems.com/wiki/Error:_External_Exception_C0000006
 
parla di un errore simile perché dice che
---
This may also manifest itself in a “C00000C4 Application Crash” in the 
Windows Event Viewer Application tree.
---
 
e prosegue più avanti con
---
Agency Systems worked directly with Microsoft’s Escalation Engineers to 
identify the problem, reproduce the problem, and test workarounds. 
Microsoft has acknowledged the issue and their current position is that 
this will not be fixed due to the complexity of the code involved.
---
 
E questo non fa ben sperare.
 
In compenso propongono una soluzione per l'ambiente TS che potrebbe 
andare bene anche nel tuo caso o quantomeno adattarsi.
 
-- 
@WarpTen10

 andare bene anche nel tuo caso o quantomeno adattarsi.
 
Scusami ma mi devo ripetere, grazie 10000000000, adesso passo la palla al fratello e vediamo cosa salta fuori.
 
Ciao da Enrico.

Buone nuove, sembra che abbiamo risolto il problema.
Praticamente siamo andati a tentativi del tipo :
 
- ero sicuro che non era il programma dato che fino a quel momento e su altri sistemi non ha mai dato problemi.
- comunque ho fatto lo stesso dei test per verificare che il mio programma chiudesse bene le connessioni in fase di chiusura, era il dubbio del sistemista, a me sembrava strano così l'ho accontentato.
- il sistemista dal log degli eventi non è riuscito a cavare un ragno dal buco.
 
Visto che non si andava da nessuna parte ho detto al sistemista che lasciamo la cosa così, mio cognato ormai era diventato un esperto di task manager, dato che quando si impallava il programma andava a killare il task, praticamente un giorno si e l'altro anche.
 
Ad un certo punto il sistemista mi fa : ma perchè non proviamo a lanciare il tuo programma da locale anzichè da condivisione di rete ? Et voilà, per magia tutto risolto, per fortuna che, secondo lui, non era un bug del SO ma era da ricercarsi nel mio programma. Vabbè meglio così.
 
Comunque oltre a questo bug ne è saltato fuori un'altro, ma che non è inerente al mio programma.
 
Un grazie sentito a tutti quanti.
 
Ciao da Enrico Giudici c/o Icograf

 Un grazie sentito a tutti quanti.
 
"Tutto è bene ciò che finisce bene"
i soliti misteri dell'informatica..
 
 
 
-- 
Morde

 "Tutto è bene ciò che finisce bene"
 
Per me è "Tutto è bene ciò che finisce". :)
 
-- 
MARCO BREVEGLIERI (Software and Web Developer)
#Home: 
http://www.marco.breveglieri.name
 
#Blog: 
http://www.compilaquindiva.com
 
#Podcast: 
http://www.delphipodcast.com
 

 mio cognato ormai era diventato un esperto di task manager
 
E` un'ottima specializzazione.