-
Notifications
You must be signed in to change notification settings - Fork 19
The README file in this repo has a bad link - [404:NotFound] #1
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
Closed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The markup version of the readme that is displayed for the main page in this repo contains the following bad link: Status code [404:NotFound] - Link: https://github.com/oracle/dtrace-linux-kernel/v2/5.8.1 It looks like it should be this link: https://github.com/oracle/dtrace-linux-kernel/tree/v2/5.8.1 **Extra** This bad link was found by a tool I recently created as part of an new experimental hobby project: https://github.com/MrCull/GitHub-Repo-ReadMe-Dead-Link-Finder I (a human) verified that this link is broken and have manually logged this Issue (i.e. this Issue has not been created by a bot). If you have any feedback on the information provided here, or on the tool itself, then please feel free to share your thoughts here, or log an “Issue” in the repo. Re-check this Repo via: http://githubreadmechecker.com/Home/Search?SingleRepoUri=https%3a%2f%2fgithub.com%2foracle%2fdtrace-utils
Thank you for reporting this problem. The link was updated as part of some other changes so I will close this pull request. Again, thanks! |
nickalcock
added a commit
that referenced
this pull request
Dec 4, 2024
If processes terminate while the main dtrace thread is doing something in libproc, the process-control thread will clean up, releasing all resources, including cancelling all ptraces. Unfortunately if the main thread is in the middle of a Ptrace()-related operation at the time, it will finish off by doing a balancing Puntrace(). This is of course now unbalanced, because the process cleanup did all the Puntrace()s for us; it will then try to pop a state vector that has already been freed, yielding a crash that looks like this: #0 0x00007f55dbe8035f in dt_list_delete (dlp=0x7f55d0001428, existing=0x0) at libcommon/dt_list.c:81 #1 0x00007f55dbe8239b in Ppop_state (P=0x7f55d0001410) at libproc/Pcontrol.c:1280 #2 0x00007f55dbe827fb in Puntrace (P=0x7f55d0001410, leave_stopped=0) at libproc/Pcontrol.c:1456 #3 0x00007f55dbe8bffd in rd_ldso_consistent_end (rd=0x7f55d00046e0) at libproc/rtld_db.c:1113 #4 0x00007f55dbe8d5d8 in rd_loadobj_iter (rd=0x7f55d00046e0, fun=0x7f55dbe863cb <map_iter>, state=0x7f55d0001410) at libproc/rtld_db.c:1934 #5 0x00007f55dbe876d3 in Pupdate_lmids (P=0x7f55d0001410) at libproc/Psymtab.c:813 #6 0x00007f55dbe87827 in Paddr_to_map (P=0x7f55d0001410, addr=4199075) at libproc/Psymtab.c:883 #7 0x00007f55dbe5354c in dt_pid_create_usdt_probes_proc (dtp=0x1a47ebb0, dpr=0x29234ea0, pdp=0x7fff392bb090, pcb=0x7fff392bb170) at libdtrace/dt_pid.c:987 #8 0x00007f55dbe54056 in dt_pid_create_usdt_probes (pdp=0x2ac157c0, dtp=0x1a47ebb0, pcb=0x7fff392bb170) at libdtrace/dt_pid.c:1265 #9 0x00007f55dbe71ce2 in discover (dtp=0x1a47ebb0) at libdtrace/dt_prov_uprobe.c:520 #10 0x00007f55dbe747a2 in dt_provider_discover (dtp=0x1a47ebb0) at libdtrace/dt_provider.c:183 #11 0x00007f55dbe7c1b1 in dtrace_work (dtp=0x1a47ebb0, fp=0x7f55dbcfc780 <_IO_2_1_stdout_>, pfunc=0x404211 <chew>, rfunc=0x40419e <chewrec>, arg=0x0) at libdtrace/dt_work.c:377 #12 0x00000000004066d5 in main (argc=11, argv=0x7fff392bb7b8) at cmd/dtrace.c:1556 (This can also kick in when DTrace erroneously considers a process dead even though it isn't, which is actually what happened here: we fix that in a later commit.) Fixed by simply checking to see if the process has been Prelease()d in Puntrace(), and returning early. The process is released and all Puntrace()s have already been done: there is nothing left to do. Signed-off-by: Nick Alcock <[email protected]>
kvanhees
pushed a commit
that referenced
this pull request
Dec 7, 2024
If processes terminate while the main dtrace thread is doing something in libproc, the process-control thread will clean up, releasing all resources, including cancelling all ptraces. Unfortunately if the main thread is in the middle of a Ptrace()-related operation at the time, it will finish off by doing a balancing Puntrace(). This is of course now unbalanced, because the process cleanup did all the Puntrace()s for us; it will then try to pop a state vector that has already been freed, yielding a crash that looks like this: #0 0x00007f55dbe8035f in dt_list_delete (dlp=0x7f55d0001428, existing=0x0) at libcommon/dt_list.c:81 #1 0x00007f55dbe8239b in Ppop_state (P=0x7f55d0001410) at libproc/Pcontrol.c:1280 #2 0x00007f55dbe827fb in Puntrace (P=0x7f55d0001410, leave_stopped=0) at libproc/Pcontrol.c:1456 #3 0x00007f55dbe8bffd in rd_ldso_consistent_end (rd=0x7f55d00046e0) at libproc/rtld_db.c:1113 #4 0x00007f55dbe8d5d8 in rd_loadobj_iter (rd=0x7f55d00046e0, fun=0x7f55dbe863cb <map_iter>, state=0x7f55d0001410) at libproc/rtld_db.c:1934 #5 0x00007f55dbe876d3 in Pupdate_lmids (P=0x7f55d0001410) at libproc/Psymtab.c:813 #6 0x00007f55dbe87827 in Paddr_to_map (P=0x7f55d0001410, addr=4199075) at libproc/Psymtab.c:883 #7 0x00007f55dbe5354c in dt_pid_create_usdt_probes_proc (dtp=0x1a47ebb0, dpr=0x29234ea0, pdp=0x7fff392bb090, pcb=0x7fff392bb170) at libdtrace/dt_pid.c:987 #8 0x00007f55dbe54056 in dt_pid_create_usdt_probes (pdp=0x2ac157c0, dtp=0x1a47ebb0, pcb=0x7fff392bb170) at libdtrace/dt_pid.c:1265 #9 0x00007f55dbe71ce2 in discover (dtp=0x1a47ebb0) at libdtrace/dt_prov_uprobe.c:520 #10 0x00007f55dbe747a2 in dt_provider_discover (dtp=0x1a47ebb0) at libdtrace/dt_provider.c:183 #11 0x00007f55dbe7c1b1 in dtrace_work (dtp=0x1a47ebb0, fp=0x7f55dbcfc780 <_IO_2_1_stdout_>, pfunc=0x404211 <chew>, rfunc=0x40419e <chewrec>, arg=0x0) at libdtrace/dt_work.c:377 #12 0x00000000004066d5 in main (argc=11, argv=0x7fff392bb7b8) at cmd/dtrace.c:1556 (This can also kick in when DTrace erroneously considers a process dead even though it isn't, which is actually what happened here: we fix that in a later commit.) Fixed by simply checking to see if the process has been Prelease()d in Puntrace(), and returning early. The process is released and all Puntrace()s have already been done: there is nothing left to do. Signed-off-by: Nick Alcock <[email protected]> Reviewed-by: Kris Van Hees <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The markup version of the readme that is displayed for the main page in this repo contains the following bad link:
Status code [404:NotFound] - Link: https://github.com/oracle/dtrace-linux-kernel/v2/5.8.1
It looks like it should be this link: https://github.com/oracle/dtrace-linux-kernel/tree/v2/5.8.1
Extra
This bad link was found by a tool I recently created as part of an new experimental hobby project: https://github.com/MrCull/GitHub-Repo-ReadMe-Dead-Link-Finder
If you have any feedback on the information provided here, or on the tool itself, then please feel free to share your thoughts here, or log an “Issue” in the repo.
Re-check this Repo via: http://githubreadmechecker.com/Home/Search?SingleRepoUri=https%3a%2f%2fgithub.com%2foracle%2fdtrace-utils