2009-12-19 4 views
0

J'utilise un Mac Intel avec Mac OS 10.5 et SBCL 1.0.29. J'ai déjà fait du développement Hunchentoot avant 1.0, donc je l'ai fait installer (via asdf-install).Hunchentoot 1.0 ne renvoie que des réponses vides

Récemment, j'ai commencé un nouveau projet et j'ai décidé de commencer avec Hunchentoot 1.0. J'ai asdf installé Hunchentoot, et il a semblé installer 1.0 (et deps) très bien. Je peux le charger dans SBCL (via SLIME ou Terminal), et je peux écrire du code contre la nouvelle interface, et il compile bien, et tout semble bien. C'est-à-dire, jusqu'à ce que j'essaie d'accéder à la page Web: je reçois seulement des réponses vides. Firebug signale "200 OK" mais les informations de page montrent la taille "0 octets" (texte/normal, ISO-8859-1, mais je suppose que ce sont les valeurs par défaut). J'ai donc essayé netcat et telnet, et il semble accepter une connexion sur mon port puis déconnecter immédiatement.

Y a-t-il un problème avec Hunchentoot 1.0 sous Mac OS? Ou avec 2 versions Hunchentoot asdf installées en même temps? Ou autre chose à laquelle je ne pense pas? Je suis sûr que c'est probablement quelque chose d'évident mais je dessine un blanc ici.

Merci!

+0

Je vous propose de poser cette question sur la liste de diffusion Hunchentoot. –

+1

Avez-vous vérifié ce problème avec un autre interpréteur Lisp? Voici un problème similaire décrit (Il y avait un bug dans CCL) http://sean-ross.blogspot.com/2009/03/hunchentoot-ccl-and-windows.html –

+0

Pas encore, mais ce lien est pour les deux un compilateur différent et un système d'exploitation différent, et donc (sans surprise) la solution suggérée ne m'aide pas ici. – Ken

Répondre

1

J'ai récemment écrit un tutoriel sur la façon d'écrire une webapp Lisp qui comprend un ensemble de dépendances de travail connu (y compris Hunchentoot, CFFI, etc). Vous voudrez peut-être consulter le documentation. Essayez d'exécuter le code à partir de la page github liée et voyez si cela fonctionne pour vous - si ce n'est pas le cas, alors le problème est dans votre compilateur Lisp (pas vos bibliothèques). Je lierais directement à github, mais je suis nouveau ici, et apparemment je n'ai pas assez de points de réputation pour poster deux liens dans une réponse.

En passant, je sais que SBCL a des problèmes avec les threads sur Mac OS X. J'envisagerais de regarder dans le Common Lisp de Clozure - qui est très optimisé pour les Mac.

+0

Je sais que le threading SBCL sur Darwin est considéré comme expérimental, mais y a-t-il des "problèmes" spécifiques dont vous parlez? J'ai développé des applications Web Lisp avec Hunchentoot pré-1.0 sur SBCL (avec thread activé) ici depuis plus d'un an, et jamais eu un problème avec elle. – Ken

+0

BTW, j'ai téléchargé votre application et ça fonctionne bien. Donc, alors que SBCL peut avoir des problèmes, je vois 100% d'échec avec le Hunchentoot 1.0 installé par asdf et 100% de succès avec le Hunchentoot 1.0 dans son propre dossier, avec le même SBCL, ce qui me suggère que mon SBCL est pas en faute ici. – Ken

+0

Eh bien, il y a environ 1 ou 2 ans, le threading était sérieusement cassé sur Darwin (les mutex ne fonctionnaient pas, le noyau Lisp était corrompu, etc.). Les choses se sont peut-être améliorées depuis, mais j'étais un peu aigri sur l'expérience. Le fait que mon application fonctionne prouve de façon concluante (dans mon esprit) que c'est probablement juste un bogue dans la version ASDF de Hunchentoot (ou usocket?) Que vous utilisez - et pas SBCL elle-même. Les versions des librairies asdf-install'able sont parfois juste périmées - c'est pourquoi j'évite asdf-install (mais pas asdf, bien sûr) et j'utilise la dernière version du code de l'auteur. – smanek

Questions connexes