Open joel opened 3 years ago
@joel Thanks for reporting. I'll see what I can do.
It seems like an issue for Big Sur.
@joel Fortunately, a workaround would be using docker:
$ wget -O IMG_4977.jpg https://user-images.githubusercontent.com/5789/101786222-f8c92200-3afd-11eb-9676-5ffa7a93e089.JPG
$ docker run --rm -v `pwd`:/work -w /work ruby:2.7.2 sh -c 'gem install exif > /dev/null && ruby -r exif -e "puts Exif::Data.new(IO.read(%{IMG_4977.jpg})).date_time_original"'
2014:01:01 01:24:47
@tonytonyjan thanks to taking the time to have a look, did you get the crash on your own? Or did it go well for you?
Thanks for the workaround, it would help for sure! I will try to isolate the problematic images.
I had the opportunity to try with a different setup:
macOs Mojave
MacBook Pro Retina 13 pouces mid-2014
Processors 2.6 Ghz Intel Core 5
xcode-select --version
xcode-select version 2354.
ruby --version
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-darwin16]
clang --version
Apple LLVM version 10.0.1 (clang-1001.0.46.4)
Target: x86_64-apple-darwin18.7.0
Thread model: posix
brew info libexif
libexif: stable 0.6.22
gem info exif
exif (2.2.0)
Author: Jian Weihang
Homepage: https://github.com/tonytonyjan/exif
License: MIT
Installed at: ~/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0
Same result:
thread 20 consuming [/Volumes/Backup Spare/Corrupted Images/Bibliotheque iPhoto/2015/03/20150324-191932/IMG_0021.jpg]
pictures_organizer.rb:54: [BUG] Segmentation fault at 0x0000000000000000
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-darwin16]
-- Crash Report log information --------------------------------------------
See Crash Report log file under the one of following:
* ~/Library/Logs/DiagnosticReports
* /Library/Logs/DiagnosticReports
for more details.
Don't forget to include the above Crash Report log file in bug reports.
-- Control frame information -----------------------------------------------
c:0006 p:---- s:0037 e:000036 CFUNC :new
c:0005 p:0046 s:0032 e:000031 METHOD pictures_organizer.rb:54
c:0004 p:0012 s:0019 e:000017 METHOD pictures_organizer.rb:36
c:0003 p:0076 s:0014 e:000013 METHOD pictures_organizer.rb:226
c:0002 p:0024 s:0006 e:000005 BLOCK pictures_organizer.rb:190 [FINISH]
c:0001 p:---- s:0003 e:000002 (none) [FINISH]
-- Ruby level backtrace information ----------------------------------------
pictures_organizer.rb:190:in `block (2 levels) in call'
pictures_organizer.rb:226:in `consume'
pictures_organizer.rb:36:in `copy'
pictures_organizer.rb:54:in `target_file_path'
pictures_organizer.rb:54:in `new'
-- Machine register context ------------------------------------------------
rax: 0x00007fb3ad0c7ca0 rbx: 0x0000000000000001 rcx: 0x0000000000000001
rdx: 0x0000000000000001 rdi: 0x0000000000000000 rsi: 0x0000000000ece10c
rbp: 0x00007000031d68a0 rsp: 0x00007000031d68a0 r8: 0x0000000000000066
r9: 0x0000000104b73000 r10: 0x2d6eb2487e8d34b5 r11: 0x43cee8814c725eab
r12: 0x0000000000000000 r13: 0x00007000031d6998 r14: 0x00007fb3ad0c79d0
r15: 0x00007fb3accea080 rip: 0x00007fff699066f2 rfl: 0x0000000000010246
-- C level backtrace information -------------------------------------------
~/.asdf/installs/ruby/2.7.2/lib/libruby.2.7.dylib(rb_vm_bugreport+0x96) [0x101402f76]
~/.asdf/installs/ruby/2.7.2/lib/libruby.2.7.dylib(0x101245211) [0x101245211]
~/.asdf/installs/ruby/2.7.2/lib/libruby.2.7.dylib(0x10136873b) [0x10136873b]
/usr/lib/system/libsystem_platform.dylib(_sigtramp+0x1d) [0x7fff69909b5d]
/usr/lib/system/libsystem_platform.dylib(0x7fff699066f2) [0x7fff699066f2]
-- Other runtime information -----------------------------------------------
* Loaded script: pictures_organizer.rb
* Loaded features:
0 enumerator.so
1 thread.rb
2 rational.so
3 complex.so
4 ruby2_keywords.rb
5 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/encdb.bundle
6 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
7 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/rbconfig.rb
8 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/rubygems/compatibility.rb
9 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/rubygems/defaults.rb
10 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/rubygems/deprecate.rb
11 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/rubygems/errors.rb
12 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/rubygems/version.rb
13 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/rubygems/requirement.rb
14 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/rubygems/platform.rb
15 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/rubygems/basic_specification.rb
16 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/rubygems/stub_specification.rb
17 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/rubygems/util.rb
18 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/rubygems/text.rb
19 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/rubygems/user_interaction.rb
20 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/rubygems/specification_policy.rb
21 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/rubygems/util/list.rb
22 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/rubygems/specification.rb
23 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/rubygems/exceptions.rb
24 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/rubygems/bundler_version_finder.rb
25 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/rubygems/dependency.rb
26 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/rubygems/core_ext/kernel_gem.rb
27 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/monitor.bundle
28 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/monitor.rb
29 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb
30 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/rubygems/core_ext/kernel_warn.rb
31 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/rubygems.rb
32 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/rubygems/path_support.rb
33 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/did_you_mean/version.rb
34 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/did_you_mean/core_ext/name_error.rb
35 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/did_you_mean/levenshtein.rb
36 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/did_you_mean/jaro_winkler.rb
37 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/did_you_mean/spell_checker.rb
38 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb
39 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
40 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/did_you_mean/spell_checkers/name_error_checkers.rb
41 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/did_you_mean/spell_checkers/method_name_checker.rb
42 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/did_you_mean/spell_checkers/key_error_checker.rb
43 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/did_you_mean/spell_checkers/null_checker.rb
44 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/did_you_mean/formatters/plain_formatter.rb
45 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/did_you_mean/tree_spell_checker.rb
46 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/did_you_mean.rb
47 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/shellwords.rb
48 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/fileutils.rb
49 ~/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/exif-2.2.0/lib/exif/version.rb
50 ~/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/exif-2.2.0/lib/exif/exif.bundle
51 ~/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/exif-2.2.0/lib/exif.rb
52 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/ostruct/version.rb
53 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/ostruct.rb
54 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/date_core.bundle
55 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/date.rb
56 ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/timeout.rb
* Process memory map:
1011ac000-1011ad000 r-x ~/.asdf/installs/ruby/2.7.2/bin/ruby
1011ad000-1011ae000 rw- ~/.asdf/installs/ruby/2.7.2/bin/ruby
1011ae000-1011af000 r-- ~/.asdf/installs/ruby/2.7.2/bin/ruby
1011af000-1011b1000 rw- ~/.asdf/installs/ruby/2.7.2/lib/libruby.2.7.dylib
1011b1000-1011b2000 r-- ~/.asdf/installs/ruby/2.7.2/lib/libruby.2.7.dylib
1011b2000-1011b3000 rw- ~/.asdf/installs/ruby/2.7.2/lib/libruby.2.7.dylib
1011b3000-1011b4000 r-- ~/.asdf/installs/ruby/2.7.2/lib/libruby.2.7.dylib
1011b4000-1011b5000 r-- ~/.asdf/installs/ruby/2.7.2/lib/libruby.2.7.dylib
1011b5000-1011b6000 rw- ~/.asdf/installs/ruby/2.7.2/lib/libruby.2.7.dylib
1011b6000-1014af000 r-x ~/.asdf/installs/ruby/2.7.2/lib/libruby.2.7.dylib
1014af000-1014b6000 rw- ~/.asdf/installs/ruby/2.7.2/lib/libruby.2.7.dylib
1014b6000-1014ce000 rw- ~/.asdf/installs/ruby/2.7.2/lib/libruby.2.7.dylib
1014ce000-101524000 r-- ~/.asdf/installs/ruby/2.7.2/lib/libruby.2.7.dylib
101524000-101525000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/encdb.bundle
101525000-101529000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/encdb.bundle
101529000-10152a000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/encdb.bundle
10152a000-10152b000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/encdb.bundle
10152b000-10152f000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/encdb.bundle
10152f000-101530000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/encdb.bundle
101530000-101570000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/encdb.bundle
101570000-10158a000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/encdb.bundle
10158a000-10168a000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/encdb.bundle
10168a000-10169a000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/encdb.bundle
10169a000-1016fa000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/encdb.bundle
1016fa000-1016fc000 r-x ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/encdb.bundle
1016fc000-1016fd000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/encdb.bundle
1016fd000-1016fe000 r-- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/encdb.bundle
101700000-103700000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103700000-103714000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103714000-103720000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103720000-103721000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103721000-1037c2000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
1037c2000-1037c3000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
1037c3000-103864000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103864000-103865000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103865000-103906000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103906000-103907000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103907000-1039a8000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
1039a8000-1039a9000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
1039a9000-103a4a000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103a4a000-103a4b000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103a4b000-103aec000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103aec000-103aed000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103aed000-103b8e000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103b8e000-103b8f000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103b8f000-103c30000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103c30000-103c31000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103c31000-103cd2000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103cd2000-103cd3000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103cd3000-103d74000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103d74000-103d75000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103d75000-103e16000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103e16000-103e17000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103e17000-103eb8000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103eb8000-103eb9000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103eb9000-103f5a000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103f5a000-103f5b000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103f5b000-103ffc000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103ffc000-103ffd000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
103ffd000-10409e000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
10409e000-10409f000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
10409f000-104140000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
104140000-104141000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
104141000-1041e2000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
1041e2000-1041e3000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
1041e3000-104284000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
104284000-104285000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
104285000-104326000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
104326000-104327000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
104327000-1043c8000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
1043c8000-1043c9000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
1043c9000-10446a000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
10446a000-10446b000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
10446b000-10450c000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
10450c000-10450d000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
10450d000-1045ae000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
1045ae000-1045af000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
1045af000-104650000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
104650000-104651000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
104651000-1046f2000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
1046f2000-1046f3000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
1046f3000-104794000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
104794000-104795000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
104795000-104836000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
104836000-104837000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
104837000-1048d8000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
1048d8000-1048d9000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
1048d9000-10497a000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
10497a000-10497b000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
10497b000-104a1c000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
104a1c000-104a1d000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
104a1d000-104abe000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
104abe000-104abf000 --- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
104abf000-104b60000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
104b60000-104b62000 r-x ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
104b62000-104b63000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
104b63000-104b64000 r-- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/enc/trans/transdb.bundle
104b64000-104b73000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/monitor.bundle
104b73000-104b8b000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/monitor.bundle
104b8b000-104ba8000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/monitor.bundle
104ba8000-104be1000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/monitor.bundle
104be1000-104be2000 r-x ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/monitor.bundle
104be2000-104be3000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/monitor.bundle
104be3000-104be4000 r-- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/monitor.bundle
104be4000-104c1d000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/exif-2.2.0/lib/exif/exif.bundle
104c1d000-104c22000 r-x ~/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/exif-2.2.0/lib/exif/exif.bundle
104c22000-104c23000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/exif-2.2.0/lib/exif/exif.bundle
104c23000-104c25000 r-- ~/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/exif-2.2.0/lib/exif/exif.bundle
104c25000-104c42000 r-x /usr/local/Cellar/libexif/0.6.22/lib/libexif.12.dylib
104c42000-104c55000 rw- /usr/local/Cellar/libexif/0.6.22/lib/libexif.12.dylib
104c55000-104c59000 r-- /usr/local/Cellar/libexif/0.6.22/lib/libexif.12.dylib
104c59000-104c63000 r-x /usr/local/Cellar/gettext/0.21/lib/libintl.8.dylib
104c63000-104c64000 rw- /usr/local/Cellar/gettext/0.21/lib/libintl.8.dylib
104c64000-104c65000 rw- /usr/local/Cellar/gettext/0.21/lib/libintl.8.dylib
104c65000-104c68000 r-- /usr/local/Cellar/gettext/0.21/lib/libintl.8.dylib
104c68000-104ca6000 r-x ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/date_core.bundle
104ca6000-104ca7000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/date_core.bundle
104ca7000-104ca8000 rw- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/date_core.bundle
104ca8000-104cb6000 r-- ~/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/x86_64-darwin16/date_core.bundle
104cb6000-104cca000 rw- ~/.asdf/installs/ruby/2.7.2/bin/ruby
104cca000-104dc2000 rw- ~/.asdf/installs/ruby/2.7.2/bin/ruby
104dc2000-104f49000 rw- ~/.asdf/installs/ruby/2.7.2/bin/ruby
104f49000-10500e000 rw- ~/.asdf/installs/ruby/2.7.2/bin/ruby
10500e000-105103000 rw- ~/.asdf/installs/ruby/2.7.2/bin/ruby
105103000-1051e5000 rw- ~/.asdf/installs/ruby/2.7.2/bin/ruby
1051e5000-1052de000 rw- ~/.asdf/installs/ruby/2.7.2/bin/ruby
1052de000-10539c000 rw- ~/.asdf/installs/ruby/2.7.2/bin/ruby
10539c000-1054a2000 rw- ~/.asdf/installs/ruby/2.7.2/bin/ruby
1054a2000-1055c0000 rw- ~/.asdf/installs/ruby/2.7.2/bin/ruby
1055c0000-1056cc000 rw- ~/.asdf/installs/ruby/2.7.2/bin/ruby
1056cc000-105865000 rw- ~/.asdf/installs/ruby/2.7.2/bin/ruby
105865000-1058ea000 rw- ~/.asdf/installs/ruby/2.7.2/bin/ruby
1058ea000-1059eb000 rw- ~/.asdf/installs/ruby/2.7.2/bin/ruby
1059eb000-105afb000 rw- ~/.asdf/installs/ruby/2.7.2/bin/ruby
105afb000-105bfe000 rw- ~/.asdf/installs/ruby/2.7.2/bin/ruby
105bfe000-105c5b000 rw- ~/.asdf/installs/ruby/2.7.2/bin/ruby
105c5b000-105d56000 rw- ~/.asdf/installs/ruby/2.7.2/bin/ruby
105d56000-105e65000 rw- ~/.asdf/installs/ruby/2.7.2/bin/ruby
105e65000-105f5d000 rw- ~/.asdf/installs/ruby/2.7.2/bin/ruby
105f5d000-10609c000 rw- ~/.asdf/installs/ruby/2.7.2/bin/ruby
10609c000-10609f000 r-- ~/.asdf/installs/ruby/2.7.2/bin/ruby
10609f000-1063f5000 r-- ~/.asdf/installs/ruby/2.7.2/lib/libruby.2.7.dylib
10a8f8000-10a963000 r-x /usr/lib/dyld
10a963000-10a968000 rw- /usr/lib/dyld
10a968000-10a99c000 rw- /usr/lib/dyld
10a99c000-10a9c3000 r-- /usr/lib/dyld
700002c4d000-700002c4e000 --- /usr/lib/dyld
700002c4e000-700002cd0000 rw- /usr/lib/dyld
700002cd0000-700002cd1000 --- /usr/lib/dyld
700002cd1000-700002ed3000 rw- /usr/lib/dyld
700002ed3000-700002ed4000 --- /usr/lib/dyld
700002ed4000-7000030d6000 rw- /usr/lib/dyld
7000030d6000-7000030d7000 --- /usr/lib/dyld
7000030d7000-7000032d9000 rw- /usr/lib/dyld
7000032d9000-7000032da000 --- /usr/lib/dyld
7000032da000-7000034dc000 rw- /usr/lib/dyld
7000034dc000-7000034dd000 --- /usr/lib/dyld
7000034dd000-7000036df000 rw- /usr/lib/dyld
7000036df000-7000036e0000 --- /usr/lib/dyld
7000036e0000-7000038e2000 rw- /usr/lib/dyld
7000038e2000-7000038e3000 --- /usr/lib/dyld
7000038e3000-700003ae5000 rw- /usr/lib/dyld
700003ae5000-700003ae6000 --- /usr/lib/dyld
700003ae6000-700003ce8000 rw- /usr/lib/dyld
700003ce8000-700003ce9000 --- /usr/lib/dyld
700003ce9000-700003eeb000 rw- /usr/lib/dyld
700003eeb000-700003eec000 --- /usr/lib/dyld
700003eec000-7000040ee000 rw- /usr/lib/dyld
7000040ee000-7000040ef000 --- /usr/lib/dyld
7000040ef000-7000042f1000 rw- /usr/lib/dyld
7000042f1000-7000042f2000 --- /usr/lib/dyld
7000042f2000-7000044f4000 rw- /usr/lib/dyld
7000044f4000-7000044f5000 --- /usr/lib/dyld
7000044f5000-7000046f7000 rw- /usr/lib/dyld
7000046f7000-7000046f8000 --- /usr/lib/dyld
7000046f8000-7000048fa000 rw- /usr/lib/dyld
7000048fa000-7000048fb000 --- /usr/lib/dyld
7000048fb000-700004afd000 rw- /usr/lib/dyld
700004afd000-700004afe000 --- /usr/lib/dyld
700004afe000-700004d00000 rw- /usr/lib/dyld
700004d00000-700004d01000 --- /usr/lib/dyld
700004d01000-700004f03000 rw- /usr/lib/dyld
700004f03000-700004f04000 --- /usr/lib/dyld
700004f04000-700005106000 rw- /usr/lib/dyld
700005106000-700005107000 --- /usr/lib/dyld
700005107000-700005309000 rw- /usr/lib/dyld
700005309000-70000530a000 --- /usr/lib/dyld
70000530a000-70000550c000 rw- /usr/lib/dyld
7fb3acc00000-7fb3acd00000 rw- /usr/lib/dyld
7fb3acd00000-7fb3ace00000 rw- /usr/lib/dyld
7fb3ace00000-7fb3acf00000 rw- /usr/lib/dyld
7fb3acf00000-7fb3ad000000 rw- /usr/lib/dyld
7fb3ad000000-7fb3ad800000 rw- /usr/lib/dyld
7fb3ad800000-7fb3ae000000 rw- /usr/lib/dyld
7fb3ae000000-7fb3ae800000 rw- /usr/lib/dyld
7fb3ae800000-7fb3af000000 rw- /usr/lib/dyld
7fb3af000000-7fb3af100000 rw- /usr/lib/dyld
7fb3af100000-7fb3af200000 rw- /usr/lib/dyld
7ffeeaa54000-7ffeee254000 --- /usr/lib/dyld
7ffeee254000-7ffeeea54000 rw- /usr/lib/dyld
7fff00000000-7fff80000000 r-- /usr/lib/dyld
7fff80000000-7fff97e00000 r-- /usr/lib/dyld
7fff97e00000-7fff98000000 rw- /usr/lib/dyld
7fff98000000-7fff98200000 rw- /usr/lib/dyld
7fff98200000-7fff98600000 r-- /usr/lib/dyld
7fff98600000-7fff98800000 rw- /usr/lib/dyld
7fff98800000-7fff98a00000 rw- /usr/lib/dyld
7fff98a00000-7fff98c00000 rw- /usr/lib/dyld
7fff98c00000-7fff98e00000 rw- /usr/lib/dyld
7fff98e00000-7fff99000000 rw- /usr/lib/dyld
7fff99000000-7fff99200000 r-- /usr/lib/dyld
7fff99200000-7fff99400000 rw- /usr/lib/dyld
7fff99400000-7fff9a200000 r-- /usr/lib/dyld
7fff9a200000-7fff9a400000 rw- /usr/lib/dyld
7fff9a400000-7fff9c000000 r-- /usr/lib/dyld
7fff9c000000-7fff9c200000 rw- /usr/lib/dyld
7fff9c200000-7fff9d000000 r-- /usr/lib/dyld
7fff9d000000-7fff9d200000 rw- /usr/lib/dyld
7fff9d200000-7fff9f600000 r-- /usr/lib/dyld
7fff9f600000-7fff9f800000 rw- /usr/lib/dyld
7fff9f800000-7fff9fa00000 rw- /usr/lib/dyld
7fff9fa00000-7fff9fc00000 rw- /usr/lib/dyld
7fff9fc00000-7fff9fe00000 rw- /usr/lib/dyld
7fff9fe00000-7fff9ffd7000 rw- /usr/lib/dyld
7fff9ffd7000-7fffc0000000 r-- /usr/lib/dyld
7fffc0000000-7fffffe00000 r-- /usr/lib/dyld
7fffffe00000-7fffffe01000 r-- /usr/lib/dyld
7fffffe29000-7fffffe2a000 r-x /usr/lib/dyld
[IMPORTANT]
Don't forget to include the Crash Report log file under
DiagnosticReports directory in bug reports.
Abort trap: 6
Anyway, it doesn't seem related to ruby in anyway. I've tried with different version, like truffleruby, jruby, etc.. It might be a issue at libexif
level actually.
@joel Sorry for the late reply. And sorry that I can hardly have time to look into this issue because I am actually looking for a job recently and my schedule is full of interview events. 😢 If you found the cause of the problem, feel free to send a pull request. I would really appreciate your help.
I am getting a similar crash.
clang --version
Apple clang version 12.0.0 (clang-1200.0.32.29)
Target: x86_64-apple-darwin20.3.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
ruby --version
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-darwin19]
brew info libexif
libexif: stable 0.6.22 (bottled)
gem info exif
*** LOCAL GEMS ***
exif (2.2.0)
Author: Jian Weihang
Homepage: https://github.com/tonytonyjan/exif
License: MIT
Installed at: /Users/renchap/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0
Ruby EXIF reader written in C extension.
It happens with JPG files exported from the Photos app (pictures from an iPhone 11).
Stack trace:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fff203b2462 __pthread_kill + 10
1 libsystem_pthread.dylib 0x00007fff203e0610 pthread_kill + 263
2 libsystem_c.dylib 0x00007fff20333720 abort + 120
3 libruby.2.7.dylib 0x000000010f708cb9 die + 9
4 libruby.2.7.dylib 0x000000010f708ee3 rb_bug_for_fatal_signal + 547
5 libruby.2.7.dylib 0x000000010f83390b sigsegv + 91
6 libsystem_platform.dylib 0x00007fff20424d7d _sigtramp + 29
7 ??? 000000000000000000 0 + 0
8 libruby.2.7.dylib 0x000000010f86c48f rb_intern + 15
9 exif.bundle 0x0000000111032d29 each_entry + 793 (data.c:272)
10 libexif.12.dylib 0x0000000111043929 exif_content_foreach_entry + 52
11 libexif.12.dylib 0x0000000111045970 exif_data_foreach_content + 42
12 exif.bundle 0x0000000111032885 new + 757 (data.c:236)
13 libruby.2.7.dylib 0x000000010f8c184c vm_call_cfunc + 364
14 libruby.2.7.dylib 0x000000010f8a7bb0 vm_exec_core + 14560
15 libruby.2.7.dylib 0x000000010f8bc6d3 rb_vm_exec + 2707
16 libruby.2.7.dylib 0x000000010f8b6496 rb_f_eval + 742
17 libruby.2.7.dylib 0x000000010f8c184c vm_call_cfunc + 364
18 libruby.2.7.dylib 0x000000010f8a7bb0 vm_exec_core + 14560
19 libruby.2.7.dylib 0x000000010f8bc6d3 rb_vm_exec + 2707
20 libruby.2.7.dylib 0x000000010f8cc0d7 loop_i + 71
21 libruby.2.7.dylib 0x000000010f714c64 rb_vrescue2 + 276
22 libruby.2.7.dylib 0x000000010f714b2b rb_rescue2 + 123
23 libruby.2.7.dylib 0x000000010f8c184c vm_call_cfunc + 364
24 libruby.2.7.dylib 0x000000010f8a7a40 vm_exec_core + 14192
25 libruby.2.7.dylib 0x000000010f8bc6d3 rb_vm_exec + 2707
26 libruby.2.7.dylib 0x000000010f8cc037 catch_i + 103
27 libruby.2.7.dylib 0x000000010f8b7c05 vm_catch_protect + 213
28 libruby.2.7.dylib 0x000000010f8b8307 rb_f_catch + 87
29 libruby.2.7.dylib 0x000000010f8c184c vm_call_cfunc + 364
30 libruby.2.7.dylib 0x000000010f8a7a40 vm_exec_core + 14192
31 libruby.2.7.dylib 0x000000010f8bc6d3 rb_vm_exec + 2707
32 libruby.2.7.dylib 0x000000010f8cc037 catch_i + 103
33 libruby.2.7.dylib 0x000000010f8b7c05 vm_catch_protect + 213
34 libruby.2.7.dylib 0x000000010f8b8307 rb_f_catch + 87
35 libruby.2.7.dylib 0x000000010f8c184c vm_call_cfunc + 364
36 libruby.2.7.dylib 0x000000010f8a7a40 vm_exec_core + 14192
37 libruby.2.7.dylib 0x000000010f8bc6d3 rb_vm_exec + 2707
38 libruby.2.7.dylib 0x000000010f76be49 load_iseq_eval + 185
39 libruby.2.7.dylib 0x000000010f76b3dd rb_f_load + 269
40 libruby.2.7.dylib 0x000000010f8c184c vm_call_cfunc + 364
41 libruby.2.7.dylib 0x000000010f8a7bb0 vm_exec_core + 14560
42 libruby.2.7.dylib 0x000000010f8bc6d3 rb_vm_exec + 2707
43 libruby.2.7.dylib 0x000000010f714236 rb_ec_exec_node + 182
44 libruby.2.7.dylib 0x000000010f714135 ruby_run_node + 85
45 ruby 0x000000010f656f0d main + 93
46 libdyld.dylib 0x00007fff203fb621 start + 1
I am not sure on how to troubleshoot this as I never worked with C extensions, if you have any pointers I can try to find out whats happening
Hey @renchap it happens as well for me with photos from the Photos app, and iPhotos (pictures from an iPhone 5-6-7-10....).
I've tried the work around proposed by @tonytonyjan which works, but I finally did the job with exiftool
which doesn't crash at all.
In my case I just wanted the date of creation to sort images in timeline.
"exiftool -time:all -s #{escape(media_path)}"
Hope it can helps in any ways.
FYI, @kysnm has fixed that issue and that is merged into this repository. but the new version(2.2.0+) gem is not released yet. just try to install the gem directly from this repository.
@joel @matthew-angelswing
Sorry for the late reply.
I just released exif v2.2.1, https://rubygems.org/gems/exif Let me know if the latest version works.
Thanks for bringing this up!
@tonytonyjan It perfectly works for me! thanks!!!! 👍
Hi there,
I've a tons of images to organize, I wrote a little ruby script to help me, but I've notice crashed on certain images. But when I try to read the Exif on https://exifinfo.org/detail/xYXx6zG4rRX5KWYD7SlW9A I got it.
Configuration
Crash