whomwah / qlstephen

A QuickLook plugin that lets you view plain text files without a file extension
https://github.com/whomwah/qlstephen
MIT License
2.75k stars 161 forks source link

Crashing finder when focus on an archive (ZIP, TAR.GZ) #55

Closed tmgriffiths closed 4 years ago

tmgriffiths commented 8 years ago

The plugin seems to crash finder if the focus (selection highlighting) is on an archive type file. I've reliably tested it with ZIP's, and gzipped tarballs (tar.gz). Finder has two behaviours when crashing; one, (the most common) Finder crashes and relaunches; two, finder hangs (beachball of death).

I'm not sure what else I can do to debug. Would a log file excerpt help?

tsdorsey commented 8 years ago

Yes please.

tmgriffiths commented 8 years ago

Here is a log file outlineing the crash. I'm not sure if I've attached the right thing. Let me know if you need something more.

Finder_2016-08-30-182419_Toms-Book.txt

tsdorsey commented 8 years ago

That's helpful, thanks! QLStephen isn't listed in the binary images that are loaded (I don't have enough experience to know if that means anything)

Have you removed the QLStephen plugin and confirmed the crash goes away?

tmgriffiths commented 8 years ago

Hi Trevor,

I don't have enough experience either I'm afraid. Yes, I've confirmed that if you remove QLStephen the crash goes away. I had a couple of plugins installed for Quick Look and I've tested each of them alone and in combination with QLStephen in case there was a conflict.

Cheers, Tom.

On Wed, 31 Aug 2016 03:05 Trevor Dorsey notifications@github.com wrote:

That's helpful, thanks! QLStephen isn't listed in the binary images that are loaded (I don't have enough experience to know if that means anything)

Have you removed the QLStephen plugin and confirmed the crash goes away?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/whomwah/qlstephen/issues/55#issuecomment-243508700, or mute the thread https://github.com/notifications/unsubscribe-auth/AEpxIOcIG0Hht5_J0Rc_f8R83HGg6nmxks5qlGLKgaJpZM4JvX6_ .

tomfado commented 8 years ago

Hi Tom,

On your machine, what is the output of: "qlmanage -m | grep -i zip"? Also, what is the output of: "qlmanage -d1 -p X", where X is your zipfile?

Den 2016-08-31 kl. 00:42, skrev Tom:

Hi Trevor,

I don't have enough experience either I'm afraid. Yes, I've confirmed that if you remove QLStephen the crash goes away. I had a couple of plugins installed for Quick Look and I've tested each of them alone and in combination with QLStephen in case there was a conflict.

Cheers, Tom.

On Wed, 31 Aug 2016 03:05 Trevor Dorsey notifications@github.com wrote:

That's helpful, thanks! QLStephen isn't listed in the binary images that are loaded (I don't have enough experience to know if that means anything)

Have you removed the QLStephen plugin and confirmed the crash goes away?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/whomwah/qlstephen/issues/55#issuecomment-243508700, or mute the thread https://github.com/notifications/unsubscribe-auth/AEpxIOcIG0Hht5_J0Rc_f8R83HGg6nmxks5qlGLKgaJpZM4JvX6_ .

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/whomwah/qlstephen/issues/55#issuecomment-243604862, or mute the thread https://github.com/notifications/unsubscribe-auth/AJ6UIGvDBBfXhGudCrBKoiajvxmpUm2Gks5qlLHVgaJpZM4JvX6_.

Tomas Fasth tomfa@debian.org Debian Developer GPG fingerprint: B9BC EDE2 9580 516A EA8C 34E7 33C1 FE3D 81D7 2FF8

tmgriffiths commented 8 years ago

qlmanage -m | grep -i zip gives a whole bunch of lines, essentially the same as the following

org.7-zip.arj-archive -> /Users/tmg994/Library/QuickLook/BetterZipQL.qlgenerator (1.6 - loaded)

The all point to the same thing

  • -> /Users/tmg994/Library/QuickLook/BetterZipQL.qlgenerator (1.6 - loaded)

qlmanage -d1 -p X gives the following output on a tar.gz

Testing Quick Look preview with files: DG_cycle_mol1-abc-2.tar.gz [DEBUG] Preview test for DG_cycle_mol1-abc-2.tar.gz -- file:///Users/tmg994/. Content type UTI: org.gnu.gnu-zip-archive [DEBUG] file:///Applications/BibDesk.app/Contents/Library/QuickLook/BibDesk.qlgenerator/ overrides <QLGenerator /Applications/TeX/BibDesk.app/Contents/Library/QuickLook/BibDesk.qlgenerator> [DEBUG] Previewing file:///Users/tmg994/DG_cycle_mol1-abc-2.tar.gz. Content type UTI: org.gnu.gnu-zip-archive. Generator used: <QLGenerator /Users/tmg994/Library/QuickLook/BetterZipQL.qlgenerator> [DEBUG] Loading <QLGenerator /Users/tmg994/Library/QuickLook/BetterZipQL.qlgenerator> [DEBUG] Previewing file:///Users/tmg994/DG_cycle_mol1-abc-2.tar.gz finished 2016-10-14 13:08:55.280 qlmanage[19166:16600897] * CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0xa303, name = 'com.apple.CFPasteboardClient' See /usr/include/servers/bootstrap_defs.h for the error codes. 2016-10-14 13:08:55.299 qlmanage[19166:16600897] void __CFPasteboardSetup() : Failed to allocate communication port for com.apple.CFPasteboardClient; this is likely due to sandbox restrictions [DEBUG] Thumbnailing DG_cycle_mol1-abc-2.tar.gz -- file:///Users/tmg994/ - type: org.gnu.gnu-zip-archive - generator: <QLGenerator /Users/tmg994/Library/QuickLook/BetterZipQL.qlgenerator> (try #1) [DEBUG] Thumbnailing file:///Users/tmg994/DG_cycle_mol1-abc-2.tar.gz. Content type UTI: org.gnu.gnu-zip-archive. Generator used: <QLGenerator /Users/tmg994/Library/QuickLook/BetterZipQL.qlgenerator> [DEBUG] Thumbnailing file:///Users/tmg994/DG_cycle_mol1-abc-2.tar.gz did not produce anything 2016-10-14 13:09:30.375 qlmanage[19166:16576316] * CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x7b0b, name = 'com.apple.coredrag' See /usr/include/servers/bootstrap_defs.h for the error codes. 2016-10-14 13:09:30.946 qlmanage[19166:16576316] *\ CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0xcf3f, name = 'com.apple.tsm.portname' See /usr/include/servers/bootstrap_defs.h for the error codes.

and the output from qlmanage -d1 -p X on a .zip

Testing Quick Look preview with files: test.aux.zip [DEBUG] Preview test for test.aux.zip -- file:///Users/tmg994/Desktop/. Content type UTI: public.zip-archive [DEBUG] file:///Applications/BibDesk.app/Contents/Library/QuickLook/BibDesk.qlgenerator/ overrides <QLGenerator /Applications/TeX/BibDesk.app/Contents/Library/QuickLook/BibDesk.qlgenerator> [DEBUG] Previewing file:///Users/tmg994/Desktop/test.aux.zip. Content type UTI: public.zip-archive. Generator used: <QLGenerator /Users/tmg994/Library/QuickLook/BetterZipQL.qlgenerator> [DEBUG] Loading <QLGenerator /Users/tmg994/Library/QuickLook/BetterZipQL.qlgenerator> [DEBUG] Previewing file:///Users/tmg994/Desktop/test.aux.zip finished 2016-10-14 13:50:28.556 qlmanage[20591:16690004] * CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0xaa03, name = 'com.apple.CFPasteboardClient' See /usr/include/servers/bootstrap_defs.h for the error codes. 2016-10-14 13:50:28.558 qlmanage[20591:16690004] void __CFPasteboardSetup() : Failed to allocate communication port for com.apple.CFPasteboardClient; this is likely due to sandbox restrictions [DEBUG] Thumbnailing test.aux.zip -- file:///Users/tmg994/Desktop/ - type: public.zip-archive - generator: <QLGenerator /Users/tmg994/Library/QuickLook/BetterZipQL.qlgenerator> (try #1) [DEBUG] Thumbnailing file:///Users/tmg994/Desktop/test.aux.zip. Content type UTI: public.zip-archive. Generator used: <QLGenerator /Users/tmg994/Library/QuickLook/BetterZipQL.qlgenerator> [DEBUG] Thumbnailing file:///Users/tmg994/Desktop/test.aux.zip did not produce anything 2016-10-14 13:50:58.726 qlmanage[20591:16689959] * CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0xbc13, name = 'com.apple.coredrag' See /usr/include/servers/bootstrap_defs.h for the error codes. 2016-10-14 13:50:59.493 qlmanage[20591:16689959] *\ CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0xd93f, name = 'com.apple.tsm.portname' See /usr/include/servers/bootstrap_defs.h for the error codes.

tsdorsey commented 8 years ago

Thanks for running those @tmgriffiths.

You're getting the same results for .zip and .tar.gz and I'm seeing no difference in those file types on my machine either so I'm not going to distinguish between them going forward.

Without BetterZip installed running qlmanage -d1 -p 22k.tar.zg produces:

Testing Quick Look preview with files:
    22k.tar.gz
[DEBUG] Preview test for 22k.tar.gz -- file:///Users/trevor/Downloads/ql-test/. Content type UTI: org.gnu.gnu-zip-archive
[DEBUG] Previewing file:///Users/trevor/Downloads/ql-test/22k.tar.gz. Content type UTI: org.gnu.gnu-zip-archive. Generator used: <QLGenerator /Users/trevor/Library/Quicklook/QLStephen.qlgenerator>
[DEBUG] Loading <QLGenerator /Users/trevor/Library/Quicklook/QLStephen.qlgenerator>
[DEBUG] Previewing file:///Users/trevor/Downloads/ql-test/22k.tar.gz did not produce anything
[DEBUG] Thumbnailing 22k.tar.gz -- file:///Users/trevor/Downloads/ql-test/ - type: org.gnu.gnu-zip-archive - generator: <QLGenerator /Users/trevor/Library/Quicklook/QLStephen.qlgenerator> (try #1)
[DEBUG] Thumbnailing file:///Users/trevor/Downloads/ql-test/22k.tar.gz. Content type UTI: org.gnu.gnu-zip-archive. Generator used: <QLGenerator /Users/trevor/Library/Quicklook/QLStephen.qlgenerator>
[DEBUG] Thumbnailing file:///Users/trevor/Downloads/ql-test/22k.tar.gz did not produce anything
2016-10-17 06:30:43.349 qlmanage[84054:2652655] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0xa20b, name = 'com.apple.coredrag'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2016-10-17 06:30:43.395 qlmanage[84054:2652655] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0xc73f, name = 'com.apple.tsm.portname'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2016-10-17 06:30:43.399 qlmanage[84054:2652655] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0xc913, name = 'com.apple.CFPasteboardClient'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2016-10-17 06:30:43.399 qlmanage[84054:2652655] void __CFPasteboardSetup() : Failed to allocate communication port for com.apple.CFPasteboardClient; this is likely due to sandbox restrictions

Notice that on the second and third lines that the qlstphen plugin is listed and called out as being used.

So I downloaded and installed BetterZip (version 3.1.2 was latest at the time) and now Running: qlmanage -d1 -p 22k.tar.gz produces :

Testing Quick Look preview with files:
    22k.tar.gz
[DEBUG] Preview test for 22k.tar.gz -- file:///Users/trevor/Downloads/ql-test/. Content type UTI: org.gnu.gnu-zip-archive
[DEBUG] file:///Applications/BetterZip.app/Contents/Library/QuickLook/BetterZipQL.qlgenerator/ overrides <QLGenerator /Users/trevor/Library/Quicklook/BetterZipQL.qlgenerator>
[DEBUG] Previewing file:///Users/trevor/Downloads/ql-test/22k.tar.gz. Content type UTI: org.gnu.gnu-zip-archive. Generator used: <QLGenerator /Applications/BetterZip.app/Contents/Library/QuickLook/BetterZipQL.qlgenerator>
[DEBUG] Loading <QLGenerator /Applications/BetterZip.app/Contents/Library/QuickLook/BetterZipQL.qlgenerator>
[DEBUG] Previewing file:///Users/trevor/Downloads/ql-test/22k.tar.gz finished
2016-10-17 06:18:04.106 qlmanage[82957:2640652] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0xbc03, name = 'com.apple.CFPasteboardClient'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2016-10-17 06:18:04.106 qlmanage[82957:2640652] void __CFPasteboardSetup() : Failed to allocate communication port for com.apple.CFPasteboardClient; this is likely due to sandbox restrictions
[DEBUG] Thumbnailing 22k.tar.gz -- file:///Users/trevor/Downloads/ql-test/ - type: org.gnu.gnu-zip-archive - generator: <QLGenerator /Applications/BetterZip.app/Contents/Library/QuickLook/BetterZipQL.qlgenerator> (try #1)
[DEBUG] Thumbnailing file:///Users/trevor/Downloads/ql-test/22k.tar.gz. Content type UTI: org.gnu.gnu-zip-archive. Generator used: <QLGenerator /Applications/BetterZip.app/Contents/Library/QuickLook/BetterZipQL.qlgenerator>
[DEBUG] Thumbnailing file:///Users/trevor/Downloads/ql-test/22k.tar.gz did not produce anything
2016-10-17 06:18:34.234 qlmanage[82957:2640634] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0xd30b, name = 'com.apple.coredrag'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2016-10-17 06:18:34.251 qlmanage[82957:2640634] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0xe53f, name = 'com.apple.tsm.portname'
See /usr/include/servers/bootstrap_defs.h for the error codes.

Something of interest is that on the command line the BetterZipQL debug run would "hang" for about 10 seconds in the middle before showing an icon as the preview. However in the finder it would show the correct QL pane with no delay.

Looking at your output (truncated for brevity) I see two things that seem out of place.

  1. The plugin called out is BibDesk.qlgenerator
  2. The Generator used: and [DEBUG] Loading lines are empty (in my case they listed the full path to the qlgenerator file that was going to be used.
Testing Quick Look preview with files:
test.aux.zip
[DEBUG] Preview test for test.aux.zip -- file:///Users/tmg994/Desktop/. Content type UTI: public.zip-archive
[DEBUG] file:///Applications/BibDesk.app/Contents/Library/QuickLook/BibDesk.qlgenerator/ overrides 
[DEBUG] Previewing file:///Users/tmg994/Desktop/test.aux.zip. Content type UTI: public.zip-archive. Generator used: 
[DEBUG] Loading 
[DEBUG] Previewing file:///Users/tmg994/Desktop/test.aux.zip finished

I searched google for bibdesk and found http://bibdesk.sourceforge.net/ where I downloaded the latest (1.6.7) version. I installed the app, ran it, closed it. This had no effect on the command line runs or the finder.

I then forced a preview using the BibDesk plugin by running: qlmanage -d1 -g /Applications/BibDesk.app/Contents/Library/QuickLook/BibDesk.qlgenerator -c org.gnu.gnu-zip-archive -p 22k.tar.gz And got

Testing Quick Look preview with files:
    22k.tar.gz
    - force using content type UTI: org.gnu.gnu-zip-archive
    - force using generator at path: /Applications/BibDesk.app/Contents/Library/QuickLook/BibDesk.qlgenerator
[DEBUG] Preview test for 22k.tar.gz -- file:///Users/trevor/Downloads/ql-test/. Content type UTI: org.gnu.gnu-zip-archive
[DEBUG] <QLPreviewRequest file:///Users/trevor/Downloads/ql-test/22k.tar.gz>. Content type UTI: org.gnu.gnu-zip-archive. Generator used: <QLGenerator /Applications/BibDesk.app/Contents/Library/QuickLook/BibDesk.qlgenerator>
[DEBUG] Loading <QLGenerator /Applications/BibDesk.app/Contents/Library/QuickLook/BibDesk.qlgenerator>
[DEBUG] Previewing file:///Users/trevor/Downloads/ql-test/22k.tar.gz did not produce anything
2016-10-17 06:48:56.733 qlmanage[85361:2669819] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x960b, name = 'com.apple.coredrag'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2016-10-17 06:48:56.777 qlmanage[85361:2669819] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0xbe3b, name = 'com.apple.tsm.portname'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2016-10-17 06:48:56.781 qlmanage[85361:2669819] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x4707, name = 'com.apple.CFPasteboardClient'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2016-10-17 06:48:56.781 qlmanage[85361:2669819] void __CFPasteboardSetup() : Failed to allocate communication port for com.apple.CFPasteboardClient; this is likely due to sandbox restrictions

All of this makes me wonder what is different about your setup that causes the BibDesk plugin to take precedence and then fail to load.