Summary: | audio/pd won't run with GUI under X with shells/bash as default shell | ||
---|---|---|---|
Product: | Ports & Packages | Reporter: | gen-freebsd |
Component: | Individual Port(s) | Assignee: | Tobias Kortkamp <tobik> |
Status: | Closed Unable to Reproduce | ||
Severity: | Affects Some People | CC: | brittlehaus, ehaupt |
Priority: | --- | ||
Version: | Latest | ||
Hardware: | amd64 | ||
OS: | Any |
Description
gen-freebsd
2017-04-05 06:04:06 UTC
(In reply to gen-freebsd from comment #0) hi, maintainer of audio/pd here. i can confirm this bug is present using either shells/bash or shells/mksh as login shell. the bug is triggered by a call to bind(2) failing: while (bind(xsock, (struct sockaddr *)&server, sizeof(server)) < 0) { int err = errno; if ((ntry++ > 20) || (err != EADDRINUSE)) { perror("bind"); fprintf(stderr, "Pd needs your machine to be configured with\n"); fprintf(stderr, "'networking' turned on (see Pd's html doc for details.)\n"); return (1); } portno++; server.sin_port = htons((unsigned short)(portno)); } some cursory debugging seems to suggest that when using bash or mksh as login shell errno is set to EADDRINUSE and stays there for the next twenty attempts, meaning that ports r5400..5420 on localhost are all unavailable (unlikely). this is not the case using {t,}csh or sh, which leads me to believe that the bug is somewhere in these ported shells. note that this bug does not appear when using bash on Linux or ksh on OpenBSD, which makes me think this is not an issue with the audio/pd codebase itself. best, t/ I'm closing this because a) I cannot reproduce this with bash 5.0.2 as login shell and pd 0.47.1 on FreeBSD 13.0-CURRENT b) there were no new comments or other changes here for > 1.5 years If this is still a problem for you please let me know and we can reopen. |