Skip to content

Error: no implicit conversion of Pathname into String #129

@Whee30

Description

@Whee30

Describe the bug

When running the script through Windows against Notestore.sqlite with a known password:
ruby ./notes_cloud_ripper.rb -f NoteStore.sqlite -w notes_pws.txt

The following error is received:

C:/Ruby34-x64/lib/ruby/3.4.0/logger/log_device.rb:99:in 'File#initialize': no implicit conversion of Pathname into String (TypeError)

    dev = File.new(dev.fileno, mode: MODE, path: filename)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    from C:/Ruby34-x64/lib/ruby/3.4.0/logger/log_device.rb:99:in 'IO.new'
    from C:/Ruby34-x64/lib/ruby/3.4.0/logger/log_device.rb:99:in 'Logger::LogDevice#fixup_mode'
    from C:/Ruby34-x64/lib/ruby/3.4.0/logger/log_device.rb:123:in 'Logger::LogDevice#create_logfile'
    from C:/Ruby34-x64/lib/ruby/3.4.0/logger/log_device.rb:110:in 'Logger::LogDevice#open_logfile'
    from C:/Ruby34-x64/lib/ruby/3.4.0/logger/log_device.rb:85:in 'Logger::LogDevice#set_dev'
    from C:/Ruby34-x64/lib/ruby/3.4.0/logger/log_device.rb:19:in 'Logger::LogDevice#initialize'
    from C:/Ruby34-x64/lib/ruby/3.4.0/logger.rb:593:in 'Class#new'
    from C:/Ruby34-x64/lib/ruby/3.4.0/logger.rb:593:in 'Logger#initialize'
    from notes_cloud_ripper.rb:166:in 'Class#new'
    from notes_cloud_ripper.rb:166:in '<main>'

C:/Ruby34-x64/lib/ruby/3.4.0/logger/log_device.rb:108:in 'File#initialize': No such file or directory @ rb_sysopen - ./output/2026_01_15-10_53_21/debug_log.txt (Errno::ENOENT)
from C:/Ruby34-x64/lib/ruby/3.4.0/logger/log_device.rb:108:in 'IO.open'
from C:/Ruby34-x64/lib/ruby/3.4.0/logger/log_device.rb:108:in 'Logger::LogDevice#open_logfile'
from C:/Ruby34-x64/lib/ruby/3.4.0/logger/log_device.rb:85:in 'Logger::LogDevice#set_dev'
from C:/Ruby34-x64/lib/ruby/3.4.0/logger/log_device.rb:19:in 'Logger::LogDevice#initialize'
from C:/Ruby34-x64/lib/ruby/3.4.0/logger.rb:593:in 'Class#new'
from C:/Ruby34-x64/lib/ruby/3.4.0/logger.rb:593:in 'Logger#initialize'
from notes_cloud_ripper.rb:166:in 'Class#new'
from notes_cloud_ripper.rb:166:in '

'

To Reproduce
Steps to reproduce the behavior:

1 - Place NoteStore.sqlite in the program's folder
2 - Place password file with one entry per line in the program's folder
3 - run a cmd prompt with ruby and the following command:

ruby ./notes_cloud_ripper.rb -f NoteStore.sqlite -w notes_pws.txt
4 - Receive the error listed above

Expected behavior
Expected results are decrypted notes

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):
Windows 11
Ruby 3.4.8
Sqlite3 3.51.1

Smartphone Source (please complete the following information, if applicable):

  • iPhone 13 Pro
  • iOS 18.5

Command used
ruby ./notes_cloud_ripper.rb -f NoteStore.sqlite -w notes_pws.txt

Please confirm the following

  • Error occurs on the latest version of this program on GitHub [Y/N] - Y
  • You have run bundle install [Y/N] - Y

Additional context
Add any other context about the problem here.

Metadata

Metadata

Labels

need-to-reproduceFor things that can't yet be reliably reproduced in testing

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions