Skip to content
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

Opening fst file containing huge number of variables #50

Closed
wa5wi5ou opened this issue Sep 7, 2017 · 9 comments
Closed

Opening fst file containing huge number of variables #50

wa5wi5ou opened this issue Sep 7, 2017 · 9 comments

Comments

@wa5wi5ou
Copy link

wa5wi5ou commented Sep 7, 2017

Hi Thomas,

I tried to open an fst file with 70000 variables (real), but impulse wasn't able to open it.
Can you give me a hand please?
test_real_70000.zip
Find attached the fst file that I used.

ps: I could open it with gtkwave without problems

thanks,

@thomasAtToem
Copy link
Member

thomasAtToem commented Sep 8, 2017 via email

@wa5wi5ou
Copy link
Author

wa5wi5ou commented Sep 8, 2017

Hi Thomas,

For the string issue, I fixed it and it works fine with me.

Actually I found 2 issues with the Impulse converter :
1- The string problem.
2- When I perform make with a huge file, (i.e : win32-x86_64/fst.exe ) I get a segmentation fault.

And for now, the problem of opening a huge file isn't solved.

Please find attached the patch below.
impulse.zip

Thanks,

Klai

@thomasAtToem
Copy link
Member

thomasAtToem commented Sep 8, 2017 via email

@thomasAtToem
Copy link
Member

thomasAtToem commented Sep 11, 2017 via email

@wa5wi5ou
Copy link
Author

Hi Thomas,

1- When I went to the plugins repository:
($eclipse repo$/plugins/de.toem.impulse.serializer.hdl_1.8.157/flux/fst/) and I perform make,
after that I executed the fst.exe; generated ( for me in win32-x86_64 ), I had a segmentation fault.
example: gdb --args ./fst.exe test_real_70000.fst
So when I changed from static memory to malloc for the buffers, it's fixed.

2- I generated a 70000 variable fst file, with many scopes, and I still get same problem in Impulse.
I could open it with gtkwave.

Please find attached the fst file below.
test_real_70000_scopes.zip

thanks,
Klai

@thomasAtToem
Copy link
Member

With 1.8.16 the file can be loaded when setting the timeout to 30000 (fst serializer configuration).
The slow reading is affected by many signals in 1 folder (impulse checks for unique name - this take time when many signals are in 1 folder).
If you pack the 70000 signals into many folders (the usual scenario) there is no performance problem !

@wa5wi5ou
Copy link
Author

wa5wi5ou commented Sep 19, 2017

Hi Thomas,

I still get the same problem when I tried to open the fst file with 70000 signals in many scopes.(file attached below)
When I open it with Impulse, it shows nothing, there is no data in the viewer.
I tried to compile impulse in eclipse plugin repository, with these file (i.e :

  1. Go to <your eclipse repo>/plugins/de.toem.impulse.serializer.hdl_1.8.16/flux/fst/
  2. gdb -ex run -ex bt --args win32-x86_64/fst.exe test_70000_scopes.fst
  3. I get :
Thread 1 received signal SIGSEGV, Segmentation fault.
0x000000000043ba36 in ___chkstk_ms ()
#0  0x000000000043ba36 in ___chkstk_ms ()
#1  0x000000000055ec70 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

So when I changed the static allocation memory to dynamic with malloc,
I had no longer SIGSEGV, and I could open the file with Impulse.
(See patch attached).

Impulse_1.8.16.patch.zip
test_70000_scopes.zip

Thanks
Klai

@thomasAtToem
Copy link
Member

thomasAtToem commented Sep 19, 2017 via email

@thomasAtToem
Copy link
Member

Now fixed, please check !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants