We are about to switch to a new forum software. Until then we have removed the registration on this forum.
I'm converting my application from P1.5 to P2 and have been going through the changes, running, addressing the thrown error, fixing the incompatibility and running again. However, I now get to a point where my sketch fails immediatly after the window renders for an instance. The error dumps a lot of data and therefore I can't see the actual error thrown as it's scrolled off the console and beyond the buffer. I simply get a long listing that looks like this small extract. I'm hoping somebody recognizes this and can share their remedy. AFAIK I have updated everything for 2.0. Any suggestions...? Is there a way to redirect the console to a text file tat I can go back through to find the error thrown?
3668 (0x14d35ecc) [00|00| 5567]
[ 0x00000000]
[ 0x00000000]
[ 0x00000000]
-------------
3669 (0x14d35edc) [00|00| 5569]
[ 0x00000000]
[ 0x00000000]
[ 0x00000000]
-------------
3670 (0x14d35eec) [00|00| 5570]
[ 0x00000000]
[ 0x00000000]
[ 0x00000000]
-------------
3671 (0x14d35efc) [00|00| 5571]
[ 0x00000000]
[ 0x00000000]
[ 0x00000000]
-------------
3672 (0x14d35f0c) [00|00| 5572]
[ 0x00000000]
[ 0x00000000]
[ 0x00000000]
-------------
3673 (0x14d35f1c) [00|00| 5574]
[ 0x00000000]
[ 0x00000000]
[ 0x00000000]
-------------
3674 (0x14d35f2c) [00|b7| 5575]
[ 0x141660c0]
[ 0x00000000]
[ 0x80800001]
-------------
Answers
Your error log doesn't really describe anything. Why don't you post some more information about your sketch? Or before you do that, delete functionality from your sketch step by step and find out what's responsible for the crash.
Perhaps it is a dump from some native library? Are you sure all the libraries you use are compatible with 2.0?
on linux, and probably mac, the console output gets written to a logfile automatically, but i think that might be 1.5.1 only. it's also hard to find, being randomly named. ls -ltr /tmp might help.
with 2.0 i'm getting output in the terminal window i started processing in so that's just a case of using ./processing | tee /tmp/processing.log
ah! just found 2.0 output in ~/.processing/console there are timestamped .err and .out files. which it doesn't appear to clean up...
and this entry in preferences.txt might be germaine
console.length=500
Ok, increasing the console.length got me this error message:
And here's the log referenced above (forgive the loooong paste...). I'm going to wade through this tonight to see if I can spot the issue.
You have to find out what is this ig7icd32.dll file. Perhaps it is related to your graphic driver? Processing 2.0 isn't very forgiving for old / low end graphics cards.
Thanks PhiLho,
That file ig7icd32.dll doesn't exist on my system. After consulting with my good friend Dr. Google it seems that it's an integrated Intel graphics chipset OpenGL driver for Windows 8.
Strange though that this error doesn't show up on any of the many, many other Processing applications I have on this system.
I'll see if my drivers need updating, and if all else fails I may (though I don't like this approach as it's not based in a known solution) download a copy of ig7icd32.dll to satisfy the error condition.
The error happens in this file, so it is used on your system!
Perhaps your search skipped some system folders...
Yes, I know what you're saying but the search was throughout C: and no system files hidden or excluded. In any case I updated by graphic card drivers and the file then popped up in the same search and I have at least passed that issue and onto the next one.
Now in P2 the openfile dialog I used in P1.5 passes back a null string instead of the file selected. I'm not seeing any errors though, only a null for the filename instead of the string of the file selected. Here's the code:
Look at the release notes / changes: selectInput changed in v.2, it no longer stops for user input, but relies on a callback function. Making it a bit harder to use...
Got some examples in this old post:
http://forum.processing.org/one/topic/listing-last-10-modified-files-in-directory
Thank you all for the great help.
I changed the selectInput code and that's now fine. However, now I'm getting a NullPointerException but can't tie that back to a specific section of my code. The error is thrown without pointing to a line of code. At the end of each error line there is a "java:" and a number. Does that number reference a line number or error code that I can trace? Also, this OpenGL error pops whether I declare OPENGL or P3D in my window definition.
Incidentally, I don't get this error and the sketch works if I run in presentation mode (?)
P3D (and P2D) actually use OpenGL behind the scenes. If that helps...
I've made great progress and have my application working in 2.1. A lot of the OpenGL issues were apparently inherent in P2.0.3 and disappeared just by going to P2.1. Had quite a bit more rewrite to do with file selection dialog changes, but that's also done.
My last challenge is that I connect to a processor board via the USB port. Once the user selects the USB port from a dropdown list (populated by Serial.list() ) I save that in a text file so that the next time they run the application it automatically connects to the board, so they don't have to select the same thing every time.
The problem is that if the board is not connected then the COM port doesn't match/exist and an exception is thrown. In P 1.5.11 this was okay because it didn't stop the application. However in P2.1 it's a full-stop crash. I've tried catching the exception but it's not responding to the usual try-catch handling. Any thoughts?
Here's the code:
Error reported:
Thanks in advance.
Perhaps, instead of
try/catch
block, you coulda tested if myPort isn'tnull
? :-\"It croaks on the assignment of myPort so I'd never get to the point where I could test myPort.
Seems a bit kludgie but I guess I can use Serial.list() to cycle through available ports and see if I have a match. If not then the processor is not connected. At least in theory I think that should work. I'll test and post back here.
It's just that it worked so well in 1.5.1 - I hate rework.
So, I built in cycling through the Serial.list() ports when Serial.list().length >0, and thereafter all port writes are now within if (myPort != null){ conditions so as to prevent a call to the port that has not yet been assigned. So far so good, seems to work.
Hey GoToLoop, thanks to your recommendation I installed P2.1 on a fresh Lubuntu box but it's throwing a graphics driver error when I run Processing
libGL error: failed to load driver: i810
Any idea how I can get Intel i810 graphics drivers for Windows to run on Lubuntu, or is that even an option? My good friend Dr. Google is not much help in this regard.
Thanks in advance
I haven't recommend Lubuntu to any1! I've installed that b/c I had its CD in hand! :(|)
My hardware is Q6600 + GeForce 9800GT. And OS is Lubuntu 13.04 64-bit.
In my Processing v2.0.2's install, it works well. But anything other than JAVA2D generates lotsa console error warnings! X_X
And I still need to install latest version. Gonna skip v2.1 this time I guess! %-(
And I use nVidia's proprietary driver b/c 'tis extremely better than free Nouveau open source 1.
But I've heard that at least for Intel's videos, there's no much diff. between open & proprietary drivers, I believe.
Sorry, I dunno how to get/install Intel's proprietary drivers. But if you want to use bleeding edge, below's a PPA for it:
sudo add-apt-repository ppa:oibaf/graphics-drivers && sudo apt-get update
And some links about it:
http://www.phoronix.com/scan.php?page=news_item&px=MTQ5OTk
https://launchpad.net/~oibaf/+archive/graphics-drivers/
And even some font beatifying: O:-)
http://www.webupd8.org/2013/06/install-openjdk-patched-with-font-fixes.html
http://www.webupd8.org/2013/06/better-font-rendering-in-linux-with.html
If I'd recommend some distro, these 2 are in high regards: (*)
http://distrowatch.com/table.php?distribution=mint
http://distrowatch.com/table.php?distribution=deepin