-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MEDM not responsive after acquiring image in "continuous" mode and Mono12Packed Pixel format #4
Comments
Is this issue still happening? Can you describe the symptoms in more detail? Are there any error messages on the IOC console when this happens? |
Do you mean that if you press on the keyboard you don't get a new iocsh prompt? If so, that it is a problem I have never seen, and it sounds like it could be a resource depletion issue. Please post a screen shot of the Plugins/All screen when the system has collected about 900 images in Multiple mode, or when it has collected more than 1000 images in Continuous mode. |
@LeeYangLBLBCS how much memory does your computer have, and how many cores? |
I think it's 6 core, 64GB.
cpu info attached.
…On Thu, Aug 27, 2020 at 8:16 AM Mark Rivers ***@***.***> wrote:
@LeeYangLBLBCS <https://github.com/LeeYangLBLBCS> how much memory does
your computer have, and how many cores?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#4 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADSYGNGT3O7YRJSNG7H34GLSCZ2DBANCNFSM4PJ2ADJQ>
.
--
Lee Yang
Lawrence Berkeley National Lab
1 Cyclotron Road, MS 7H210
Berkeley, California 97320
office:(510)486-7320
fax:(510) 486-4633
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz
stepping : 2
microcode : 0x43
cpu MHz : 1197.250
cache size : 15360 KB
physical id : 0
siblings : 12
core id : 0
cpu cores : 6
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 15
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti intel_ppin ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm xsaveopt cqm_llc cqm_occup_llc dtherm ida arat pln pts md_clear flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips : 6984.39
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz
stepping : 2
microcode : 0x43
cpu MHz : 1197.352
cache size : 15360 KB
physical id : 0
siblings : 12
core id : 1
cpu cores : 6
apicid : 2
initial apicid : 2
fpu : yes
fpu_exception : yes
cpuid level : 15
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti intel_ppin ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm xsaveopt cqm_llc cqm_occup_llc dtherm ida arat pln pts md_clear flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips : 6984.39
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
processor : 2
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz
stepping : 2
microcode : 0x43
cpu MHz : 1197.438
cache size : 15360 KB
physical id : 0
siblings : 12
core id : 2
cpu cores : 6
apicid : 4
initial apicid : 4
fpu : yes
fpu_exception : yes
cpuid level : 15
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti intel_ppin ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm xsaveopt cqm_llc cqm_occup_llc dtherm ida arat pln pts md_clear flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips : 6984.39
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz
stepping : 2
microcode : 0x43
cpu MHz : 1197.555
cache size : 15360 KB
physical id : 0
siblings : 12
core id : 3
cpu cores : 6
apicid : 6
initial apicid : 6
fpu : yes
fpu_exception : yes
cpuid level : 15
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti intel_ppin ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm xsaveopt cqm_llc cqm_occup_llc dtherm ida arat pln pts md_clear flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips : 6984.39
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
processor : 4
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz
stepping : 2
microcode : 0x43
cpu MHz : 1197.343
cache size : 15360 KB
physical id : 0
siblings : 12
core id : 4
cpu cores : 6
apicid : 8
initial apicid : 8
fpu : yes
fpu_exception : yes
cpuid level : 15
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti intel_ppin ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm xsaveopt cqm_llc cqm_occup_llc dtherm ida arat pln pts md_clear flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips : 6984.39
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
processor : 5
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz
stepping : 2
microcode : 0x43
cpu MHz : 1197.355
cache size : 15360 KB
physical id : 0
siblings : 12
core id : 5
cpu cores : 6
apicid : 10
initial apicid : 10
fpu : yes
fpu_exception : yes
cpuid level : 15
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti intel_ppin ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm xsaveopt cqm_llc cqm_occup_llc dtherm ida arat pln pts md_clear flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips : 6984.39
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
processor : 6
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz
stepping : 2
microcode : 0x43
cpu MHz : 1197.349
cache size : 15360 KB
physical id : 0
siblings : 12
core id : 0
cpu cores : 6
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 15
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti intel_ppin ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm xsaveopt cqm_llc cqm_occup_llc dtherm ida arat pln pts md_clear flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips : 6984.39
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
processor : 7
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz
stepping : 2
microcode : 0x43
cpu MHz : 1197.899
cache size : 15360 KB
physical id : 0
siblings : 12
core id : 1
cpu cores : 6
apicid : 3
initial apicid : 3
fpu : yes
fpu_exception : yes
cpuid level : 15
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti intel_ppin ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm xsaveopt cqm_llc cqm_occup_llc dtherm ida arat pln pts md_clear flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips : 6984.39
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
processor : 8
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz
stepping : 2
microcode : 0x43
cpu MHz : 1197.506
cache size : 15360 KB
physical id : 0
siblings : 12
core id : 2
cpu cores : 6
apicid : 5
initial apicid : 5
fpu : yes
fpu_exception : yes
cpuid level : 15
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti intel_ppin ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm xsaveopt cqm_llc cqm_occup_llc dtherm ida arat pln pts md_clear flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips : 6984.39
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
processor : 9
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz
stepping : 2
microcode : 0x43
cpu MHz : 1198.277
cache size : 15360 KB
physical id : 0
siblings : 12
core id : 3
cpu cores : 6
apicid : 7
initial apicid : 7
fpu : yes
fpu_exception : yes
cpuid level : 15
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti intel_ppin ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm xsaveopt cqm_llc cqm_occup_llc dtherm ida arat pln pts md_clear flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips : 6984.39
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
processor : 10
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz
stepping : 2
microcode : 0x43
cpu MHz : 1197.553
cache size : 15360 KB
physical id : 0
siblings : 12
core id : 4
cpu cores : 6
apicid : 9
initial apicid : 9
fpu : yes
fpu_exception : yes
cpuid level : 15
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti intel_ppin ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm xsaveopt cqm_llc cqm_occup_llc dtherm ida arat pln pts md_clear flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips : 6984.39
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
processor : 11
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz
stepping : 2
microcode : 0x43
cpu MHz : 1197.566
cache size : 15360 KB
physical id : 0
siblings : 12
core id : 5
cpu cores : 6
apicid : 11
initial apicid : 11
fpu : yes
fpu_exception : yes
cpuid level : 15
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti intel_ppin ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm xsaveopt cqm_llc cqm_occup_llc dtherm ida arat pln pts md_clear flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips : 6984.39
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
|
All of the computers we use are from one vendor, Supermicro.
https://www.supermicro.com/en/products/motherboard/X10SRA
Maybe it could be the motherboard?
…On Thu, Aug 27, 2020 at 8:52 AM Lee L. Yang ***@***.***> wrote:
I think it's 6 core, 64GB.
cpu info attached.
On Thu, Aug 27, 2020 at 8:16 AM Mark Rivers ***@***.***>
wrote:
> @LeeYangLBLBCS <https://github.com/LeeYangLBLBCS> how much memory does
> your computer have, and how many cores?
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#4 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/ADSYGNGT3O7YRJSNG7H34GLSCZ2DBANCNFSM4PJ2ADJQ>
> .
>
--
Lee Yang
Lawrence Berkeley National Lab
1 Cyclotron Road, MS 7H210
Berkeley, California 97320
office:(510)486-7320
fax:(510) 486-4633
--
Lee Yang
Lawrence Berkeley National Lab
1 Cyclotron Road, MS 7H210
Berkeley, California 97320
office:(510)486-7320
fax:(510) 486-4633
|
I want to be clear on exactly what symptoms you are seeing. If you configure your system as I show below: If you acquire in this mode does it ever fail to acquire 1000 images? It does not for me. However, it you try to stop the acquisition before it completes normally, does it sometimes get into this state where it is stuck with Acquire=1 (says Collecting)? That is the problem I see. At that point epicsMutexShowAll 1 does show a deadlock: epics> epicsMutexShowAll 1 Typing "exit" at the iocsh prompt does not work, I have to press ^C. The same thing happens in Continuous mode. When I press Stop it often hangs. |
I think I am a seeing the same problem as you. It is a bug in my driver. I am working on it now. I will let you know when I think I have it fixed. |
yes, I see exactly what you saw.
Plus, it happens in Mono16 format also. It never can reach 1000 images. But
if I can always stop it without problems, either before stuck acquiring at
the end, or in the middle of acquiring.
…On Thu, Aug 27, 2020 at 10:43 AM Mark Rivers ***@***.***> wrote:
Maybe it could be the motherboard?
I think I am a seeing the same problem as you. It is a bug in my driver. I
am working on it now. I will let you know when I think I have it fixed.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#4 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADSYGNBIKT7ZOVGE4QZ4ES3SC2LNLANCNFSM4PJ2ADJQ>
.
--
Lee Yang
Lawrence Berkeley National Lab
1 Cyclotron Road, MS 7H210
Berkeley, California 97320
office:(510)486-7320
fax:(510) 486-4633
|
I am confused by what you are saying. In my case if I set Multiple mode and NumImages=1000 it always acquires 1000 images with no problem. You seem to be saying that it never collects all 1000 images? My only problem is trying to stop it manually by pressing Stop, either in Multiple mode or Continuous mode. |
I just tried PixelFormat=Mono16 and ConvertPixelFormat=None. I see a few frames are dropped with these messages:
In this case 2 frames had missing packets, and so it only collected 998 frames, not 1000. That is "normal". When I pressed Stop it changed back to the Idle state and I could collect again. |
I made a mistake when I ran mono16. The frame rate needs to be lowered to
70 fps. I left it at 105 which only works for mono12Pack.
So, the mono16 has no problem. Only mono12Pack has the same problem in both
of our computers.
Also, I see message on IOC terminal in mono12Pack mode when I interrupted
the acquiring:
2020/08/27 12:19:02.295 ADSpinnaker::grabImage pixel format conversion
exception Spinnaker: Parameter is not initialized. Input image is NULL
[-1009]
2020/08/27 12:19:02.295 ADSpinnaker:grabImage: unsupported pixel format=0xb
It may be normal. Not tied to the permanent Acquiring state.
…On Thu, Aug 27, 2020 at 11:37 AM Mark Rivers ***@***.***> wrote:
I just tried PixelFormat=Mono16 and ConvertPixelFormat=None. I see a few
frames are dropped with these messages:
2020/08/27 13:31:56.391 ADSpinnaker::grabImage error GetImageStatus returned 9
2020/08/27 13:31:56.393 ADSpinnaker::grabImage error GetImageStatus returned 9
In this case 2 frames had missing packets, and so it only collected 998
frames, not 1000. That is "normal". When I pressed Stop it changed back to
the Idle state and I could collect again.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#4 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADSYGNF3M7JDTVN3JFCWYLDSC2RVDANCNFSM4PJ2ADJQ>
.
--
Lee Yang
Lawrence Berkeley National Lab
1 Cyclotron Road, MS 7H210
Berkeley, California 97320
office:(510)486-7320
fax:(510) 486-4633
|
Yes, for some reason the maximum frame rate it not updating as it should for Mono16 and Mono12Packed. I have isolated the problem to what appears to be a bug in their SDK. When I call pCamera->EndAcquisition() when acquiring Mono12Packed and converting to Mono16 that call hangs forever. There are some comments in the code indicating that I have seen this before. ADSpinnaker is currently using Spinnaker 1.20.0.14. That is quite old now, and I am going to try the latest version, 2.0.0.147 and see if we still have the problem. |
I have created a new SDK_2.0 branch. It uses the most recent Spinnaker SDK from FLIR (2.0.0.147). It seems to fix the problem of stopping acquistion hanging the IOC with Acquire=1 when using PixelFormat=Mono12Packed and ConvertPixelFormat=Mono16. I can now stop acquistion in Multiple or Continuous mode with those parameters with no problem now, it never hangs. It seems like it might drop a few more frames compared to the older SDK with the Oryx camera, but I need to test this more to be sure. @LeeYangLBLBCS I would be interested in you testing to see if this fixes the problem for you, and whether you see more dropped frames. By dropped frames I mean Multiple mode asking for 1000 frames and seeing it only collect 995, etc. |
I'm getting ready to test SDK2.0.
I'll let you know ASAP.
…On Thu, Aug 27, 2020 at 3:16 PM Mark Rivers ***@***.***> wrote:
I have created a new SDK_2.0 branch. It uses the most recent Spinnaker SDK
from FLIR (2.0.0.147).
It seems to fix the problem of stopping acquistion hanging the IOC with
Acquire=1 when using PixelFormat=Mono12Packed and
ConvertPixelFormat=Mono16. I can now stop acquistion in Multiple or
Continuous mode with those parameters with no problem now, it never hangs.
It seems like it might drop a few more frames compared to the older SDK
with the Oryx camera, but I need to test this more to be sure.
@LeeYangLBLBCS <https://github.com/LeeYangLBLBCS> I would be interested
in you testing to see if this fixes the problem for you, and whether you
see more dropped frames. By dropped frames I mean Multiple mode asking for
1000 frames and seeing it only collect 995, etc.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#4 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADSYGNDMZRDD6XROFKP7E3LSC3LNJANCNFSM4PJ2ADJQ>
.
--
Lee Yang
Lawrence Berkeley National Lab
1 Cyclotron Road, MS 7H210
Berkeley, California 97320
office:(510)486-7320
fax:(510) 486-4633
|
I tested with SDK2.0.
It works in mono16 pixel format, either continuous or multiple at 1000,
fixed frame rate or not.
It works in mono12pack format at fixed frame rate 105.
It can't stop in mono12pack format with non fixed frame rate (which runs at
130 fps, much higher than 105).
…On Thu, Aug 27, 2020 at 4:16 PM Lee L. Yang ***@***.***> wrote:
I'm getting ready to test SDK2.0.
I'll let you know ASAP.
On Thu, Aug 27, 2020 at 3:16 PM Mark Rivers ***@***.***>
wrote:
> I have created a new SDK_2.0 branch. It uses the most recent Spinnaker
> SDK from FLIR (2.0.0.147).
>
> It seems to fix the problem of stopping acquistion hanging the IOC with
> Acquire=1 when using PixelFormat=Mono12Packed and
> ConvertPixelFormat=Mono16. I can now stop acquistion in Multiple or
> Continuous mode with those parameters with no problem now, it never hangs.
>
> It seems like it might drop a few more frames compared to the older SDK
> with the Oryx camera, but I need to test this more to be sure.
> @LeeYangLBLBCS <https://github.com/LeeYangLBLBCS> I would be interested
> in you testing to see if this fixes the problem for you, and whether you
> see more dropped frames. By dropped frames I mean Multiple mode asking for
> 1000 frames and seeing it only collect 995, etc.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#4 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/ADSYGNDMZRDD6XROFKP7E3LSC3LNJANCNFSM4PJ2ADJQ>
> .
>
--
Lee Yang
Lawrence Berkeley National Lab
1 Cyclotron Road, MS 7H210
Berkeley, California 97320
office:(510)486-7320
fax:(510) 486-4633
--
Lee Yang
Lawrence Berkeley National Lab
1 Cyclotron Road, MS 7H210
Berkeley, California 97320
office:(510)486-7320
fax:(510) 486-4633
|
If you use Multiple mode and 1000 images does it collect exactly 1000 images. Try 8, 12, 16 bit, fixed rate and free running. |
All pixel formats, mono8/16/12pack/12p work correctly in "fixed frame" rate. For "non fixed frame rate", some pixel format can't be stopped. Though they all finish 1000 frames correctly. Apparently the non fixed frame rates are programmed to use higher values that cause problems. Are they calculated in the SDK based on some kind of theoretical settings? I believe they are not going to be correct at all times for all systems. We acquire images on a fixed interval triggered by motor output pulses at a steady rate, so this will not be the problem for our application. (We always have to calibrate the highest frame rate achievable right before the tomography run.) |
I have been able to run external trigger TTL pulse train at 11 msec
periodicity reliably with number of pulses at the max. possible value for
NumImages of 65535. Pixel format is mono12pack. ADC at 10 bit.
This is close to 100 Hz.
I tried 10 msec interval but it failed to complete all images.
By the way, I saw that the NumImages is an int32,
ADNumImages asynInt32 r/w Number of images to acquire in one acquisition
sequence NIMAGES $(P)$(R)NumImages
$(P)$(R)NumImages
Which should allow more than 65535 number of images.
Is this limit 65535 caused by MEDM?
…On Thu, Aug 27, 2020 at 5:33 PM Mark Rivers ***@***.***> wrote:
If you use Multiple mode and 1000 images does it collect exactly 1000
images. Try 8, 12, 16 bit, fixed rate and free running.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#4 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADSYGNGI47IBTSUWIJT4Q6TSC33MHANCNFSM4PJ2ADJQ>
.
--
Lee Yang
Lawrence Berkeley National Lab
1 Cyclotron Road, MS 7H210
Berkeley, California 97320
office:(510)486-7320
fax:(510) 486-4633
|
No, this must be a limit enforced by the camera firmware. The GenICam specification (https://www.emva.org/wp-content/uploads/GenICam_SFNC_2_3.pdf page 166) says that AcquisitionFrameCount is an IInteger, which is actually a 64-bit integer. But vendors are free to limit the values to a specific range. In ADSpinnaker if I write 65536 to NumImages (which is the AcquisitionFrameCount feature) the value then read back from the camera is 65535, indicating it won't allow more than that. |
you are correct. I tried to enter into spinview. It won't take anything
higher than 65535 either.
Once in a while we do TIMBIR scan (Time Interlaced Model-Based Iterative
Reconstruction), which can get close to this number, though we are limited
by our current motor controller first (~13k position array), at this time.
…On Fri, Aug 28, 2020 at 10:21 AM Mark Rivers ***@***.***> wrote:
Which should allow more than 65535 number of images.
Is this limit 65535 caused by MEDM?
No, this must be a limit enforced by the camera firmware. The GenICam
specification (
https://www.emva.org/wp-content/uploads/GenICam_SFNC_2_3.pdf page 166)
says that AcquisitionFrameCount is an IInteger, which is actually a 64-bit
integer. But vendors are free to limit the values to a specific range. In
ADSpinnaker if I write 65536 to NumImages (which is the
AcquisitionFrameCount feature) the value then read back from the camera is
65535, indicating it won't allow more than that.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#4 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADSYGNBYQV5EFWIMHQR6DLDSC7RRPANCNFSM4PJ2ADJQ>
.
--
Lee Yang
Lawrence Berkeley National Lab
1 Cyclotron Road, MS 7H210
Berkeley, California 97320
office:(510)486-7320
fax:(510) 486-4633
|
Interestingly I cannot reproduce your result of failing to stop. Here are some results I obtain when FrameRateEnable=No and AcquireTime=0.001.
In the Mono12Packed mode there is up to 2 second delay between pressing Stop and it actually stopping. I don't see the problem you do of not being able to stop it all. I think the problem is that the time to convert the pixel format from Mono12Packed to Mono16. Currently the mutex is locked during this operation, which is probably preventing the Stop command from getting enough time to execute. I will try changing that and see if it fixes your problem. |
I think you can work around that problem by using Continuous mode rather than Multiple. Once you have collected the correct number of images your software just stops the camera. |
You should not need to do that. I also trigger from motor pulses, and I adjust the motor speed to generate the next trigger as close as possible to previous image readout being completed. I don't do that empirically for each run, I have a table for each camera, PixelFormat, ADC bits, etc. I recently converted my software from IDL to Python, and it is here: Code: That code for the readout time is here: Documentation: |
Is the network traffic stable enough to save files at constant speed?
I tried to calibrate it once (differently from yours) but it only lasted a
few months. I don't know what's causing the changes.
It's too time consuming to calibrate again.
…On Fri, Aug 28, 2020 at 11:51 AM Mark Rivers ***@***.***> wrote:
< We always have to calibrate the highest frame rate achievable right
before the tomography run.
You should not need to do that. I also trigger from motor pulses, and I
adjust the motor speed to generate the next trigger as close as possible to
previous image readout being completed. I don't do that empirically for
each run, I have a table for each camera, PixelFormat, ADC bits, etc. I
recently converted my software from IDL to Python, and it is here:
Code:
https://github.com/tomography/tomoscan
That code for the readout time is here:
https://github.com/tomography/tomoscan/blob/d997a247407640b96d7ce9d124ab432f274b9254/tomoscan/tomoscan.py#L748-L790
Documentation:
https://tomoscan.readthedocs.io/en/latest/
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#4 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADSYGNBTXTBP4B5LTSAOKGDSC74BJANCNFSM4PJ2ADJQ>
.
--
Lee Yang
Lawrence Berkeley National Lab
1 Cyclotron Road, MS 7H210
Berkeley, California 97320
office:(510)486-7320
fax:(510) 486-4633
|
There is no need to worry about the network traffic for file saving with areaDetector. If the file saving cannot keep up with the detector then you just set the queue size for the file plugin to be large, up to the number of images you are collecting. That way the detector runs at its maximum speed and the files to be written will be queued, but they will eventually all be written. That way the detector sets the acquisition speed (time resolution of measurement) while the disk/network speed sets the time between datasets. |
@LeeYangLBLBCS I have pushed a change that may fix the problem that you cannot stop acquisition with Mono12Packed. I am not sure it is safe, I did observe it to lock up once. It seems to reduce the delay for me between pressing Stop and when it actually stops. My suspicion is that your system is a little less powerful and the mutex is never unlocked long enough to allow the Stop command to be processed. Please try the master branch. |
thanks. I'll try that.
Wouldn't that mean all future users will need to upgrade to ADSpinnaker 2.0
if it's in master branch?
…On Fri, Aug 28, 2020 at 3:38 PM Mark Rivers ***@***.***> wrote:
@LeeYangLBLBCS <https://github.com/LeeYangLBLBCS> I have pushed a change
that may fix the problem that you cannot stop acquisition with
Mono12Packed. I am not sure it is safe, I did observe it to lock up once.
It seems to reduce the delay for me between pressing Stop and when it
actually stops.
My suspicion is that your system is a little less powerful and the mutex
is never unlocked long enough to allow the Stop command to be processed.
Please try the master branch.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#4 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADSYGNBO5QQVNUGWYM2JDSLSDAWU7ANCNFSM4PJ2ADJQ>
.
--
Lee Yang
Lawrence Berkeley National Lab
1 Cyclotron Road, MS 7H210
Berkeley, California 97320
office:(510)486-7320
fax:(510) 486-4633
|
@MarkRivers IT had to set other parameters to get the FLIR to work correctly. I am not sure if these are FLIR specific but if not probably should be added to the ADGenICam docs. Here they are:
(2. 3.). are documented at: (4. already documented) edit /etc/sysctl.conf and add:
(5.) edit /etc/rc.local and add:
|
I have released ADSpinnaker R3-1 and also ADAravis R2-1. The new version of ADSpinnaker allows increasing the number of buffers used in the Spinnaker library. It also has much improved statistics reporting on the transport layer to aid in diagnosing problems. This is a screen shot when running the new version with the ORX-10G-51S5M in 10-bit mode, Mono12Packed, 130 frames/s. Note that the input buffers is 77. I specified a total of 100 buffers, whereas in the previous release the value was fixed at the Spinnaker default of 10. This means that 23 buffers are currently in use, because the thread that reads the camera frames and does the Mono12Packed to Mono16 conversion is barely keeping up. That can also be seen with Note that the thread called This is a screen shot of ADAravis running the Oryx cameras with the same settings as above. This is In this case aravisPoll is the thread that is reading the images and doing the Mono12Packed to Mono16 conversion, using functions that I added in ADGenICam R1-6. It is only using 65.5% of a core, compared to 99.9 in ADSpinnaker. @decarlof this means that ADAravis may be able to keep up with the Oryx 10-bit, Mono12Packed on your machine. An advantage of ADAravis over ADSpinnaker is that it runs on RHEL7, it does not require RHEL8 or Ubuntu 18. Now that I have added Mono12Packed and Mono12p support to ADAravis it really has all the functions needed for mono cameras and ADSpinnaker provides no addtional benefit that I know of. However, for color cameras ADSpinnaker does Bayer to RGB conversion that ADAravis currently lacks. |
@MarkRivers your FLIR/Spinnaker screen shows you are using Driver version 3.0.0. I am not sure if this is related but on the 3.1.0 version installed at 2-BM the max number I get for the input buffer is still 10 (see here). |
You need to change your startup script as documented in the R3-1 notes in RELEASE.md. The arguments in the startup script are documented here: https://areadetector.github.io/master/ADSpinnaker/ADSpinnaker.html#ioc-startup-script |
Your screen shot above shows that you are running ADSpinnaker 3.0.0. You need to update to ADSpinnaker 3.1.0. You are running ADCore 3.10, which is fine. The second problem is that you are not using the latest medm screen from ADSpinnaker 3.1.0, so you are not seeing all of the statistics. Be sure to also change your startup script, as I noted to @decarlof above. This is what the screen should look like. Note that the Driver version is 3.1.0 and there are additional statistics values. |
In the above screen I am collecting 5000 frames at 129 frames/s, Mono12Packed, 10-bit, converting to Mono16. I see the input buffers start at 95 and gradually decrease during the acquisition. When it reaches 5000 frames input buffers is down to ~20. This means I likely would have run out of buffers if I had collected 10000 frames. I could avoid this by increasing the maximum number of buffers in the startup script from the default of 100. |
@LeeYangLBL my detector is in use at the beamline so I could not complete the test, @MarkRivers was correct after installation the old start-up script was copied over to the new version. I will update next week. |
@MarkRivers v3.10 still drops frames. |
Please post a screen shot of the new version. |
screen shot with 6 lost frames: |
Please do it again. When it gets to about 4500 frames complete take the screen shot of just the main ADSpinnaker screen. What value does the Input buffers have at that point? |
At the end of that acquisition how many images were complete? It looks like InputBuffers never drops below 100? You are only trying to do 80 frames/s. As my screen shot above shows with 10-bit Mono12Packed I can do 130 frames/s and not drop any frames. |
What happens if you try to run at 130 frames/s? It looks like you are getting a lot of FailedPackets. That indicates a problem at the lower-level Ethernet interface. I don't have any failed packets in my screen shot. |
maybe there is something with the brand of the computer we are using (supermicro): |
Note that in your first screen shot above InputBuffers is only 2, while it started at 100. The was when it was acquiring because Image rate=108. This strongly suggests that you are dropping frames because you are running out of input buffers. Here are things to do:
|
I set the numSPBuffers to 100 with mono12Pack, 10bit and I run out of input buffer and loose frames if I set frame rate above 80. I increased the buffer to 400 and get: and at the end I never see the failed packet counter to increase, just at the end I get 4178/5000 frames. If I set buffer > 400 the IOC crashes with:
I think is because my MemTotal: 64460268 kB |
Hi Francesco, Your screen shot above shows that InputBufferCount has decreased from 400 down to 2. Can you repeat the test with 400 input buffers, but this time run this command in another window: camonitor 2bmbSP1:cam1:NumImagesCounter_RBV 2bmbSP1:cam1:InputBufferCount Then we can see how the number of free buffers changes as it is acquiring. Can you also run "top -H" in another window and capture that screen when it acquiring? |
Hi Mark,
I then, before increasing the fps, I wanted to see the same parameters when running in 8-bit/160fps but I end up with the camera in strange state. I can now only run it a very slow speed (~30fps). I have seen this in the past and solved it by adjusting ISP Enable parameter or increasing the DeviceLinkThroughputLimit. (see warning for more details) but now nothing seems to work ... so I stock at 30fps even if I set 100fps and I know the camera can do 160. Here are the current settings: |
You are only getting 30 fps because your AcquireTime is 0.035. You need to change it to 0.001 for testing. |
ops my bad. |
OK I run out of buffer with 100fps here are the logs. CPU load is: |
Yes, so your computer can just barely do 80 fps, and cannot do 100 fps. Mine can do 130 fps for 5000 frames, but it would use more than 100 buffers with 10000 frames. You need a faster computer to be able to run the Oryx in 10-bit mode at its maximum frame rate of 130 frames/s. You should try using ADAravis. I suspect it will work on your existing computer, because my unpacking method is a bit faster than FLIR's. |
thank you Mark, will do. |
No, it did not start small (1-3), it started at 100, then it went down from 100 to 1-3. At that point it was dropping buffers. Then when the detector is actually done acquiring those buffers get processed and it goes back to 100.
Yes. Or try ADAravis and see if can keep up. |
issue moved from:
epics-extensions/medm#6
The text was updated successfully, but these errors were encountered: