Skip to content

Using Runtime.getRuntime().exec results in Cannot run program "": error=0, posix_spawn failed #1044

@Sanja404

Description

@Sanja404

Most appropriate sub-area of Processing 4?

Accessibility

Processing version

4.1.1

Operating system

MacOSX

Steps to reproduce this

Version: Processing 4.4.1
OS: macOS [specify your version, for example, 15.1.1 (24B91)]

Problem:
In Processing 4.4.1, the say command (text-to-speech via macOS) does not work, causing an error:

Copy
Cannot run program "say": error=0, posix_spawn failed
I tried all the suggested solutions (changing permissions, alternative methods via osascript), but the problem persists.

Solution:
Reverted to Processing 4.3.4 - the say function works correctly.

Suggestions:
Add a check for say compatibility with new macOS versions in Processing 4.4.1+.

Specify in the documentation that speech synthesis on macOS 15+ may require a rollback to 4.3.4.

Consider alternative methods of voicing (for example, via FreeTTS or system APIs).

Context:

Java version: 17.0.14

Tested on: Mac mini (M1/M2)

snippet

// Paste your code below :)

void setup() {

}

void draw() {

}

Additional context

No response

Would you like to work on the issue?

Is this within my capabilities?

Activity

Stefterv

Stefterv commented on Apr 18, 2025

@Stefterv
Collaborator
Stefterv

Stefterv commented on Apr 18, 2025

@Stefterv
Collaborator

Hi @Sanja404 Thank you for raising this issue, I've looked into it and it seems to be a bug with the way we import the JDK. For now the solution is indeed to revert to 4.3.4.

We'll see if this upcoming alternative for including the JDK will solve this issue. Otherwise I will create a separate fix

changed the title [-]Problem with say in Processing 4.4.1 on macOS – revert to 4.3.4[/-] [+]Using `Runtime.getRuntime().exec` results in `Cannot run program "": error=0, posix_spawn failed`[/+] on Apr 18, 2025
self-assigned this
on Apr 18, 2025
added this to the 4.5.0 milestone on Apr 18, 2025
Stefterv

Stefterv commented on Apr 22, 2025

@Stefterv
Collaborator

Turns out it was an issue with setting the permissions in the JDK, added the lib folder to the folders with executables and that fixed it. Will include in the next release

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

Status

Completed

Relationships

None yet

    Development

    Participants

    @Stefterv@Sanja404

    Issue actions

      Using `Runtime.getRuntime().exec` results in `Cannot run program "": error=0, posix_spawn failed` · Issue #1044 · processing/processing4