[Glade-users] glade Segmentation Fault



Hello,

I have a Help dialog in a project here at work that glade 0.6.4 refuses to
generate source code for.  I've gone over the XML code by hand and can find
nothing wrong.  In addition, the stack trace produces no visible reason for
the crash (to me, anyway).

I originally had this XML code in with the rest of the project and decided to
break it out to see if that would help, but it did not.

BTW, this fails using the glade 0.6.4 package in Debian/unstable on an ia32
box as well as on a hand-built copy on SPARC Solaris 7 on a Sun Ultra 5.  The
stack trace is from the ia32 box (obviously).

Here is the XML code and below that the last bits of the stack trace:

--- BEGIN XML ---

<?xml version="1.0"?>
<GTK-Interface>

<project>
  <name>gcal</name>
  <program_name>gcal</program_name>
  <directory></directory>
  <source_directory>src</source_directory>
  <pixmaps_directory>pixmaps</pixmaps_directory>
  <language>C</language>
  <gnome_support>False</gnome_support>
  <gettext_support>False</gettext_support>
  <use_widget_names>True</use_widget_names>
  <output_main_file>False</output_main_file>
  <output_support_files>False</output_support_files>
  <output_build_files>False</output_build_files>
  <backup_source_files>False</backup_source_files>
  <main_source_file>interface_help.c</main_source_file>
  <main_header_file>interface_help.h</main_header_file>
</project>

<widget>
  <class>GtkDialog</class>
  <name>help_dialog</name>
  <signal>
    <name>delete_event</name>
    <handler>gtk_widget_hide</handler>
    <object>help_dialog</object>
    <last_modification_time>Tue, 16 Mar 2004 22:16:25
GMT</last_modification_time>
  </signal>
  <title>Online Help</title>
  <type>GTK_WINDOW_TOPLEVEL</type>
  <position>GTK_WIN_POS_CENTER</position>
  <modal>False</modal>
  <default_width>524</default_width>
  <default_height>360</default_height>
  <allow_shrink>True</allow_shrink>
  <allow_grow>True</allow_grow>
  <auto_shrink>False</auto_shrink>

  <widget>
    <class>GtkVBox</class>
    <child_name>Dialog:vbox</child_name>
    <name>help_vbox1</name>
    <homogeneous>False</homogeneous>
    <spacing>0</spacing>

    <widget>
      <class>GtkHBox</class>
      <child_name>Dialog:action_area</child_name>
      <name>help_hbox1</name>
      <border_width>10</border_width>
      <homogeneous>True</homogeneous>
      <spacing>5</spacing>
      <child>
        <padding>0</padding>
        <expand>False</expand>
        <fill>True</fill>
        <pack>GTK_PACK_END</pack>
      </child>

      <widget>
        <class>GtkButton</class>
        <name>helpOk_button</name>
        <can_default>True</can_default>
        <has_default>True</has_default>
        <can_focus>True</can_focus>
        <has_focus>True</has_focus>
        <signal>
          <name>clicked</name>
          <handler>gtk_widget_hide</handler>
          <object>help_dialog</object>
          <last_modification_time>Tue, 16 Mar 2004 22:09:40
GMT</last_modification_time>
        </signal>
        <label>Dismiss</label>
        <relief>GTK_RELIEF_NORMAL</relief>
        <child>
          <padding>0</padding>
          <expand>False</expand>
          <fill>True</fill>
        </child>
      </widget>
    </widget>

    <widget>
      <class>GtkNotebook</class>
      <name>help_nb</name>
      <show_tabs>True</show_tabs>
      <show_border>True</show_border>
      <tab_pos>GTK_POS_TOP</tab_pos>
      <scrollable>False</scrollable>
      <tab_hborder>2</tab_hborder>
      <tab_vborder>2</tab_vborder>
      <popup_enable>True</popup_enable>
      <child>
        <padding>0</padding>
        <expand>True</expand>
        <fill>True</fill>
      </child>

      <widget>
        <class>GtkScrolledWindow</class>
        <name>help_scroll1</name>
        <hscrollbar_policy>GTK_POLICY_NEVER</hscrollbar_policy>
        <vscrollbar_policy>GTK_POLICY_ALWAYS</vscrollbar_policy>
        <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy>
        <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy>

        <widget>
          <class>GtkText</class>
          <name>help_text1</name>
          <can_focus>True</can_focus>
          <editable>False</editable>
          <text>gCal is a GTK+ application for calibrating and executing noise tests
on the AIM24S family of digitizers for seismic arrays, and SAIC's DDFI for
hydroacoustic arrays.  It presents the user with an intuitive graphical
interface for every currently supported calibration type and option.

The layout of the interface is designed to be consistent, as much as possible,
with other GTK+ applications.  However, items that may not be entirely clear
have tooltips -- balloons which pop up describing the functions of that item.

The layout consists of a channel list window just below the menubar and three
buttons at the bottom for beginning a calibration or noise test, or cancelling
previously issued tests.  Multiple channels may be selected as well, but it
should be noted that when commanding a DDFI, calibrations will run on all
three channels of that particular DDFI, regardless of the selection.  Noise
tests, however, behave as expected:  one test is run per channel selected. 
Calibrations run on an AIM24S digitizer will also run on all selected
channels. 

The appearance and functionality of gCal can be changed using the Preferences
dialog, found in the Settings menu item.  The changes you make here will be
stored in the .gcalrc file in your home directory and loaded in every time you
start gCal.

For help with command line options and configuration files, please see the
gCal man page or printed documentation.</text>
        </widget>
      </widget>

      <widget>
        <class>GtkLabel</class>
        <child_name>Notebook:tab</child_name>
        <name>helpOverview_label</name>
        <label>Overview</label>
        <justify>GTK_JUSTIFY_CENTER</justify>
        <wrap>False</wrap>
        <xalign>0.5</xalign>
        <yalign>0.5</yalign>
        <xpad>0</xpad>
        <ypad>0</ypad>
      </widget>

      <widget>
        <class>GtkScrolledWindow</class>
        <name>help_scroll2</name>
        <hscrollbar_policy>GTK_POLICY_NEVER</hscrollbar_policy>
        <vscrollbar_policy>GTK_POLICY_ALWAYS</vscrollbar_policy>
        <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy>
        <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy>

        <widget>
          <class>GtkText</class>
          <name>help_text2</name>
          <can_focus>True</can_focus>
          <editable>False</editable>
          <text>Many of the options available to you in the preferences dialog have
tooltips and/or were worded to be as self-explanatory as possible; however, if
you are not entirely familiar with the AQUINAS solution, this may not be the
case, so what follows are complete descriptions of each item available in each
category:

General

* Recipe file:  Full pathname to the dl2db recipe file, which is usually
called rcp.dl2dbaim24, eg, /data/xave/tables/rcp.dl2dbaim24

* Enable verbose debug messages:  This option does just what it says.  It can
be very helpful if you find gCal is behaving strangely.

* Log messages to file:  This option will log all output that would normally
appear in the parent window, including debug messages, to a file of your
choice.


Servers

* Command Server hostname and port:  The command_server hostname is usually
that of a Science Horizons RPC, Station Processor, or the source of the data
stream.  The port number should have been assigned to you, but if not, you may
try the default of 7551.

* Calibration Server hostname and port:  The  hostname is usually the same as
the Command Server hostname.  The port number here should also have been
assigned to you, but if not, try the default of 7571.

* Authentication Server hostname and port:  If you are signing commands using
a Fortezza Card, this should point to the machine to which the PCMCIA card
reader is attached.  The port number should be the port number where the authd
server runs, which by default is 29000.  If you are not using hardware
authentication, both of these fields may be left blank.


Authentication

* Enable command authentication:  Depress to enable command signing and
response verification.  For more information on command signing and
verification, please see the section on authentication.

* Sign commands using Fortezza or Software:  This is the method in which gCal
should generate command signatures.  If Fortezza is selected, gCal will sign
commands using the authd server specified from the Servers section; otherwise,
they will be generated entirely in software.

* Private key file:  If you are signing commands in software, this should
point to the private key file you wish to use.  This key can be generated
using gACI.

For more information on authentication in general, please see the printed
manuals.</text>
        </widget>
      </widget>

      <widget>
        <class>GtkLabel</class>
        <child_name>Notebook:tab</child_name>
        <name>helpPrefs_label</name>
        <label>Preferences</label>
        <justify>GTK_JUSTIFY_CENTER</justify>
        <wrap>False</wrap>
        <xalign>0.5</xalign>
        <yalign>0.5</yalign>
        <xpad>0</xpad>
        <ypad>0</ypad>
      </widget>

      <widget>
        <class>GtkScrolledWindow</class>
        <name>help_scroll3</name>
        <hscrollbar_policy>GTK_POLICY_NEVER</hscrollbar_policy>
        <vscrollbar_policy>GTK_POLICY_ALWAYS</vscrollbar_policy>
        <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy>
        <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy>

        <widget>
          <class>GtkText</class>
          <name>help_text3</name>
          <can_focus>True</can_focus>
          <editable>False</editable>
          <text></text>
        </widget>
      </widget>

      <widget>
        <class>GtkLabel</class>
        <child_name>Notebook:tab</child_name>
        <name>helpCal_label</name>
        <label>Calibrations</label>
        <justify>GTK_JUSTIFY_CENTER</justify>
        <wrap>False</wrap>
        <xalign>0.5</xalign>
        <yalign>0.5</yalign>
        <xpad>0</xpad>
        <ypad>0</ypad>
      </widget>

      <widget>
        <class>GtkScrolledWindow</class>
        <name>help_scroll4</name>
        <hscrollbar_policy>GTK_POLICY_NEVER</hscrollbar_policy>
        <vscrollbar_policy>GTK_POLICY_ALWAYS</vscrollbar_policy>
        <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy>
        <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy>

        <widget>
          <class>GtkText</class>
          <name>help_text4</name>
          <can_focus>True</can_focus>
          <editable>False</editable>
          <text></text>
        </widget>
      </widget>

      <widget>
        <class>GtkLabel</class>
        <child_name>Notebook:tab</child_name>
        <name>helpNoise_label</name>
        <label>Noise Tests</label>
        <justify>GTK_JUSTIFY_CENTER</justify>
        <wrap>False</wrap>
        <xalign>0.5</xalign>
        <yalign>0.5</yalign>
        <xpad>0</xpad>
        <ypad>0</ypad>
      </widget>

      <widget>
        <class>GtkScrolledWindow</class>
        <name>help_scroll5</name>
        <hscrollbar_policy>GTK_POLICY_NEVER</hscrollbar_policy>
        <vscrollbar_policy>GTK_POLICY_AUTOMATIC</vscrollbar_policy>
        <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy>
        <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy>

        <widget>
          <class>GtkText</class>
          <name>help_text5</name>
          <can_focus>True</can_focus>
          <editable>False</editable>
          <text>This section addresses commonly asked questions and known issues with
this software.

Q: When attempting to start a test, it says 'Timed out waiting for response.' 
What should I do?

A: First of all, see if you can start tests on other digitizers.  If not,
check to make sure you have specified the correct IP and Port for the Command
Server in the Preferences dialog.

Q: The IP and Port are correct.  What now?

A1: Check to make sure you have your authentication properties set
appropriately.  If the remote system is expecting signed commands, it will
wait indefinitely for the signature.  Make sure you have enabled Command
Authentication in the preferences dialog.

A2: Check your intrasite communications using a program such as gACI or
WinVISOR.  Additionally, make sure all modems and short-haul links are
functioning as expected.  Failing this, contact us for technical support. 
Contact information is available from our website at http://www.horizon.com/

A3: Ensure that the processing software, in particular Command Server, is
actually running.

Q: The interface doesn't seem to be responding at times.  What am I doing
wrong?

A: Several of the dialogs that gCal presents are set 'modal'.  Modal dialogs
do not allow the user to access any of the other parts of the interface until
the modal dialog has been dismissed.  Chances are, you have opened such a
dialog (ie, the About dialog), and have hidden it beneath other windows.  Hunt
around until you find such a window, and dispose of it by pressing 'Okay' or
'Dismiss'.

Q: I edited my .gcalrc file by hand and now gCal refuses to run.  Why?

A: The Runtime Control file (.gcalrc) should not be edited by hand unless you
feel comfortable enough to do so.  Any typographical or syntax errors will
cause gCal to choke.  Also, this file should not be edited from within another
operating system, because many operating systems, such as Windows and MacOS,
will insert invisible characters that your native operating system does not
understand.  If you really must edit it by hand, please be careful, and only
edit the file using an editor that is designed for the operating system in
which you use gCal.</text>
        </widget>
      </widget>

      <widget>
        <class>GtkLabel</class>
        <child_name>Notebook:tab</child_name>
        <name>helpFAQ_label</name>
        <label>FAQ</label>
        <justify>GTK_JUSTIFY_CENTER</justify>
        <wrap>False</wrap>
        <xalign>0.5</xalign>
        <yalign>0.5</yalign>
        <xpad>0</xpad>
        <ypad>0</ypad>
      </widget>
    </widget>
  </widget>
</widget>

</GTK-Interface>

--- END XML ---

--- BEGIN STACK TRACE ---

stat64("/home/lanej/dev/src/gcal/gCal_help.glade", {st_mode=S_IFREG|0644,
st_size=12555, ...}) = 0
rename("/home/lanej/dev/src/gcal/gCal_help.glade",
"/home/lanej/dev/src/gcal/gCal_help.glade.bak") = 0
open("/home/lanej/dev/src/gcal/gCal_help.glade", O_WRONLY|O_CREAT|O_TRUNC,
0666) = 6
fstat64(6, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x403d7000
write(6, "<?xml version=\"1.0\"?>\n<GTK-Inter"..., 4096) = 4096
write(6, "rdless of the selection.  Noise "..., 8192) = 8192
write(6, "</child_name>\n\t<name>helpFAQ_lab"..., 267) = 267
close(6)                                = 0
munmap(0x403d7000, 4096)                = 0
stat64("/home/lanej/dev/src/gcal/src/callbacks.c", {st_mode=S_IFREG|0644,
st_size=22161, ...}) = 0
stat64("/home/lanej/dev/src/gcal/src/interface_help.c", {st_mode=S_IFREG|0644,
st_size=0, ...}) = 0
stat64("/home/lanej/dev/src/gcal", {st_mode=S_IFDIR|0750, st_size=4096, ...})
= 0
stat64("/home/lanej/dev/src/gcal/src", {st_mode=S_IFDIR|0750, st_size=4096,
...}) = 0
open("/home/lanej/dev/src/gcal/src/interface_help.h",
O_WRONLY|O_CREAT|O_TRUNC, 0666) = 6
fstat64(6, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x403d7000
open("/home/lanej/dev/src/gcal/src/interface_help.c",
O_WRONLY|O_CREAT|O_TRUNC, 0666) = 7
fstat64(7, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x403d8000
open("/home/lanej/dev/src/gcal/src/callbacks.h", O_WRONLY|O_APPEND|O_CREAT,
0666) = 8
fstat64(8, {st_mode=S_IFREG|0644, st_size=2944, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x40422000
fstat64(8, {st_mode=S_IFREG|0644, st_size=2944, ...}) = 0
_llseek(8, 2944, [2944], SEEK_SET)      = 0
open("/home/lanej/dev/src/gcal/src/callbacks.c", O_WRONLY|O_APPEND|O_CREAT,
0666) = 9
fstat64(9, {st_mode=S_IFREG|0644, st_size=22161, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x40423000
fstat64(9, {st_mode=S_IFREG|0644, st_size=22161, ...}) = 0
_llseek(9, 22161, [22161], SEEK_SET)    = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++

--- END STACK TRACE ---




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]