Closed clawfire closed 8 years ago
Production Coda 2 (2.0.14) also crashes with Emmet plugin in Yosemite Developer Preview.
Coda 2 & Emmet are my life, crashes on expand running Yosemite Beta 1, 32bit mode helped at one point now nothing.
I’ll take a look at this problem only when Yosemite will be officially released. I’m not ready to install beta OS on my workstation
Thanks. : )
Thanks a lot ;) I've got the same problem with production Coda 2 and Yosemite Release 2 ;) I can't even conceive using Coda without Emmet, it's a wonderful plugin.
+1 waiting for this to be solved...
Just started fighting this crash myself. While I wait, I'm using TEA: https://code.google.com/p/zen-coding/downloads/detail?name=Zen.Coding-Coda.v0.7.1.zip
I have the same issue. Here’s my stack trace:
Process: Coda 2 [13620]
Path: /Applications/Coda 2.app/Contents/MacOS/Coda 2
Identifier: com.panic.Coda2
Version: 2.0.14 (3764)
App Item ID: 499340368
App External ID: 556295405
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: Coda 2 [13620]
User ID: 501
Date/Time: 2014-09-07 14:09:37.717 +0200
OS Version: Mac OS X 10.10 (14A343f)
Report Version: 11
Anonymous UUID: 688BA52E-B5A5-A6A2-9C02-AF8CD3816F7F
Time Awake Since Boot: 63000 seconds
Crashed Thread: 1 Dispatch queue: com.apple.libdispatch-manager
Exception Type: EXC_CRASH (SIGSEGV)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Thread 0:: Dispatch queue: com.apple.main-thread
0 com.apple.JavaScriptCore 0x00007fff84800f6e WTFCrash + 62
1 com.apple.JavaScriptCore 0x00007fff847cf419 JSC::JSLock::DropAllLocks::DropAllLocks(JSC::VM*) + 217
2 com.apple.JavaScriptCore 0x00007fff849b26de JSC::JSCallbackObject<JSC::JSGlobalObject>::getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&) + 382
3 com.apple.JavaScriptCore 0x00007fff8465665e JSC::JSObject::get(JSC::ExecState*, JSC::PropertyName) const + 366
4 com.apple.JavaScriptCore 0x00007fff84657318 JSObjectGetProperty + 168
5 com.inexdo.JSCocoa 0x0000000111e1e34e +[JSCocoaController controllerFromContext:] + 52
6 com.inexdo.JSCocoa 0x0000000111e19403 jsCocoaObject_finalize + 86
7 com.apple.JavaScriptCore 0x00007fff8473bde7 JSC::JSCallbackObjectData::finalize(JSC::Handle<JSC::Unknown>, void*) + 55
8 com.apple.JavaScriptCore 0x00007fff84630fa8 JSC::WeakBlock::sweep() + 104
9 com.apple.JavaScriptCore 0x00007fff846103a8 JSC::WeakSet::sweep() + 40
10 com.apple.JavaScriptCore 0x00007fff84610339 JSC::MarkedBlock::sweep(JSC::MarkedBlock::SweepMode) + 25
11 com.apple.JavaScriptCore 0x00007fff84a1dcce JSC::MarkedAllocator::tryAllocateHelper(unsigned long) + 222
12 com.apple.JavaScriptCore 0x00007fff8460f5bc JSC::MarkedAllocator::allocateSlowCase(unsigned long) + 140
13 com.apple.JavaScriptCore 0x00007fff846c41ca JSC::JSString::toObject(JSC::ExecState*, JSC::JSGlobalObject*) const + 122
14 com.apple.JavaScriptCore 0x00007fff8468102d JSC::objectProtoFuncToString(JSC::ExecState*) + 285
15 ??? 0x00004dba37601034 0 + 85462188298292
16 com.apple.JavaScriptCore 0x00007fff84a14f33 llint_entry + 22637
17 com.apple.JavaScriptCore 0x00007fff84a14f33 llint_entry + 22637
18 com.apple.JavaScriptCore 0x00007fff84a14f9e llint_entry + 22744
19 com.apple.JavaScriptCore 0x00007fff84a14f9e llint_entry + 22744
20 ??? 0x00004dba376019fa 0 + 85462188300794
21 ??? 0x00004dba37604a33 0 + 85462188313139
22 ??? 0x00004dba376019fa 0 + 85462188300794
23 com.apple.JavaScriptCore 0x00007fff84a14f9e llint_entry + 22744
24 com.apple.JavaScriptCore 0x00007fff84a0f4a1 callToJavaScript + 311
25 com.apple.JavaScriptCore 0x00007fff84994823 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 35
26 com.apple.JavaScriptCore 0x00007fff84637b0c JSC::Interpreter::execute(JSC::ProgramExecutable*, JSC::ExecState*, JSC::JSObject*) + 8796
27 com.apple.JavaScriptCore 0x00007fff846356d4 JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&, JSC::JSValue, JSC::JSValue*) + 484
28 com.apple.JavaScriptCore 0x00007fff846353fa JSEvaluateScript + 394
29 com.inexdo.JSCocoa 0x0000000111e1e743 -[JSCocoaController evalJSFile:toJSValueRef:] + 496
30 com.inexdo.JSCocoa 0x0000000111e1e79d -[JSCocoaController evalJSFile:] + 19
31 io.emmet.EmmetCoda 0x0000000111df2068 -[JSCocoaDelegate evalFile:] + 28
32 com.apple.CoreFoundation 0x00007fff8f8397e5 __53-[__NSArrayM enumerateObjectsWithOptions:usingBlock:]_block_invoke + 133
33 com.apple.CoreFoundation 0x00007fff8f838ee9 -[__NSArrayM enumerateObjectsWithOptions:usingBlock:] + 313
34 io.emmet.EmmetCoda 0x0000000111df0191 -[Emmet setupJSContext] + 242
35 io.emmet.EmmetCoda 0x0000000111df003f -[Emmet init] + 87
36 io.emmet.EmmetCoda 0x0000000111defebf +[Emmet sharedInstance] + 47
37 io.emmet.EmmetCoda 0x0000000111df11ba -[EMCodaPlugin initWithController:] + 183
38 com.panic.Coda2 0x00000001001e85fc __32-[PlugInManager loadNewPlugins:]_block_invoke + 516
39 com.panic.Coda2 0x00000001001e8274 -[PlugInManager loadNewPlugins:] + 424
40 com.panic.Coda2 0x00000001001e7aec -[PlugInManager loadPlugInsFromPath:] + 1388
41 com.apple.Foundation 0x00007fff8585251b __NSFireDelayedPerform + 364
42 com.apple.CoreFoundation 0x00007fff8f86bfc4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
43 com.apple.CoreFoundation 0x00007fff8f86bc53 __CFRunLoopDoTimer + 1059
44 com.apple.CoreFoundation 0x00007fff8f8df33d __CFRunLoopDoTimers + 301
45 com.apple.CoreFoundation 0x00007fff8f8286e8 __CFRunLoopRun + 2024
46 com.apple.CoreFoundation 0x00007fff8f827cb8 CFRunLoopRunSpecific + 296
47 com.apple.HIToolbox 0x00007fff85e3edbf RunCurrentEventLoopInMode + 235
48 com.apple.HIToolbox 0x00007fff85e3eb3a ReceiveNextEventCommon + 431
49 com.apple.HIToolbox 0x00007fff85e3e97b _BlockUntilNextEventMatchingListInModeWithFilter + 71
50 com.apple.AppKit 0x00007fff90109cf5 _DPSNextEvent + 1000
51 com.apple.AppKit 0x00007fff90109480 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 194
52 com.apple.AppKit 0x00007fff900fd433 -[NSApplication run] + 594
53 com.apple.AppKit 0x00007fff900e8834 NSApplicationMain + 1832
54 com.panic.Coda2 0x0000000100003222 main + 2823
55 com.panic.Coda2 0x0000000100002674 start + 52
Yosemite will be publicly available soon. There is also enough virtualization software so that you don’t have to install Yosemite as your main operating system.
Any timeline for the fix?
@rbugajewski AFAIK support for Yosemite requires Emmet Objective-C plugin to be rewritten from scratch due to updated API. I’m pretty busy right now with other projects so I don’t have estimates on fixing this.
Due to the large number of crash reports we're receiving from this plugin, we are planning to blacklist and force-uninstall this plugin in Coda 2.5.
But don't worry — if you fix the issue in the future, and update the plugin, just make sure to update your short version string in your Info.plist so that Coda will allow it to load.
Thanks!
Please checkout my modification, it works for TextMate now, and it should works for coda too.
pingjang, I compiled your code into a plugin and it seems to still crash in coda 2.5 yosemite. Can anyone else confirm?
advision, I'd love to try it, but have no clue how to compile, can you share the compiled plugin?
Compiled pingjiang's fork with new Xcode 6.1 and it works great with Yosemite and Coda 2.5! Also fixed xib-files to make preferences work :) Download link: http://d.froloff.me/S13e
Coda plugin with fixed Tab-behavior — http://d.froloff.me/fdgY
@FROLoff can you create a pull request with your changes? They work perfectly for me, thank you very much!
Thanks @FROLoff . Although the plugin installs OK for me in Coda 2.5, doesn't crash, and is showing in my plugins menu, I don't seem to be able to get any of the Emmet functionality to work. Am I missing something?
@psimpson66 some Emmet functions doesn't work (images encode and size update, for example), but most of them works fine for me.
Thanks @FROLoff . Oh ok. I was trying to getting the 'Match Pair Tags' function to work. But nothing seems to be happening.
Thanks @FROLoff Same here as @psimpson66 . Since Coda doesn't highlight matching brackets, this one function i can't miss. :)
Thanks @FROLoff :-D
Thank you @FROLoff ! This is awesome.
Yes! @FROLoff ! You are a genius!
@FROLoff thanks for the effort, Coda doesn't crash with me, but expanding abbrevations don't work correctly. They work with divs and stuff, but when I type img and press tab I get <img></img>
. Any idea how to fix this?
Here emmet is running with coda 2.5.1, but only with the package abbreviations (the user extensions path provided in emmet preferences doesn't work). So, for now, you need to edit the snippets.json located in the emmet package contents and put yours snippets manually inside each receptively node.
ps.: one extra 'tab' happens when you expand an abbreviation.. maybe another bug.
@daviddelusenet After you install the plugin, go to plugins > Emmet > Preferences from within Coda. The first line there you will see a check box for use tab abbreviations when possible. Click that and you should be all set.
Thank you for your hard work @FROLoff :)
Has anyone figured out how to get the plugin to expand lists already formatted? For example. If I type ul>li*4 I get the ul tag with the li's all on one consecutive line instead of formatted with tabs and such
@GrimesWeb I don't think you understand me. Normally when I typed img and pressed tab, I got something like this: <img src="" alt="" width="" height="" />
. Now I just get <img></img>
, which is totally wrong. Same goes for inputs and all elements which don't have an end tag.
@daviddelusenet Definitely misread what you were saying I apologize. I just tried it and I also get just the two image tags. Not sure how to fix that.
Works for me doesn't render the width & height only the src & alt tags. I just drag the image to the line, and it creates a img tag with everything. The plugin is fully functional for what I need at least, the img tag bug only happens in the old Coda 2.
@DarreinK Bruh that is just Coda functionality, I want the Emmet functionality! @GrimesWeb No problemb bruh, no one is perfect!
@daviddelusenet Read that again, & I'm not your *bruh. The very first sentence is Emmet related lol. If your are still getting the img tag you are not using the new version or still have the old version installed, AppDelete will give you a clean install, and will get rid of old Coda 2 files.
@FROLoff, Thanks :)
@psimpson66 and @arnoutwittebrood same problem - my workflow has slowed WAY down since the Match Pair functions stopped working (and still don't work in the @FROLoff fix). Is there any way to get these functions working again? The menu items briefly highlights when run, but nothing happens :(
@GrimesWeb Hello mate, a good question. Got the same thing with emmet at the moment. All syntax is placed on a single line in stead of a nice markup with correct indents.
@Jeroen Martens, It seems it's only doing that in the PHP syntax mode (Automatically goes to php syntax if you save your file with .php. I tested this a few times. With html it works perfectly. Only the single line output happens only in php. Can't understand why.
Daniel Grimes Freelance Front-End Web Developer dgrimesbusiness@gmail.com
On Tue, Nov 25, 2014 at 9:12 AM, Jeroen Martens notifications@github.com wrote:
@GrimesWeb https://github.com/GrimesWeb Hello mate, a good question. Got the same thing with emmet at the moment. All syntax is placed on a single line in stead of a nice markup with correct indents.
— Reply to this email directly or view it on GitHub https://github.com/emmetio/Emmet.codaplugin/issues/18#issuecomment-64404543 .
@GrimesWeb @daviddelusenet @hieronymusdesign It happened to me only in the PHP-HTML syntax mode (img —> <img></img>
, all the elements go into one single line, etc.). To fix this just add a new syntax definition to the snippets.json
. Since Emmet’s custom extensions path also doesn’t work (at least for me) the snippets.json in the plugin package needs to be edited. So add this:
"php": {
"extends": "html"
}
I work with CakePHP template files (.ctp) also using the PHP-HTML syntax mode but after the fix expanding the snippets was still wrong. I needed to add this syntax def too:
"ctp": {
"extends": "html"
}
Here is my full snippets.json: https://gist.github.com/wethecode/1f79baf168680afb0f2d
Don’t forget to restart Coda after editing the json file.
@wethecode I will try this when i get home tonight, thank you so much!, Will report back with results
@psimpson66 @arnoutwittebrood @atwixtor I am using Espresso and someone pointed me at the same error (Match Pair Tags) after I had made my build available. Seems the setters are not recognized by the JavaScriptCore API and one native function (NSMakeRange) cannot be called from JS anymore. I've implemented a small workaround for the setters and quickly tested it with the newest versions of each app. If you have any issues feel free to post here or contact me directly.
Emmet.codaplugin.zip (Coda 2.5) Emmet.sugar.zip (Espresso 2.2.2) Emmet.tmplugin.zip (Textmate 2.0-beta6)
I'll fork and update the repo in my private account as soon as I have a little time so everyone can see the changes.
@nodequery Your Coda 2.5 build works (in Coda 2.5.1)! Haven't tested extensively but upon installing it immediately worked as expected: selected the inner text node of the element, then the element itself, then the parent element's contents, and so on. Thank you very much - will check out the fork once it's ready.
Many thanks @nodequery. Match Pair Tags now works for me in Coda 2.5.1! Very happy about that! :)
Just popping in to say — @nodequery et al., thank you for keeping Emmet working well with Coda!
@nodequery Thank you, it really works but can you check why "Update Image Size" command not working? Thanks in advance.
HI. I installed the @nodequery Coda plugin above into Coda 2.5.1 - and Emmet still doesn't work.
Is there a specific expansion key I need to use with that plugin? I had mine set to CMD+/ previously in Coda 2 (before Emmet broke in Coda) but that's not working. I've tried simply tabbing to expode the abbreviation, and also CMD+E but these don't work.
The plugin is showing in the preferences plugin list - but is there is no option for customising emmet now I see no way of finding out what expansion key is being used - so maybe it is working and I just can't find the key?
Can anyone please help? Coding is so slow without Emmet.
@impressbrand Have you tried CNTRL+E ? That seems to work by default. I always made sure to entirely scrap/delete all Emmet files/preferences from my system before downloading and installing the updated plugins linked here, and all abbreviations, expansions (and now pair matching!) work now. I am on Mavericks 10.9.5 still, so maybe the problems are related to Yosemite?
Thanks for the reply @atwixtor - I have tried CTRL+E but no luck with that either. Where would I find emmet files and preferences? As I said there are no longer any preferences/menus to set for Emmet in Coda itself.
@impressbrand The default is indeed CTRL+E and expanding by Tab key is available in the plugin preferences. Please make sure the plugin is showing up in the menu bar of Coda 2 and is located in ~/Library/Application Support/Coda 2/Plug-ins
.
Also make sure there is no older version located in ~/Library/Application Support/Coda 2/Plug-ins (Disabled)
. If so I recommend to delete Emmet.codaplugin
from both directories, restart Coda 2 without it and then installing the plugin again.
Okay I have installed the plugin from @nodequery and it's showing correctly in Applications Support.
But it is still not working in Coda 2.5.1.
I have tried expanding with CTRL+E, CMD+E, TAB, CTRL+/ (my previois key combination that I used in Code 2.0.14) and none of these work.
Also, you mention that I can change this in the plugin preferences of the Coda menu - there are no plugin preferences in Coda 2.5 menus.
I am using OS X 10.8.5 if that helps?
Anyone got any hints if this Coda 2.5 plugin by @nodequery required Yosemite to run? If not, I don't know why it won't work for me.
I can confirm the plugin by @nodequery works as expected on Mavericks 10.9.5. Maybe it doesn't work on 10.8.5 (Mountain Lion)?
Thanks @atwixtor - does anyone else have any knowledge on this plugin for Mountain Lion?
I just install the latest Coda 2 ß and can't launch it. It crash. After taking a look on the crash file, I see it's the Emmet plugin.
You can find the crash log file here and a bug report on the Coda 2 public tracker here