# Bad file descriptor - connect(2) : Rails su Win2000

**URL:** <https://www.ruby-forum.com/t/bad-file-descriptor-connect-2-rails-su-win2000/67716>\
**Category:** IT\
**Created:** [September 6, 2006, 9:49am UTC](https://www.ruby-forum.com/t/bad-file-descriptor-connect-2-rails-su-win2000/67716 "2006-09-06T09:49:27Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![paolodona](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/35a633/32.png) [@paolodona](https://www.ruby-forum.com/u/paolodona)\
**Post date:** [September 6, 2006, 9:49am UTC](https://www.ruby-forum.com/t/bad-file-descriptor-connect-2-rails-su-win2000/67716/1 "2006-09-06T09:49:27Z")

</div>

Ciao a tutti,  
Stavolta scrivo per una rogna che proprio non riesco a risolvere…

Sto portando un’applicazione Rails in produzione e mi becco sto schifo  
di  
errore:

Bad file descriptor - connect(2)  
RAILS\_ROOT: ./script/…/config/…

Application Trace | Framework Trace | Full Trace  
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active\_record/vendor/mysql.rb:108:in  
`initialize' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/vendor/mysql.rb:108:in `real\_connect’  
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active\_record/connection\_adapters/mysql\_adapter.rb:330:in  
`connect' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/connection_adapters/mysql_adapter.rb:87:in `initialize’  
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active\_record/connection\_adapters/mysql\_adapter.rb:36:in  
`mysql_connection' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/connection_adapters/abstract/connection_specification.rb:251:in `connection\_without\_query\_cache=’  
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active\_record/query\_cache.rb:54:in  
`connection=' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/connection_adapters/abstract/connection_specification.rb:220:in `retrieve\_connection’  
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active\_record/connection\_adapters/abstract/connection\_specification.rb:78:in  
`connection' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/base.rb:696:in `columns’  
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active\_record/base.rb:709:in  
`column_names' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/base.rb:722:in `column\_methods\_hash’  
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active\_record/base.rb:1158:in  
`all_attributes_exists?' c:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:140:in `all?’  
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active\_record/base.rb:1158:in  
`all_attributes_exists?' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/base.rb:1095:in `method\_missing’  
#{RAILS\_ROOT}/app/models/user.rb:39:in `authenticate' #{RAILS_ROOT}/app/controllers/account_controller.rb:10:in `login’

Il mio ambiente di sviluppo è : WinXP - Ruby 1.8.4 - Rails 1.1.6 - Webrick  
1.3.1 - MySQL 5  
L’ambiente di produzione è: Win2000 - Ruby 1.8.4 - Rails 1.1.6 - Mongrel  
0.3.13.3 - MySQL 5

La cosa strana è che in prod ho provato a lanciare l’app anche con Webrick  
e  
da lo stesso problema, quindi non è Mongrel che s’incazza.  
In + se faccio script\console riesco ad interrogare correttamente gli  
ActiveRecord, il che vuol dire che anche la connessione a DB funziona  
correttamente (e l’ho verificato anche con MySQL query browser).

Veramente non so dove sbattere la testa… avete qualche idea?

–  
Paolo D.’  
SeeSaw | Another point of view

> **[A Padova il buon software chi lo fa?](https://seesaw.it/)**
>
> A creare software sono tantissimi, a farlo molto bene c’è una certa schiera di sviluppatori, ma a costruirlo un pezzo alla volta insieme al cliente, plasmarlo sulle sue esigenze e renderlo parte di un nuovo approccio al mondo del lavoro sono davvero...

removed\_email\_address@domain.invalid

---

<div class="post-metadata">

**Author:** ![paolodona](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/35a633/32.png) [@paolodona](https://www.ruby-forum.com/u/paolodona)\
**Post date:** [September 6, 2006, 1:01pm UTC](https://www.ruby-forum.com/t/bad-file-descriptor-connect-2-rails-su-win2000/67716/2 "2006-09-06T13:01:43Z")

</div>

sembr aun problema di connessione al database, del resto non e’ un  
problema nel adapter perche script\console funzione, dunque dovrebbe  
essere un problema di enviroment.

Hai controllato sotto quale environment gira l’applicazione? Mi e’  
capitato piu volte di avere una app che aveva problemi in un env e non  
nell’altro e se utilizzi script\console il default e’ che parta come  
enviroment development a meno di averlo impostato a livello di  
variabili di ambiente.

ciao

Luca

---

<div class="post-metadata">

**Author:** ![paolodona](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/35a633/32.png) [@paolodona](https://www.ruby-forum.com/u/paolodona)\
**Post date:** [September 6, 2006, 2:03pm UTC](https://www.ruby-forum.com/t/bad-file-descriptor-connect-2-rails-su-win2000/67716/3 "2006-09-06T14:03:49Z")

</div>

> Sto portando un’applicazione Rails in produzione e mi becco sto schifo di  
> errore:
> 
> Bad file descriptor - connect(2)  
> RAILS\_ROOT: ./script/…/config/…
> 
> Application Trace | Framework Trace | Full Trace  
> c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active\_record/vendor/mysql.rb:108:in  
> `initialize’

Come dice Luca, sicuramente un problema di collegamento DB… Che ci  
sia un firewall o qualcosa del genere?

> Il mio ambiente di sviluppo è : WinXP - Ruby 1.8.4 - Rails 1.1.6 - Webrick  
> 1.3.1 - MySQL 5  
> L’ambiente di produzione è: Win2000 - Ruby 1.8.4 - Rails 1.1.6 - Mongrel  
> 0.3.13.3 - MySQL 5

Yuck!

> La cosa strana è che in prod ho provato a lanciare l’app anche con Webrick e  
> da lo stesso problema, quindi non è Mongrel che s’incazza.  
> In + se faccio script\console riesco ad interrogare correttamente gli  
> ActiveRecord, il che vuol dire che anche la connessione a DB funziona  
> correttamente (e l’ho verificato anche con MySQL query browser).

Questo, effettivamente, e` strano…

> Veramente non so dove sbattere la testa… avete qualche idea?

Fosse sotto Linux, sarei partito con strace, magari c’e` qualcosa di simile sotto windows? Se si`, dovrei aggiungerlo a [win4.leenooks.com](http://win4.leenooks.com)  
…

–  
David N. Welton

- [David N. Welton](http://www.dedasys.com/davidw/)

Linux, Open Source Consulting

- [http://www.dedasys.com/](http://www.dedasys.com/)

---

<div class="post-metadata">

**Author:** ![paolodona](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/35a633/32.png) [@paolodona](https://www.ruby-forum.com/u/paolodona)\
**Post date:** [September 6, 2006, 4:02pm UTC](https://www.ruby-forum.com/t/bad-file-descriptor-connect-2-rails-su-win2000/67716/4 "2006-09-06T16:02:06Z")

</div>

Perfetto !  
Anche se non capisco perché funzioni con il console e non con Mongrel…  
Forse i due ambienti caricano le librerie in un ordine diverso e hai  
due librerie diverse per mysql…  
Luca

---

<div class="post-metadata">

**Author:** ![paolodona](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/35a633/32.png) [@paolodona](https://www.ruby-forum.com/u/paolodona)\
**Post date:** [September 6, 2006, 2:23pm UTC](https://www.ruby-forum.com/t/bad-file-descriptor-connect-2-rails-su-win2000/67716/5 "2006-09-06T14:23:50Z")

</div>

Grazie per le risposte!

Io lancio tutte le applicazioni con RAILS\_ENV=production quindi:

- ruby sript\console production
- ruby script\server RAILS\_ENV=production
- mongrel\_rails start -e production

Ho visto in giro per le ML di rails che altri hanno avuto lo stesso  
problema  
ma nessuno aveva una risposta.  
Per scrupolo ho reinstallato tutto con la stessa procedura su un Win2003  
Server e… magia… funziona!

Quindi il problema è da ricercare in qualche incompatibilità tra gem nativi  
e win2000 o tra ruby-one-click-installer-184-20 e win2000.

Diciamo che invece di risolvere il problema io ci ho girato intorno (che  
pragmatico!) visto che ho a disposizione una macchina di produzione  
Win2003.  
Non credo che avrò voglia di indagare ulteriormente, ma se qualcuno si  
dovesse trovare nella mia stessa situazione, sappia che può presentarsi sta  
pegola.

PS: avevo anche provato ad installare RubyForApache che monta un  
mysql.so in  
Ruby come consigliato nel file database.yml ma senza esiti positivi ☹

Paolo

On 9/6/06, David W. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> /lib/active\_record/vendor/mysql.rb:108:in
> 
> Linux, Open Source Consulting
> 
> - [http://www.dedasys.com/](http://www.dedasys.com/)
> 
> * * *
> 
> Ml mailing list  
> removed\_email\_address@domain.invalid  
> [http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)

–  
Paolo D.’  
SeeSaw | Another point of view

> **[A Padova il buon software chi lo fa?](https://seesaw.it/)**
>
> A creare software sono tantissimi, a farlo molto bene c’è una certa schiera di sviluppatori, ma a costruirlo un pezzo alla volta insieme al cliente, plasmarlo sulle sue esigenze e renderlo parte di un nuovo approccio al mondo del lavoro sono davvero...

removed\_email\_address@domain.invalid

---

<div class="post-metadata">

**Author:** ![paolodona](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/35a633/32.png) [@paolodona](https://www.ruby-forum.com/u/paolodona)\
**Post date:** [September 6, 2006, 4:04pm UTC](https://www.ruby-forum.com/t/bad-file-descriptor-connect-2-rails-su-win2000/67716/6 "2006-09-06T16:04:07Z")

</div>

Può essere, ma il bello è che io non ho installato librerie per MySQL…  
nel senso che su Winz non devi nemmeno fare gem install mysql… è tutto  
prepackaged…  
veramente non mi spiego sta cosa…

On 9/6/06, Luca M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > Io lancio tutte le applicazioni con RAILS\_ENV=production quindi:  
> > Quindi il problema è da ricercare in qualche incompatibilità tra gem
> > 
> > > di  
> > > Come dice Luca, sicuramente un problema di collegamento DB… Che ci
> > > 
> > > Linux, Open Source Consulting  
> > > Paolo D.’  
> > > removed\_email\_address@domain.invalid  
> > > [http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)

–  
Paolo D.’  
SeeSaw | Another point of view

> **[A Padova il buon software chi lo fa?](https://seesaw.it/)**
>
> A creare software sono tantissimi, a farlo molto bene c’è una certa schiera di sviluppatori, ma a costruirlo un pezzo alla volta insieme al cliente, plasmarlo sulle sue esigenze e renderlo parte di un nuovo approccio al mondo del lavoro sono davvero...

removed\_email\_address@domain.invalid
