bash prints errors for every non-existing command

Bill Cole macportsusers-20171215 at billmail.scconsult.com
Wed Apr 24 18:53:40 UTC 2024


On 2024-04-24 at 12:33:23 UTC-0400 (Wed, 24 Apr 2024 18:33:23 +0200)
Baerenblau via macports-users <baerenblau at yahoo.de>
is rumored to have said:

> Hi,
>
> I'm on macOS 14.4.1 (23E224) and continue to experience a long standing problem with bash from Macports

How long-standing? Just on Sonoma?

> % which bash
> /opt/local/bin/bash
>
> % bash --version
> GNU bash, Version 5.2.26(1)-release (x86_64-apple-darwin23.2.0)

Maybe rebuild this from source on the local machine? 14.4.1 is darwin 23.4.0, which *might* cause issues, although it should not, in principle. If you are not on an Apple Silicon Mac, you should definitely reinstall bash because you want your shell to be native code.

> For every command which is not found a error similar error like this is printed:
>
> $ asdf
> objc[1321]: +[__SwiftNativeNSStringBase initialize] may have been in progress in another thread when fork() was called.
> objc[1321]: +[__SwiftNativeNSStringBase initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.
> Abort trap: 6
>
> Xcode has been installed today. Then MacPorts has been updated to the latest version, machine is rebooted, issue continues to exist.


Just as another data point: I have never seen anything like this despite running bash built using MacPorts for many years. The error message is not of a sort that I would expect to come out of bash itself, which I expect knows nothing of the Swift and objc runtimes. Also, you *should* be getting an error like  this:

	$ dsfsfs
	bash: dsfsfs: command not found

Guessing based on those observations, I suspect that you may have something in your bash environment that is causing this only when an executable file is not found in your $PATH because the process of searching for it and launching it hit an abort trap without indicating to bash that the command does not exist. I would start
troubleshooting this by minimizing your $PATH (to something like '/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin') and removing or setting to defaults anything in bash's environment that could cause something to be done when you are given an interactive prompt or an error, i.e. $PROMPT_COMMAND, $PS1, $PS2, etc. Look in your .bash_profile, .bashrc, or .profile for anything being set or run that you don't understand.


-- 
Bill Cole
bill at scconsult.com or billcole at apache.org
(AKA @grumpybozo and many *@billmail.scconsult.com addresses)
Not Currently Available For Hire


More information about the macports-users mailing list