-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Crash in WinToGo index selection on unofficial ISOs where the WIM doesn't have a DISPLAYNAME entry #991
Comments
Please provide the full log from Rufus after selecting your ISO and before clicking Start. There's a lot of information that I can get, even without the one that leads to the issue, that is critical to investigating the problem. |
The issue is unrelated to anything in the log (you can only see that I want to use RS3 Build 16251). Your logging has issues:
this leads to the crash
|
It is, because it is related to the ISO and possibly the platform you are using as well as other potential factors (possibly the locale), that are being logged for the specific reason of helping me troubleshoot these kind of issues. For you reference, this issue is not something that I have been able to replicate or that any other user of Rufus has ever reported with the official ISOs from Microsoft, which is why, at the very least, I need to have more data about the ISO you are using, data that I know I can always get from the log. There's a reason why I ask anyone who creates an issue to always provide a log. Even with your partial stack trace, without information about the ISO you are using, or your platform or your locale, I could spend DAYS trying to replicate an issue that would otherwise take me 1 min, by simply using the data I get from the log to test in the same conditions as the ones where the problem was observed. Trying to fix issues in the blind (i.e. without being able to replicate the original problem) is the shortest way to:
Now, from what I could see, |
Oh, and for your reference, if you equate a NULL or invalid pointer derefence, invoked during logging, to "Your logging has issues", and believe that locating the cause of the invalid derefence is superfluous to fixing the issue (i.e. the precise reason why the trace you provided was not enough and I asked for more data), I suggest you take a few online courses about software development. Please don't make the beginner's mistake of assuming that, because you provided a trace, everything that's required to identifying the cause of an issue and its fix has been made available. |
You access This happens here because the WIM has only 1 index, because this is a selfmade ISO (decrypt-multi-release) from UUP data during upgrading from 16241 to 16251. So you do the noob mistake nr. 1 to access variables without NULL checks and try to tell others what they do wrong. I'm out of this discussion. You are god and I have peace and quiet. |
and as expected, commenting out the buggy log call fixes it. Now I can create a WinToGo drive successfully. |
That's where your analysis is wrong. Please feel free to test with the official So you can get down of your high horse now, and let actual developers do their job of properly analysing issues.
And of course you expect applications to perform tests against self made ISOs? Unfortunately for your nice attempt of deflecting what I called you out on, which was that you only provided a trace, and no information whatsoever about the ISO you are using, because you wanted to pretend that the log was superfluous, you have just disproved your own point. That is unless you expect developers to have magic balls and guess the specifics of one's custom ISOs. Again, even it may come as a suprise to you since I'm supposed to be a noob developer, but I did test many official ISOs since I introduced the index selection (including ones that only have one index) and none had this issue.
Yes. And water is wet. But being aware that this has something to do with index selection, or even the number of indexes, is not all there is to the issue, as we have just established.
If we go by your standards, then every developer is a noob, coz this is certainly not the first NULL dereference you'll find in Rufus or other software, nor will it be the last. There's a reason why this is the most common issue in C applications, and there's hardly an experienced developer out there that will pretend they are immune to overlooking a NULL deref. Of course, and this is the kicker here, the actual noob mistake is to think that adding a NULL check is the solution, whereas the actual resolution is to identify the reason why the NULL pointer exists in the first place and prevent that. But hey, feel free to believe that commenting code, without understanding why it fails on one ISO and not another, somehow makes you a leet coder... Then again, and even more damning, if you want to lecture someone on NULL checks and noob mistakes, you better make sure that there is an actual NULL check issue... which there isn't As a matter of fact, you can pass NULL for ALL of the parameters for the log call you pointed out, and you will see no crash at all. In other words, this log call:
Will result in Rufus happily printing this:
Instead, the actual issue is an out of bound index, and there's no "noob mistake nr. 1 to access variables without NULL checks" here. But please don't let reality distract you from a good mic drop...
There are so many wrong assertions in this statement, I don't even know where to begin.
|
Now, if you want to be useful, and since I know that you are used to helping people (which I am usually thankful for, even though I suspect this may influence you to look down on any deserved criticism), do you know if there a specification for the index data that is supposed to the present in a WIM? The actual issue here is that I have been assuming that an official WIMs should always have a I guess the one fix I can go with is to use |
Just for reference, this is the WIM XML index of the problematic ISO:
And this is the WIM XML index of an official Microsoft ISO with a single entry (but with a
Oh, and I also checked the latest official Insider release ( |
Looking at this further, I don't think we want to switch to using instead of the much more presentable: There's a good reason why Microsoft uses a I guess I have two choices here:
|
Well, since OP has chosen to take the high road, and hasn't had the decency to come back to acknowledge his many erroneous assertions, and before I close this issue, I will produce a post-mortem that I believe can serve as a very good example of what not to do when logging an issue. This way, I'll be able to use this entry as an educational warning of what to avoid, in order not to lose all credibility when asking a developer to look into your problem. For the sake of brevity, I'll keep it to 4 major points:
I'll just conclude that, despite what it seem some individuals are keen on believing, issue reports are not place where you get Internet street cred'. So you can leave attempts at a mic drop and exiting the scene with a overly raised chin to actual rap battles, and at least have the decency to acknowledge your mistakes when you are repeatedly proven wrong. |
I don't discuss with users who have no idea what they do. Take a course with the topic "defensive programming" and learn to make code reliable. |
That assertion would work a lot better if you could show that this has ever been the case here, which you have repeatedly failed to demonstrate. Instead, all we've seen is that you have been jumping to erroneous conclusions over and over, about what information was needed, or where the problem was located, or even the type of issue that the noob that I (allegedly) am should have proactively "defended" against. So, if I too were to pass arbitrary judgement, I would say that the facts, so far, have supported in a pretty eloquent manner that you are instead the person with the most limited knowledge here. And, while I can certainly understand why, coming from an environment where the situation is usually reversed and where you are dealing with people who are more clueless than you are, you may have some trouble adjusting, I also have to say that you are not doing yourself any favour by trying to double down on the "I'm more of an expert on software development than you will ever be", especially when your public history fails to provide any credibility to that supposition.
In that case, may I suggest that you enroll in a "Gracefully acknowledging when you are wrong and moving on" course? |
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue if you think you have a related problem or query. |
Checklist
Log
button in Rufus and copy/pasted the log into the line that says<FULL LOG>
below. (can't do this as rufus crashes without giving me a log)Rufus version: x.y.z
- I have NOT removed any part of it.Issue description
When I select "WinToGo" as destination in rufus 2.15, 2.16, rufus crashes when I click to start the action. Because it crashes, I get no log, but I compiled rufus on my own and activated the option to generate PDBs to help debugging, so I post the Windbg result:
Log
The text was updated successfully, but these errors were encountered: