-
Notifications
You must be signed in to change notification settings - Fork 415
Crashes with TTF fonts on OS X #44
Comments
Hmm, it sounds like phantomjs is segfaulting. Did you compile phantomjs yourself or install the binary? If you installed the binary, try compiling it yourself? Ultimately probably there are going to be issues like this from time to time, so I should add some easy way to run phantomjs under gdb so that people can obtain stack traces and we can find/fix the issues. |
I'm getting this error on a regular basis:
capybara 1.1.2
Console errors: |
@sarmiena does your crash happen every time on the same tests, or does it sometimes happen and sometimes not? does it happen on all tests or just some of them? |
It happens on every other test (first one passes). |
I'm having the exact same problem:
with this extremely exciting code:
As with @sarmiena, it happens with every other test, so I'm seeing ".F.F", after which it halts until I |
Any epiphanies? |
None on my part, I've started using capybara-webkit again. |
same here |
Hi guys, Sorry you've had trouble. I've posted a message on the PhantomJS list here: http://groups.google.com/group/phantomjs/browse_thread/thread/2365cfca349018f8 Let's see if anyone has ideas on there - I don't know much about OS X issues but others on that list do. Jon |
cool. thanks |
Hi guys, Can those of you who are experiencing crashes try running Thanks Update: please don't do this on OS X. I won't be able to analyse it. The next version of PhantomJS will include crash reporting capability which will help. |
I switchted to poltergeist some time ago and everything runs fine. This morning I did some gem upgrades and I noticed features tagged running with poltergeist started failing. I don't have much time to debug the issue but I would like to share the information I've got. I tracked the DeadClinet error down to the following commit: diff --git a/Gemfile b/Gemfile
index 42b5a60..6895444 100644
--- a/Gemfile
+++ b/Gemfile
@@ -69,7 +69,7 @@ end
# Gems used only for assets and not required
# in production environments by default.
group :assets do
- gem 'twitter-bootstrap-rails', :git => 'https://github.com/seyhunak/twitter-bootstrap-rails.git' # bootst
+ gem 'twitter-bootstrap-rails', '~> 2.1.0'
gem 'therubyracer'
gem 'uglifier', '>= 1.0.3'
end
diff --git a/Gemfile.lock b/Gemfile.lock
index e609e85..9a0ee2c 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -12,16 +12,6 @@ GIT
capybara
GIT
- remote: https://github.com/seyhunak/twitter-bootstrap-rails.git
- revision: c646c2d31174f4d3b3bd01c715ea4a3e5587c85d
- specs:
- twitter-bootstrap-rails (2.0.8.1)
- actionpack (>= 3.1)
- less-rails (~> 2.2.2)
- railties (>= 3.1)
- therubyracer (~> 0.10.1)
-
-GIT
remote: ssh://[email protected]:29418/ror/garaio/garaio_view_helpers
revision: 75327969674d6a6d7ae556b6b4b61a3eacea1fdb
branch: master
@@ -307,6 +297,11 @@ GEM
polyglot
polyglot (>= 0.3.1)
ttfunk (1.0.3)
+ twitter-bootstrap-rails (2.1.0)
+ actionpack (>= 3.1)
+ less-rails (~> 2.2.2)
+ railties (>= 3.1)
+ therubyracer (~> 0.10.1)
tzinfo (0.3.33)
uglifier (1.2.3)
execjs (>= 0.3.0)
@@ -352,7 +347,7 @@ DEPENDENCIES
therubyracer
thin
timecop
- twitter-bootstrap-rails!
+ twitter-bootstrap-rails (~> 2.1.0)
uglifier (>= 1.0.3)
virtus
will_paginate red works and green breaks features running with poltergeist randomly. I receive errors like:
I hope this helps somewhat. Feel free to ask if you need additional informations. |
Running into the same problem over here but the only thing I share with the above mentioned gems is actionpack :/ |
Just to let everyone in this ticket know, I have been working to add a crash reporter (google breakpad) to PhantomJS. This means that when the next release comes up we will have a good way of getting stack traces from crashes which should help a lot. |
@jonleighton thanks for the update and your efforts. I hope we get more insight to resolve these random crashes. |
👍 I've managed to narrow the high level cause down a little bit in my case: I'm accessing a website with an iframe and the error happens when finally the iframe posts a message to the top window that leads to a change of the location of the top window. Interesting enough that does NOT happen when I try to "redirect" the top window to a not existing page but does happen when the page is delivered. It's a really simple page with just one h1 or whatever. Aaaalso I do see the crash when I return a 404 from my application server and the 404 is not delivered by the webserver itself. I've to investigate on the last finding a bit more, maybe there is some middleware doing strange things or whatever. Meh meh meh. |
Just noticed the same issue on my project. It happens after i upgrade the above mentioned gem twitter-bootstrap-rails from 2.0.8 to 2.1.0 and 2.0.9. A Downgrade helped. |
Upgrading from 2.0.8 tot 2.0.9 causes the problem you say? In that case the culprit in somewhere in this string of commits. Could you try pointing your Gemfile to each of those commits, to see at what point exactly the problem appears? You can specify a commit to point to like this: gem 'twitter-bootstrap-rails', :github => "seyhunak/twitter-bootstrap-rails", :ref => "a1b2c3" |
Okay, tried it out and it starts happening with commit "fc40fde" |
This is so weird, because there's literally nothing in there that I could imagine having any effect on the way Poltergeist behaves; it's just a bunch of edited CSS files. Granted, I don't know anything about the internals of Poltergeist, so @jonleighton should really take a look at this, but I'm stumped. |
It's not really a poltergeist bug so much as a phantomjs/qt/webkit bug. Presumably that font is causing phantomjs to crash for some reason. The next version of phantomjs will be released this week - if somebody can produce a minimal test case for this crash that would be helpful and I will try to see if there is a fix possible in phantomjs. |
Actually, please ignore the above, as I see that you said it only happens on a Mac. I don't have easy access to a Mac so I won't be able to debug the crash in this short time frame. However, my main priority at the moment is adding proper crash reporting to PhantomJS to help with these situations. Linux support is already done and I hope/intend to work on OS X support tomorrow in time for the 1.6.0 release. So it should get easier after that. |
Can someone try out the master branching with PhantomJS 1.6 and let me know if you still have the problem with twitter bootstrap? Thanks |
still crashing with the static 1.6 on mac os installed via brew. |
I had this issue the other day and was able to resolve it that one time by allowing ActiveRecord to work in multiple threads: class ActiveRecord::Base
mattr_accessor :shared_connection
@@shared_connection = nil
def self.connection
@@shared_connection || retrieve_connection
end
end
RSpec.configure do |config|
config.before(:suite) do
ActiveRecord::Base.shared_connection = ActiveRecord::Base.connection
end
end But now I am running into this issue again and am not able to diagnose it properly. I do not believe this is |
It seems that TTF fonts are causing an issue here. The file |
We are getting this error too, using Font Awesome via https://github.com/wbzyl/less-rails-fontawesome |
here is the crash dmp http://www.file-upload.net/download-4538237/E98C5150-FD3F-46B7-A2BF-8B16FD55DADF.dmp.html |
+1 Also saw Capybara crashing on OSX after adding @font-face file referencing .ttf. Commented out the .ttf and worked again. |
I've upgraded the version of Qt bundled with PhantomJS in ariya/phantomjs#367. Could somebody on OS X who is affected by this bug please try building it to see if this fixes the problem? I have no idea if it will, but it's possible that the bug has been fixed in the newer Qt/WebKit version. For build instructions see http://phantomjs.org/build.html. You need to checkout my branch, obviously. |
Ok, I've kicked off the build. Will get back to you in, well, a short while once it's built. 😄 |
I'm giving it a try as well On Dec 12, 2012, at 2:19 PM, Jon Leighton [email protected] wrote:
|
No joy I'm afraid, looks like it's still dying on TTFs. 😢 |
Ok, thanks for testing. It sounds like there is a plan to update to a newer version of WebKit in the next release. It's not happening this release because it will be tricky to do. But that may solve the problem if/when it happens. |
No problem, thanks for keeping us posted and for the Qt upgrade regardless! |
yep, same results. output from a failing spec can be found here: https://gist.github.com/4004813 crash dump is in this repo: https://github.com/goosetav/true_type_bug/tree/master/crash-dump |
Im experiencing the same problems, both with capybara-webkit and poltergeist. Using capybara-webkit with qt 4.8.3 also did not seem to fix the issue, so that update does not fix that I think. |
Tested capybara-webkit using qt 4.8.4 built from source now and had the same issues. =( |
Is there any simplistic PhantomJS example which reproduce the issue? Perhaps just by loading a particular web page someone has crafted to crash it? |
Can someone help ariya repro the issue? https://code.google.com/p/phantomjs/issues/detail?id=690#c9 |
Repro? On Dec 25, 2012, at 7:16 PM, Jon Leighton [email protected] wrote:
|
Looks like he's already reproduced based on his last couple comments I'm looking into dumping the poltergeist sequence into a .js file that can be run directly against phantomjs On Dec 25, 2012, at 6:25 PM, Sam Granieri [email protected] wrote:
|
@goosetav If that's available, it will significantly help my direct PhantomJS debugging! |
i just committed a couple scripts that will reproduce the crash directly from PhantomJS to https://github.com/goosetav/true_type_bug running I also added a version of poltergeist's javascripts that disables the websocket and sends the commands directly. This may be generally useful for debugging poltergeist/phantomjs directly from the phantomjs cli -- I used this to track down the call sequence inside of poltergeist necessary to reproduce the crash (cross posting to https://code.google.com/p/phantomjs/issues/detail?id=690 as well) |
FYI - see last comments in http://code.google.com/p/phantomjs/issues/detail?id=690 Probable fix coming for this bug in PhantomJS 1.8.1 |
PhantomJS 1.8.1 is out: https://groups.google.com/d/topic/phantomjs/VhPYwDoEcc4/discussion. Please have a look and verify that this does not cause the crash anymore. Thank you! |
Verified. This does indeed fixed the problem. |
weeeeeeeeeeeeeeeeee 💥 👏 👯 🎉 Awesome! |
Unfortunately, upgrading to phantomJS 1.8.1 didn't fix my problem. I still get DeadClient errors every time I run this code: within(:css, "form#node-type-form") do
fill_in("name", :with => content_type)
fill_in("description", :with => description)
click_button("edit-submit")
end The shell output using Ruby 1.8, Cucumber, Capybara (1.1.3), Poltergeist (1.0.2) and PhantomJS 1.8.1 looks like this:
Here's a crashdump of phantomJS I obtained after it failed. Update: After setting the debug setting to true, I found out that a JS error is thrown: options = {
:js_errors => false,
:window_size => [1280, 768],
:debug => true
}
It looks like the problem is gone after fixing it. |
@pfleidi Your stack trace has not indicated the same TrueType font problem. However, if that still happens (again), feel free to open a new issue. |
This is fixed by PhantomJS 1.8.1. Closing. |
https://gist.github.com/2405155
I have a simple feature (see Gist) and when I run the test I get the error randomly (some times in one Scenario and other in another) . In the Gist example, if I run the failing test again, the tes pass correctly.
uname -a => Linux jarandapc 3.0.6-gentoo #2 SMP PREEMPT Wed Nov 9 21:42:08 CET 2011 x86_64 Intel(R) Pentium(R) CPU G860 @ 3.00GHz GenuineIntel GNU/Linux
Any idea?
The text was updated successfully, but these errors were encountered: