`eoc dataize` crashes with unhandled exception if Java process spawn fails
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 88/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- java, javascript, node.js
- Domain
- cli
Research direction
Start in src/commands/java/dataize.js and inspect how runner('java', params, {stdio: 'inherit'}) handles the child process lifecycle. Reproduce the failure with javac available but java absent from PATH, then verify that process-spawn errors use the same concise controlled failure path as other Maven/JDK failures.
Written by the indexing model from the issue text.
Description
What happens
When the java child cannot be spawned, the Java dataize command crashes through an unhandled error event instead of returning a controlled command failure. src/commands/java/dataize.js listens only for close and never handles error.
How to reproduce
- Keep
javacavailable soverifyJavac()succeeds, but make thejavaexecutable unavailable to the child process (for example, invoke the command with a PATH containing onlyjavac). - Run
eoc dataize ...on the Java backend. spawn('java', ...)emitserror(ENOENT), but there is no listener; Node reports an uncaught exception and the command terminates with a raw stack trace.
Expected result
The command should reject or exit with a concise diagnostic naming the unavailable Java runtime, and it should use the same controlled error path as other Maven/JDK failures.
Evidence
src/commands/java/dataize.js calls runner('java', params, {stdio: 'inherit'}).on('close', ...); it does not attach an error listener. Node's ChildProcess emits error when process creation fails, before close is guaranteed.
- Dominant language
- JavaScript
- Stars
- 36
- Forks
- 64
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 17
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from objectionary/eoc
-
bug good-title
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
objectionary/eoc#1360 ·
-
bug good-title
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
objectionary/eoc#1359 ·
-
bug good-title
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
objectionary/eoc#1358 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
objectionary/eoc#1357 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
objectionary/eoc#1356 ·
All issues in objectionary/eoc
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
HarperFast/skills#96 ·
-
[Block] Latest Posts [Type] Bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Automattic/studio#4908 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
sugarlabs/musicblocks#8847 ·