Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failing on Mac Sonoma 14 M2 #992

Open
pankajmyt opened this issue Oct 12, 2023 · 1 comment
Open

Failing on Mac Sonoma 14 M2 #992

pankajmyt opened this issue Oct 12, 2023 · 1 comment

Comments

@pankajmyt
Copy link

The build was working before Sonoma upgrade. I have updated all known dependencies. Not sure where the problem is from the log that's generated

command -> gmake

cp .erlang.mk.build/erlang.mk ./erlang.mk
rm -rf .erlang.mk.build
 GEN    clean-app
 GEN    coverdata-clean
 DEPEND server.d
/bin/sh: line 1: 48339 Bus error: 10           erl +A1 -noinput -boot no_dot_erlang -pz /Users/pankajsoni/Desktop/myorg/backend/repos/server/.erlang.mk/rebar3/_build/prod/lib/*/ebin/ -eval E = ets:new(makedep, [bag]),	G = digraph:new([acyclic]),	ErlFiles = lists:usort(string:tokens(\"src/analytics/mod_firehose.erl src/analytics/mod_metrics.erl src/analytics/mod_migrate.erl src/care/mod_admin.erl src/care/mod_care.erl src/care/mod_user_events.erl src/crons/mod_channels_cleanup.erl src/gen_mod.erl src/gen_req.erl src/group/mod_broadcast_api_proc.erl src/group/mod_broadcast_pool_proc.erl src/group/mod_broadcast_proc.erl src/group/mod_group_api.erl src/group/mod_group_api_proc.erl src/group/mod_group_internal.erl src/group/mod_group_proc.erl src/http/mod_http.erl src/http/mod_http_client.erl src/listener/mod_alive.erl src/listener/mod_listener.erl src/listener/mod_rest_handler.erl src/listener/mod_websocket.erl src/messaging/mod_archive.erl src/messaging/mod_message.erl src/messaging/mod_message_external.erl src/messaging/mod_pinned.erl src/messaging/mod_receipt.erl src/messaging/mod_recent.erl src/messaging/mod_suspect.erl src/messaging/mod_suspect_external.erl src/messaging/mod_unread.erl src/messaging/mod_vulgar.erl src/messaging/mod_vulgar_external.erl src/mod_cluster.erl src/mod_config.erl src/mod_counter.erl src/mod_email.erl src/mod_hooks.erl src/mod_monitor.erl src/mod_redis.erl src/mod_router.erl src/mod_secret.erl src/mod_session.erl src/mod_sql.erl src/mod_static.erl src/mod_stream_mgmt.erl src/mod_tag.erl src/mod_time.erl src/mod_utils.erl src/notification/mod_notification.erl src/notification/mod_safari.erl src/queued_task/mod_queued_task.erl src/queued_task/mod_task_user.erl src/s3/mod_amazons3.erl src/s3/mod_file_upload.erl src/server_app.erl src/server_sup.erl src/sms/mod_sms_group.erl src/user/mod_account.erl src/user/mod_import.erl src/user/mod_recommendation.erl src/user/mod_relay.erl src/user/mod_report.erl src/user/mod_user.erl src/user/mod_user_external.erl src/user/mod_user_internal.erl\", \" \")),	DepsDir = \"/Users/pankajsoni/Desktop/myorg/backend/repos/server/deps\",	AppsDir = \"/Users/pankajsoni/Desktop/myorg/backend/repos/server/apps\",	DepsDirsSrc = \" /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/apns/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/aws/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/aws_signature/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/base64url/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/bbmustache/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/certifi/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/cf/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/cowboy/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/cowlib/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/dynamic_compile/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/ecsv/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/eredis/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/erlcass/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/erlpool/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/erlware_commons/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/erlydtl/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/fcm/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/goldrush/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/google_oauth/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/gun/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/hackney/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/idna/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/jsx/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/lager/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/lager_json/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/metrics/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/mimerl/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/mysql/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/mysql_poolboy/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/p1_utils/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/parse_trans/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/poolboy/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/quickrand/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/ranch/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/relx/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/ssl_verify_fun/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/unicode_util_compat/src /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/uuid/src\",	DepsDirsInc = \" /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/apns/include /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/cowlib/include /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/ecsv/include /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/eredis/include /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/erlcass/include /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/erlpool/include /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/erlware_commons/include /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/erlydtl/include /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/fcm/include /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/google_oauth/include /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/hackney/include /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/lager/include /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/mysql/include /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/p1_utils/include /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/parse_trans/include /Users/pankajsoni/Desktop/myorg/backend/repos/server/deps/uuid/include\",	AppsDirsSrc = \"\",	AppsDirsInc = \"\",	DepsDirs = lists:usort(string:tokens(DepsDirsSrc++DepsDirsInc, \" \")),	AppsDirs = lists:usort(string:tokens(AppsDirsSrc++AppsDirsInc, \" \")),	Modules = [{list_to_atom(filename:basename(F, \".erl\")), F} || F <- ErlFiles],	Add = fun (Mod, Dep) ->		case lists:keyfind(Dep, 1, Modules) of			false -> ok;			{_, DepFile} ->			{_, ModFile} = lists:keyfind(Mod, 1, Modules),				ets:insert(E, {ModFile, DepFile}),				digraph:add_vertex(G, Mod),				digraph:add_vertex(G, Dep),				digraph:add_edge(G, Mod, Dep)		end	end,	AddHd = fun (F, Mod, DepFile) ->		case file:open(DepFile, [read]) of			{error, enoent} ->				ok;			{ok, Fd} ->				{_, ModFile} = lists:keyfind(Mod, 1, Modules),				case ets:match(E, {ModFile, DepFile}) of					[] ->						ets:insert(E, {ModFile, DepFile}),						F(F, Fd, Mod,0);		_ -> ok				end		end	end,	SearchHrl = fun		F(_Hrl, []) -> {error,enoent};		F(Hrl, [Dir|Dirs]) ->			HrlF = filename:join([Dir,Hrl]),	case filelib:is_file(HrlF) of				true  ->				{ok, HrlF};				false -> F(Hrl,Dirs)			end	end,	Attr = fun	(_F, Mod, behavior, Dep) ->			Add(Mod, Dep);		(_F, Mod, behaviour, Dep) ->			Add(Mod, Dep);		(_F, Mod, compile, {parse_transform, Dep}) ->			Add(Mod, Dep);		(_F, Mod, compile, Opts) when is_list(Opts) ->			case proplists:get_value(parse_transform, Opts) of				undefined -> ok;			Dep -> Add(Mod, Dep)			end;		(F, Mod, include, Hrl) ->			case SearchHrl(Hrl, [\"src\", \"include\",AppsDir,DepsDir]++AppsDirs++DepsDirs) of			{ok, FoundHrl} -> AddHd(F, Mod, FoundHrl);				{error, _} -> false			end;		(F, Mod, include_lib, Hrl) ->			case SearchHrl(Hrl, [\"src\", \"include\",AppsDir,DepsDir]++AppsDirs++DepsDirs) of				{ok, FoundHrl} -> AddHd(F, Mod, FoundHrl);				{error, _} -> false			end;		(F, Mod, import, {Imp, _}) ->			IsFile =				case lists:keyfind(Imp, 1, Modules) of					false -> false;					{_, FilePath} -> filelib:is_file(FilePath)				end,			case IsFile of				false -> ok;				true -> Add(Mod, Imp)		end;		(_, _, _, _) -> ok	end,	MakeDepend = fun		(F, Fd, Mod, StartLocation) ->			{ok, Filename} = file:pid2name(Fd),			case io:parse_erl_form(Fd, undefined, StartLocation) of				{ok, AbsData, EndLocation} ->					case AbsData of						{attribute, _, Key, Value} ->							Attr(F, Mod, Key, Value),							F(F, Fd, Mod, EndLocation);					_ -> F(F, Fd, Mod, EndLocation)					end;				{eof, _ } -> file:close(Fd);				{error, ErrorDescription } ->				file:close(Fd);				{error, ErrorInfo, ErrorLocation} ->					F(F, Fd, Mod, ErrorLocation)			end,			ok	end,	[begin		Mod = list_to_atom(filename:basename(F, \".erl\")),		case file:open(F, [read]) of			{ok, Fd} -> MakeDepend(MakeDepend, Fd, Mod,0);			{error, enoent} -> ok		end	end || F <- ErlFiles],	Depend = sofs:to_external(sofs:relation_to_family(sofs:relation(ets:tab2list(E)))),	CompileFirst = [X || X <- lists:reverse(digraph_utils:topsort(G)), [] =/= digraph:in_neighbours(G, X)],	TargetPath = fun(Target) ->		case lists:keyfind(Target, 1, Modules) of			false -> \"\";			{_, DepFile} ->		DirSubname = tl(string:tokens(filename:dirname(DepFile), \"/\")),				string:join(DirSubname ++ [atom_to_list(Target)], \"/\")		end	end,	Output0 = [		\"# Generated by Erlang.mk. Edit at your own risk!\n\n\",		[[F, \"::\", [[\" \", D] || D <- Deps], \"; @touch \$@\n\"] || {F, Deps} <- Depend],		\"\nCOMPILE_FIRST +=\", [[\" \", TargetPath(CF)] || CF <- CompileFirst], \"\n\"	],	Output = case \"é\" of		[233] -> unicode:characters_to_binary(Output0);		_ -> Output0	end,	ok = file:write_file(\"server.d\", Output),	halt()" -- erlang.mk
gmake[1]: *** [erlang.mk:4717: server.d] Error 138
gmake: *** [erlang.mk:4498: app] Error 2
@essen
Copy link
Member

essen commented Oct 12, 2023

Try disabling the Erlang JIT. You'll want to add -emu_flavor emu to the ERL = ... line in your erlang.mk file, the line looks like this: https://github.com/ninenines/erlang.mk/blob/master/core/core.mk#L69

If it goes further then there is a problem with the Erlang JIT on that platform.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants