After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 603157 - GI_TYPE_TAG_VOID != ffi_type_void
GI_TYPE_TAG_VOID != ffi_type_void
Status: RESOLVED FIXED
Product: gobject-introspection
Classification: Platform
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gobject-introspection Maintainer(s)
gobject-introspection Maintainer(s)
: 604303 (view as bug list)
Depends on:
Blocks: 563025
 
 
Reported: 2009-11-27 16:18 UTC by Maxim Ermilov
Modified: 2015-02-07 16:56 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch for this bug (893 bytes, patch)
2009-11-27 16:18 UTC, Maxim Ermilov
none Details | Review
GI_TYPE_TAG_VOID != ffi_type_void (941 bytes, patch)
2009-12-02 12:37 UTC, Johan (not receiving bugmail) Dahlin
committed Details | Review

Description Maxim Ermilov 2009-11-27 16:18:21 UTC
Created attachment 148602 [details] [review]
Patch for this bug

IN girepository/girffi.c
Comment 1 Johan (not receiving bugmail) Dahlin 2009-12-02 12:37:39 UTC
The following fix has been pushed:
28cccba GI_TYPE_TAG_VOID != ffi_type_void
Comment 2 Johan (not receiving bugmail) Dahlin 2009-12-02 12:37:45 UTC
Created attachment 148896 [details] [review]
GI_TYPE_TAG_VOID != ffi_type_void
Comment 3 Colin Walters 2009-12-09 19:13:19 UTC
This pathc is incorrect; callers need to look at is_pointer to differentiate between void and void *.

Basically you need to always do GITypeInfo -> ffi_type, not GITypeTag -> ffi_type.
Comment 4 Colin Walters 2009-12-09 19:17:23 UTC
See also https://bugzilla.gnome.org/show_bug.cgi?id=604074 which may need the same fix
Comment 5 Dan Winship 2009-12-09 22:12:25 UTC
<walters> danw: ok, i have a fix for your void problem; what was the context for it again?  like what was crashing?

tests/invoke/invoke, on x86_64:

Program received signal SIGSEGV, Segmentation fault.
ffi_call_unix64 () at src/x86/unix64.S:145
145		movq	%rax, (%rdi)
(gdb) where
  • #0 ffi_call_unix64
    at src/x86/unix64.S line 145
  • #1 ffi_call
    at src/x86/ffi64.c line 430
  • #2 g_function_info_invoke
    at ginvoke.c line 250
  • #3 main
    at invoke.c line 114

Comment 6 Dan Winship 2009-12-10 21:07:56 UTC
*** Bug 604303 has been marked as a duplicate of this bug. ***
Comment 7 Johan (not receiving bugmail) Dahlin 2009-12-11 15:19:06 UTC
Any ideas on how to fix this? Or should I just revert the commit?
Comment 8 Colin Walters 2009-12-11 16:07:01 UTC
Fixed now by second patch in https://bugzilla.gnome.org/show_bug.cgi?id=604074
Comment 9 Johan (not receiving bugmail) Dahlin 2009-12-15 13:01:27 UTC
I reverted this patch, let's continue to discuss the issue in bug 604074
Comment 10 Colin Walters 2009-12-17 17:33:43 UTC
This is fixed now.
Comment 11 André Klapper 2015-02-07 16:56:14 UTC
[Mass-moving gobject-introspection tickets to its own Bugzilla product - see bug 708029. Mass-filter your bugmail for this message: introspection20150207 ]