|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #37297 segfault when dumping GtkSelectionData
Submitted: 2006-05-03 18:31 UTC Modified: 2006-07-30 19:17 UTC
From: Assigned:
Status: Closed Package: PHP-GTK related
PHP Version: 5.1.3 OS: Linux/Gentoo
Private report: No CVE-ID: None
 [2006-05-03 18:31 UTC]
Bug in drag'n'drop:
Drag from "from" button to "to" button.
You will get a segfault.

Reproduce code:
$wnd = new GtkWindow();
$wnd->connect_simple('destroy', array('Gtk', 'main_quit'));
$hbox = new GtkHBox();

$btnFrom = new GtkButton('From');
$btnTo   = new GtkButton('To');


    //change to text/plain, and it works
    array(array('text/xml', 0, 1)),
$btnFrom->connect('drag-data-get', 'onGetDragData');

    //change to text/plain, and it works
    array(array('text/xml', 0, 1)),

function onGetDragData($widget, $context, $selection, $info, $time) {


Actual result:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 20870)]
0xb7c5b203 in strlen () from /lib/
(gdb) bt
#0  0xb7c5b203 in strlen () from /lib/
#1  0xb75dbcbd in phpg_GtkSelectionData_read_type (object=0x8eb03ec,
    return_value=0xbf8f3cf0) at gen_gtk.c:45552
#2  0xb75ff86b in phpg_get_properties (object=0x8d9bb74)
    at /data/cvs/phpgtk2/php-gtk/main/phpg_support.c:173
#3  0x082c852b in php_var_dump (struc=0x87d1e64, level=1)
    at /data/cvs/php/php-5.1.2/ext/standard/var.c:139
#4  0x082c8736 in zif_var_dump (ht=1, return_value=0x8da9a74,
    return_value_ptr=0x0, this_ptr=0x0, return_value_used=0)
    at /data/cvs/php/php-5.1.2/ext/standard/var.c:192
#5  0x0834a906 in zend_do_fcall_common_helper_SPEC (execute_data=0xbf8f3e20)
    at zend_vm_execute.h:192
#6  0x0834a218 in execute (op_array=0x8d95078) at zend_vm_execute.h:92
#7  0x08328339 in zend_call_function (fci=0xbf8f3f50, fci_cache=0x0)
    at /data/cvs/php/php-5.1.2/Zend/zend_execute_API.c:907
#8  0x08327bae in call_user_function_ex (function_table=0x0, object_pp=0x0,
    function_name=0x0, retval_ptr_ptr=0x0, param_count=0, params=0x0,
    no_separation=0, symbol_table=0x0)
    at /data/cvs/php/php-5.1.2/Zend/zend_execute_API.c:571
#9  0xb7605a8a in phpg_closure_marshal (closure=0x8da9b50, return_value=0x0,
    n_param_values=5, param_values=0xbf8f4210, invocation_hint=0xbf8f40f8,
    marshal_data=0x0) at /data/cvs/phpgtk2/php-gtk/main/phpg_closure.c:124
#10 0xb6fe330e in g_closure_invoke () from /usr/lib/


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2006-07-30 19:17 UTC]
I fixed this in CVS. Now the selection, target, and type properties of GtkSelectionData are GdkAtom objects and you have to cast them to (string) in order to get the string representation. Let me know if this is going to be too cumbersome. I may adjust GtkSelectionData to have just strings instead of GdkAtom objects for properties.

Also, when running your example the 'data' property is NULL. Is that normal?
 [2021-02-05 06:55 UTC] jeanmitchell191 at gmail dot com
Facing same issue here. Help is appreciated. Thanks for the info i will try to figure it out for more.
PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Mon Dec 06 12:03:37 2021 UTC