Komodo FAQ

Komodo doesn't start

If Komodo doesn't start, there could be one of several issues.

  • Do you have a license installed?

    Komodo needs a license to become functional. If you have a Beta release, we include a trial license with the package. If you have a final release (non-Beta), you can download a license from ActiveState.

  • Do you have Norton Anti-Virus (NAV) installed, or more specifically, the File System Realtime Protection feature enabled?

    The problematic relationship between Komodo and Norton Anti-Virus' File System Realtime Protection feature is a known issue, which we are working to remedy. In the meantime, you can disable NAV Corp 7.5 FSRP before running Komodo, and then re-enable it after Komodo starts.

If none of these seem to apply to you, please follow the instructions in this FAQ entry to log a bug in Komodo's bug database.

I can't see my Left or Right Pane

One or more panes may be hidden.

To view the Left Pane, click the Show/Hide Left Pane button on the toolbar, use the options on the View menu, or use the associated key binding.

I can't see my Bottom Pane

The Bottom Pane appears below the Editor Pane during debugging. If you can't see your Bottom Pane, it may be hidden.

To view the Bottom Pane, click the Show/Hide Bottom Pane button on the toolbar, use the options on the View menu, or use the associated key binding.

For more information, see Debugging Programs

I want to maximize the Editor Pane

I like to see the Left and Right Panes and the Bottom Pane, but right now I want to maximize my Editor Pane to get some coding done. How can I maximize my Editor Pane?

To maximize your Editor Pane, hide the other panes in the Komodo workspace:

  1. Click the close arrow button that appears in the top right corner of each of these panes.

How do I know if I'm debugging?

When Komodo is debugging, the title of the Komodo workspace includes an indication of the state of the debugger. If the debugger is running, the title looks similar to [pathname\filename] - ActiveState Komodo - Debugger is running. If the debugger has hit a breakpoint, the title looks similar to [pathname\filename] - ActiveState Komodo - Debugger is in Break Mode.

How do I know if I'm editing?

You are editing any time you're not formally debugging. When Komodo is editing, the title of the Komodo workspace is [pathname\filename] - ActiveState Komodo.

How can I add command-line arguments to my program for debugging?

If you want to send add command-line arguments to your program for debugging, you can add these using the Debugger Launch Options dialog:

  1. On the Debug menu, click Start.
  2. In the Debugger Launch Options dialog, select the directory you want to begin debugging your program in. Click Browse and navigate to the appropriate directory.
  3. In the same Debugger Launch Options dialog, enter your command-line arguments. These are sent to the script and not to the interpreter. Separate the arguments with spaces.
  4. Click OK.

Komodo crashes. What can I do?

As Komodo is running it updates a few log files with debugging and error information. If Komodo crashes, you can help us best determine the issue by sending us those log files, along with information on how you came across the crash. On some operating systems the system creates a crash log as well, which you should also send to us. The log files may include:

  • startup.log (in your Komodo user data dir)
  • pystderr.log (in your Komodo user data dir)
  • pystdout.log (in your Komodo user data dir)
  • console.log (in your Komodo user data dir)
  • komodo-bin.crash.log (Mac OS X only, in ~/Library/Logs/CrashReporter)

Please use the following steps to send us your crash information:

Step 1: Ensure the logs are for the time Komodo crashed

Komodo's log files are only for the last time Komodo was run. If you have restarted Komodo since the time it crashed on you, you must reproduce the crash so that the log files are relevant.

Note: If Komodo is hung (i.e. won't shutdown), you may need to manually stop the komodo-bin process:

Windows
Press 'Ctrl'+'Shift'+'Esc' to open "Windows Task Manager". Select the "Processes" tab. Right-click on the "komodo.exe" entry and select "End Process".
Mac OS X
Right-click (or 'Option'+click) on the Komodo head icon in the Dock and select the "Force Quit" option.
Linux
At the terminal run ps ux | grep komodo-bin to determine the Komodo process id (or "pid"). Then run kill -9 PID where "PID" is the process id from the previous command.

Step 2: Locating the error log files

Komodo stores its log files in your "Komodo user data dir". Where this directory actually resides depends on your operating system and, in some cases, on your OS's configuration.

Operating System Log File Location
Windows 2000, XP C:\Documents and Settings\username\Application Data\ActiveState\Komodo\4.0\host-hostname
Windows NT C:\WINNT\Profiles\username\Application Data\ActiveState\Komodo\4.0\host-hostname
Windows 95, 98, Me C:\Windows\Profiles\username\Application Data\ActiveState\Komodo\4.0\host-hostname
Mac OS X ~/Library/Application Support/Komodo/4.0/host-hostname
Linux ~/.komodo/4.0/host-hostname

Remember that the possible "komodo-bin.crash.log" file on Mac OS X is separate -- it is created by the system in "~/Library/Logs/CrashReporter/".)

Step 3: Verifying and sending the files to ActiveState

To send the error log files to ActiveState:

  1. Locate the files.
  2. Verify that the files are not blank by viewing them with a text editor.
  3. Create a bug describing what happened just before the crash in the ActiveState bug database. (If you do not already have an ASPN or ActiveState bug database account, you can open one by selecting "join".)
  4. Once the bug has been created, add the error log files by selecting Create in the Attachments and Dependencies section of the bug report.

Why is Komodo so big?

Because Komodo is built on the Mozilla framework, it is necessary for us to include the Mozilla build that exactly matches the development version of Komodo. For that reason, even if you have Mozilla on your system, Komodo installs the Mozilla version that it requires.

Another sizeable component of Komodo is language support. Komodo is so tightly integrated with Perl, Python, Ruby and PHP that it is necessary to include components of those languages, at specific version levels, for debugger and editor support.

I already have Mozilla. Why do I need to have two versions?

When ActiveState develops a Komodo release, the work is based upon a specific version of Mozilla. During the development process, we upgrade the level of Mozilla used by Komodo, but this process requires considerable testing to ensure that no functionality is lost. Additionally, we add some custom components to the Mozilla tree that are used by Komodo. For these reasons, we recommend that you do not replace the Mozilla version included with Komodo with a later Mozilla version.

I'm having trouble debugging PHP. What do I do?

If you receive an error message when attempting to debug a PHP program or if the debugging process does not proceed as expected, verify that you have installed PHP and the Xdebug extension as per the instructions in the Debugging PHP documentation, then check the following:

Confirm PHP Configuration

  1. xdebug: in the command or shell window, enter php -m. "xdebug" should be listed as both a regular module and a zend extension. If this is not the case, your configuration is incorrect. See "Common PHP Configuration Problems" below.
  2. Syntax Checking: in Komodo, select Edit|Preferences. Click on Smart Editing, and ensure that "Enable background syntax checking" is checked. Open a PHP file and enter something that is syntactically incorrect, such as:
        <?
        asdf
        echo test;
        ?>
    
    Komodo should display a red squiggly line under echo test;. If it does not, it indicates that Komodo is not able to communicate with the PHP interpreter.
  3. Debug: if steps one and two were successful, ensure that the debugger is functioning by opening a PHP program and debugging it. Ensure that the correct Preferences are configured for PHP.

If any of the steps above were unsuccessful, proceed to the next section.

Common PHP Configuration Problems

  • Multiple PHP executables on one machine: in Komodo's Preferences, explicitly specify the PHP interpreter configured in your php.ini file. The location of the php.ini file can also be explicitly set.
  • Verify the PHP version: PHP 4.0.5 or greater is required for PHP syntax checking. PHP 4.3.1 or greater is required to debug PHP programs.
  • Verify Xdebug library specification: The location of xdebug.dll (Windows) or xdebug.so (Linux) must be defined the php.ini file, for example:

    • Windows: zend_extension_ts=C:\php-4.3.7\extensions\php_xdebug.dll
    • Linux: zend_extension=/php-4.3.7/extensions/php_xdebug.dll

  • Ensure that the Xdebug extension is configured correctly in the php.ini file as per the Remote PHP Debugging instructions.

Windows-Specific Configuration Issues

  • Windows 2000 upgrade: if you upgraded to Windows 2000 from an earlier version of Windows, check the value of the "COMSPEC" variable in the "System variables" (as described above). It should point to C:\WINNT\system32\cmd.exe, and not command.com. If you must change the variable, reboot your system.
  • There are known issues regarding the installation of PHP on Windows Millennium systems; please refer to the PHP site for installation information.

Version Error Messages

If you receive a dialog with the following text:

    Warning
    xdebug: Unable to initialize module
    Module compiled with debug=0, thread-safety=1 module API=20001222
    PHP compiled with debug=0, thread-safety=1 module API=20001222
    These options need to match

... download an updated version of xdebug.dll (Windows) or xdebug.so (Linux) from the Xdebug.org site.

How do I emulate sessions in PHP debugging?

Though it is possible to emulate sessions in local debugging mode, this requires pre-knowledge of session keys, and how those session keys are communicated to PHP.

It is easier to debug sessions using remote debugging. Run the script under a web server and start the debugging session from a web browser. Komodo intercepts the session and debugs it. All session data is available and modifiable through the Variable tabs.

How do I configure Virtual Hosting on an Apache Web server?

Virtual Hosting is an Apache feature for maintaining multiple servers on the same machine, differentiating them by their apparent hostname. For example, a single machine could contain two servers, "www.yourdomain.com" and "debug.yourdomain.com".

If you have configured your Apache installation to use Virtual Hosting (see httpd.apache.org/docs/1.3/vhosts/), you can add directives to your VirtualHost sections to specify how Komodo's PHP debugger extension operates for those hosts. Use the "php_admin_value" to set specific debugger settings for that virtual host. Here is an example:


    NameVirtualHost *
    <VirtualHost *>
    php_admin_value xdebug.enabled 0
    DocumentRoot "/Apache/htdocs/"
    ErrorLog logs/www.error.log
    Servername www.yourdomain.com
    </VirtualHost>

    <VirtualHost *>
    php_admin_value xdebug.enabled 1
    DocumentRoot "/Apache/htdocs/"
    ErrorLog logs/debug.error.log
    Servername debug.yourdomain.com
    </VirtualHost>

This will enable debugging under debug.yourdomain.com, but not under www.yourdomain.com. You can additionally configure the Virtual Host to use a specific machine for remote debugging:


    <VirtualHost *>
    php_admin_value xdebug.enabled 1
    php_admin_value xdebug.host komodo.yourdomain.com
    DocumentRoot "/Apache/htdocs/"
    ErrorLog logs/debug.error.log
    Servername debug.yourdomain.com
    </VirtualHost>

For more information on configuring Virtual Hosting under Apache, see the Apache documentation at httpd.apache.org/docs/.

I moved my Komodo installation on Linux, and am now getting Perl debugging errors.

On Linux, you cannot relocate an existing Komodo installation to a new directory. You must uninstall Komodo from the existing location and reinstall it in the new location. See Uninstalling Komodo on Linux for instructions.

How do I prevent the dialog from displaying every time I start the debugger?

To prevent the debugger dialog from appearing each time you start the debugger, hold down the 'Ctrl' key when you start the debugger. For example, on Windows and Linux, press 'Ctrl'+'F5' rather than 'F5' to start debugging. Click Help|List Key Bindings to find the equivalent key binding for the Emacs and OS X default key binding schemes.

Why do I get a CGI security alert when debugging PHP?

The CGI security alert only occurs when you compile PHP with --enable-cgi-force-redirect. That compilation directive forces PHP to check if it is being run as a CGI by looking at environment variables commonly available only under a CGI environment. If they exist, it looks for another environment variable that is reliably available ONLY under Apache, REDIRECT_STATUS (or HTTP_REDIRECT_STATUS under Netscape/iPlanet). If that environment variable does not exist, the security alert is generated.

To run your compilation of PHP under Komodo with CGI emulation, you have to add a CGI environment variable called REDIRECT_STATUS with any value.

I'm using Windows 98. When I start Komodo, I get the error "Page fault in MSVCRT.DLL".

If your system generates the above error when starting Komodo, you should install the latest "critical" fixes for Windows 98. Use the Windows Update utility to download and install the upgrade packages, or refer to the Microsoft Support Web site.

When I click Check Configuration on the Start Page, Komodo reports that a language that is installed on my system is not available. Why?

In order for Komodo to detect the presence of a language installed on your system, the location of the language interpreter must be specified in your system's PATH environment variable. If the Komodo Start Page states that a language is "Not Functional", or if the Komodo Preferences say that the language interpreter is not found on your system, check that the interpreter is specified in your PATH.

My screen goes black for a second or two whenever I open files for which Komodo performs background syntax checking. Why?

Komodo launches a process as part of the background syntax checking that can cause a full screen command prompt to momentarily appear on some Windows systems. You can make the process invisible by editing the properties for the command prompt window. On the Windows Start menu, right-click the Command Prompt item, and select Properties. Select the Options tab, and change the Display options to Window.

How can I run additonal CVS commands from within Komodo?

Komodo can be used to check out, add, remove, compare, submit and revert files in a CVS repository. CVS offers additional commands such as import, checkout, history, annotate, rdiff and watch which can be put into Run Commands and saved to a project or the Toolbox. For example, the following cvs import command prompts for the User, Host, Module, Project and Version to import:

cvs -d :ext:%(ask:User)@%(ask:Host):%(ask:Path) import %(ask:Module:) %(ask:Project:) %(ask:Version:)

Alternatively, the %(ask:...) interpolation shortcut could be populated with defaults or replaced with static values:

cvs -d :ext:%(ask:User:jdoe)@myhost:/var/cvsroot import %(ask:Module:) %(ask:Project:MyProject)

CVS reqires a real terminal for adding change descriptions. Be sure to set Run in: New Console in the command's properties.