Beam packages mix release deterministic#1
Conversation
|
Did you mean to delete the comments at the end of the file with this change? Also, if you're quite sure this takes care of the last of the references, should |
Oh, sorry, I forgot the comment. I have changed that.
Currently, we choose to remove erlang references by detecting ERTS is included or not. So we can't add I'm not sure if there's some way to set
|
9682092 to
9bb76ac
Compare
|
@mattpolzin I must go out now. So I can't reply you for a long time. The following content is what I plan to post in the original PR. When you are ready, you can post it. BEGIN OF POST This PR is trying to add funtionality for:
We can take Before this PR: After this PR: END OF POST After you posting it, you can @ happysalada to review your code. And, feel free to modify my code, I won't feel offended. ;) |
|
Bed time for me anyway. I'll get your code merged and prep the upstream PR tomorrow. Thanks for the help. |
Without the change `unnethack` startup crashes as:
(gdb) bt
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1 0x00007f734250c0e3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
NixOS#2 0x00007f73424bce06 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
NixOS#3 0x00007f73424a58f5 in __GI_abort () at abort.c:79
NixOS#4 0x00007f73424a67a1 in __libc_message (fmt=fmt@entry=0x7f734261e2f8 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:150
NixOS#5 0x00007f734259b1d9 in __GI___fortify_fail (msg=msg@entry=0x7f734261e2df "buffer overflow detected") at fortify_fail.c:24
NixOS#6 0x00007f734259ab94 in __GI___chk_fail () at chk_fail.c:28
NixOS#7 0x00000000005b2ac5 in strcpy (__src=0x7ffe68838b00 "Shall I pick a character's race, role, gender and alignment for you? [YNTQ] (y)",
__dest=0x7ffe68838990 "\001") at /nix/store/B0S2LKF593R3585038WS4JD3LYLF2WDX-glibc-2.38-44-dev/include/bits/string_fortified.h:79
NixOS#8 curses_break_str (str=str@entry=0x7ffe68838b00 "Shall I pick a character's race, role, gender and alignment for you? [YNTQ] (y)", width=width@entry=163,
line_num=line_num@entry=1) at ../win/curses/cursmisc.c:275
NixOS#9 0x00000000005b3f51 in curses_character_input_dialog (prompt=prompt@entry=0x7ffe68838cf0 "Shall I pick a character's race, role, gender and alignment for you?",
choices=choices@entry=0x7ffe68838d70 "YNTQ", def=def@entry=121) at ../win/curses/cursdial.c:211
NixOS#10 0x00000000005b9ca0 in curses_choose_character () at ../win/curses/cursinit.c:556
NixOS#11 0x0000000000404eb1 in main (argc=<optimized out>, argv=<optimized out>) at ./../sys/unix/unixmain.c:309
which corresponds to `gcc` warning:
../win/curses/cursmisc.c: In function 'curses_break_str':
../win/curses/cursmisc.c:275:5: warning: '__builtin___strcpy_chk' writing one too many bytes into a region of a size that depends on 'strlen' [-Wstringop-overflow=]
275 | strcpy(substr, str);
| ^
I did not find a single small upstream change that fixes it. Let's
disable `fortify3` until next release.
Closes: NixOS#292113
@mattpolzin This is the code I mentioned.
You can also squash beamPackages.mixRelease: remove erlang references from output to your previous commit.
After you updating your branch, you can @ me again. I will post more instructions in NixOS#271288.