hashkill icon indicating copy to clipboard operation
hashkill copied to clipboard

Hangs under compiling amd_pwsafe for RV770

Open katyo opened this issue 11 years ago • 7 comments

Compiling amd_pwsafe without flags... building for ATI RV770

After 30 minutes I looked into amd-compiler process using gdb.

(gdb) backtrace 
#0  0x00007f7990990825 in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#1  0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#2  0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#3  0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#4  0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#5  0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#6  0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#7  0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#8  0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#9  0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#10 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#11 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#12 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#13 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#14 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#15 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#16 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#17 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#18 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#19 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#20 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#21 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#22 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#23 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#24 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#25 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#26 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#27 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#28 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#29 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#30 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#31 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#32 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#33 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#34 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#35 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#36 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#37 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#38 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#39 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#40 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#41 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#42 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#43 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#44 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#45 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#46 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#47 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#48 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#49 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#50 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#51 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#52 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#53 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#54 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#55 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#56 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#57 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#58 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#59 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#60 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#61 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#62 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#63 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#64 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#65 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#66 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#67 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#68 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#69 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#70 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#71 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#72 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#73 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#74 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#75 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#76 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#77 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#78 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#79 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#80 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#81 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#82 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#83 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#84 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#85 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#86 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#87 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#88 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#89 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#90 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#91 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#92 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#93 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#94 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#95 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#96 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#97 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#98 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#99 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#100 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#101 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#102 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#103 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#104 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#105 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#106 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#107 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#108 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#109 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#110 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#111 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#112 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#113 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#114 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#115 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#116 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#117 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#118 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#119 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#120 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#121 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#122 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#123 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#124 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#125 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#126 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#127 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#128 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#129 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#130 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#131 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#132 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#133 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#134 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#135 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#136 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#137 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#138 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#139 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#140 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#141 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#142 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#143 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#144 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#145 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#146 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#147 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#148 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#149 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#150 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#151 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#152 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#153 0x00007f79909907cf in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#154 0x00007f799099b8db in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#155 0x00007f799099b9a6 in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#156 0x00007f79908974e4 in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#157 0x00007f79908980bd in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#158 0x00007f7990bdcea0 in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#159 0x00007f7990bdcf13 in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#160 0x00007f7990bdcb3f in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#161 0x00007f7990bdcc12 in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#162 0x00007f7990bdcc5d in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#163 0x00007f798fe80fc1 in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#164 0x00007f798fe8470e in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#165 0x00007f798fec18e7 in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#166 0x00007f798fee4e7c in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#167 0x00007f798fe8ad3e in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#168 0x00007f798fe99c28 in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#169 0x00007f798fe7aed7 in clBuildProgram () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#170 0x0000000000411da5 in _clBuildProgramNoErr ()
#171 0x0000000000401eb6 in compile ()
#172 0x0000000000402a95 in main ()

You can see that AMD OpenCL platform unable to build it. Process permanently hangs since more than two hours, so I interrupted it. It's bug?

My clinfo:

Platform Profile:                FULL_PROFILE
  Platform Version:              OpenCL 1.2 AMD-APP (938.2)
  Platform Name:                 AMD Accelerated Parallel Processing
  Platform Vendor:               Advanced Micro Devices, Inc.
  Platform Extensions:               cl_khr_icd cl_amd_event_callback cl_amd_offline_devices

Platform Name:               AMD Accelerated Parallel Processing
Number of devices:               1
  Device Type:                   CL_DEVICE_TYPE_CPU
  Device ID:                     4098
  Board name:                    
  Max compute units:                 4
  Max work items dimensions:             3
    Max work items[0]:               1024
    Max work items[1]:               1024
    Max work items[2]:               1024
  Max work group size:               1024
  Preferred vector width char:           16
  Preferred vector width short:          8
  Preferred vector width int:            4
  Preferred vector width long:           2
  Preferred vector width float:          4
  Preferred vector width double:         0
  Native vector width char:          16
  Native vector width short:             8
  Native vector width int:           4
  Native vector width long:          2
  Native vector width float:             4
  Native vector width double:            0
  Max clock frequency:               3301Mhz
  Address bits:                  64
  Max memory allocation:             2147483648
  Image support:                 Yes
  Max number of images read arguments:       128
  Max number of images write arguments:      8
  Max image 2D width:                8192
  Max image 2D height:               8192
  Max image 3D width:                2048
  Max image 3D height:               2048
  Max image 3D depth:                2048
  Max samplers within kernel:            16
  Max size of kernel argument:           4096
  Alignment (bits) of base address:      1024
  Minimum alignment (bytes) for any datatype:    128
  Single precision floating point capability
    Denorms:                     Yes
    Quiet NaNs:                  Yes
    Round to nearest even:           Yes
    Round to zero:               Yes
    Round to +ve and infinity:           Yes
    IEEE754-2008 fused multiply-add:         Yes
  Cache type:                    Read/Write
  Cache line size:               64
  Cache size:                    32768
  Global memory size:                8377753600
  Constant buffer size:              65536
  Max number of constant args:           8
  Local memory type:                 Global
  Local memory size:                 32768
  Kernel Preferred work group size multiple:     1
  Error correction support:          0
  Unified memory for Host and Device:        1
  Profiling timer resolution:            1
  Device endianess:              Little
  Available:                     Yes
  Compiler available:                Yes
  Execution capabilities:                
    Execute OpenCL kernels:          Yes
    Execute native function:             Yes
  Queue properties:              
    Out-of-Order:                No
    Profiling :                  Yes
  Platform ID:                   0x7f3907122ce0
  Name:                      Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz
  Vendor:                    GenuineIntel
  Device OpenCL C version:           OpenCL C 1.2 
  Driver version:                2.0 (sse2,avx)
  Profile:                   FULL_PROFILE
  Version:                   OpenCL 1.2 AMD-APP (938.2)
  Extensions:                    cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_device_fission cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_popcnt

I haven't AMD hardware into my build host, but I don't think that it needs for compiling.

katyo avatar Feb 24 '13 06:02 katyo

I have same problem with amd_msoffice_old and amd_msoffice_old_md5.

katyo avatar Feb 24 '13 06:02 katyo

What driver version are you using? You need Catalyst 12.4 (I would recommend using 12.8 but it does not support 4xxx unfortunately).

gat3way avatar Feb 24 '13 09:02 gat3way

Hmm, I use Catalyst 12.6 (Debian testing) I think that ability of compiling .cl kernels at runtime will be useful configure option, because it's platform-related part of code.

katyo avatar Feb 24 '13 10:02 katyo

This is how hashkill worked in the past. Unfortunately this is too slow, especially on multi-GPU systems. Some kernels take a lot of time to compile, it is not acceptable to do that each time the program is started :(

gat3way avatar Feb 24 '13 10:02 gat3way

I think, that simple caching compiled code in /var/cache/hashkil directory may solve this problem. Of course needs some mechanism for recompiling after update code, for example hash of .cl source.

katyo avatar Feb 24 '13 12:02 katyo

Yes, this is possible approach and I have considered it but I am still not all for it. But that's a broad topic.

gat3way avatar Feb 24 '13 17:02 gat3way

ok 6 months old: Doe sit still happen?

r3mbr4ndt avatar Sep 05 '13 19:09 r3mbr4ndt