unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* bug#64039: C-procedure runs when called from C-code, but hags when called from Guile
@ 2023-06-13 10:18 Михаил Бахтерев
  2023-06-13 13:34 ` Mike Gran via Bug reports for GUILE, GNU's Ubiquitous Extension Language
  0 siblings, 1 reply; 3+ messages in thread
From: Михаил Бахтерев @ 2023-06-13 10:18 UTC (permalink / raw)
  To: 64039


[-- Attachment #1.1: Type: text/plain, Size: 1500 bytes --]

Greetings.

1. The version

$ guile --version
guile (GNU Guile) 3.0.9

2. The machine

$ uname -a
Linux bioscope 6.3.7-arch1-1 #1 SMP PREEMPT_DYNAMIC Sat, 10 Jun 2023
00:35:35 +0000 x86_64 GNU/Linux

3. The package

$ pacman -Qi guile
Version         : 3.0.9-1
Architecture    : x86_64
Depends On      : gmp  ncurses  libunistring  gc  libffi  libxcrypt

4. The problem

I'm working on application for scientific computer vision. We use one of
the Andor camera. I've decided to code configuration and user interface
parts in Guile Scheme, as to my experience, it is a lot simpler. But i've
encountered strange error.

Attached archive contains three source files. cam.c implements simple
sequence of interactions with camera driver. That sequence should result in
image acquisition and in the clicking of camera shutter. I've built shared
library from this code (see makefile, please) and have linked it with
simple main program (test.c). When i run resulting binary, i get

$ ./test
INITIALIZATION
CONFIGURATION
ACQUISITION
-- shutter clicks here
AWAITING
SHUTTING DOWN

When i try to run this code from Guile Scheme, as extension, it hangs.

$ guile test.scm
defining single-shot
INITIALIZATION
CONFIGURATION
ACQUISITION
AWAITING
-- no shutter clicking
^C

I do not understand how to debug further, so i just include straces of both
runs in attached archive. If anyone will give me some directions for
investigation of the problem, i'll try to do my best. Thanks in advance!

- Respectfully, Mike.

[-- Attachment #1.2: Type: text/html, Size: 1982 bytes --]

[-- Attachment #2: andor-bug.tar.gz --]
[-- Type: application/gzip, Size: 132445 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#64039: C-procedure runs when called from C-code, but hags when called from Guile
  2023-06-13 10:18 bug#64039: C-procedure runs when called from C-code, but hags when called from Guile Михаил Бахтерев
@ 2023-06-13 13:34 ` Mike Gran via Bug reports for GUILE, GNU's Ubiquitous Extension Language
  2023-06-13 14:25   ` Mike Gran via Bug reports for GUILE, GNU's Ubiquitous Extension Language
  0 siblings, 1 reply; 3+ messages in thread
From: Mike Gran via Bug reports for GUILE, GNU's Ubiquitous Extension Language @ 2023-06-13 13:34 UTC (permalink / raw)
  To: 64039@debbugs.gnu.org,
	Михаил Бахтерев

Hello-

I don't see the problem with the shutter.

But the GetStatus lines should be more like what is below. Your current code
only checks status once.

do {
  GetStatus(&status);
} while (status== DRV_ACQUIRING);





On Tuesday, June 13, 2023 at 04:29:46 AM PDT, Михаил Бахтерев <mike.bakhterev@gmail.com> wrote: 





Greetings.

1. The version

$ guile --version
guile (GNU Guile) 3.0.9

2. The machine

$ uname -a
Linux bioscope 6.3.7-arch1-1 #1 SMP PREEMPT_DYNAMIC Sat, 10 Jun 2023 00:35:35 +0000 x86_64 GNU/Linux

3. The package

$ pacman -Qi guile
Version         : 3.0.9-1
Architecture    : x86_64
Depends On      : gmp  ncurses  libunistring  gc  libffi  libxcrypt

4. The problem

I'm working on application for scientific computer vision. We use one of the Andor camera. I've decided to code configuration and user interface parts in Guile Scheme, as to my experience, it is a lot simpler. But i've encountered strange error.

Attached archive contains three source files. cam.c implements simple sequence of interactions with camera driver. That sequence should result in image acquisition and in the clicking of camera shutter. I've built shared library from this code (see makefile, please) and have linked it with simple main program (test.c). When i run resulting binary, i get

$ ./test 
INITIALIZATION
CONFIGURATION
ACQUISITION
-- shutter clicks here
AWAITING
SHUTTING DOWN

When i try to run this code from Guile Scheme, as extension, it hangs.

$ guile test.scm 
defining single-shot
INITIALIZATION
CONFIGURATION
ACQUISITION
AWAITING
-- no shutter clicking
^C

I do not understand how to debug further, so i just include straces of both runs in attached archive. If anyone will give me some directions for investigation of the problem, i'll try to do my best. Thanks in advance!

- Respectfully, Mike.






^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#64039: C-procedure runs when called from C-code, but hags when called from Guile
  2023-06-13 13:34 ` Mike Gran via Bug reports for GUILE, GNU's Ubiquitous Extension Language
@ 2023-06-13 14:25   ` Mike Gran via Bug reports for GUILE, GNU's Ubiquitous Extension Language
  0 siblings, 0 replies; 3+ messages in thread
From: Mike Gran via Bug reports for GUILE, GNU's Ubiquitous Extension Language @ 2023-06-13 14:25 UTC (permalink / raw)
  To: 64039@debbugs.gnu.org,
	Михаил Бахтерев

Actually, no, you're right. I've just never seen a do/while w/o braces.






On Tuesday, June 13, 2023 at 06:37:01 AM PDT, Mike Gran via "Bug reports for GUILE, GNU's Ubiquitous Extension Language <bug-guile@gnu.org> wrote: 





Hello-

I don't see the problem with the shutter.

But the GetStatus lines should be more like what is below. Your current code
only checks status once.

do {
  GetStatus(&status);
} while (status== DRV_ACQUIRING);





On Tuesday, June 13, 2023 at 04:29:46 AM PDT, Михаил Бахтерев <mike.bakhterev@gmail.com> wrote: 





Greetings.

1. The version

$ guile --version
guile (GNU Guile) 3.0.9

2. The machine

$ uname -a
Linux bioscope 6.3.7-arch1-1 #1 SMP PREEMPT_DYNAMIC Sat, 10 Jun 2023 00:35:35 +0000 x86_64 GNU/Linux

3. The package

$ pacman -Qi guile
Version         : 3.0.9-1
Architecture    : x86_64
Depends On      : gmp  ncurses  libunistring  gc  libffi  libxcrypt

4. The problem

I'm working on application for scientific computer vision. We use one of the Andor camera. I've decided to code configuration and user interface parts in Guile Scheme, as to my experience, it is a lot simpler. But i've encountered strange error.

Attached archive contains three source files. cam.c implements simple sequence of interactions with camera driver. That sequence should result in image acquisition and in the clicking of camera shutter. I've built shared library from this code (see makefile, please) and have linked it with simple main program (test.c). When i run resulting binary, i get

$ ./test 
INITIALIZATION
CONFIGURATION
ACQUISITION
-- shutter clicks here
AWAITING
SHUTTING DOWN

When i try to run this code from Guile Scheme, as extension, it hangs.

$ guile test.scm 
defining single-shot
INITIALIZATION
CONFIGURATION
ACQUISITION
AWAITING
-- no shutter clicking
^C

I do not understand how to debug further, so i just include straces of both runs in attached archive. If anyone will give me some directions for investigation of the problem, i'll try to do my best. Thanks in advance!

- Respectfully, Mike.









^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-06-13 14:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-13 10:18 bug#64039: C-procedure runs when called from C-code, but hags when called from Guile Михаил Бахтерев
2023-06-13 13:34 ` Mike Gran via Bug reports for GUILE, GNU's Ubiquitous Extension Language
2023-06-13 14:25   ` Mike Gran via Bug reports for GUILE, GNU's Ubiquitous Extension Language

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).