Comments (33)
Hello, there seems to be a string formatting going wrong while the driver checks the device capabilities. I'm not able to have a look right now, it's in the big "check_device" function which gathers characteristics by issuing ioctls. If no one else picks the point, I'll check this mid to end this week.
from indi.
Thank you in advance for your help, I'm waiting patiently for the result.
from indi.
@jakugab please test your scenario with the update from the ppa (in ~12h) now that #248 is merged. Please provide the same info as you already did, that was perfect.
from indi.
Looks like I merged prematurely, can you please fix these warning?
Also, why are we writing to stderr? Use INDI::Logger whenever possible.
[ 35%] Building CXX object CMakeFiles/indidriverstatic.dir/libs/webcam/v4l2_base.cpp.o
/movies/Dropbox/Projects/indi/libindi/libs/webcam/v4l2_base.cpp: In member function ‘int V4L2_Base::init_mmap(char*)’:
/movies/Dropbox/Projects/indi/libindi/libs/webcam/v4l2_base.cpp:845:98: warning: field precision specifier ‘.*’ expects argument of type ‘int’, but argument 3 has type ‘long unsigned int’ [-Wformat=]
fprintf (stderr, "%.*s does not support memory mapping\n", sizeof(dev_name), dev_name);
from indi.
I did not get this warning on my 32-bit machine. In any case we should wait for @jakugab's report before closing. I'll rework, OK.
from indi.
First of all, sorry for the late answer. I followed all of your work to fix the problem, thanks a lot. So I reinstalled indi-full and kstars-bleeding from ppa just now, but when I start Ekos, indi_v4l2_ ccd driver crashes again with the same manner and same error message, as earlier. :-(
from indi.
Same crash report? If I read the ppa correctly, version embedding the first step of the fix is 1.4.1+r3120~201706041724~ubuntu17.10.1, could you confirm your test environment?
from indi.
The installed packeges from the ppa are: kstars-bleeding (5:17.04+201706041301ubuntu16.04.1), indi-full (1.4201706041718ubuntu16.04.1), libindi (libindi1_1.4.1+r3120201706041724~ubuntu16.04.1). I'm running MATE 16.04 for the RPi with Rpi camera board.
I attached INDI log (indi_v4l2_ccd_23:02:10_log.txt), Kstars log, and Ubuntu crash report (_usr_bin_indi_v4l2_ccd_crash.txt) about the latest crash. What am I doing wrong?
Kstars log_18-23-44.txt
indi_v4l2_ccd_23:02:10_ log.txt
_usr_bin_indi_v4l2_ccd_crash.txt
from indi.
Sorry for the crossed words, this was accidental.
from indi.
No issue, that's perfectly readable. I'll have a look to verify, and will probably have to ask you to debug the driver to provide a backtrace.
from indi.
From what I understand from the ppa information, the version I mentioned does not contain the first pull request I pushed yesterday. @knro could you confirm?
from indi.
Sorry r3120 indeed contains my first pull request. I'll check the code again, @jakugab this will probably require you to execute the debugger with "gdb --eval-command="set follow-fork-mode child" --args indiserver -v indi_v4l2_ccd" to provide a backtrace, although I'm not sure we will get more information without rebuilding the driver in debug.
from indi.
Debug symbols are embedded in package "indi-dbg-1.4.1+3120~ubuntu16.04.1".
from indi.
Ok found it. An exquisitely misplaced parenthesis :)
from indi.
@jakugab r3121 should fix your issue. Sorry it went under the radar through my tests like this.
from indi.
Thank you very much, I will try to update today, and I'll report the result.
from indi.
I updated to r3121 all of the drivers and libindi. Kstars-bleeding is the latest version. When I start Ekos, V4L2 CCD is now connecting successfully :-), I can reach all the options in the INDI Control Panel, but when I want to make a capture in the Capture module, the driver crashes, and the capturing sequence doesn't stop. I attached the log files. When I restart INDI, the driver's connecting fine, but Ekos initialises the camera with different resolutions (once 1024x768, once 3280x2464 -this is the resolution of the RPi cam, and 32x32), and I don't know why?
INDI Control panel log.txt
Kstars Device Manager log.txt
Kstars log_21-12-25.txt
from indi.
Wow, how come this use case is so crippled...? Could you enable debug in the V4L2 driver panel options, check debug logs box, retry your scenario and attach the results?
from indi.
Sorry you did that already. I was looking for "/home/ubuntu/.indi/logs/2017-06-06/indi_v4l2_ccd/indi_v4l2_ccd_18:58:51.log"
from indi.
With debug enabled, when I run an exposure directly from the INDI V4L2 CCD panel, tab Main Control, this is what I get in the console at the bottom of the window:
2017-06-07T11:59:59: Upload complete
2017-06-07T11:59:58: Uploading file. Ext: fits, Size: 311040, sendImage? Yes, saveImage? No
2017-06-07T11:59:58: Capture of one frame (0 stacked frames) took 10.032493 seconds.
2017-06-07T11:59:58: Stopping running exposure 1.000 seconds before completion
2017-06-07T11:59:58: read_frame: [0x9afd2e8] decoding 307200-byte buffer 0xb6bcd000 cropset N
2017-06-07T11:59:58: read_frame: frame exposure started 0.031 seconds ago
2017-06-07T11:59:58: is_compressed: format GREY has compressed flag 0
2017-06-07T11:59:58: read_frame: buffer #0 dequeued from fd:3
2017-06-07T11:59:58: read_frame: using MMAP to recover frame buffer
2017-06-07T11:59:48: Using device 100000-tick manual exposure for 10.000-second exposure
I didn't see that sort of log in your report. Could you provide the contents of that console when you connect and use the V4L2 driver?
from indi.
Sorry, I forgot to attach the requested INDI log file, now I attach it, but that's an empty file.
indi_v4l2_ccd_18:58:51.txt
When I start INDI, the V4L2 CCD connects, and in the Option tab debug enabled, the content of the log window is:
2017-06-07T19:32:18: Session log file /home/ubuntu/.indi/logs/2017-06-07/indi_v4l2_ccd/indi_v4l2_ccd_19:32:00.log
2017-06-07T19:32:16: Toggle Logging Level -- Driver Debug
2017-06-07T19:32:15: Toggle Debug Level -- Driver Debug
2017-06-07T19:32:09: Debug is enabled.
2017-06-07T19:32:01: Device configuration applied.
2017-06-07T19:32:01: Upload settings set to client only.
2017-06-07T19:32:01: Loading device configuration...
2017-06-07T19:32:01: Found intial Input "Camera 0", Format "Planar YUV 4:2:0", Size 3280x2464, Frame interval 1/30s
2017-06-07T19:32:01: V4L2 CCD Device is online. Initializing properties.
When I start an exposure in the Main Control tab, I get error message "Kstars detected, INDI driver indi_v4l2_ccd crashed...", and in the log window appears just one additional line:
2017-06-07T19:34:32: Using default recorder (SER File Recorder).
See Screenshot1 in the attachments. I attached screenshots from the relevant tabs of the V4L2 CCD panel, Kstars and INDI logs too. I didn't make any settings, just ran an exposure in the Main Control tab.
indi_v4l2_ccd_19:32:00.log.txt
log_21-30-53.txt
from indi.
I see the default capture format is JFIF. Would you mind trying with GREY for instance? Then try out a few formats, to see which works and which doesn't.
from indi.
Sorry for the late answer. Today, when I started the process and V4L2 CCD connects, I got a different window log, then earlier, similar as yours. I tried all of the capture formats in V4L2 Capture Options tab but the driver always crashed. I didn't find GREY format here, but I see it in the Kstars log as a supported format. Would you please help me, where can I search it? Thanks.
V4L2 CCD window log.txt
indi_v4l2_ccd_12:15:41 log.txt
log_14-14-25.txt
from indi.
Driver says current format is JPEG, so I'd assume RGB, and also says it is updating the frame size to 786432 bytes.
A RGB frame sized to 1024x768 is 2359296 bytes max, so the only input I see which could make the driver choose 786432 bytes is the "Gray" value of the button Image Type in the Image Settings.
Could you try switching Image Type to "Color" to see if it has an effect?
In the previous reports you had a crash log named _usr_bin_indi_v4l2_ccd_crash.txt
, that was interesting if you can provide this too because it contains a backtrace of the crash. Log indi_v4l2_ccd_HH:MM:SS log.txt
is interesting too as it shows debug traces from the driver. The two others logs more or less duplicate the information, so you can probably ignore them.
from indi.
I changed to "Color", ran an exposure and the driver crashed. Here are the log files:
_usr_bin_indi_v4l2_ccd_crash.txt
indi_v4l2_ccd_11:24:16 log.txt
V4L2CCD window log.txt
from indi.
Thanks for those logs! It seems it is the AbsExposureN pointer which is not managed properly. I'll try to push a fix for this, and have a look around to understand the cause and consequences. Stay tuned.
from indi.
I'm happy to hear that, thanks in advance!
from indi.
I made an update. I started Ekos, V4L2 CCD connected, and if I ran an expo either from Main Control tab of V4L2 CCD panel in INDI Control Panel, or from the CCD panel of Ekos, the driver didn't crash (hurray!!!! :-)), but I got a message: " Failed 1.000-second manual exposure, out of device tick bounds [0,0] " and " No exposure or streaming in progress". I tried it in gray and color too, with the same message.
indi_v4l2_ccd_09:54:15_ log.txt
V4L2 CCD window log.txt
from indi.
I suggest we close this issue and open a new one, now that the crash is behind us. It doesn't work yet, but maybe someone will have already experienced this with the raspberry camera. I'll continue checking what happened to AbsExposureN in your situation.
from indi.
Maybe the OP http://www.indilib.org/forum/ccds-dslrs/861-raspberry-camera-long-exposure-with-v4l2-driver.html has information. Let's make this work!
from indi.
I agree with closing the issue. I'll check the link, maybe I'll find the solution. I want to say a great thanks for your hard work to solve this issue, and for the further investigation! Solving this issue was a great experience for me, I learned much. Thank you again!
Best regards
Gabor
from indi.
@jakugab The follow-up you gave on this issue ("Failed xxx exposure...") is probably fixed by PR #299, if you want to give a try on your setup.
from indi.
Thanks a lot, I'll try it as I'll have a little time, and I will report the result, of course.
from indi.
Related Issues (20)
- Driver "indi_lacerta_fmc_focus" (!) (for Firmware version 3.1): relative positioning inward causes out of range position HOT 10
- Sesto Senso 2 Focuser will not move. HOT 3
- FITS Error: bad float to string conversion HOT 3
- Compilation blocked at 60% HOT 2
- Sony A7IV unable to use BULB HOT 3
- EAF autofocus error in EKOS HOT 4
- Falcon Rotator: [WARNING] Received wrong number of detailed sensor data. Retrying...
- indi_canon_ccd crashes after 30 frames on Astroberry when remote indi web server used HOT 2
- BaseClientQt example implementation HOT 7
- indi 2.0.1 compilation issue HOT 3
- E: Unable to locate package libdc1394-22-dev
- compilation issue on openSUSE Leap 15.x HOT 1
- Omegon 571c driver crash HOT 8
- Dark Library switches to FITS (no XSIF) HOT 1
- INDIServer gets the port number wrong when starting. HOT 2
- In 2.01 the Arduino Simple Switcher driver no longer connects serial. HOT 3
- The optical train implementation also affects driver connectivity and server startup. HOT 16
- Problem with celestron gps driver under Indi v2.0.1 HOT 1
- Watchdog fires prematurely HOT 1
- Non-Guide Dither Pulse causes Exposure timeout HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from indi.