-
-
Notifications
You must be signed in to change notification settings - Fork 27
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
Frozen String Instance on Windows #115
Comments
Thanks for reporting this. I appreciate having more examples of Frozen strings, but if it occurs on all the entries, I fear it will fall into the same bucket as #111, #112, and #113, which I have yet to be able to reproduce. It is interesting that you are on Windows, so far the offending machines have all been Macs. Depending on how you have Ruby installed, may I suggest trying Ruby 3.2? If you use rvm, or rbenv, it should be easy to flip over and try that one. That has helped some in the past. I'll try tossing this code on my Windows test machine to see if I can recreate it there. Also, if you have Docker installed, I'd be interested to see if that route produces any different response. Once I can finally reproduce this, maybe I can figure out what the issue is. |
I just added a visible backtrace to where that error is rescued. Please pull down commit 935c2fe and let me see one of the backtraces. Thank you! |
I downloaded the Ruby-dev from https://rubyinstaller.org/downloads/ This is an example of the backtrace...
|
Also tried it on macOS v15.1.1 with Ruby v3.6.6 installed via |
Thank you, this is very helpful. |
I really appreciate that backtrace, the error was not what I expected. I believe what happened is that about a year ago I regenerated the protobuf definitions and did not notice that it added this line: This line made all String literals in the program frozen by default. I then earlier this year edited the What I'm not sure of is why my clients don't throw errors, and others do. But I have updated that line to no longer force the encoding, can you please see if the current revision works better for you? apple_cloud_notes_parser/lib/AppleNote.rb Lines 311 to 316 in ad1412a
|
Thank for your quick and swift responses! I did a new
|
Thank you, this is all a good reminder I need to get my Windows test box back up and running. Please try my latest commit, now instead of comparing against a String, it is comparing the raw bytes at the start. |
I am very sorry, I messed up the testing! Please disregard my last message earlier this day... |
Again my apologies. Let me rewind and explain everything step-by-step from the beginning. First, I tried - as mentioned in the initial post - v0.19.
As already discussed, the 49 recovered AppleNotes are not correctly shown, due to the following error
Next, you proposed to add a backtrace, what generated a certain output (see higher) Yesterday, on 16-12-24, you released a fix. (last commit of today NOT included)
Notice that this time 0 AppleNotes are recovered. The debug.log mentions the following:
Finally, I mentioned today an error, but it wasn't correct. So your patch (commit e3c9f85) is of no use, I guess. Conclusion, the patch from yesterday did not work properly; worse: the notes are not recognized at all |
Thank you outlining that. I am sorry for so much back and forth and appreciate your data to help troubleshoot this. I rebuilt my Windows test VM and was able to recreate the frozen string error. Commit 1be02e6 added backtraces back in for frozen strings (but only into the Having done some digging, the |
Looking good on Win10 and on macOS v15.1.1! It's working as expected.
debug output:
|
That's great to hear! Thank you again for being willing to dig into the stack traces, I greatly appreciated the opportunity to finally figure out this bug. |
Describe the bug
I noticed that ZDATA from
ZICNOTEDATA
is not properly decompressed for each note, resulting in not appearing in the output files.To Reproduce
Steps to reproduce the behavior:
notes_cloud_ripper.rb --file NoteStore.sqlite
ERROR -- : AppleNoteStore: NoteStore tried to rip Note17 but had to rescue error: can't modify frozen String:
Expected behavior
Bodycontent of each note in cleartext in output files
Desktop (please complete the following information):
Command used
notes_cloud_ripper.rb -f NoteStore.sqlite
Please confirm the following
bundle install
- YAdditional context
The text was updated successfully, but these errors were encountered: