Question

Depuis quelques années, nous avons été voir au hasard ce message dans les journaux de sortie lors de l'exécution des tâches planifiées dans ColdFusion:

trop profond Recursion; la pile a débordé.

Le code de la tâche qui est appelée peut varier, mais dans ce cas, il est très simple code qui ne fait rien, mais remis à zéro un compteur dans la base de données, puis envoyez-moi un e-mail pour me dire qu'il a réussi. Mais je l'ai vu arriver avec toutes sortes de code, donc je suis assez sûr ce n'est pas le code qui est à l'origine de ce problème.

Il a même un application.cfm / cfc vide pour bloquer tout autre code appelé.

La seule autre fois que nous voyons cela est quand nous redémarrons CF et nous essayons de voir une page avant que le service a bien démarré.

L'erreur se produit rarement, mais maintenant nous avons des tâches planifiées plutôt critiques que les questions de cause si elles ne fonctionnent pas. (Par conséquent, je poste ici pour l'aide)

Utilisation de la mémoire est très bien. La tâche qui a couru juste avant rapporté plus de 80% de mémoire libre. la mémoire de surveillance pendant la nuit ne montre pas de pointes hors de l'ordinaire. La machine dispose de 4 Go de mémoire et rien d'autre en cours d'exécution sur elle, mais le système d'exploitation et des FC Nous avons récemment essayé de réinstaller CF pour résoudre le problème, mais il n'a pas aidé. Il arrive sur plusieurs de nos autres serveurs ainsi.

Ceci est un serveur interne, donc l'utilisation à 3h du matin devrait être inexistante. Il n'y a pas d'autres tâches planifiées en cours d'exécution à ce moment-là.

Nous avons été voir cela sur nos boîtes CF7, CF8 et CF9 (entièrement patché).

  

La zone actuelle dans les informations de question:

     
      
  • Version CF: 9,0,1,274733
  •   
  • Edition: l'entreprise
  •   
  • Système d'exploitation: Windows 2003 Server
  •   
  • Java Version: 1.6.0_17
  •   
  • Min JVM Heap: 1024
  •   
  • Max JVM Heap: 1024
  •   
  • Min Perm Taille: 64m
  •   
  • Max Perm Taille: 384m
  •   
  • mémoire du serveur: 4gb
  •   
  • machine Quad core qui voit rarement l'utilisation de plus de 5% de l'UC
  •   

Paramètres JVM:

  

-server -Dsun.io.useCanonCaches = false -XX: PermSize = 64m -XX: MaxPermSize = 384m -XX: + UseParallelGC -XX: + AggressiveHeap -Dcoldfusion.rootDir = {} application.home /../   -Dcoldfusion.libPath = {} application.home /../ lib   -Doracle.jdbc.V8Compatible = true

Voici le code complexe incroyable qui a échoué à courir hier soir, mais a fonctionné pendant des années, et se déroulera très probablement demain:

<cfquery datasource="common_app">
    update  import_counters
    set current_count = 0
</cfquery>

<cfmail subject="Counters reset" to="my@email.com" from="my@email.com"></cfmail>

Si je raté quelque chose me le faire savoir. Merci!

Était-ce utile?

La solution

Nous avons eu ce problème pendant un certain temps après notre serveur a été mis à niveau vers ColdFusion 9. Le correctif semble être dans cette TechNote d'Adobe sur JRun 4: http://kb2.adobe.com/cps/950/950218dc.html

Vous avez probablement besoin de faire quelques ajustements aux autorisations comme indiqué dans la note technique.

Autres conseils

Avez-vous essayé de réduire la taille de votre tas de 1024 à dire 800 quelque chose. Vous dites qu'il n'y a plus de 80% de la mémoire disponible à gauche si possible, je chercherais à réduire au maximum.

est-il un système d'exploitation 32 ou 64 bits? Lors de l'attribution de l'espace de tas, vous devez prendre en considération tous les frais généraux de la machine virtuelle Java (pile, bibliothèques, etc.) afin que vous ne dépassez pas la limite du système d'exploitation pour le processus.

ce que vous pouvez essayer est de définir JVM minimum Heap Taille à la même chose que votre taille Heap JVM maximale (Mo) avec votre administrateur CF.

mettre à jour également la machine virtuelle Java pour la dernière (21) ou au moins 20.

Dans le passé, je l'ai toujours mis à jour la machine virtuelle Java à chaque fois que quelque chose de farfelu commencé à se produire comme d'habitude qui a résolu le problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top