Skip to content
This repository has been archived by the owner on Mar 3, 2020. It is now read-only.
This repository has been archived by the owner on Mar 3, 2020. It is now read-only.

I still get WebkitNoResponseError #181

Closed
tmaier opened this issue Oct 4, 2011 · 63 comments · Fixed by #442
Closed

I still get WebkitNoResponseError #181

tmaier opened this issue Oct 4, 2011 · 63 comments · Fixed by #442

Comments

@tmaier
Copy link

tmaier commented Oct 4, 2011

This is a followup of #68.
Also after upgrade of capybara-webkit (0.7.1) and capybara (1.1.1) the specs still fail when running more than one spec with js: true.

rspec spec/requests/delivery_notes_spec.rb spec/requests/organizations_spec.rb spec/requests/people_spec.rb spec/requests/projects_spec.rb spec/requests/schedules_spec.rb spec/requests/work_breakdown_structures_spec.rb
Run filtered including {:focus=>true}

DeliveryNotes
  GET /projects/12345/work_breakdown_structures/12345/destroy
 >> Visit
 >> 1
 >> 36
 >> http://127.0.0.1:62396/users/sign_in
 << ok
 << 0
 << 
 >> Find
 >> 1
 >> 489
 >> .//*[self::input | self::textarea][not(./@type = 'submit' or ./@type = 'image' or ./@type = 'radio' or ./@type = 'checkbox' or ./@type = 'hidden' or ./@type = 'file')][((./@id = 'Email' or ./@name = 'Email') or ./@id = //label[normalize-space(string(.)) = 'Email']/@for)] | .//label[normalize-space(string(.)) = 'Email']//.//*[self::input | self::textarea][not(./@type = 'submit' or ./@type = 'image' or ./@type = 'radio' or ./@type = 'checkbox' or ./@type = 'hidden' or ./@type = 'file')]
 << ok
 << 1
 << 1
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 1
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 7
 >> visible
 >> 1
 >> 1
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 1
 << ok
 << 4
 << true
 >> Node
 >> 3
 >> 3
 >> set
 >> 1
 >> 1
 >> 19
 >> email-0@example.com
 << ok
 << 0
 << 
 >> Find
 >> 1
 >> 501
 >> .//*[self::input | self::textarea][not(./@type = 'submit' or ./@type = 'image' or ./@type = 'radio' or ./@type = 'checkbox' or ./@type = 'hidden' or ./@type = 'file')][((./@id = 'Password' or ./@name = 'Password') or ./@id = //label[normalize-space(string(.)) = 'Password']/@for)] | .//label[normalize-space(string(.)) = 'Password']//.//*[self::input | self::textarea][not(./@type = 'submit' or ./@type = 'image' or ./@type = 'radio' or ./@type = 'checkbox' or ./@type = 'hidden' or ./@type = 'file')]
 << ok
 << 1
 << 2
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 2
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 7
 >> visible
 >> 1
 >> 2
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 2
 << ok
 << 4
 << true
 >> Node
 >> 3
 >> 3
 >> set
 >> 1
 >> 2
 >> 7
 >> Geheim!
 << ok
 << 0
 << 
 >> Find
 >> 1
 >> 369
 >> .//input[./@type = 'submit' or ./@type = 'image' or ./@type = 'button'][((./@id = 'Sign in' or ./@value = 'Sign in') or ./@title = 'Sign in')] | .//input[./@type = 'image'][./@alt = 'Sign in'] | .//button[(((./@id = 'Sign in' or ./@value = 'Sign in') or normalize-space(string(.)) = 'Sign in') or ./@title = 'Sign in')] | .//input[./@type = 'image'][./@alt = 'Sign in']
 << ok
 << 1
 << 3
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 3
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 7
 >> visible
 >> 1
 >> 3
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 3
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 5
 >> click
 >> 1
 >> 3
 << ok
 << 0
 << 
 >> Visit
 >> 1
 >> 71
 >> http://127.0.0.1:62396/projects/4e8ab5513e81a7640e000007/delivery_notes
 << ok
 << 0
 << 
 >> Find
 >> 1
 >> 21
 >> .//*[@id = 'content']
 << ok
 << 1
 << 1
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 1
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 7
 >> visible
 >> 1
 >> 1
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 1
 << ok
 << 4
 << true
 >> Node
 >> 3
 >> 10
 >> findWithin
 >> 1
 >> 1
 >> 201
 >> .//a[./@href = '/projects/4e8ab5513e81a7640e000007/delivery_notes/4e8ab5513e81a7640e00000c'][(((./@id = 'Show' or normalize-space(string(.)) = 'Show') or ./@title = 'Show') or .//img[./@alt = 'Show'])]
 << ok
 << 1
 << 2
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 1
 << ok
 << 4
 << true
 >> Node
 >> 3
 >> 10
 >> findWithin
 >> 1
 >> 1
 >> 228
 >> .//a[./@href = '/projects/4e8ab5513e81a7640e000007/delivery_notes/4e8ab5513e81a7640e00000c'][(((./@id = 'Show' or contains(normalize-space(string(.)), 'Show')) or contains(./@title, 'Show')) or .//img[contains(./@alt, 'Show')])]
 << ok
 << 1
 << 3
 >> Evaluate
 >> 1
 >> 49
 >> window.original_confirm_function = window.confirm
 << ok
 << 2
 << {}
 >> Evaluate
 >> 1
 >> 47
 >> window.confirm = function(msg) { return true; }
 << ok
 << 2
 << {}
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 1
 << ok
 << 4
 << true
 >> Node
 >> 3
 >> 10
 >> findWithin
 >> 1
 >> 1
 >> 134
 >> .//a[./@href][(((./@id = 'Destroy' or normalize-space(string(.)) = 'Destroy') or ./@title = 'Destroy') or .//img[./@alt = 'Destroy'])]
 << ok
 << 1
 << 4
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 4
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 7
 >> visible
 >> 1
 >> 4
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 4
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 5
 >> click
 >> 1
 >> 4
 << ok
 << 0
 << 
 >> Evaluate
 >> 1
 >> 49
 >> window.confirm = window.original_confirm_function
 << ok
 << 4
 << null
 >> Find
 >> 1
 >> 21
 >> .//*[@id = 'content']
 << ok
 << 1
 << 1
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 1
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 7
 >> visible
 >> 1
 >> 1
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 1
 << ok
 << 4
 << true
 >> Node
 >> 3
 >> 10
 >> findWithin
 >> 1
 >> 1
 >> 98
 >> ./descendant-or-self::*[contains(normalize-space(.), 'Delivery note was successfully destroyed.')]
 << ok
 << 3
 << 2,3
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 1
 << ok
 << 4
 << true
 >> Node
 >> 3
 >> 10
 >> findWithin
 >> 1
 >> 1
 >> 201
 >> .//a[./@href = '/projects/4e8ab5513e81a7640e000007/delivery_notes/4e8ab5513e81a7640e00000c'][(((./@id = 'Show' or normalize-space(string(.)) = 'Show') or ./@title = 'Show') or .//img[./@alt = 'Show'])]
 << ok
 << 0
 << 
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 1
 << ok
 << 4
 << true
 >> Node
 >> 3
 >> 10
 >> findWithin
 >> 1
 >> 1
 >> 228
 >> .//a[./@href = '/projects/4e8ab5513e81a7640e000007/delivery_notes/4e8ab5513e81a7640e00000c'][(((./@id = 'Show' or contains(normalize-space(string(.)), 'Show')) or contains(./@title, 'Show')) or .//img[contains(./@alt, 'Show')])]
 << ok
 << 0
 << 
 >> Reset
 >> 0
 << ok
 << 0
 << 
    destroy delivery note

Projects
  POST /projects/12345/destroy
 >> Visit
 >> 1
 >> 36
 >> http://127.0.0.1:62396/users/sign_in
 << 
 >> Reset
 >> 0
    destroy (FAILED - 1)

Failures:

  1) Projects POST /projects/12345/destroy destroy
     Failure/Error: login_as user
     Capybara::Driver::Webkit::WebkitNoResponseError:
       No response received from the server.
     # ./spec/support/auth_methods.rb:14:in `login_as'
     # ./spec/requests/projects_spec.rb:7:in `block (2 levels) in <top (required)>'

Finished in 19.31 seconds
2 examples, 1 failure

Failed examples:

rspec ./spec/requests/projects_spec.rb:169 # Projects POST /projects/12345/destroy destroy

This is the code of the specs:

  describe "POST /projects/12345/destroy" do
    it "destroy", js: true, focus: true do
      own_p1 = Fabricate(:project, :name => "Mein Projekt 1", :owner => user.organization)

      visit projects_path

      within("#content") do
        page.should have_content "Mein Projekt 1"

        handle_js_confirm do
          click_link "Destroy"
        end
      end

      within("#content") do
        page.should have_content "Project was successfully destroyed."
        page.should_not have_content "Mein Projekt 1"
      end
    end
  end
  describe "GET /projects/12345/work_breakdown_structures/12345/destroy" do
    let!(:delivery_note) {Fabricate(:delivery_note, project: project)}

    it "destroy delivery note", js: true, focus: true do
      visit project_delivery_notes_path(project)

      within("#content") do
        page.should have_link "Show", href: project_delivery_note_path(project, delivery_note)

        handle_js_confirm do
          click_link "Destroy"
        end
      end

      within("#content") do
        page.should have_content "Delivery note was successfully destroyed."

        page.should_not have_link "Show", href: project_delivery_note_path(project, delivery_note)
      end
    end
  end
# Confirms an JavaScript Alert box
# Source: https://github.com/thoughtbot/capybara-webkit/issues/84
def handle_js_confirm(accept=true)
  page.evaluate_script "window.original_confirm_function = window.confirm"
  page.evaluate_script "window.confirm = function(msg) { return #{!!accept}; }"
  yield
ensure
  page.evaluate_script "window.confirm = window.original_confirm_function"
end
@groman-me
Copy link

I've had the same problem. The solution for me was put the visit call at first line inside of it block (before Factory calls). For example it could be something like that:

describe "POST /projects/12345/destroy" do
  it "destroy", js: true, focus: true do        
    visit index_path
    own_p1 = Fabricate(:project, :name => "Mein Projekt 1", :owner => user.organization)
    visit projects_path

@mattscilipoti
Copy link

Temporary workaround: we found that removing rails_footnotes fixed this error for us. We haven't found what it was about the footnotes that caused an issue.

@simonoff
Copy link

Any updates?

@Ken-Richard
Copy link

I am getting similar errors when running on my CI server (ubuntu/jenkins) with both xvfb-run and headless. The test work fine running on my OSX development machine. The tests run for a little while and then I get the error. Once the error appears the rest of the tests fail.

Any work arounds or debugging recommendations?

@vidriloco
Copy link

Here also having the same problems: "No response received from the server" followed by "Broken pipe" error.

Using capybara-webkit 0.7.2

@flynfish
Copy link

+1 same issue but on capybara-webkit 0.12.1 and capybara 1.1.2

@andruby
Copy link

andruby commented Jun 15, 2012

+1 I also get a "No response received from the server" followed by "Broken pipe" errors for all remaining specs. Using capybara-webkit 0.12.1 and capybara 1.1.2 (tried WEBrick and Unicorn as test server)

@flynfish
Copy link

I have tried QT versions 4.8.0, 4.8.1 and 4.8.2 to no avail. A coworker is on QT 4.7.4 and does not get these errors. I tried switching versions to 4.7.4 with brew, but that bottle is no longer hosted. I then tried to install that version through brew with the --build_from_source option but I get a build error.

@andruby
Copy link

andruby commented Jun 15, 2012

@flynfish, @vidriloco do you use twitter-bootstrap-rails? Or any other less css gem?
My acceptance specs used to run fine until I moved from a sass version of twitter bootstrap to the less version (twitter-bootstrap-rails).

It might have something to do with this bug or it might be a coincidence..

@flynfish
Copy link

@andruby I am indeed using less-rails-bootstrap. Were you able to fix the issue?

On a sidenote related to my previous comment, I got QT 4.7.4 installed and my tests are still failing with the same no response from server and broken pipe errors. Not sure why it worked on my coworkers environment.

@andruby
Copy link

andruby commented Jun 19, 2012

@flynfish I've not tried many solutions yet. Maybe precompiling assets in test environment might work around the bug?
Please let me know when you find a fix.

@apangeajwrubel
Copy link

Having the same issue - none of the other engineers are seeing this. Feels like it might be a version issue. I'm on capybara 1.1.2 and capybara-webkit 0.12.1, but all of the rest of the engineers use the same versions. I'm on qt 4.8.2.

@flynfish
Copy link

So I think we found the root cause, it has to do with font rendering. Not sure if everyone having the issue is running bootstrap, but if we comment out our @import of the font.less file, then the errors go away.

@apangeajwrubel
Copy link

Hmm - we aren't using bootstrap but we are using zurb foundation. Let me see if there are any fonts being included in our project that might be the cause....

@mkrisher
Copy link

what @flynfish and I found was some console output from capybara-webkit complaining about web font rendering. Bootstrap or not, any web font rendering can randomly cause a font render exception to be thrown in webkit in various version of Qt in our experience.

@apangeajwrubel
Copy link

The only reference to @font in our project is in modernizr - but we do have a javascript library that loads assets from a remote server. I bet the core issue is actually any call to a remote server... Hmmm.. off to do some testing.

@mkrisher
Copy link

Below is the error I'm seeing:

webkit_server[86928] : ATSFontGetFileReference failed: error -50.

@apangeajwrubel
Copy link

@mkrisher how are you getting to that log? It's not in the rails stack trace... is webkit generating a separate log?

@mkrisher
Copy link

@apangeajwrubel yes, I'm seeing it in the console. Likewise console output gets rendered when say running RSpec in the terminal.

@flynfish
Copy link

ok, this is really weird. Apparently when I commented out that import, webkit decided not to throw any errors. After running it again I got the errors again. :rage1:

@apangeajwrubel
Copy link

Ah - that's it. We're not using RSpec. Output must be different. Still looking in to the cause but we're fairly confident it's related to remote asset loading, which would explain the problem happening with web fonts and external js includes.

@mutewinter
Copy link

I started getting this error today. I happened after running a bundle update. I reverted the updates one by one and tracked it down to the gem twitter-boostrap-rails (2.1.0). The update had brought me from 2.0.7 to 2.1.0.

Reverting to 2.0.7 fixes this problem entirely for me. I'm going to snoop around in twitter-boostrap-rails and see what might be the culprit.

I'm using

gem 'twitter-bootstrap-rails', '= 2.0.7'

to specify the gem since version 2.0.9 also breaks capybara-webkit.

Update: I specified 2.0.8 and it doesn't break. The error is somewhere between 2.0.8 and 2.0.9

@apangeajwrubel
Copy link

Still debugging this on our end since we don't use twitter bootstrap. I happened to have activity monitor up and noticed a very brief flash of fontd soaking CPU when I started up my test suite. I figure it might be a useful data point since others have seen commenting out web font imports solve the problem.

@mutewinter
Copy link

My guess is that there's some sort of timeout threshold that's being hit. Perhaps if the assets take too long to compile this happens.

@apangeajwrubel
Copy link

Gotta be longer than 60 seconds then - that's as high as I set the default wait time and it didn't seem to change the outcomes.

@mutewinter
Copy link

@apangeajwrubel I tried that too. I was so sure that was going to fix it. The hunt continues.

@apangeajwrubel
Copy link

Do any of you know how to install this gem against a specific version of qt? Thought maybe this was a 4.8.x issue so I grabbed 4.7.4 - this article (https://engineering.purdue.edu/elab/wiki/index.php/Torch_7_Installation_on_Mac_OS_X) indicated 4.8.X might have issues. But there's no bottle for the 4.7.x line of qt anymore so I had to install from the .dmg, and now I can't figure out how capybara-webkit is linking to qt when it installs.

@dhiemstra
Copy link

twitter-bootstrap-rails 2.0.9 introduces font-awesome support.
According to this thread it has something to do with Qt not being able to handle a font on your system.
I suspect Qt can't handle font-awesome.

@rschmukler
Copy link

I can confirm that I am having this bug on a non twitter-bootstrap-rails project which independently uses font-awesome

edit:
A temp hack fix for me was:

Switch application.css to application.scss.erb and then manually import font-awesome only if Rails.env.test? is false.

ie:
<% unless Rails.env.test? %>
@import "font-awesome"
<% end %>

@carloslopes
Copy link
Contributor

Sure. Here is the output: https://gist.github.com/3959987

@jferris
Copy link
Contributor

jferris commented Oct 26, 2012

@carloslopes from the backtraces there, it looks like it's running the released version of capybara-webkit (0.12.1) and not the ref you mentioned. Did you remember to run bundle install and bundle exec? Also, there have been a couple new fixes on master since that ref, so you may want to use master instead.

@carloslopes
Copy link
Contributor

@jferris sorry for the last gist, i forgot that i reverted my gemfile to use the version 0.12.1 so i could make the tests pass on my another machine with linux.

here is the new output: https://gist.github.com/3959987

@jferris
Copy link
Contributor

jferris commented Oct 26, 2012

@carloslopes great - thanks. I think that will help us narrow down where the segfault may be occurring.

@carloslopes
Copy link
Contributor

@jferris great!

if i can help with something else, just ask me 😄

@jamilbk
Copy link

jamilbk commented Nov 26, 2012

+1

Seems to be a QtWebKit issue with certain web fonts with on OS X. Possibly this one? https://bugs.webkit.org/show_bug.cgi?id=61031

@jesseclark
Copy link

Using OS X 10.6.8, Qt 4.7
Using capybara (2.0.1)
Using capybara-webkit (0.13.0) from git://github.com/thoughtbot/capybara-webkit.git (at master) with native extensions

I get this exception when running my integration tests:

          Broken pipe
        @ /Users/jesse/.rvm/gems/ruby-1.9.3-p327@corengi.com/bundler/gems/capybara-webkit-2eb38b3c0235/lib/capybara/webkit/connection.rb:21:in `write'
          /Users/jesse/.rvm/gems/ruby-1.9.3-p327@corengi.com/bundler/gems/capybara-webkit-2eb38b3c0235/lib/capybara/webkit/connection.rb:21:in `puts'
          /Users/jesse/.rvm/gems/ruby-1.9.3-p327@corengi.com/bundler/gems/capybara-webkit-2eb38b3c0235/lib/capybara/webkit/connection.rb:21:in `puts'
          /Users/jesse/.rvm/gems/ruby-1.9.3-p327@corengi.com/bundler/gems/capybara-webkit-2eb38b3c0235/lib/capybara/webkit/browser.rb:140:in `command'
          /Users/jesse/.rvm/gems/ruby-1.9.3-p327@corengi.com/bundler/gems/capybara-webkit-2eb38b3c0235/lib/capybara/webkit/browser.rb:30:in `reset!'
          /Users/jesse/.rvm/gems/ruby-1.9.3-p327@corengi.com/bundler/gems/capybara-webkit-2eb38b3c0235/lib/capybara/webkit/driver.rb:145:in `reset!'
          /Users/jesse/.rvm/gems/ruby-1.9.3-p327@corengi.com/gems/capybara-2.0.1/lib/capybara/session.rb:72:in `reset!'
          /Users/jesse/.rvm/gems/ruby-1.9.3-p327@corengi.com/gems/capybara-2.0.1/lib/capybara.rb:261:in `block in reset_sessions!'
          /Users/jesse/.rvm/gems/ruby-1.9.3-p327@corengi.com/gems/capybara-2.0.1/lib/capybara.rb:261:in `each'
          /Users/jesse/.rvm/gems/ruby-1.9.3-p327@corengi.com/gems/capybara-2.0.1/lib/capybara.rb:261:in `reset_sessions!'
          test/test_helper.rb:76:in `reset_capybara'

Not importing font-awesome fixes the issue (btw - I am using font-awesome via the compass_twitter_bootstrap gem ).

@dsci
Copy link

dsci commented Dec 18, 2012

I second @jesseclark 's comment.

Using OS X 10.7.5, Qt 4.8.2, Capybara 1.1.4, capybara-webkit 0.13.0, removing font-awesome fixes the issue.

@panozzaj
Copy link

For another potential workaround, check out the gists at teampoltergeist/poltergeist#44. I was able to use one like:

if Rails.env.test?
  require 'rack/contrib/simple_endpoint'
  Rails.application.config.middleware.insert_after Rack::Runtime, Rack::SimpleEndpoint, /\.ttf$/ do |req, res, match|
    res.status = '403'
    "I will not serve TTF fonts in test mode."
  end
end

(after installing the rack-contrib gem)

@mhoran
Copy link
Collaborator

mhoran commented Jan 1, 2013

Could folks give #442 a shot? I've implemented a workaround that resolves these crashes with Font Awesome.

@Govinda-Fichtner
Copy link

I am also having this issue with fonts from http://fontello.com/. So this seems not a problem of font-awesome.
According to http://code.google.com/p/wkhtmltopdf/issues/detail?id=410 and there comment 11 it seems to be related to qt 4.x... I could not get it working with qt 4.8.4 and latest capybara-webkit master...
I also found this http://trac.webkit.org/changeset/113968, but cannot say if it will remove the problems with custom fonts.
Will we see support for QT5 in the near future?

@mhoran
Copy link
Collaborator

mhoran commented Jan 2, 2013

@Govinda-Fichtner, could you try out PR #442? I also have a Qt 5 compatibility branch, but I'm not sure that it will fix the issue.

@Govinda-Fichtner
Copy link

Going to test PR #442 first thing in the morning...

@mhoran
Copy link
Collaborator

mhoran commented Jan 2, 2013

@Govinda-Fichtner, thanks for the link to http://trac.webkit.org/changeset/113968. Although the wkhtmltopdf link looks unrelated, the changeset does lead me to believe this issue may be resolved in Qt 5. However, the workaround in #442 should work as well.

Maintaining compatibility between Qt 4.8 and 5.0 will be difficult, as internal naming of some APIs has changed, among other things. I'd hat to have a bunch of #if statements throughout the code, but it may come down to that.

Looking forward to hearing about your tests.

@carloslopes
Copy link
Contributor

@mhoran i tested your patch on Mac OS X 10.8 with Qt 4.8.3 and Capybara 2.0.2

It worked perfectly

@mhoran
Copy link
Collaborator

mhoran commented Jan 2, 2013

Fantastic, thanks! I've also confirmed that the issue is resolved in Qt 5. However, we'll probably still leave the workaround in pace for Qt 4.8.

@carloslopes
Copy link
Contributor

Np, you are welcome! 😄

@mhoran
Copy link
Collaborator

mhoran commented Jan 3, 2013

I've merged 11c596f to master. Once we hear from @Govinda-Fichtner, I think it's safe to say this issue is resolved.

@jamilbk
Copy link

jamilbk commented Jan 3, 2013

@mhoran Just confirming -- this is a work-around for Qt 4.8 and the Qt 5.0 compatibility branch is still in the works?

@mhoran
Copy link
Collaborator

mhoran commented Jan 3, 2013

The latest commit is just a workaround for Qt 4.8. I've not committed Qt 5 support as it is not backwards compatible with Qt 4.8. Though Qt 5 properly fixes the issue, the workaround should be sufficient for headless testing. It simply disables web fonts when applied. Qt 5 resolves the issue by loading web fonts via a different mechanism on OS X, which bypasses the segfault inducing code.

@mhoran
Copy link
Collaborator

mhoran commented Jan 4, 2013

capybara-webkit 0.14.0 has been released, which includes the fix for this issue.

@mhoran mhoran closed this as completed Jan 4, 2013
@Govinda-Fichtner
Copy link

@mhoran OK. Took me some time to test this as I had to fix several issues in my tests with capybara 2.x. But in the end I can say that the workaround fixes the issues for me. Great work!
Is the dependency on capybara 2.x necessary?

@carloslopes
Copy link
Contributor

I think it is. When you update the capybara-webkit in your Gemfile, it will update your capybara gem too (maybe it cause some incompatibilities if you are setting the capybara's version explicity to an older version, like 1.1.4)

And if you are using rspec-rails, take a look at this blog post, it explain the new spec's pattern

@Govinda-Fichtner
Copy link

After some time with capybara 2 I must say that I still have issues with capybara 2 where tests sometimes work and sometimes are not working... lost already 2 days trying to fix this. These were all tests that were stable with capybara 1.x. With the dependency on capybara 2 if I want to have the fixes of the lastest capybara-webkit I have no choice but to use capybara 2...

@bosunolanrewaju bosunolanrewaju assigned kenyonj and unassigned kenyonj Apr 9, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.