GithubHelp home page GithubHelp logo

indi_v4l2_ccd crash about indi HOT 33 CLOSED

indilib avatar indilib commented on July 23, 2024
indi_v4l2_ccd crash

from indi.

Comments (33)

TallFurryMan avatar TallFurryMan commented on July 23, 2024

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.

jakugab avatar jakugab commented on July 23, 2024

Thank you in advance for your help, I'm waiting patiently for the result.

from indi.

TallFurryMan avatar TallFurryMan commented on July 23, 2024

@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.

knro avatar knro commented on July 23, 2024

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.

TallFurryMan avatar TallFurryMan commented on July 23, 2024

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.

jakugab avatar jakugab commented on July 23, 2024

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.

TallFurryMan avatar TallFurryMan commented on July 23, 2024

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.

jakugab avatar jakugab commented on July 23, 2024

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.

jakugab avatar jakugab commented on July 23, 2024

Sorry for the crossed words, this was accidental.

from indi.

TallFurryMan avatar TallFurryMan commented on July 23, 2024

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.

TallFurryMan avatar TallFurryMan commented on July 23, 2024

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.

TallFurryMan avatar TallFurryMan commented on July 23, 2024

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.

TallFurryMan avatar TallFurryMan commented on July 23, 2024

Debug symbols are embedded in package "indi-dbg-1.4.1+3120~ubuntu16.04.1".

from indi.

TallFurryMan avatar TallFurryMan commented on July 23, 2024

Ok found it. An exquisitely misplaced parenthesis :)

from indi.

TallFurryMan avatar TallFurryMan commented on July 23, 2024

@jakugab r3121 should fix your issue. Sorry it went under the radar through my tests like this.

from indi.

jakugab avatar jakugab commented on July 23, 2024

Thank you very much, I will try to update today, and I'll report the result.

from indi.

jakugab avatar jakugab commented on July 23, 2024

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.

TallFurryMan avatar TallFurryMan commented on July 23, 2024

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.

TallFurryMan avatar TallFurryMan commented on July 23, 2024

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.

TallFurryMan avatar TallFurryMan commented on July 23, 2024

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.

jakugab avatar jakugab commented on July 23, 2024

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
screenshot1 at 2017-06-07 21 36 39
screenshot2 at 2017-06-07 21 40 53
screenshot3 at 2017-06-07 21 43 24
screenshot4 at 2017-06-07 21 44 19
screenshot5 at 2017-06-07 21 44 47
screenshot6 at 2017-06-07 21 45 43

from indi.

TallFurryMan avatar TallFurryMan commented on July 23, 2024

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.

jakugab avatar jakugab commented on July 23, 2024

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.

TallFurryMan avatar TallFurryMan commented on July 23, 2024

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.

jakugab avatar jakugab commented on July 23, 2024

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.

TallFurryMan avatar TallFurryMan commented on July 23, 2024

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.

jakugab avatar jakugab commented on July 23, 2024

I'm happy to hear that, thanks in advance!

from indi.

jakugab avatar jakugab commented on July 23, 2024

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.

TallFurryMan avatar TallFurryMan commented on July 23, 2024

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.

TallFurryMan avatar TallFurryMan commented on July 23, 2024

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.

jakugab avatar jakugab commented on July 23, 2024

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.

TallFurryMan avatar TallFurryMan commented on July 23, 2024

@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.

jakugab avatar jakugab commented on July 23, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.