2010/1/31 Graham Dumpleton <[email protected]> > Hmmm, you too now. Same Apache 2.2.3 and APR 1.2.7. > > What have they done on Centos with Apache to cause me this and the > other problem still being discussed slowly in other thread. > > http://groups.google.com/group/modwsgi/browse_frm/thread/2e84f9ae0b5ac0c4 > > My next suggestion in respect of other thread was simply to disable > mod_ssl if you can and see if that makes a difference. >
Disabling ssl does not make a difference neither disabling subversion (dav_svn_module and authz_svn_module) or mod_cband. To disable php and mod_python I need to change lots of lines in a conf file and I don't want to stop the server to much time. I don't know if it means something so I have to ask: Did you see the last lines in the gdb output?: Program received signal SIGPIPE, Broken pipe. 0x00002b0189c37a43 in writev () from /lib64/libc.so.6 (gdb) If you think it would help I can give you a login account in the server with root access. Clodoaldo > If can, you might just start disabling other Apache modules you don't > need and see if we can work out if it is a specific module conflict. > > If it was a bit more reliable as to what processes crash, would also > suggest trying to attach gdb to a specific worker process rather than > run httpd with -X option. > > Graham > > On 1 February 2010 05:14, Clodoaldo Neto <[email protected]> > wrote: > > I have this message when mod_wsgi.so is loaded: > > > > [Sun Jan 31 17:16:55 2010] [notice] child pid # exit signal Segmentation > > fault (11) > > > > Happens with both mod_wsgi 2.8 and 3.1, binary or locally built. There > are > > no mod_wsgi configured directives. Centos 5 x86_64. mod_python also > loaded. > > mod_python sites still work. I think I have tested mod_wsgi in this > server > > before without problems. > > > > # uname -a > > Linux example.com 2.6.18-164.11.1.el5 #1 SMP Wed Jan 20 07:32:21 EST > 2010 > > x86_64 x86_64 x86_64 GNU/Linux > > > > # ldd /usr/lib64/httpd/modules/mod_wsgi.so > > libpython2.4.so.1.0 => /usr/lib64/libpython2.4.so.1.0 > (0x00002b2093310000) > > libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b2093642000) > > libdl.so.2 => /lib64/libdl.so.2 (0x00002b209385d000) > > libutil.so.1 => /lib64/libutil.so.1 (0x00002b2093a62000) > > libm.so.6 => /lib64/libm.so.6 (0x00002b2093c65000) > > libc.so.6 => /lib64/libc.so.6 (0x00002b2093ee8000) > > /lib64/ld-linux-x86-64.so.2 (0x00002b2092ec6000) > > > > # ldd /usr/bin/python > > libpython2.4.so.1.0 => /usr/lib64/libpython2.4.so.1.0 > (0x0000003126400000) > > libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b039cc35000) > > libdl.so.2 => /lib64/libdl.so.2 (0x00002b039ce50000) > > libutil.so.1 => /lib64/libutil.so.1 (0x00002b039d055000) > > libm.so.6 => /lib64/libm.so.6 (0x00002b039d258000) > > libc.so.6 => /lib64/libc.so.6 (0x00002b039d4db000) > > /lib64/ld-linux-x86-64.so.2 (0x00002b039ca18000) > > > > # httpd -l > > Compiled in modules: > > core.c > > prefork.c > > http_core.c > > mod_so.c > > > > # httpd -V > > Server version: Apache/2.2.3 > > Server built: Nov 12 2009 18:43:41 > > Server's Module Magic Number: 20051115:3 > > Server loaded: APR 1.2.7, APR-Util 1.2.7 > > Compiled using: APR 1.2.7, APR-Util 1.2.7 > > Architecture: 64-bit > > Server MPM: Prefork > > threaded: no > > forked: yes (variable process count) > > Server compiled with.... > > -D APACHE_MPM_DIR="server/mpm/prefork" > > -D APR_HAS_SENDFILE > > -D APR_HAS_MMAP > > -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) > > -D APR_USE_SYSVSEM_SERIALIZE > > -D APR_USE_PTHREAD_SERIALIZE > > -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT > > -D APR_HAS_OTHER_CHILD > > -D AP_HAVE_RELIABLE_PIPED_LOGS > > -D DYNAMIC_MODULE_LIMIT=128 > > -D HTTPD_ROOT="/etc/httpd" > > -D SUEXEC_BIN="/usr/sbin/suexec" > > -D DEFAULT_PIDLOG="logs/httpd.pid" > > -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" > > -D DEFAULT_LOCKFILE="logs/accept.lock" > > -D DEFAULT_ERRORLOG="logs/error_log" > > -D AP_TYPES_CONFIG_FILE="conf/mime.types" > > -D SERVER_CONFIG_FILE="conf/httpd.conf" > > > > # egrep -h '^ *LoadModule' /etc/httpd/conf/httpd.conf > > /etc/httpd/conf.d/*.conf > > LoadModule auth_basic_module modules/mod_auth_basic.so > > LoadModule auth_digest_module modules/mod_auth_digest.so > > LoadModule authn_file_module modules/mod_authn_file.so > > LoadModule authn_alias_module modules/mod_authn_alias.so > > LoadModule authn_anon_module modules/mod_authn_anon.so > > LoadModule authn_dbm_module modules/mod_authn_dbm.so > > LoadModule authn_default_module modules/mod_authn_default.so > > LoadModule authz_host_module modules/mod_authz_host.so > > LoadModule authz_user_module modules/mod_authz_user.so > > LoadModule authz_owner_module modules/mod_authz_owner.so > > LoadModule authz_groupfile_module modules/mod_authz_groupfile.so > > LoadModule authz_dbm_module modules/mod_authz_dbm.so > > LoadModule authz_default_module modules/mod_authz_default.so > > LoadModule ldap_module modules/mod_ldap.so > > LoadModule authnz_ldap_module modules/mod_authnz_ldap.so > > LoadModule include_module modules/mod_include.so > > LoadModule log_config_module modules/mod_log_config.so > > LoadModule logio_module modules/mod_logio.so > > LoadModule env_module modules/mod_env.so > > LoadModule ext_filter_module modules/mod_ext_filter.so > > LoadModule mime_magic_module modules/mod_mime_magic.so > > LoadModule expires_module modules/mod_expires.so > > LoadModule deflate_module modules/mod_deflate.so > > LoadModule headers_module modules/mod_headers.so > > LoadModule usertrack_module modules/mod_usertrack.so > > LoadModule setenvif_module modules/mod_setenvif.so > > LoadModule mime_module modules/mod_mime.so > > LoadModule dav_module modules/mod_dav.so > > LoadModule status_module modules/mod_status.so > > LoadModule autoindex_module modules/mod_autoindex.so > > LoadModule info_module modules/mod_info.so > > LoadModule dav_fs_module modules/mod_dav_fs.so > > LoadModule vhost_alias_module modules/mod_vhost_alias.so > > LoadModule negotiation_module modules/mod_negotiation.so > > LoadModule dir_module modules/mod_dir.so > > LoadModule actions_module modules/mod_actions.so > > LoadModule speling_module modules/mod_speling.so > > LoadModule userdir_module modules/mod_userdir.so > > LoadModule alias_module modules/mod_alias.so > > LoadModule rewrite_module modules/mod_rewrite.so > > LoadModule proxy_module modules/mod_proxy.so > > LoadModule proxy_balancer_module modules/mod_proxy_balancer.so > > LoadModule proxy_ftp_module modules/mod_proxy_ftp.so > > LoadModule proxy_http_module modules/mod_proxy_http.so > > LoadModule proxy_connect_module modules/mod_proxy_connect.so > > LoadModule cache_module modules/mod_cache.so > > LoadModule suexec_module modules/mod_suexec.so > > LoadModule disk_cache_module modules/mod_disk_cache.so > > LoadModule file_cache_module modules/mod_file_cache.so > > LoadModule mem_cache_module modules/mod_mem_cache.so > > LoadModule cgi_module modules/mod_cgi.so > > LoadModule version_module modules/mod_version.so > > LoadModule auth_kerb_module modules/mod_auth_kerb.so > > LoadModule mysql_auth_module modules/mod_auth_mysql.so > > LoadModule auth_pgsql_module modules/mod_auth_pgsql.so > > LoadModule authz_ldap_module modules/mod_authz_ldap.so > > LoadModule cband_module modules/mod_cband.so > > LoadModule nss_module modules/libmodnss.so > > LoadModule perl_module modules/mod_perl.so > > LoadModule php5_module modules/libphp5.so > > LoadModule proxy_ajp_module modules/mod_proxy_ajp.so > > LoadModule python_module modules/mod_python.so > > LoadModule ssl_module modules/mod_ssl.so > > LoadModule dav_svn_module modules/mod_dav_svn.so > > LoadModule authz_svn_module modules/mod_authz_svn.so > > LoadModule wsgi_module modules/mod_wsgi.so > > > > > > [Sun Jan 31 15:04:38 2010] [notice] SELinux policy enabled; httpd running > as > > context user_u:system_r:httpd_t > > [Sun Jan 31 15:04:38 2010] [notice] suEXEC mechanism enabled (wrapper: > > /usr/sbin/suexec) > > [Sun Jan 31 15:04:38 2010] [info] Init: Initializing NSS library > > [Sun Jan 31 15:04:38 2010] [info] Initializing SSL Session Cache of size > > 10000. SSL2 timeout = 100, SSL3/TLS timeout = 86400. > > [Sun Jan 31 15:04:38 2010] [info] Init: Initializing (virtual) servers > for > > SSL > > [Sun Jan 31 15:04:38 2010] [info] Server: Apache/2.2.3, Interface: > > mod_nss/2.2.3, Library: NSS/3.12.4.1 Basic ECC Beta > > [Sun Jan 31 15:04:38 2010] [info] Init: Seeding PRNG with 256 bytes of > > entropy > > [Sun Jan 31 15:04:38 2010] [info] Init: Generating temporary RSA private > > keys (512/1024 bits) > > [Sun Jan 31 15:04:38 2010] [info] Init: Generating temporary DH > parameters > > (512/1024 bits) > > [Sun Jan 31 15:04:38 2010] [info] Init: Initializing (virtual) servers > for > > SSL > > [Sun Jan 31 15:04:38 2010] [info] Server: Apache/2.2.3, Interface: > > mod_ssl/2.2.3, Library: OpenSSL/0.9.8e-fips-rhel5 > > [Sun Jan 31 15:04:38 2010] [notice] Digest: generating secret for digest > > authentication ... > > [Sun Jan 31 15:04:38 2010] [notice] Digest: done > > [Sun Jan 31 15:04:38 2010] [info] APR LDAP: Built with OpenLDAP LDAP SDK > > [Sun Jan 31 15:04:38 2010] [info] LDAP: SSL support available > > [Sun Jan 31 15:04:38 2010] [info] Init: Re-initializing NSS library > > [Sun Jan 31 15:04:38 2010] [info] Initializing SSL Session Cache of size > > 10000. SSL2 timeout = 100, SSL3/TLS timeout = 86400. > > [Sun Jan 31 15:04:38 2010] [info] Init: Seeding PRNG with 144 bytes of > > entropy > > [Sun Jan 31 15:04:38 2010] [info] Init: Initializing (virtual) servers > for > > SSL > > [Sun Jan 31 15:04:38 2010] [info] Server: Apache/2.2.3, Interface: > > mod_nss/2.2.3, Library: NSS/3.12.4.1 Basic ECC Beta > > [Sun Jan 31 15:04:38 2010] [notice] mod_python: Creating 8 session > mutexes > > based on 50 max processes and 0 max threads. > > [Sun Jan 31 15:04:38 2010] [notice] mod_python: using mutex_directory > /tmp > > [Sun Jan 31 15:04:38 2010] [info] Init: Seeding PRNG with 256 bytes of > > entropy > > [Sun Jan 31 15:04:38 2010] [info] Init: Generating temporary RSA private > > keys (512/1024 bits) > > [Sun Jan 31 15:04:38 2010] [info] Init: Generating temporary DH > parameters > > (512/1024 bits) > > [Sun Jan 31 15:04:38 2010] [info] Shared memory session cache initialised > > [Sun Jan 31 15:04:38 2010] [info] Init: Initializing (virtual) servers > for > > SSL > > [Sun Jan 31 15:04:38 2010] [info] Server: Apache/2.2.3, Interface: > > mod_ssl/2.2.3, Library: OpenSSL/0.9.8e-fips-rhel5 > > [Sun Jan 31 15:04:38 2010] [warn] pid file /etc/httpd/run/httpd.pid > > overwritten -- Unclean shutdown of previous Apache run? > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12958): Initializing > Python. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12959): Initializing > Python. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12958): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12960): Initializing > Python. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12959): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12961): Initializing > Python. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12960): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12962): Initializing > Python. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12961): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12964): Initializing > Python. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12962): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12963): Initializing > Python. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12964): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12965): Initializing > Python. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12963): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12966): Initializing > Python. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12965): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12966): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12967): Initializing > Python. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12968): Initializing > Python. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12967): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12970): Initializing > Python. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12968): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12969): Initializing > Python. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12970): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12969): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12971): Initializing > Python. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12972): Initializing > Python. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12971): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12972): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12973): Initializing > Python. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12974): Initializing > Python. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12973): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12976): Initializing > Python. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12974): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12975): Initializing > Python. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12976): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12977): Initializing > Python. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12975): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12978): Initializing > Python. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12977): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12979): Initializing > Python. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12978): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12980): Initializing > Python. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12979): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12982): Initializing > Python. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12980): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12981): Initializing > Python. > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12982): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:38 2010] [notice] Apache/2.2.3 (CentOS) configured -- > > resuming normal operations > > [Sun Jan 31 15:04:38 2010] [info] Server built: Nov 12 2009 18:43:41 > > [Sun Jan 31 15:04:38 2010] [info] mod_wsgi (pid=12981): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:52 2010] [info] mod_wsgi (pid=12987): Initializing > Python. > > [Sun Jan 31 15:04:52 2010] [info] mod_wsgi (pid=12987): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:53 2010] [info] mod_wsgi (pid=12988): Initializing > Python. > > [Sun Jan 31 15:04:53 2010] [info] mod_wsgi (pid=12989): Initializing > Python. > > [Sun Jan 31 15:04:53 2010] [info] mod_wsgi (pid=12988): Attach > interpreter > > ''. > > [Sun Jan 31 15:04:53 2010] [info] mod_wsgi (pid=12989): Attach > interpreter > > ''. > > [Sun Jan 31 15:05:00 2010] [info] mod_wsgi (pid=12979): Destroying > > interpreters. > > [Sun Jan 31 15:05:00 2010] [info] mod_wsgi (pid=12979): Cleanup > interpreter > > ''. > > [Sun Jan 31 15:05:01 2010] [notice] child pid 12979 exit signal > Segmentation > > fault (11) > > [Sun Jan 31 15:05:01 2010] [info] mod_wsgi (pid=12980): Destroying > > interpreters. > > [Sun Jan 31 15:05:01 2010] [info] mod_wsgi (pid=12980): Cleanup > interpreter > > ''. > > [Sun Jan 31 15:05:02 2010] [notice] child pid 12980 exit signal > Segmentation > > fault (11) > > [Sun Jan 31 15:05:02 2010] [info] mod_wsgi (pid=12982): Destroying > > interpreters. > > [Sun Jan 31 15:05:02 2010] [info] mod_wsgi (pid=12982): Cleanup > interpreter > > ''. > > [Sun Jan 31 15:05:03 2010] [notice] child pid 12982 exit signal > Segmentation > > fault (11) > > [Sun Jan 31 15:05:15 2010] [info] mod_wsgi (pid=12997): Initializing > Python. > > [Sun Jan 31 15:05:15 2010] [info] mod_wsgi (pid=12997): Attach > interpreter > > ''. > > [Sun Jan 31 15:05:16 2010] [info] mod_wsgi (pid=12998): Initializing > Python. > > [Sun Jan 31 15:05:16 2010] [info] mod_wsgi (pid=12999): Initializing > Python. > > [Sun Jan 31 15:05:16 2010] [info] mod_wsgi (pid=12998): Attach > interpreter > > ''. > > [Sun Jan 31 15:05:16 2010] [info] mod_wsgi (pid=12999): Attach > interpreter > > ''. > > [Sun Jan 31 15:05:18 2010] [info] mod_wsgi (pid=13000): Initializing > Python. > > [Sun Jan 31 15:05:18 2010] [info] mod_wsgi (pid=13000): Attach > interpreter > > ''. > > [Sun Jan 31 15:05:19 2010] [info] mod_wsgi (pid=13002): Initializing > Python. > > [Sun Jan 31 15:05:19 2010] [info] mod_wsgi (pid=13003): Initializing > Python. > > [Sun Jan 31 15:05:19 2010] [info] mod_wsgi (pid=13002): Attach > interpreter > > ''. > > [Sun Jan 31 15:05:19 2010] [info] mod_wsgi (pid=13003): Attach > interpreter > > ''. > > > > # gdb httpd > > GNU gdb Fedora (6.8-37.el5) > > Copyright (C) 2008 Free Software Foundation, Inc. > > License GPLv3+: GNU GPL version 3 or later > > <http://gnu.org/licenses/gpl.html> > > This is free software: you are free to change and redistribute it. > > There is NO WARRANTY, to the extent permitted by law. Type "show > copying" > > and "show warranty" for details. > > This GDB was configured as "x86_64-redhat-linux-gnu"... > > (no debugging symbols found) > > (gdb) run -X > > Starting program: /usr/sbin/httpd -X > > (no debugging symbols found) > > ... > > (no debugging symbols found) > > [Thread debugging using libthread_db enabled] > > (no debugging symbols found) > > ... > > (no debugging symbols found) > > [New Thread 0x2b018c279560 (LWP 12842)] > > (no debugging symbols found) > > ... > > (no debugging symbols found) > > ---Type <return> to continue, or q <return> to quit--- > > (no debugging symbols found) > > ... > > (no debugging symbols found) > > ---Type <return> to continue, or q <return> to quit--- > > (no debugging symbols found) > > ... > > (no debugging symbols found) > > Warning: DocumentRoot [/var/www/html/forum.pontocodigo.net] does not > exist > > Detaching after fork from child process 12873. > > [New Thread 0x41031940 (LWP 12874)] > > [Thread 0x41031940 (LWP 12874) exited] > > (no debugging symbols found) > > ... > > (no debugging symbols found) > > ---Type <return> to continue, or q <return> to quit--- > > (no debugging symbols found) > > ... > > (no debugging symbols found) > > Detaching after fork from child process 12904. > > Detaching after fork from child process 12905. > > Detaching after fork from child process 12906. > > [New Thread 0x41031940 (LWP 12907)] > > > > > > Program received signal SIGPIPE, Broken pipe. > > 0x00002b0189c37a43 in writev () from /lib64/libc.so.6 > > (gdb) > > > > Regards, Clodoaldo > > > > -- > > You received this message because you are subscribed to the Google Groups > > "modwsgi" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]<modwsgi%[email protected]> > . > > For more options, visit this group at > > http://groups.google.com/group/modwsgi?hl=en. > > > > -- > You received this message because you are subscribed to the Google Groups > "modwsgi" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<modwsgi%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/modwsgi?hl=en. > > -- You received this message because you are subscribed to the Google Groups "modwsgi" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/modwsgi?hl=en.
