SQL errors

Added by Akim Demaille over 11 years ago

Hi all,

I have problems with one of the QCMs I have here. I don't know how it started (it might have been a ENOSPACE issue), but now I get:

WARNING: opened transaction ----
SQL ERROR: DBD::SQLite::db do failed: SQL logic error or missing database
cannot start a transaction within a transaction
SQL STATEMENT: BEGIN
SQL ERROR: DBD::SQLite::db do failed: SQL logic error or missing database
cannot start a transaction within a transaction
SQL STATEMENT: BEGIN
*** unhandled exception in callback:
***   *SQL* at /opt/local/lib/perl5/vendor_perl/AMC/Data.pm line 94.
***  ignoring at /opt/local/lib/AMC/perl/AMC-gui.pl line 6461.

When I try to refresh the grades. And of course, nothing works.

I have generated the assignment, and the students have filled it. I get a
similar error when I try to remove all the "copies" for the "Saisie" tab,
no clear way out.

How can I scratch the SQL table and start anew? I still have the scans,
which I can feed to AMC, I just do not want to lose the set of generated
questions (for a LaTeX file).

Thanks in advance!


Replies (10)

RE: SQL errors - Added by Alexis Bienvenüe over 11 years ago

First, make a zip/tgz archive of the project directory (and send it to me if possible).

How can I scratch the SQL table and start anew?

Close AMC.
You can delete the SQLite files (in the project directory) that seems to be problematic. Maybe here it is data/scoring.sqlite.
Then open again the project in AMC.

RE: SQL errors - Added by Akim Demaille over 11 years ago

(Je viens de réaliser que j'étais sur le forum en français,
désolé).

Le 16 sept. 2013 à 09:42, a écrit :

First, make a zip/tgz archive of the project directory (and send it to me if possible).

Désolé, je n'avais pas vu cette phrase, et je n'ai pas
gardé de copie du dépôt de départ. Je le ferai dès que
je rencontre un nouveau problème.

How can I scratch the SQL table and start anew?

Close AMC.
You can delete the SQLite files (in the project directory) that seems to be problematic. Maybe here it is data/scoring.sqlite.
Then open again the project in AMC.

Ça a marché, merci beaucoup ! Il est possible que mon
problème ait commencé avec l'utilisation d'un gros TIFF
au lieu de un par page : le programme qui fait le découpage
par page m'a avalé une quantité de RAM hallucinante, et a
commencé à me manger du disque. La machine n'a pas aimé.
Je ne serais pas surpris que ce programme charge tout le
fichier pour en faire le découpage (au lieu de faire une
lecture séquentielle…).

J'ai un autre soucis, sur un autre sujet, où cette fois-ci,
j'ai (quand j'essaie de générer les feuilles annotées) :

Annotation
Annotating /Users/akim/Projets-QCM/thlr1314-2/scans/DOC_20130911133728_0000.tif (sheet 123-1)...
SQL ERROR: DBD::SQLite::db do failed: database is locked
SQL STATEMENT: COMMIT

dans la GUI, et en logs, j'ai:

SQL ERROR: DBD::SQLite::db do failed: database is locked
SQL STATEMENT: COMMIT
*SQL* at /opt/local/lib/perl5/vendor_perl/AMC/Data.pm line 94.
Use of uninitialized value $n in numeric gt (>) at /opt/local/lib/AMC/perl/AMC-gui.pl line 3883.
WARNING: opened transaction ----
SQL ERROR: DBD::SQLite::db do failed: SQL logic error or missing database
cannot start a transaction within a transaction
SQL STATEMENT: BEGIN
SQL ERROR: DBD::SQLite::db do failed: SQL logic error or missing database
cannot start a transaction within a transaction
SQL STATEMENT: BEGIN
*** unhandled exception in callback:
***   *SQL* at /opt/local/lib/perl5/vendor_perl/AMC/Data.pm line 94.
***  ignoring at /opt/local/lib/AMC/perl/AMC-gui.pl line 6461.

Les dernières lignes m'inquiètent : j'ai en effet des
caractères accentués dans certaines de mes IDs. Je
regrette qu'AMC n'ait rien dit à leur sujet. J'avais
par ailleurs une ID qui terminait en "?", et LaTeX me
faisait toutes sortes d'erreurs abominables dont j'ai
mis longtemps à en comprendre l'origine. Il serait
vraiment très utile qu'AMC, et même ses styles LaTeX,
exercent un contrôle plus strict de ses utilisateurs :)

En tout cas, merci pour ce travail et la réactivité des réponses.

RE: SQL errors - Added by Alexis Bienvenüe over 11 years ago

j'ai en effet des
caractères accentués dans certaines de mes IDs

Ce n'est pas forcément rédhibitoire : certains utilisateurs en ont utilisé sans problème.
En ce qui concerne les erreurs SQL, je ne vois pas bien ce qui se passe. Pourriez-vous essayer l'annotation en mode débogage (depuis le menu Aide) et envoyer le fichier log ?

RE: SQL errors - Added by Akim Demaille over 11 years ago

Bonjour Alexis,

Désolé, encore une fois je n'avais pas gardé les fichiers en erreur. J'ai repris mes sources LaTeX, ai retiré tous les caractères étendus (je suis en UTF-8 côté LaTeX, et au moins le fichier CSV semblait aussi avoir des soucis avec ces caractères, sans que cela rende pour autant le fichier invalide), et tout relancé, et AMC a pu me donner cette fois-ci les copies des élèves avec toutes les questions notées. Heureusement, il n'a pas regenéré de questions différentes, et comme je n'avais changé que les ID, la position des boites n'avait aucune raison de changer.

Bref, jusqu'à présent, aucune situation irréparable.

Et je pense vraiment avoir payé cher le fait de faire des TIFF multipages : ma machine a très mal vécu la commande de découpage par page (processus "gm" ou quelque chose comme ça).

Merci !

RE: SQL errors - Added by Akim Demaille over 11 years ago

J'ai posé ici, http://www.lrde.epita.fr/~akim/private/thlr1314-3.bak.tar.xz, une grosse tarball d'un projet dans lequel on voit que les questions avec des id non ascii ne sont pas prises en compte. En fait, quand on demande le contrôle des marques, on voit bien que ces questions n'ont pas leurs cases misent en rouge.

J'utilise AMC 1.1.1 (révision 1104, mon anniversaire :) sur OS X.

RE: SQL errors - Added by Alexis Bienvenüe over 11 years ago

Je l'ai bien récupéré, merci. Pouvez-vous envoyer votre fichier thlqcm.sty, pour que je puisse faire des essais de compilation chez moi ?

RE: SQL errors - Added by Akim Demaille over 11 years ago

Je peux vous le passer, mais lui même à des dépendances. Ça me paraît plus simple pour vous de vous passer votre propre exemple, massacré avec soin en rajoutant des caractères accentués. plus aucune question n'est reconnue. En tout cas dans mon environnement.

Si vous désirez toujours thlrqcm et ses dépendances, je vous les fais passer, pas de soucis.

bugaccent.tar.xz - Un projet AMC qui n'aime pas les accents (205.9 kB)

RE: SQL errors - Added by Alexis Bienvenüe over 11 years ago

J'ai essayé avec un exemple à moi. En effet, les questions dont l'identifiant contient des accents sont oubliées si le sujet est codé en UTF8 en utilisant \usepackage[utf8x]{inputenc}. Par contre, elles passent (relativement) bien si le sujet est codé en Latin-1 avec \usepackage[latin1]{inputenc}.
Par ailleurs, si on utilise xelatex au lieu de pdflatex, tout se passe bien, même avec des caratères arabes ou autres, ce qui me pousse à essayer de ne pas interdire totalement l'usage de caratères non-alphabétiques dans les identifiants.
Je vais essayer de trouver un moyen de détecter quand ça se passe mal et d'avertir alors l'utilisateur... Pouvez-vous me créer une demande d'évolution sur ce site pour m'aider à garder ce point en tête ?

RE: SQL errors - Added by Akim Demaille over 11 years ago

Désolé, à lire votre message on dirait que vous n'avez pas vu que j'avais mis une pièce jointe à mon message précédent, avec un exemple prêt à l'emploi :(

Le ticket est créé, #207.

(1-10/10)