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

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions