Working With Us

Reporting Problems

During the product release cycle, the Alkaline development and test teams work closely together to ensure the highest quality of each new version. Although the hundred percent of known issues are addressed in the development timeframe, Vestris Inc. acknowledges the possibility of code defects and/or interoperability issues in production builds.

When you experience problems with our software, please do make absolutely sure that you are looking at a consistent, unexpected defect. Do read the documentation and check that the answer to your problem is not available in the product's frequently asked questions at http://alkaline.vestris.com/docs/alkaline-faq/index.html . Check the latest Alkaline What's New at http://alkaline.vestris.com/whatsnew.html for the problem you are experiencing. Download and try the latest beta from http://alkaline.vestris.com/download/NextReleaseBeta/ , when available.

If you have a question, issue or believe that you have found an Alkaline bug, please do report it on our website at http://www.vestris.com/vestris/bugreport.html . We strongly encourage you to explain your problem in the shortest and most concise way possible. The defects that can be reproduced consistently are those fixed fastest. After we receive a problem, we will contact you with more questions, a fixed version or an alternative solution, in the best timeframe possible.

Built-in Tracing

A member of our staff may ask you to enable the so-called tracing mechanism, built-in Alkaline. Tracing is a lightweight replacement for a debugger, that allows developers to collect internal output from Alkaline without ever connecting to the customer's machine or requiring any special access. Shortly, when tracing is enabled, a huge amount of internal information is output to the console of a running Alkaline. This output can dramatically help diagnose problems.

For example, if search consistently produces a fatal error that forces Alkaline to terminate, enabling tracing for the search operations will provide output for the granular progresses of such, including retrieving data sets, sorting results and rendering search pages. A developer can then isolate and fix the problem.

A trace belongs to a particular tag and is output at a particular level. There're several levels of tracing, such as crash, error, warning, information and verbose. There're many tags, such as indexing, search and http layer. To see all available tags and flags in your build of Alkaline, run
$ ./asearch tracing
[tracing tags (--tracetags=list)]
1: reserved tag
2: generic library functions
3: general system functions
4: memory allocation system requests
5: socket system level requests
6: http requests and responses
7: locks, semaphores and mutexes
8: dns lookups, name resolution
9: tcp server
10: reserved tag
11: reserved tag
12: reserved tag
13: generic engine tag
14: merge
15: excludewords
16: search
17: remove
18: index
19: client and admin
20: reserved tag
[tracing levels (--tracelevels=max)]
1: crash
2: error
3: warning
4: information
5: verbose
To enable tracing, Alkaline has two command line parameters: --tracetags=tag1[,tag2,...] and --tracelevels=max . For example, the search tag is 16 (from the output above). The most verbose trace level is 5. To see all internal search operations, the following command line should be used:
./asearch ... --tracetags=16 --tracelevels=5
To enable tracing for both HTTP and DNS requests, the following command line should be used:
./asearch ... --tracetags=6,8 --tracelevels=5
Your console will be filled with messages about all outgoing and incoming HTTP requests along with the asynchronous domain name service queries.

The tag numbers may change from one build to another as the development team adds new tags or more tracing information. The tracing command-line argument always provides the right tag numbers.

To collect tracing information, simply redirect the output to a file. For example
./asearch ... --tracetags=4,12,14 --tracelevels=5 > trace-Oct5-2001.txt

Providing Vestris Inc. with Server Access

Our customers often provide us with access to hardware we cannot afford, various operating systems and other fancy machines for Alkaline builds. In some situations the developer cannot locate, diagnose or fix the problem the customer is seeing on his server. When either of this happens, a member of the Vestris Inc. staff may request a telnet (terminal) access to your server. We sincerely appreciate this kind of help from our partners and customers as it allows us to both continue releasing free versions of Alkaline for non-commercial organizations and fix platform-related problems quickly.

We usually request an access for a plain user account dblock (for historical reasons). You have the choice for telnet or ssh. If you wish to setup server ip exclusion, please use the address of ns.vestris.com .

We will never request root access to your server. We will never give, distribute or disclose customer's or access information. We always use strong passwords and never store them on paper or disk.

If you are giving us access for debugging, please check whether you have a working gdb debugger. You can download GNU software from http://www.gnu.org Simply type
$ gdb
GNU gdb 4.18
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux".
(gdb)

If you are giving us access for building Alkaline, please ensure that you have a working cvs from http://www.cvshome.org .
$ cvs --version
Concurrent Versions System (CVS) 1.10.6 (client/server)
Check that you have gcc 2.8.0 or above, or egcs .
$ gcc --version
egcs-2.91.66
Check that you have GNU make. You may have a different make and gmake , we just need one GNU make.
$ make --version
make: Warning: Ignoring DistributedMake -v option
$ gmake --version
GNU Make version 3.77, by Richard Stallman and Roland McGrath.

As we build Alkaline on your server, a copy of the entire source tree will be placed on it. We realize that having an administrative access to the account and/or physically hosting the machine gives you full access to all the files. As Alkaline is not an open-source initiative, it is mutually understood that you must not distribute, alter, publish or copy this source.