Tuesday, June 01, 2010

rBuilder 4.1.2 on Dell R710- fails to Boot with Kernel Panic

rBuilder 4.1.2 on dell R710 with 24 GB memory fails to boot with kernel Panic after installation.

Error seems to be because of swiotlb initialization failure.

http://lists.xensource.com/archives/html/xen-devel/2007-11/msg00887.html

From above mail archive.
< mail archive >
Have you assigned any physical devices to this domU? If not then it is not allowed to request contiguous multi-page allocations, and this will cause swiotlb initialization to fail (and hence panic the kernel). If you do not assign any physical devices to the domU then there is no point in it having a swiotlb anyway
< mail archive >

Extract from the console log
< error >
.................
......................
...........................
Kernel panic - not syncing: No suitable physical memory available for SWIOTLB buffer!
Use dom0_mem Xen boot parameter to reserve
some DMA memory (e.g., dom0_mem=-128M).
...
.....
< /error >

Solution which worked for me.

Default installation of rbuilder4.1.2 on dell R710 have a kernel parameter "dom0_mem=2048MB" which when changed to dom0_mem=512MB made xen kernel to boot properly.

One needs to enter into edit mode at grub itself otherwise system will keep booting and rebooting in cycles.

After first boot edit /etc/grub.conf file with the kernel parameter as dom0_mem=512MB.

cheers,
make world open.

Monday, February 22, 2010

Scons: TypeError: coercing to Unicode: need string or buffer, NoneType found

Scons on cygwin 1.7.1 when invoked remotely through ssh throws an error as:
TypeError: coercing to Unicode: need string or buffer, NoneType found

Error above is a common python error which occurs when one create a dictionary object(key,value) list with one or more keys with value as "None". We have to ensure that all the keys are having value to fix the above error.

Scons run without any failure when invoked being on cygwin 1.7.1 shell environment but fails with the TypeError as above in our case when invoked remotely through ssh.

Scons TypeError is as a result of USERPROFILE variable not getting set. Once USERPROFILE is set explicitly from .bashrc, scons run successfully.
As evident from the python error USERPROFILE was having value as "None", by setting appropriate value will resolve the issue.

USERPROFILE default value on WINNT is C:\Document And Settings\, it is always better to set value as default in .bashrc with an entry as
export USERPROFILE="C:\Documents and Settings\build"
build is the user logged in in our case.

We had issues with other application run on cygwin bash shell when we had some junk/non-default value set to USERPROFILE. We had issues running BullsEye code coverage tool with non-default value.
BullsEye failed with an error as "Exception: SHGetFolderPath failure". Default USERPROFILE value in .bashrc fixed the BullsEye failure.

cheers,
make world open.

Wednesday, January 20, 2010

fatal error C1902: Program database manager mismatch; please check your installation

fatal error C1902: Program database manager mismatch; please check your installation

Build/Test automation of VC2005 project fails with the above error message in case automation scripts is having logic of *nix-win communication over ssh.

Scenario:
*nix ssh client connects to cygwin ssh server and executes make which uses CL(VC2005 compiler). Run fails with the error message in the subject line.
As evident from the link below.
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=123792

Workaround at the link above made our day and solved the issue.
Workaround: Run cygwin ssh server with the same user as that of *nix user through which one is connecting over ssh.

In our case user in question was "build". So we ran cygwin ssh server with "build" user and had *nix user as "build" to connect over ssh for script run.

By default cygwin ssh server run with user as LocalSystem Account. To make it run with "build" user we followed the steps below.

Create a user "build" with Administrative privilege on cygwin box.

Steps to run cygwin ssh server with "build" user.

1. Change the login ID of the Cygwin sshd service.


- From the Windows Start menu, click Settings > Control Panel > Administrative Tools > Services.

- From the Services window, right-click CYGWIN sshd, and select Properties.

- From the Properties window, select the General tab, and click Stop to stop the sshd service.


Next, select the Log on tab, Under the Log on as section or prompt, clear the Local System account radio button, and select This account. Type .\build as the ID and type the password for the account. Click Apply.

2. Grant additional rights to the build account so that "build" user has required privileges in addition to membership to the Administrators group.


- From the Windows Start menu, click Settings > Control Panel > Administrative Tools > Local Security Policy.

- From the Local Security Settings window, expand Local Policies, and select User Rights Assignment.

- From the resulting page that appears on the right, verify that the root account has the following four rights:
* Adjust memory quotas for a process
* Create a token object
* Log on as a service
* Replace a process level token
If not, add "build" as a user with the four rights.

For Win2000, the first item in the list above is displayed as Increase quotas instead of Adjust memory quotas for a process.
* Close Local Security Settings window.


3. From a Cygwin console panel, change ownership of the following directories and files to build:


* $ chown build /var/log/sshd.log
* $ chown -R build /var/empty
* $ chown build /etc/ssh*


4. Restart the Cygwin sshd server.


- From the Properties page of the Cygwin sshd server, select the General tab, and click Start. Verify that Cygwin is now running under the build user account.

- OR From cygwin prompt say $net start sshd.


Thanks to the IBM Knowledge Base for the above solution.

Sunday, November 15, 2009

Maven2: [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!

[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!

Maven2 warning as above is because of the fact that maven2 plugins uses platform default encoding if no explicit file encoding has been provided in the plugin configuration. The usages of the platform encoding makes the build platform dependent hence the maven2 is bound to raise an alarm as build artifact/resources become irreproducible.

To suppress the Warning in maven2 environment we have to use the properties as below
<project>
...
<properties>
<project.build.sourceEncoding>${default.encoding}</project.build.sourceEncoding>
...
</properties>
...
</project>

cheers,
make world open.

Thursday, July 23, 2009

Removing singleline and multiline comments from XML files.

Thou most of the XML parsers are capable of ignoring XML comments(<!-- -->) but while XML file processing through bash shell scripts makes life tough.

Came across such scenario recently where had to remove all the comments from XML file before processing it through grep, sed, awk and other bash shell utilities.

Sed proved to be a handy tool to remove all the single and multiline comments from the XML files.

Sample XML file. [Assuming filename as sample.xml]
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
If the message tag does not contain a definition of a property,
the default value will be used.
-->
<message>
<value>reference</value>
</message>

<!-- some comment --
>
<!-- another comment -->

<!--
This is another multiline comment.
line
-->
Command below would be able to remove all the comments in the sample.xml file

$ cat sample| sed '/<!--.*-->/d'| sed '/<!--/,/-->/d'

Result:
<?xml version="1.0" encoding="ISO-8859-1"?>
<message>
<value>reference</value>
</message>
Cheers,
make world open.

Wednesday, June 24, 2009

sMashup

It's sMashup time at RSA.

Keep busy.

cheers, make world open.

Friday, May 08, 2009

RSA Unconference

At RSA Unconference got to know "OS is dead!!!."

cheers,
make world open.

Saturday, March 07, 2009

Barcamp Bangalore - BCB8 @ Yahoo !!!

Live up the spirit of barcamp 8, get yourself involved.
Sessions are lined up with 5 tracks in place , we had an introduction session just concluded.
As usual one can see lots of people at session put area and we are all set for first session Brand You 2.0 by Altius consulting .

Day1:
Session about Software Testing was electrifying. Thanks to Pradeep Soundararajan


Some of his thoughts.
- Software testing is a mental martial art.
- Difference between Monkey testing(without test case) and Guriella testing (more agressive).
- Motivate people for software testing.
- Fail in java/c++ . You land yourself in software testing as if you have been jailed.
- Most fakers in software testing.
- Learning testing through slides is not possible, one need to practice software testing.
His concern, can one learn driving a car by just mugging up 3000 slides but one can test software by seeing 3000 slides.
- Software testing is about improving quality is a myth. Software testing cannot improve quality. it is just identifying the problem and sometime solution.
- Most part of the software is invisible to software tester.
- Automation is testing one buggy software with another buggy software (Automation Tool)
- Test automation is faster is a myth. It is like comparing machine with a tester.
- Testing is boring..
- Not finding a bug is also a testing and test cases are valid.
- More you are trying to measure, more you are disturbing a system.
- Suggestion for freshers. Don't believe anyone. Always be skeptical, be Sherlock Homes and question every small change/things. Career decision has to be taken by you only not anyone.
Saifi Khan from Twincling advocated the open source development model and came up with numerous examples of open source projects. He talked about why/how projects get forked and ways by which one can save open source projects getting forked.


Cheers,
make world open

Monday, January 19, 2009

Fedora core 10 on VMware ESX server 3.5.0 network interface eth0 issue.

Network interface eth0 was not coming up at boot time irrespective of being configured properly. Chkconfig was also properly configured for network services for run levels 2 3 4 5.

Issue is that... By default i could see ONBOOT flag set to no "ONBOOT=no" in the configuration script /etc/sysconfig/network-scripts/ifcfg-eth0

Modifying it to ONBOOT=yes did the trick.

etho network interface came up properly in next boot cycle.

Cheers...

Tuesday, September 23, 2008

Cifs "mount error 13 = Permission denied"

$mount -t cifs //win-share-hostname/share /mnt/win -o username=user,password=passwd

Command above is used to mount windows network share on linux box but it is throwing an error mentioned below when trying to mount a win xp network share from a fedora core 6 box.
mount error 13 = Permission denied
Refer to the mount.cifs(8) manual page (e.g.man mount.cifs)
The error above is because of a bug in kernel which got in to the kernel version 2.6.18 and above. The same mount command works great for the kernel version 2.6.17 and below.
Bugzilla link to the bug: http://bugzilla.kernel.org/show_bug.cgi?id=7209

To avoid this error even in kernel version 2.6.18 and above. We need to use the network domain name with the mount command.

Working mount command irrespective of the bug is as below.

$
mount -t cifs //win-share-hostname/share /mnt/win -o username=user,password=passwd,domain=xxx

cheers,
make world open.

Wednesday, June 25, 2008

List all the installed perl modules

We often need to know all the perl modules installed on a box. One below is the solution

perl -MFile::Find=find -MFile::Spec::Functions -Tlwe 'find { wanted => sub { print
canonpath $_ if /\.pm\z/ }, no_chdir => 1 }, @INC'

cheers, make world open

Wednesday, February 13, 2008

missed an emotion or two...

It really pumps some extra life when someone from your loved one's cirlce remembers you with delicate emotions. When you go through this emotional burst, all your time which you spent together reels in front of you like a movie. Memory recalls all those moments which is somewhere deep into the hearts.
Thanks a lot to Subhash Chandran for this wonderful words.

Friday, November 02, 2007

Partition already existing single drive in Windows XP

Most of the vendor shipped desktop/Laptops comes with a single partition drive named C, which is a great bottleneck to have dual boot.

Partitioning an existing drive can be possible through different commercially available Partition Magic software but for that one needs to shell out some bucks.

We can achieve this sort of partition using some reliable and easily available open source tools.

Knoppix which is a bootable Linux Live CD which contains most of the GNU/Linux tools can provide a handy approach to achieve the partition.

* Get Knoppix iso and burn it to a CD.

* Boot from Knoppix on the machine which needs partition.

* Run QTParted, that will open a window showing the existing partition.

* Right click on the windows partition, choose RESIZE

* In the text box labeled FREE SIZE AFTER, specify the size of which one want the new partition. This will create free space of specified size.

* Right click on the free space created, click create.

* Select partition type, click OK.

* From file menu, select commit. This will make the partition change persistent.

* Restart the computer.

* Boot into the existing windows.

The above steps will eventually make another partition of specified size.

cheers...
make world open.




Thursday, October 11, 2007

Apache CGI Scripts on windows.

CGI scripts on apache installed on windows didn't work. It is because of the first line of the .cgi files.

Normally first line of .cgi file reads as #!/usr/bin/perl and on windows apache uses this first line to find the appropriate perl exe to run the script. This default behavior can be overridden by using ScriptInterpreterSource directive of apache.
Adding "ScriptInterpreterSource Registry-String" directive to apache httpd.conf file, we are telling apache to ignore the first line #!..... and instead look in to the registry for the perl exe to run the script.

If moving #!/usr/bin/perl to C:\Perl\bin\perl.exe [Correct perl.exe installation path.] works fine which conclude that ScriptInterpreterSource directive is not working properly.

Solution to the failure of apache .cgi scripts on windows is:

Edit httpd.conf file and add the line:
ScriptInterpreterSource Registry-String

Add the following key in the
registry.

\HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command.

Default value should be the location of your Perl executable.
[ex. C:\Perl\bin\perl.exe -T].




cheers, make world open...

Thursday, August 30, 2007

Unhappy lots...

By the law of average and human nature, every organization has at least 10% people who are unhappy.
I believe you don't want to end up being a part of that 10%.

One has to remember one can't have it all at the same time. Decide your priorities and just concentrate on the way you want to shape your career.

Different people have different priorities. For some its rank, for some its recruitment, for some its location and for some its fun. These personal priorities are what make some people leave great organizations, reject Microsoft, or choose rank 15 over 5. You do not have to justify your priorities to anyone, but make sure that YOU are sure. Concentrate a little on what is going to make you truly happy.

Just remember that you can't have it all. Decide your priorities and work on your list of workplaces up to the point where you are not second guessing yourself. If living at some particular place had been a life long dream, go ahead! If Silicon Valley is the thing for you, apply for the same there.

I believe it is really tough to say goodbye to your workplace where you had spent most of your time during the stay there.
With my going away being certain, and last day at work looming in front of me, its become extremely difficult to act like I care and want to perform. I was just going through the motions, but I was not sure how long...

Well that kept me tied to some of the basic and fundamental apprehensions which i was about to leave/carry on my shoulder. There was more lot of the element of confusion rather than sanity of the decision. I was really scared to answer some of the straight forward queries and eventually avoided most of them. Most of my WHY's were un-answered and it is still open...

Courtesy being $udha for inputs..

Google packs StarOffice

Google packs StarOffice to google pack.
Some more info here...

Getting more wide user base for office suite and eventually promoting OpenOffice.org.

Tuesday, July 10, 2007

Subversion, Apache(httpd), ViewCVS windows XP setup and configuration continued.....

We can have browser support for subversion repository without viewCVS. It is obvious we will miss most of the features provided by viewcvs but we can have repository browsing and network access of repository over HTTP protocol supported by subversion. To achieve this we need to have apache module (mod_dav_svn) installed at the time of installation of subversion and have to do some configuration changes to httpd.conf (Apache configuration) file.

Referring previous post...

During the installation of subversion make sure to check the option to install the apache module. Subversion installation will modify the Apache configuratuion to load the modules (dav_svn_module & authz_svn_module) with a similar entry like:

LoadModule dav_svn_module "C:/Program Files/Subversion/bin/mod_dav_svn.so"
LoadModule authz_svn_module "C:/Program Files/Subversion/bin/mod_authz_svn.so"


These two modules will handle the Subversion requests. We have to ensure that the LoadModule section of httpd.conf should have an entry of apache module dav_svn.so before mod_dav_svn.so & authz_svn_module.so.

We need to edit the httpd.conf file to point Apache to the subversion repository.
Add the following lines to the end of the httpd.conf file.


Subversion repositories are residing in C:/opt. We can have any number of repository in C:/opt and all will be available to Apache.

** We can browse repository with the URL as http://localhost/svn/svn-root
where svn-root is one of the repository in C:/opt. Localhost can be replaced by hostname OR IP address of the installed Apache box when one wants to browse repository over network.

** we can access the repository using SVN client as
svn list http://localhost/svn/svn-root


cheers, make world open...

Tuesday, June 12, 2007

Apple Introduces Safari for windows

Enjoy... Safari on windows. 
Claimed to be the fastest browser among the existing ones's. I am experiencing it and definitely cherish this as long as Apple provides Safari as a free download for windows.
Get safari 3 Beta... and experience the power of Apple and feel of Mac on windows.

Monday, June 04, 2007

Subversion, Apache(httpd), ViewCVS windows XP setup and configuration

Subversion, Apache HTTP server and viewcvs goes hand in gloves if one wants to run subversion as a version control(source control) for any production environment.

Followed the following steps to configure all three together.

1. Installed subversion1.4.3 from http://subvsersion.tigris.org version as svn-1.4.3-setup.exe

2. Installed the activestate python from ftp.activestate.com version as ActivePython-2.5.0.0-win32-x86.msi

3.
Installed svn-python binding for python2.5 and subversion1.4.3 from http://subversion.tigris.org version as svn-python-1.4.3.win32-py2.5.exe
  • One has to be very specific about the python, subversion and svn-python bindings. Ensure that the svn python binding versions should be same as that of subversion and python installed.
4. Test that the python shell can load svn-python bindings
  • launch C:/Python25/python.exe
  • from python shell enter : import svn.repos , it should not give any error trace.
  • exit python shell.
5. Got viewCVS from http://viewcvs.sourceforge.net version as viewvc-1.0.4.zip.
  • Unzipped viewvc-1.0.14.zip and renamed viewvc-1.0.4/viewvc-install as viewvc-1.0.4/viewvc-install.py and double-clicked it. This will ask some simple configuration query, i preferred default.
6. Edited C:/Program Files/viewvc-1.0.4/viewvc.conf
  • commented # cvs_roots = cvs: /home/cvsroot
  • Modified svnroots line as svn_roots = svn-root: c:/opt/svn-root , this is because i am having one svn repo named "svn-root" in C:/opt directory.
  • Modified root_parents line as root_parents = C:/opt : svn and removed ',' from the end of line.
  • Modified default_root line as default_root = svn-root
7. Test the viewcvs and subversion configuration and integration
  • Through command line run standalone.py -g from C:/Program Files/viewvc-1.0.4/bin/ location.
  • It will allow one to browse the repository with the default browser and if it works then only we can go further to integrate viewcvs with apache.
8. Installed apache httpd from http://www.apache.org as version apache_2.0.59-win32-x86-no_ssl.msi
  • Subversion win32 binaries are compiled for apache2.0.x and will not work with apache2.2.x.
  • "dav_svn_module in file /modules/mod_dav_svn.so is garbled" - perhaps this is not an apache module DSO ? This is the error one would get if tries to run apache-2.2.x with win32 subversion.
9. Edited httpd.conf file
  • Search for ScriptAlias in httpd.conf file and add one more line below all the ScriptAlias as ScriptAlias /viewcvs "C:/Program Files/viewvc-1.0.4/bin/cgi/viewvc.cgi"
  • Restart apache httpd server
  • Now, one can browse the repository.
10. One need GNU diffutils installed and in the PATH to enable the viewcvs feature of diff between two revisions. Get GNU diffutil from this Link...

cheers, make world open.

Tuesday, May 01, 2007

Gentoo on VMware in Fedora Core 6

Successfully installed Gentoo on real hardware and then thought of trying same installation on VMware server 1.0.1.
Religiously followed the Gentoo Handbook page for both the installation.
All went well for real hardware installation but on VMware it failed to boot from hard disk after installation with an error message saying that /dev/sda3 is not a valid block device.

Gentoo HOWTO wiki page
helped me to identify the problem and gave solution as well.
VMware seems to be using different driver for scsi devices and so /dev/sda3 is not able to mount as root partition hence stopping kernel from booting successfully.

I recompiled the kernel with some more addition to the kernel configuration
$ genkernel --menuconfig --no-mrproper --no-clean all
above command will allow you to keep all your existing configuration and add some more configuration parameters.

Earlier my kernel on VMware gentoo had Modular support for scsi_generic and Kernel support for scsi_disk. Modified the kernel configuration and added these two modules as a built in Kernel support. Made sure that the menuconfig windows has <*> before SCSI disk support and SCSI generic support.
These options can be found here at menuconfig windows...
Device Drivers -->
SCSI device support -->
<*> SCSI disk support
....
....
<*> SCSI generic support

This re-compiled kernel did the magic for me. Gentoo on VMware boots great from hard disk.

Network also had an issue as VMware needs AMD PCnet32 PCI support. Solution is to either build kernel with AMD PCnet32 PCI support OR load the kernel module pcnet32 by default at boot time.

cheer, make world open...