AdSense Mobile Ad

Showing posts with label blastwave. Show all posts
Showing posts with label blastwave. Show all posts

Monday, May 4, 2009

A strange font problem using Solaris Express Community Edition build 110 and Blastwave's packages

After live upgrading SXCE from build 104 to build 110 I started to experience a problem which makes it impossible to use some (current) Blastwave's packages.

After launch, xine immediately core dumps:
grey@solaris1:~$ xine
This is xine (X11 gui) - a free video player v0.99.4.
(c) 2000-2004 The xine Team.
xiTK WARNING(xitk_font_load_font:725): loading font "*-helvetica-*-i-*-*-12-*-*-*-*-*-*-*" failed, default and system fonts "xiTK received SIGSEGV signal, RIP.
Abort (core dumped)
Core file says:
grey@solaris1:~$ pstack core
core 'core' of 3361: xine
----------------- lwp# 1 / thread# 1 --------------------
c99d22a5 _lwp_kill (1, 6, 8043e18, c997ab7e) + 15
c997ab8a raise (6, 0, 8043e68, c9951ffa) + 22
c995201a abort (813b66c, 1, 23, 815a128, c9a50000, c9392a00) + f2
080e9829 ???????? (b, 0, 8043f50, 80e9718)
c99c01bf call_user_handler (b) + 2af
c99c03ef sigacthandler (b, 0, 8043f50) + df
--- called from signal handler with signal 11 (SIGSEGV) ---
c99447a0 strlen (813ae1c) + 30
c9992b90 fprintf (815a128, 813ae1c, a3c0730, 0, 816dce8, 815a128) + a8
080c514b xitk_font_load_font (321, 646f636e, 816e020, 816e027, 816e038, 816e040) + 9bb
09230064 ???????? ()
----------------- lwp# 2 / thread# 2 --------------------
c99cd049 __lwp_park (8159c90, 8159c78) + 19
c99c678d cond_wait_queue (8159c90, 8159c78, 0, c99c6c56) + 60
c99c6cce __cond_wait (8159c90, 8159c78, c8bdee70, c99c6d13) + 86
c99c6d21 cond_wait (8159c90, 8159c78, 813c040, c99c6d54) + 24
c99c6d69 pthread_cond_wait (8159c90, 8159c78, 0, 0, 0, 0) + 21
0811a763 ???????? (0, 0, 0, 0, 10300, 43560000)
4d580000 ???????? ()
----------------- lwp# 3 / thread# 3 --------------------
c99d0fe5 __nanosleep (c8a6ef90, c8a6ef88, 0, 10c11d08, 0, 1dcd6500) + 15
c9ac25b6 xine_usec_sleep () + 6a
----------------- lwp# 4 / thread# 4 --------------------
c99cd049 __lwp_park (82626d8, 82626c0) + 19
c99c678d cond_wait_queue (82626d8, 82626c0, c834ef28, c99c6976) + 60
c99c6b53 cond_wait_common (82626d8, 82626c0, c834ef28, c99c6d96) + 1eb
c99c6dee __cond_timedwait (82626d8, 82626c0, c834efb0, c99c6e80) + 66
c99c6e91 cond_timedwait (82626d8, 82626c0, c834efb0, c99c6ec4) + 27
c99c6edc pthread_cond_timedwait (82626d8, 82626c0, c834efb0, c834efb8, c834efb8, 82626c0) + 24
c9a9e38e ???????? ()
----------------- lwp# 5 / thread# 5 --------------------
c99d1d15 __pollsys (816d820, 1, 0, 0, 5, c920e000) + 15
c9977834 poll (816d820, 1, ffffffff, c90e69ca) + 4c
c90e6aa7 _XWaitForReadable (8169170, c920e000, c819ee64, c90e79ff) + eb
c90e7b40 _XReply (8169170, c819ee7c, 0, 1) + 2c8
c90f2df2 XSync (8169170, 0, 48003bb, 8262d58, a548800, 0) + 72
c81b48cb ???????? ()
----------------- lwp# 6 / thread# 6 --------------------
c99cd049 __lwp_park (8a9b6ec, 8a9b6d4) + 19
c99c678d cond_wait_queue (8a9b6ec, 8a9b6d4, 0, c99c6c56) + 60
c99c6cce __cond_wait (8a9b6ec, 8a9b6d4, c807eed4, c99c6d13) + 86
c99c6d21 cond_wait (8a9b6ec, 8a9b6d4, c807ef10, c99c6d54) + 24
c99c6d69 pthread_cond_wait (8a9b6ec, 8a9b6d4, 8a9b6c8, 8a9b6fc, c807ef10, c99c5258) + 21
c9aaaf08 ???????? (0, 0, 0, 0, 10300, 43560000)
4d580000 ???????? ()
----------------- lwp# 7 / thread# 7 --------------------
c99cd049 __lwp_park (8262f70, 8262f58) + 19
c99c678d cond_wait_queue (8262f70, 8262f58, c7f4ed24, c99c6976) + 60
c99c6b53 cond_wait_common (8262f70, 8262f58, c7f4ed24, c99c6d96) + 1eb
c99c6dee __cond_timedwait (8262f70, 8262f58, c7f4eda0, c99c6e80) + 66
c99c6e91 cond_timedwait (8262f70, 8262f58, c7f4eda0, c99c6ec4) + 27
c99c6edc pthread_cond_timedwait (8262f70, 8262f58, c7f4eda0, 8a7c300, 0, 49fee5a8) + 24
c9aa8231 ???????? ()
----------------- lwp# 8 / thread# 8 --------------------
c99cd049 __lwp_park (8fd8d1c, 8fd8d04) + 19
c99c678d cond_wait_queue (8fd8d1c, 8fd8d04, 0, c99c6c56) + 60
c99c6cce __cond_wait (8fd8d1c, 8fd8d04, c7e4fee4, c99c6d13) + 86
c99c6d21 cond_wait (8fd8d1c, 8fd8d04, 8fd8cf0, c99c6d54) + 24
c99c6d69 pthread_cond_wait (8fd8d1c, 8fd8d04, 0, 8fd8d04, c9adccb8, 8fd8cf0) + 21
c9aa0edc ???????? (a41ce40, 1, 82651f0, 8bdf660, 8a7cd80, 8fd8cf0)
08bdf430 ???????? (0, 823e788, 815c688, 815c6b0, 817ab50, 0)
08203230 ???????? (c9a9f760, c9a9f23c, c9a9f3c4, c9a9f9d8, c9a9faac, c9a9f6e8)
c9a9f54c ???????? (892c2474, e818245c, 19fc, dc38c381, 6c890003, f6852424)
8b1c2474 ???????? ()
----------------- lwp# 9 / thread# 9 --------------------
c99d0fe5 __nanosleep (c7d3ef68, c7d3ef60, 0, 0, 0, f4240) + 15
c9ac25b6 xine_usec_sleep (c9aa84a0, c9aaa724, c9aaa738, c9aaa72c, c9aaa7d4, c9aaa118) + 6a
c9aa9fd4 ???????? (4893442, 5a10ff24, 768dc3, 3118ec83, 1bac0, 7c890000)
8b082454 ???????? ()
----------------- lwp# 10 / thread# 10 --------------------
c99cd049 __lwp_park (99f8664, 99f864c) + 19
c99c678d cond_wait_queue (99f8664, 99f864c, 0, c99c6c56) + 60
c99c6cce __cond_wait (99f8664, 99f864c, c7c1eed4, c99c6d13) + 86
c99c6d21 cond_wait (99f8664, 99f864c, 0, c99c6d54) + 24
c99c6d69 pthread_cond_wait (99f8664, 99f864c, 99f8640, 99f8674, c7c1ef10, c99c5258) + 21
c9aaaf08 ???????? (0, 0, 0, 0, 10300, 43560000)
4d580000 ???????? ()
----------------- lwp# 11 / thread# 11 --------------------
c99cd049 __lwp_park (9b6056c, 9b60554) + 19
c99c678d cond_wait_queue (9b6056c, 9b60554, 0, c99c6c56) + 60
c99c6cce __cond_wait (9b6056c, 9b60554, c7b1ff70, c99c6d13) + 86
c99c6d21 cond_wait (9b6056c, 9b60554, c99c56da, c99c6d54) + 24
c99c6d69 pthread_cond_wait (9b6056c, 9b60554, c9adccb8, 9b60554, 9b60550, 1) + 21
c9aaedfc xine_event_wait (0, 0, 300, 43560000, 0, 0) + 38
43560000 ???????? ()
----------------- lwp# 12 / thread# 12 --------------------
c99cd049 __lwp_park (9b6109c, 9b61084) + 19
c99c678d cond_wait_queue (9b6109c, 9b61084, 0, c99c6c56) + 60
c99c6cce __cond_wait (9b6109c, 9b61084, c7a20ed0, c99c6d13) + 86
c99c6d21 cond_wait (9b6109c, 9b61084, 0, c99c6d54) + 24
c99c6d69 pthread_cond_wait (9b6109c, 9b61084, 0, 9b61084, c9adccb8, 9b61070) + 21
c9aa0edc ???????? (0, 0, 82651f0, 9b61070, 0, 9f83cc8)
09b60f60 ???????? (0, 823e788, 815c688, 815c6b0, 817ab50, 0)
08203230 ???????? (c9a9f760, c9a9f23c, c9a9f3c4, c9a9f9d8, c9a9faac, c9a9f6e8)
c9a9f54c ???????? (892c2474, e818245c, 19fc, dc38c381, 6c890003, f6852424)
8b1c2474 ???????? ()
----------------- lwp# 13 / thread# 13 --------------------
c99cd049 __lwp_park (9fa5134, 9fa511c) + 19
c99c678d cond_wait_queue (9fa5134, 9fa511c, 0, c99c6c56) + 60
c99c6cce __cond_wait (9fa5134, 9fa511c, c7921f70, c99c6d13) + 86
c99c6d21 cond_wait (9fa5134, 9fa511c, c99c59b2, c99c6d54) + 24
c99c6d69 pthread_cond_wait (9fa5134, 9fa511c, c9adccb8, fe000, 9fa5118, 1) + 21
c9aaedfc xine_event_wait (0, 0, 300, 43560000, 0, 0) + 38
43560000 ???????? ()
----------------- lwp# 14 / thread# 14 --------------------
c99cd049 __lwp_park (9fa5c64, 9fa5c4c) + 19
c99c678d cond_wait_queue (9fa5c64, 9fa5c4c, 0, c99c6c56) + 60
c99c6cce __cond_wait (9fa5c64, 9fa5c4c, c7822ed0, c99c6d13) + 86
c99c6d21 cond_wait (9fa5c64, 9fa5c4c, 9fa5c38, c99c6d54) + 24
c99c6d69 pthread_cond_wait (9fa5c64, 9fa5c4c, 0, 9fa5c4c, c9adccb8, 9fa5c38) + 21
c9aa0edc ???????? (0, 0, 82651f0, 9fa5c38, 0, a39f158)
09fa5b28 ???????? (0, 823e788, 815c688, 815c6b0, 817ab50, 0)
08203230 ???????? (c9a9f760, c9a9f23c, c9a9f3c4, c9a9f9d8, c9a9faac, c9a9f6e8)
c9a9f54c ???????? (892c2474, e818245c, 19fc, dc38c381, 6c890003, f6852424)
8b1c2474 ???????? ()
----------------- lwp# 15 / thread# 15 --------------------
c99d1d15 __pollsys (c766ebf0, 1, c766eca4, 0) + 15
c997ce11 pselect (7, c766ef40, 0, 0, c766eca4, 0) + 199
c997d1e6 select (7, c766ef40, 0, 0, c766ecd8, 0) + 78
080a4f1c ???????? (0, 0, 0, 0, 0, 0)
00000000 ???????? ()
----------------- lwp# 16 / thread# 16 --------------------
c99cd049 __lwp_park (a3c13f4, a3c13dc) + 19
c99c678d cond_wait_queue (a3c13f4, a3c13dc, 0, c99c6c56) + 60
c99c6cce __cond_wait (a3c13f4, a3c13dc, c756ff90, c99c6d13) + 86
c99c6d21 cond_wait (a3c13f4, a3c13dc, c99cc027, c99c6d54) + 24
c99c6d69 pthread_cond_wait (a3c13f4, a3c13dc, c99cacb8, c9a50000, fe000, 0) + 21
0811cb99 ???????? (c8ed7a00)
c99ccff0 _lwp_start (c8ed7a00, 0, 0, c9a50000, fe000, 0)
----------------- lwp# 17 / thread# 17 --------------------
c99d0fe5 __nanosleep (c6e0ef90, c6e0ef88, 0, 13d5084, 0, 5f5e100) + 15
c9ac25b6 xine_usec_sleep (0, 0, 0, 0, 0, 8ad3e18) + 6a
4d580000 ???????? ()
The same problem shows up with other packages such as Gnucash. I also thought something went wrong during the live upgrade process so I installed SXCE build 110 from scratch on another machine and the problem still appears. I didn't upgrade to build 111 or 112 because of the nVidia problem I read about and I'm now downloading build 113 to see if the problem still persists.

Friday, November 21, 2008

Setting up Blastwave's MySQL 5 (5.1.23) on Solaris 10

It's just a post update to inform you that Blastwave has just released version MySQL 5.1.23 for Solaris 10.

The instructions I posted on the other blog entry are still valid and if you want to start the installation of this new version, you can just start it by typing:
# /opt/csw/bin/pkg-get -i mysql51
Enjoy!

Monday, November 3, 2008

Setting up Blastwave's MySQL 5 on Solaris 10

I had to setup an instance of MySQL 5 on Solaris 10 update 4 and, given that it's not shipped with the OS, I relied on Blastwave's package. The package was really easy to install:

# /opt/csw/bin/pkg-get -i mysql5

Once the package was installed, I was please to see that a SMF manifest was also installed for it:

# svcs -a | grep mysql
offline 21:23:57 svc:/network/cswmysql5:default

An user and a group for the MySQL daemon were created, too:

$ cat /etc/passwd | grep mysql
mysql:x:109:103::/opt/csw/mysql5:/bin/false
$ cat /etc/group | grep mysql
mysql::103:

The first thing I did was examining the SMF methods script, which is declared in the service manifest and is /opt/csw/lib/svc/method/svc-mysql5. Because of Blastwave's packages quality level, I wasn't surprised to discover that the script is very well documented and getting MySQL to work was really straightforward.

First, I run the /opt/csw/mysql5/share/mysql/quick_start-csw script:

# /opt/csw/mysql5/share/mysql/quick_start-csw

This is the blastwave quick start script to setup a MySQL5 database directory.

The base directory is /opt/csw/mysql5.

The default database directory is /opt/csw/mysql5/var.


If you have not setup a partition for the database and

you want one; now is a good time to exit this script and

create and mount the partition.


If you have not setup a my.cnf file and you do not want
one of the sample files; now is a good time to exit and
create the file /opt/csw/mysql5/my.cnf.


Data directory: The default is /opt/csw/mysql5/var.

Accept the default or enter a directory [?,q]

my.cnf pathname: The default is either to use the supplied file in the base directory or to create one in the base directory from the small memory footprint sample. If your enter a pathname, it will be used to create the options file in the base directory.

Accept the default or enter a pathname [?,q]
Using /opt/csw/mysql5/share/mysql/my-small.cnf to create the options file.
data directory is /opt/csw/mysql5/var

Continue with installation or quit [y,n,?,q] y
Setting up the database
Creating MySQL core database in /opt/csw/mysql5/var

### The following messages are from mysql_install_db.
/opt/csw/mysql5/bin/mysql_install_db: !: not found
/opt/csw/mysql5/bin/mysql_install_db: !: not found
Installing MySQL system tables...
OK
Filling help tables...
OK

To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/opt/csw/mysql5/bin/mysqladmin -u root password 'new-password'
/opt/csw/mysql5/bin/mysqladmin -u root -h moneytrans-devel password 'new-password'

Alternatively you can run:
/opt/csw/mysql5/bin/mysql_secure_installation

which will also give you the option of removing the test databases and anonymous user created by default. This is strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:

cd /opt/csw/mysql5 ; /opt/csw/mysql5/bin/mysqld_safe &


You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl

Please report any problems with the /opt/csw/mysql5/bin/mysqlbug script!

The latest information about MySQL is available on the web at http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com

### The following messages are from quick_start-csw.
See /opt/csw/mysql5/share/mysql/doc/README.CSW for packaging changes. Please ignore references to starting mysqld_safe in the messages above. These messages are from mysql_install_db. See the following for starting CSWmysql5. To start mysqld; run `svcadm enable cswmysql5` on Solaris 10 or later

After this, as the script's output informs us, I set up root password for the database and run the /opt/csw/mysql5/bin/mysql_secure_installation script to secure the database instance, the only caveat being setting up the PATH properly because this scripts expects to find the mysql program:

# export PATH=/opt/csw/mysql5/bin:$PATH
# /opt/csw/mysql5/bin/mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!


In order to log into MySQL to secure it, we'll need the current password for the root user. If you've just installed MySQL, and you haven't set the root password yet, the password will be blank, so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL root user without the proper authorisation.

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] n
... skipping.


By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment.

Remove anonymous users? [Y/n] Y
... Success!


Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] n
... skipping.


By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment.

Remove test database and access to it? [Y/n] Y
- Dropping test database...

... Success!

- Removing privileges on test database...

... Success!

Reloading the privilege tables will ensure that all changes made so far will take effect immediately.

Reload privilege tables now? [Y/n] Y
... Success!


Cleaning up...

All done! If you've completed all of the above steps, your MySQL installation should now be secure.

Thanks for using MySQL!

Really easy! It started up and worked without a glitch. And if you want to customize your installation, as I already stated, I found good documentation right inside the very SMF script used by this service which can be found at /opt/csw/lib/svc/method/svc-mysql5.

Sunday, April 20, 2008

Setting up a Solaris zone for Blastwave software

When I first installed Blastwave software on Solaris 10 or Solaris Express, I just installed it on the global zone. I soon realized that this decision would cause some problems. Blastwave packages were replicated in every Solaris zone I created and, letting aside the waste of disk space, the process of upgrading Blastwave's packages was painful because:
  • it propagated changes to every non-global zone by default
  • it complained about packages dependencies with messages such as:
# /opt/csw/bin/pkg-get -u
## Verifying package dependencies in zone
## Verifying package dependencies in zone

The package depends on package currently
being removed from zone .

The package depends on package currently
being removed from zone .

The package depends on package currently
being removed from zone .

The package depends on package currently
being removed from zone .

Dependency checking failed for package on zones
.

Do you want to continue with the removal of [y,n,?]
One solution to avoid propagating packages to non-global zones would be using the -G pkgadd flag, which Blastwave packages use indirectly, and this can be achieved by setting the ADMINFLAG variable:
export ADMINFLAG=' -G'
Thanks to some suggestion by the LQ guys, I also discovered that, to comply with Solaris/SVR4 standards, Blastwave CSW packages should (but don't) separate configuration files by providing the /var/opt/csw and /etc/opt/csw directories.

The solution I chose was creating a non-global zone to install Blastwave's software and loopback mount /opt/csw in the other zones. I then created a sparse zone and installed all the Blastwave's packages I needed there. The last thing I had to do was loopback mounting the non-global zone's /opt/csw directory into the global zone (to give desktop users access to the software) just adding this line in /etc/vfstab:
/export/home/zones/blastwave/root/opt/csw - /opt/csw lofs - yes
Blastwave's packages are now isolated in their zone and management is straightforward via Blastwave's pkg-get command.