#47063 [Fbk->Opn]: PHP-GTK

[email protected] ("db4fn1 dot snl at gishpuppy dot com")
Newsgroups php.gtk.dev
Message-ID <[email protected]>
 ID:               47063
 User updated by:  db4fn1 dot snl at gishpuppy dot com
 Reported By:      db4fn1 dot snl at gishpuppy dot com
-Status:           Feedback
+Status:           Open
 Bug Type:         PHP-GTK related
 Operating System: Ubuntu
 PHP Version:      5.2.8
 New Comment:

Is there a long-term fix for the original script without having to
modify the script? We have hundreds of scripts using "new GtkComboBox()"
and fixing them will cost a lot of time.


Previous Comments:
------------------------------------------------------------------------

[2009-01-14 23:03:38] [email protected]

i am researching this a bit. however the following solution will get
you past your immediate problem:

http://php.pastebin.com/f7bcedbd5

e.g. replacing "new GtkComboBox()" with "GtkComboBox::new_text()"

------------------------------------------------------------------------

[2009-01-14 22:22:14] db4fn1 dot snl at gishpuppy dot com

The actual segmentation fault occurs with the following script:

http://php.pastebin.com/d9d5fc14

------------------------------------------------------------------------

[2009-01-11 01:32:32] [email protected]

I do NOT get a crash - however the reproduce script is incorrect and
throws GTK warnings and a fatal error

http://php.pastebin.com/f3a9d9ba7 - This has correct fixes for the code


Notice you cannot use insert_text unless you've used
GtkComboBox::new_text(); when creating the combo box - this is mentioned
in the documentation at gtk.php.net

In addition the "main loop" is Gtk::main(); not Gtk::show();
you don't need to set things visible, you can just use the show_all();
method on your main window.

Finally, you are using PHP built with the Suhosin-Patch which is known
to have conflicts with some PHP extensions.  Try removing the patch or
building a PHP CLI just for your PHP-GTK extensions.


------------------------------------------------------------------------

[2009-01-10 23:42:56] db4fn1 dot snl at gishpuppy dot com

$ php --version
PHP 5.2.6-2ubuntu4 with Suhosin-Patch 0.9.6.2 (cli) (built: Oct 14 2008
20:06:32) 
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies

------------------------------------------------------------------------

[2009-01-10 23:41:30] db4fn1 dot snl at gishpuppy dot com

New code (reduced to 14 lines):

http://php.pastebin.com/f15f1d630

New gdb backtrace:

$ gdb /usr/bin/php core
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show
copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...
(no debugging symbols found)

warning: Can't read pathname for load map: Input/output error.
Reading symbols from /lib/tls/i686/cmov/libcrypt.so.1...(no debugging
symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/libcrypt.so.1
Reading symbols from /usr/lib/libz.so.1...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /usr/lib/libedit.so.2...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libedit.so.2
Reading symbols from /lib/libncurses.so.5...(no debugging symbols
found)...done.
Loaded symbols for /lib/libncurses.so.5
Reading symbols from /usr/lib/libpanel.so.5...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libpanel.so.5
Reading symbols from /usr/lib/i686/cmov/libssl.so.0.9.8...(no debugging
symbols found)...done.
Loaded symbols for /usr/lib/i686/cmov/libssl.so.0.9.8
Reading symbols from /usr/lib/libdb-4.6.so...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libdb-4.6.so
Reading symbols from /lib/tls/i686/cmov/libpthread.so.0...(no debugging
symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/libpthread.so.0
Reading symbols from /lib/libbz2.so.1.0...
(no debugging symbols found)...done.
Loaded symbols for /lib/libbz2.so.1.0
Reading symbols from /lib/libpcre.so.3...(no debugging symbols
found)...done.
Loaded symbols for /lib/libpcre.so.3
Reading symbols from /lib/tls/i686/cmov/libresolv.so.2...
(no debugging symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/libresolv.so.2
Reading symbols from /lib/tls/i686/cmov/libm.so.6...(no debugging
symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/libm.so.6
Reading symbols from /lib/tls/i686/cmov/libdl.so.2...
(no debugging symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/libdl.so.2
Reading symbols from /lib/tls/i686/cmov/libnsl.so.1...(no debugging
symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/libnsl.so.1
Reading symbols from /usr/lib/libgssapi_krb5.so.2...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgssapi_krb5.so.2
Reading symbols from /usr/lib/libkrb5.so.3...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libkrb5.so.3
Reading symbols from /usr/lib/libk5crypto.so.3...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libk5crypto.so.3
Reading symbols from /lib/libcom_err.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib/libcom_err.so.2
Reading symbols from /usr/lib/libxml2.so.2...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libxml2.so.2
Reading symbols from /lib/tls/i686/cmov/libc.so.6...(no debugging
symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/libc.so.6
Reading symbols from /usr/lib/i686/cmov/libcrypto.so.0.9.8...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/i686/cmov/libcrypto.so.0.9.8
Reading symbols from /lib/ld-linux.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /usr/lib/libkrb5support.so.0...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libkrb5support.so.0
Reading symbols from /lib/libkeyutils.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib/libkeyutils.so.1
Reading symbols from /usr/lib/php5/20060613+lfs/php_gtk2.so...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/php5/20060613+lfs/php_gtk2.so
Reading symbols from /usr/lib/libglade-2.0.so.0...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libglade-2.0.so.0
Reading symbols from /usr/lib/libgtk-x11-2.0.so.0...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgtk-x11-2.0.so.0
Reading symbols from /usr/lib/libgdk-x11-2.0.so.0...(no debugging
symbols found)...done.
Loaded symbols for /usr/lib/libgdk-x11-2.0.so.0
Reading symbols from /usr/lib/libatk-1.0.so.0...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libatk-1.0.so.0
Reading symbols from /usr/lib/libgdk_pixbuf-2.0.so.0...(no debugging
symbols found)...done.
Loaded symbols for /usr/lib/libgdk_pixbuf-2.0.so.0
Reading symbols from /usr/lib/libpangocairo-1.0.so.0...
---Type <return> to continue, or q <return> to quit---
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libpangocairo-1.0.so.0
Reading symbols from /usr/lib/libpango-1.0.so.0...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libpango-1.0.so.0
Reading symbols from /usr/lib/libcairo.so.2...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libcairo.so.2
Reading symbols from /usr/lib/libgobject-2.0.so.0...(no debugging
symbols found)...done.
Loaded symbols for /usr/lib/libgobject-2.0.so.0
Reading symbols from /usr/lib/libgmodule-2.0.so.0...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgmodule-2.0.so.0
Reading symbols from /usr/lib/libglib-2.0.so.0...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libglib-2.0.so.0
Reading symbols from /usr/lib/libpangoft2-1.0.so.0...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libpangoft2-1.0.so.0
Reading symbols from /usr/lib/libgio-2.0.so.0...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libgio-2.0.so.0
Reading symbols from /usr/lib/libfreetype.so.6...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libfreetype.so.6
Reading symbols from /usr/lib/libfontconfig.so.1...(no debugging
symbols found)...done.
Loaded symbols for /usr/lib/libfontconfig.so.1
Reading symbols from /usr/lib/libX11.so.6...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libX11.so.6
Reading symbols from /usr/lib/libXcomposite.so.1...(no debugging
symbols found)...done.
Loaded symbols for /usr/lib/libXcomposite.so.1
Reading symbols from /usr/lib/libXdamage.so.1...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXdamage.so.1
Reading symbols from /usr/lib/libXfixes.so.3...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libXfixes.so.3
Reading symbols from /usr/lib/libXext.so.6...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXext.so.6
Reading symbols from /usr/lib/libXrender.so.1...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libXrender.so.1
Reading symbols from /usr/lib/libXinerama.so.1...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXinerama.so.1
Reading symbols from /usr/lib/libXi.so.6...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libXi.so.6
Reading symbols from /usr/lib/libXrandr.so.2...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXrandr.so.2
Reading symbols from /usr/lib/libXcursor.so.1...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libXcursor.so.1
Reading symbols from /usr/lib/libpixman-1.so.0...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libpixman-1.so.0
Reading symbols from /usr/lib/libpng12.so.0...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libpng12.so.0
Reading symbols from /usr/lib/libxcb-render-util.so.0...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libxcb-render-util.so.0
Reading symbols from /usr/lib/libxcb-render.so.0...(no debugging
symbols found)...done.
Loaded symbols for /usr/lib/libxcb-render.so.0
Reading symbols from /usr/lib/libxcb.so.1...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libxcb.so.1
Reading symbols from /lib/libselinux.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib/libselinux.so.1
Reading symbols from /usr/lib/libexpat.so.1...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libexpat.so.1
Reading symbols from /usr/lib/libxcb-xlib.so.0...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libxcb-xlib.so.0
Reading symbols from /usr/lib/libXau.so.6...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXau.so.6
Reading symbols from /usr/lib/libXdmcp.so.6...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libXdmcp.so.6
Reading symbols from /usr/lib/php5/20060613+lfs/curl.so...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/php5/20060613+lfs/curl.so
Reading symbols from /usr/lib/libcurl.so.4...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libcurl.so.4
Reading symbols from /usr/lib/libidn.so.11...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libidn.so.11
Reading symbols from /usr/lib/libldap_r-2.4.so.2...(no debugging
symbols found)...done.
Loaded symbols for /usr/lib/libldap_r-2.4.so.2
Reading symbols from /lib/tls/i686/cmov/librt.so.1...
(no debugging symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/librt.so.1
Reading symbols from /usr/lib/liblber-2.4.so.2...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/liblber-2.4.so.2
Reading symbols from /usr/lib/libsasl2.so.2...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libsasl2.so.2
Reading symbols from /usr/lib/libgnutls.so.26...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libgnutls.so.26
Reading symbols from /usr/lib/libtasn1.so.3...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libtasn1.so.3
Reading symbols from /lib/libgcrypt.so.11...(no debugging symbols
found)...done.
Loaded symbols for /lib/libgcrypt.so.11
Reading symbols from /lib/libgpg-error.so.0...
(no debugging symbols found)...done.
Loaded symbols for /lib/libgpg-error.so.0
Reading symbols from /usr/lib/php5/20060613+lfs/gd.so...(no debugging
symbols found)...done.
Loaded symbols for /usr/lib/php5/20060613+lfs/gd.so
Reading symbols from /usr/lib/libgd.so.2...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgd.so.2
Reading symbols from /usr/lib/libt1.so.5...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libt1.so.5
Reading symbols from /usr/lib/libXpm.so.4...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXpm.so.4
Reading symbols from /usr/lib/libjpeg.so.62...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libjpeg.so.62
Reading symbols from /usr/lib/php5/20060613+lfs/pdo.so...
---Type <return> to continue, or q <return> to quit---
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/php5/20060613+lfs/pdo.so
Reading symbols from /usr/lib/php5/20060613+lfs/pdo_sqlite.so...(no
debugging symbols found)...done.
Loaded symbols for /usr/lib/php5/20060613+lfs/pdo_sqlite.so
Reading symbols from /usr/lib/libsqlite3.so.0...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libsqlite3.so.0
Reading symbols from /usr/lib/php5/20060613+lfs/sqlite.so...(no
debugging symbols found)...done.
Loaded symbols for /usr/lib/php5/20060613+lfs/sqlite.so
Reading symbols from /usr/lib/libsqlite.so.0...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libsqlite.so.0
Reading symbols from /lib/tls/i686/cmov/libnss_files.so.2...(no
debugging symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/libnss_files.so.2
Reading symbols from /lib/tls/i686/cmov/libnss_compat.so.2...
(no debugging symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/libnss_compat.so.2
Reading symbols from /lib/tls/i686/cmov/libnss_nis.so.2...(no debugging
symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/libnss_nis.so.2
Reading symbols from
/usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so
(no debugging symbols found)
Core was generated by `php -c phpgtk.ini app.php'.
Program terminated with signal 11, Segmentation fault.
[New process 12658]
#0  0x082fa343 in zend_object_store_get_object ()
(gdb) bt
#0  0x082fa343 in zend_object_store_get_object ()
#1  0xb77bb4a3 in ?? () from /usr/lib/php5/20060613+lfs/php_gtk2.so
#2  0x08313f23 in ?? ()
#3  0x082ff3bb in execute ()
#4  0x082d9a60 in zend_execute_scripts ()
#5  0x0828e3ca in php_execute_script ()
#6  0x0835e0c4 in main ()
(gdb)

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/47063

-- 
Edit this bug report at http://bugs.php.net/?id=47063&edit=1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.