Skip to content

gtk-fortran with Pathscale EKOPath 4 #31

Open
bonanza opened this Issue Jun 17, 2011 · 8 comments

4 participants

@bonanza
Collaborator
bonanza commented Jun 17, 2011

The EKOPath 4 compiler suite is now released as open source (http://www.pathscale.com/ekopath4-open-source-announcement) and can be downloaded from github (https://github.com/path64/compiler).

I tried to compile gtk-fortran with the pathf95 Fortran compiler, which resulted in a cascade of errors. The first one produces the following message:

GTK_SCROLLABLE_SET_HADJUSTMENT
  Pgm_Unit                  Not_Referenced            IDX             = 21815   
  AT_ACCESS_SET   = F       AT_ACTUAL_ARG   = F       AT_PROTECTED    = F       
  AT_ARG_TO_KIND  = F       AT_ATTR_LINK    = 0       AT_CIF_DONE     = F       
  AT_CIF_IN_USAGE_= F       AT_CIF_SYMBOL_ID= 0       AT_CIF_USE_IN_BN= F       
  AT_COMPILER_GEND= F       AT_DCL_ERR      = F       AT_DEF_COLUMN   = 12      
  AT_DEF_LINE     = 25880   AT_DEF_IN_CHILD = F       AT_DEFINED      = F       
  AT_ELEMENTAL_INT= F       AT_HOST_ASSOCIAT= F       AT_IGNORE_ATTR_L= F       
  AT_IS_DARG      = F       AT_IS_INTRIN    = F       AT_LOCKED_IN    = F       
  AT_MODULE_IDX   = 0       AT_MODULE_OBJECT= F       AT_NAME_LEN     = 30      
  AT_NAMELIST_OBJ = F       AT_NOT_VISIBLE  = F       AT_ORIG_MODULE_I= 0       
  AT_ORIG_NAME_LEN= 0       AT_ORIG_NAME_IDX= 0
  AT_OPTIONAL     = F       AT_PRIVATE      = Public  AT_REF_IN_CHILD = F       
  AT_SEMANTICS_DON= T       AT_TYPED        = F       AT_USE_ASSOCIATE= F       
  Subroutine                Extern_Proc               ATP_ALIGN       = F       
  ATP_ALL_INTENT_I= F       ATP_ALT_ENTRY   = F       ATP_ARGCHCK_CALL= F       
  ATP_ARGCHCK_ENTR= F       ATP_DCL_EXTERNAL= F       ATP_DUPLICATE_IN= 0       
  AT_BIND_ATTR    = T       ATP_PP_ABSTRACT = F       ATP_PP_PROTO    = T      
  ATP_ELEMENTAL   = F       ATP_ENTRY_LABEL_= 0       ATP_EXPL_ITRFC  = T       
  ATP_EXT_NAME_IDX= 80294   ATP_EXT_NAME_LEN= 30      gtk_scrollable_set_hadjustment
  ATP_EXTERNAL_INT= F       ATP_EXTRA_DARG  = F       ATP_FIRST_IDX   = 12302   
  ATP_FIRST_SH_IDX= 0       ATP_GLOBAL_ATTR_= 19188  
  ATP_HAS_ALT_RET = F       ATP_HAS_OVER_IND= F       ATP_HAS_TASK_DIR= F       
  ATP_IN_INTERFACE= T       ATP_IN_UNNAMED_I= T       ATP_INLINE_ALWAY= F       
  ATP_INLINE_NEVER= F       ATP_MAY_INLINE  = F       ATP_NAME_IN_STON= F       
  ATP_NO_ENTRY_LIS= 0       ATP_NON_ANSI_INT= F       ATP_NOSIDE_EFFEC= F       
  ATP_NUM_DARGS   = 2       ATP_OPTIONAL_DIR= F       ATP_PARENT_IDX  = 469     
  ATP_PURE        = F       ATP_RECURSIVE   = F      
  ATP_RSLT_IDX    = 0       ATP_SAVE_ALL    = F       ATP_SCP_ALIVE   = F       
  ATP_SCP_IDX     = 1       ATP_SGI_RTN_INL = F       ATP_SGI_RTN_NOIN= F       
  ATP_SGI_GLB_INL = F       ATP_SGI_GLB_NOIN= F       ATP_SGI_LOC_INL = F       
  ATP_SGI_LOC_NOIN= F       ATP_STACK_DIR   = F       ATP_SYMMETRIC   = F       
  ATP_TASK_SHARED = F       ATP_USES_EREGS  = F       ATP_VFUNCTION   = F       


  Dummy Arguments for GTK_SCROLLABLE_SET_HADJUSTMENT:

  SCROLLABLE                                                      IDX = 12302   
  SN_COLUMN_NUM   = 43      SN_LINE_NUM     = 25880   SN_NAME_LEN     = 10      
  SN_NAME_IDX     = 80290   SN_ATTR_IDX     = 21816   SN_SIBLING_LINK = 0       
  ATD_ARRAY_IDX   = 0       ATD_POINTER     = F       ATD_TYPE_IDX    = 2848    
  ATD_PE_ARRAY_IDX= 0       

  HADJUSTMENT                                                     IDX = 12303   
  SN_COLUMN_NUM   = 55      SN_LINE_NUM     = 25880   SN_NAME_LEN     = 11      
  SN_NAME_IDX     = 80292   SN_ATTR_IDX     = 21817   SN_SIBLING_LINK = 0       
  ATD_ARRAY_IDX   = 0       ATD_POINTER     = F       ATD_TYPE_IDX    = 2848    
  ATD_PE_ARRAY_IDX= 0       


pathf95-42 pathf95: INTERNAL GTK_INIT, File = gtk.f90, Line = 95, Column = 7 
  Attribute entry 21815 has a variant problem with field ATD_PP_ATP.
Signal: Aborted in Front End Parse/Semantic phase.
Error: Signal Aborted in phase Front End Parse/Semantic -- processing aborted
@vmagnin
Collaborator
vmagnin commented Jun 18, 2011

Hi Jens, thank you for the news. Does EKOPath works also on 32 bits systems ?
And did the problem occur on a 64 bits system or 32 bits ?

This is the interface of gtk_scrollable_set_hadjustment() in gtk-auto.f90 (gtk3 branch).

! void gtk_scrollable_set_hadjustment (GtkScrollable *scrollable, GtkAdjustment *hadjustment);
subroutine gtk_scrollable_set_hadjustment(scrollable, hadjustment) bind(c) 
  use iso_c_binding, only: c_ptr
  type(c_ptr), value :: scrollable
  type(c_ptr), value :: hadjustment
end subroutine

Line 95 in gtk.f90 is (in subroutine gtk_init()):

      argv(i) = c_loc (carg(0))

Any comment ? (I personally do not understand the relation between GTK_SCROLLABLE_SET_HADJUSTMENT and line 95 in gtk.f90...)

@jtappin
Collaborator
jtappin commented Jun 18, 2011

This looks to me like a compiler bug. I've just tried to build with path64 and I get an initially similar error at the same place but instead of GTK_SCROLLABLE_SET_HADJUSTMENT, the message relates to ABS, and causes an internal compiler error.

[  5%] Building Fortran object src/CMakeFiles/gtk-fortran_shared.dir/gtk.f90.o                                                                              
ABS                                                                                                                                                         
  Interface                 Not_Referenced            IDX             = 1       
  AT_ACCESS_SET   = F       AT_ACTUAL_ARG   = F       AT_PROTECTED    = F       
  AT_ARG_TO_KIND  = F       AT_ATTR_LINK    = 0       AT_CIF_DONE     = F       
  AT_CIF_IN_USAGE_= F       AT_CIF_SYMBOL_ID= 0       AT_CIF_USE_IN_BN= F       
  AT_COMPILER_GEND= F       AT_DCL_ERR      = F       AT_DEF_COLUMN   = 1       
  AT_DEF_LINE     = 1       AT_DEF_IN_CHILD = F       AT_DEFINED      = F       
  AT_ELEMENTAL_INT= T       AT_HOST_ASSOCIAT= F       AT_IGNORE_ATTR_L= F       
  AT_IS_DARG      = F       AT_IS_INTRIN    = T       AT_LOCKED_IN    = F       
  AT_MODULE_IDX   = 0       AT_MODULE_OBJECT= F       AT_NAME_LEN     = 3       
  AT_NAMELIST_OBJ = F       AT_NOT_VISIBLE  = F       AT_ORIG_MODULE_I= 0       
  AT_ORIG_NAME_LEN= 0       AT_ORIG_NAME_IDX= 0
  AT_OPTIONAL     = F       AT_PRIVATE      = Public  AT_REF_IN_CHILD = F       
  AT_SEMANTICS_DON= F       AT_TYPED        = F       AT_USE_ASSOCIATE= F       
  ATI_CIF_SCOPE_ID= 0       ATI_CIF_SEEN_IN_= F       ATI_DCL_INTRINSI= F       
  ATI_DEFINED_OPR = Null_Opr                          ATI_FIRST_SPECIF= 0       
  ATI_HAS_NON_MOD_= F       ATI_INTERFACE_CL= Generic_Function_Interface       
  ATI_INLINE_ALWAY= F       ATI_INLINE_NEVER= F       ATI_INTRIN_PASSA= T       
  ATI_INTRIN_TBL_I= 3       ATI_IPA_DIR_SPEC= F       ATI_NUM_SPECIFIC= 0       
  ATI_GENERIC_INT = T       ATI_PROC_IDX    = 0      
  ATI_UNNAMED_INTE= F       ATI_SGI_RTN_INLI= F       ATI_SGI_RTN_NOIN= F       
  ATI_USER_SPECIFI= F       ATD_TYPE_IDX    = 0      

  ** No Secondary Name table entries - ATI_FIRST_SPECIFIC_IDX = 0

pathf95-42 pathf95: INTERNAL GTK_INIT, File = /data/software/GtkFortran/src/gtk.f90, Line = 95, Column = 7 
  Attribute entry 1 has a variant problem with field ATD_PP_ATP.
Signal: Aborted in Front End Parse/Semantic phase.
Error: Signal Aborted in phase Front End Parse/Semantic -- processing aborted
*** Internal stack backtrace:
    /opt/path64/lib/4.0.10/x8664/mfef95() [0x55153c]
    /opt/path64/lib/4.0.10/x8664/mfef95() [0x5515e2]
    /opt/path64/lib/4.0.10/x8664/mfef95() [0x552fb3]
    /opt/path64/lib/4.0.10/x8664/mfef95(ErrMsg_Report+0x51) [0x5530bd]
    /opt/path64/lib/4.0.10/x8664/mfef95(ErrMsgLine+0xce) [0x55328c]
    /opt/path64/lib/4.0.10/x8664/mfef95() [0x550cee]
    /lib/libc.so.6(+0x33c20) [0x2b9a9ba46c20]
    /lib/libc.so.6(gsignal+0x35) [0x2b9a9ba46ba5]
    /lib/libc.so.6(abort+0x180) [0x2b9a9ba4a6b0]
    /opt/path64/lib/4.0.10/x8664/mfef95(exit_compiler+0xbf) [0x5894c1]
    /opt/path64/lib/4.0.10/x8664/mfef95(PRINTMSG+0x19d4) [0x58833a]
    /opt/path64/lib/4.0.10/x8664/mfef95(sytb_var_error+0x5f) [0x8c986d]
    /opt/path64/lib/4.0.10/x8664/mfef95(flatten_function_call+0x43b) [0x6802a2]
    /opt/path64/lib/4.0.10/x8664/mfef95(call_list_semantics+0xa214) [0x65e575]
    /opt/path64/lib/4.0.10/x8664/mfef95() [0x61b270]
    /opt/path64/lib/4.0.10/x8664/mfef95() [0x6133a1]
    /opt/path64/lib/4.0.10/x8664/mfef95(assignment_stmt_semantics+0x599) [0x60f5c2]
    /opt/path64/lib/4.0.10/x8664/mfef95() [0x7649ac]
    /opt/path64/lib/4.0.10/x8664/mfef95() [0x764c63]
    /opt/path64/lib/4.0.10/x8664/mfef95(semantics_pass_driver+0xdb) [0x764117]
    /opt/path64/lib/4.0.10/x8664/mfef95(main+0x1b0) [0x583f84]
    /lib/libc.so.6(__libc_start_main+0xfe) [0x2b9a9ba31d8e]
    /opt/path64/lib/4.0.10/x8664/mfef95() [0x481359]
pathf95 INTERNAL ERROR: /opt/path64/lib/4.0.10/x8664/mfef95 died due to signal 4
make[3]: *** [src/CMakeFiles/gtk-fortran_shared.dir/gtk.f90.o] Error 1
make[2]: *** [src/CMakeFiles/gtk-fortran_shared.dir/gtk.f90.o.provides] Error 2
make[1]: *** [src/CMakeFiles/gtk-fortran_shared.dir/all] Error 2
make: *** [all] Error 2

The error is at the first occurrence of c_loc in gtk.f90.

This is the relevant section of the messages list (I've not yet figured how to get explain to find the catalogues.

$ Internal : 0042
$msg  0042 Attribute entry %d has a variant problem with field %s.
$nexp 0042
Internal : Attribute entry %d has a variant problem with field %s.
.PP
The compiler detected a variant problem.  A field is being accessed in the
attribute table, but the wrong variant is active.  The field may actually be
in the attribute auxiliary table, but it is checking the attribute table
variant.  In general whether the field actually resides in the attribute
table or the attribute auxiliary table should make no difference in resolving
the problem.
.PP
This message should never be generated.  Please notify your product support
organization with this error message number and any supporting information.
This message does not indicate a problem with your code, although you may be
able to change your code so that this error is not encountered.
.ME
@jtappin
Collaborator
jtappin commented Jun 18, 2011

Since this is not supposed to happen, I've opened an issue on the path64 site (https://github.com/path64/compiler/issues/27).

@bonanza
Collaborator
bonanza commented Jun 18, 2011

The problem reported by me occurs on a 64bit system.
But EKOPath 4 should also work with i386.

@cbergstrom

#1 No - i386 is not supported unless someone in the community sends patches
#2 Please make a reduced testcase and post it at pathscale/compiler_old#27

The smaller it is the more likely it'll get fixed quickly

@jtappin
Collaborator
@jtappin
Collaborator
jtappin commented Jun 19, 2011

Jens:
I've posted the smallest example that I could get to fail over on the path64 issue, please check if it fails for you.

@bonanza
Collaborator
bonanza commented Jun 19, 2011

Your minimal example fails also on my system with exactly the same message you posted on https://github.com/path64/compiler/issues/27 .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.