Issue
User: Dev User (dev@example.com)
Student message: Error creating question variant
Instructor message: CourseIssueError: /PrairieLearn/testCourse/questions/brokenGeneration/server.py: Error calling generate(): Error: CodeCallerNative child process exited unexpectedly, code = 1, signal = null
ID: 412
Date: 2024-09-13 00:33:15-05 (CDT)

Console log:

Traceback (most recent call last):
  File "/PrairieLearn/apps/prairielearn/python/zygote.py", line 395, in <module>
    worker_loop()
  File "/PrairieLearn/apps/prairielearn/python/zygote.py", line 303, in worker_loop
    val = method(*args)
  File "/PrairieLearn/testCourse/questions/brokenGeneration/server.py", line 2, in generate
    raise Exception("deliberately broken generate function")
Exception: deliberately broken generate function
Traceback (most recent call last):
  File "/PrairieLearn/apps/prairielearn/python/zygote.py", line 437, in <module>
    raise Exception(
Exception: worker process exited unexpectedly with status 256

Associated data:

{
    "course": {
        "id": 2,
        "path": "/PrairieLearn/testCourse",
        "title": "Test Course",
        "branch": "master",
        "options": {
            "devModeFeatures": [],
            "useNewQuestionRenderer": true
        },
        "created_at": "2024-07-23T18:37:21.289614+00:00",
        "deleted_at": null,
        "repository": null,
        "short_name": "QA 101",
        "commit_hash": null,
        "sync_errors": null,
        "sharing_name": null,
        "sharing_token": "0763f051-e7aa-439e-8e22-c21b6213ca3f",
        "sync_warnings": "",
        "example_course": false,
        "institution_id": 1,
        "template_course": false,
        "display_timezone": "America/Chicago",
        "sync_job_sequence_id": null,
        "yearly_enrollment_limit": null,
        "course_instance_enrollment_limit": null
    },
    "variant": {
        "id": "11161",
        "date": {},
        "open": true,
        "broken": true,
        "number": 1,
        "params": {},
        "options": {},
        "user_id": "1",
        "duration": 0,
        "group_id": null,
        "broken_at": {},
        "broken_by": null,
        "course_id": "2",
        "num_tries": 0,
        "question_id": "177",
        "true_answer": {},
        "variant_seed": "zlphis",
        "workspace_id": null,
        "authn_user_id": "1",
        "first_duration": null,
        "formatted_date": "2024-09-13 00:33:15 (CDT)",
        "course_instance_id": null,
        "instance_question_id": null
    },
    "question": {
        "id": "177",
        "qid": "brokenGeneration",
        "type": "Freeform",
        "uuid": "a2f12dbe-e030-4782-87aa-713d61728539",
        "title": "Broken generation function",
        "number": 350,
        "options": null,
        "topic_id": "23",
        "course_id": "2",
        "directory": "brokenGeneration",
        "deleted_at": null,
        "sync_errors": null,
        "client_files": [
            "client.js",
            "question.html",
            "answer.html"
        ],
        "dependencies": {},
        "sync_warnings": "",
        "grading_method": "Internal",
        "partial_credit": true,
        "single_variant": false,
        "workspace_args": null,
        "workspace_home": null,
        "workspace_port": null,
        "shared_publicly": false,
        "workspace_image": null,
        "template_directory": null,
        "show_correct_answer": true,
        "sync_job_sequence_id": null,
        "workspace_environment": {},
        "workspace_url_rewrite": null,
        "external_grading_files": null,
        "external_grading_image": null,
        "workspace_graded_files": null,
        "external_grading_enabled": null,
        "external_grading_timeout": null,
        "external_grading_entrypoint": null,
        "shared_publicly_with_source": false,
        "workspace_enable_networking": null,
        "external_grading_environment": {},
        "external_grading_enable_networking": null
    }
}

System data:

{
    "stack": "CourseIssueError: /PrairieLearn/testCourse/questions/brokenGeneration/server.py: Error calling generate(): Error: CodeCallerNative child process exited unexpectedly, code = 1, signal = null\n    at processQuestionServer (file:///PrairieLearn/apps/prairielearn/dist/question-servers/freeform.js:781:27)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async instrumentedWithMetrics (file:///PrairieLearn/packages/opentelemetry/dist/metrics.js:47:16)\n    at async file:///PrairieLearn/apps/prairielearn/dist/question-servers/freeform.js:891:56\n    at async withCodeCaller (file:///PrairieLearn/apps/prairielearn/dist/lib/code-caller/index.js:195:20)\n    at async file:///PrairieLearn/apps/prairielearn/dist/question-servers/freeform.js:890:16\n    at async file:///PrairieLearn/packages/opentelemetry/dist/tracing.js:7:28\n    at async makeVariant (file:///PrairieLearn/apps/prairielearn/dist/lib/question-variant.js:44:36)\n    at async makeAndInsertVariant (file:///PrairieLearn/apps/prairielearn/dist/lib/question-variant.js:140:52)\n    at async ensureVariant (file:///PrairieLearn/apps/prairielearn/dist/lib/question-variant.js:235:12)\n    at async getAndRenderVariant (file:///PrairieLearn/apps/prairielearn/dist/lib/question-render.js:289:26)\n    at async file:///PrairieLearn/apps/prairielearn/dist/pages/instructorQuestionPreview/instructorQuestionPreview.js:45:5",
    "courseErrData": {
        "stack": "Error\n    at CodeCallerNative._errorData (file:///PrairieLearn/apps/prairielearn/dist/lib/code-caller/code-caller-native.js:546:29)\n    at CodeCallerNative._callCallback (file:///PrairieLearn/apps/prairielearn/dist/lib/code-caller/code-caller-native.js:470:29)\n    at CodeCallerNative._handleChildExit (file:///PrairieLearn/apps/prairielearn/dist/lib/code-caller/code-caller-native.js:398:18)\n    at ChildProcess.emit (node:events:519:28)\n    at ChildProcess._handle.onexit (node:internal/child_process:294:12)\n    at Process.callbackTrampoline (node:internal/async_hooks:130:17)",
        "outputBoth": "Traceback (most recent call last):\n  File \"/PrairieLearn/apps/prairielearn/python/zygote.py\", line 395, in <module>\n    worker_loop()\n  File \"/PrairieLearn/apps/prairielearn/python/zygote.py\", line 303, in worker_loop\n    val = method(*args)\n  File \"/PrairieLearn/testCourse/questions/brokenGeneration/server.py\", line 2, in generate\n    raise Exception(\"deliberately broken generate function\")\nException: deliberately broken generate function\nTraceback (most recent call last):\n  File \"/PrairieLearn/apps/prairielearn/python/zygote.py\", line 437, in <module>\n    raise Exception(\nException: worker process exited unexpectedly with status 256\n",
        "outputData": "",
        "childIsNull": true,
        "lastCallData": {
            "cwd": "/PrairieLearn/testCourse/questions/brokenGeneration",
            "fcn": "generate",
            "args": [
                {
                    "params": {},
                    "options": {
                        "question_path": "/PrairieLearn/testCourse/questions/brokenGeneration",
                        "devModeFeatures": [],
                        "course_extensions_path": "/PrairieLearn/testCourse/elementExtensions",
                        "useNewQuestionRenderer": true,
                        "client_files_course_path": "/PrairieLearn/testCourse/clientFilesCourse",
                        "server_files_course_path": "/PrairieLearn/testCourse/serverFilesCourse",
                        "client_files_question_path": "/PrairieLearn/testCourse/questions/brokenGeneration/clientFilesQuestion"
                    },
                    "variant_seed": 2152777204,
                    "correct_answers": {}
                }
            ],
            "file": "server",
            "paths": [
                "/PrairieLearn/apps/prairielearn/python",
                "/PrairieLearn/testCourse/serverFilesCourse"
            ],
            "forbidden_modules": []
        },
        "outputStderr": "Traceback (most recent call last):\n  File \"/PrairieLearn/apps/prairielearn/python/zygote.py\", line 395, in <module>\n    worker_loop()\n  File \"/PrairieLearn/apps/prairielearn/python/zygote.py\", line 303, in worker_loop\n    val = method(*args)\n  File \"/PrairieLearn/testCourse/questions/brokenGeneration/server.py\", line 2, in generate\n    raise Exception(\"deliberately broken generate function\")\nException: deliberately broken generate function\nTraceback (most recent call last):\n  File \"/PrairieLearn/apps/prairielearn/python/zygote.py\", line 437, in <module>\n    raise Exception(\nException: worker process exited unexpectedly with status 256\n",
        "outputStdout": "",
        "callbackIsNull": false,
        "timeoutIDIsNull": true
    }
}
Broken generation function
Broken question due to error in question code
Correct answer
Student view placeholder
In student views this area is used for assessment and score info.
Staff information
Staff user:
Dev User
dev@example.com

Question:
Title:
Broken generation function
Started at:
2024-09-13 00:33:15 (CDT)
Duration:
0 s
Show/Hide answer
{}