1

I just updated to the latest CN1 sources, but now I get the below error for a project that compiled just before. Any idea about is causing this issue?

NB. I've activated CSS for this demo example since I'm trying debug an issue I have with that. Notice the line with "Failed loading the skin file: /iPhoneX.skin". I have reloaded the CN1 settings for this project, so the iPhoneX skin should be there as far as I understood.

Sorry in advance if I did something stupid, I'm pretty nagged this evening :-)

JavaSE.build-skins:
JavaSE.init-skins:
DEPRECATED - The copydir task is deprecated.  Use copy instead.
Copying 1 file to /Users/user/NetBeansProjects/CodenameOne/Ports/JavaSE/build/classes
Expanding: /Users/user/NetBeansProjects/cn1-binaries/javase/sqlite-jdbc-3.7.15-M1.jar into /Users/user/NetBeansProjects/CodenameOne/Ports/JavaSE/build/classes
Expanding: /Users/user/NetBeansProjects/cn1-binaries/javase/Filters.jar into /Users/user/NetBeansProjects/CodenameOne/Ports/JavaSE/build/classes
JavaSE.compile:
Building jar: /Users/user/NetBeansProjects/CodenameOne/Ports/JavaSE/dist/JavaSE.jar
To run this application from the command line without Ant, try:
/Library/Java/JavaVirtualMachines/jdk1.8.0_141.jdk/Contents/Home/jre/bin/java -cp /Users/user/NetBeansProjects/CodenameOne/CodenameOne/dist/CodenameOne.jar:/Users/user/NetBeansProjects/cn1-binaries/javase/sqlite-jdbc-3.7.15-M1.jar:/Users/user/NetBeansProjects/cn1-binaries/javase/Filters.jar:/Users/user/NetBeansProjects/cn1-binaries/javase/jcef.jar:/Users/user/NetBeansProjects/cn1-binaries/javase/jmf-2.1.1e.jar:/Users/user/NetBeansProjects/cn1-binaries/jfxrt.jar:/Users/user/NetBeansProjects/CodenameOne/Ports/JavaSE/dist/JavaSE.jar com.codename1.impl.javase.Simulator
JavaSE.deploy:
JavaSE.jar:
Retina Scale: 2.0
Using stateful mode. Use -help flag to see options for new stateless mode.
Updating merge file /Users/user/NetBeansProjects/safearedemo/css/theme.css.merged
Compiling /Users/user/NetBeansProjects/safearedemo/css/theme.css.merged to /Users/user/NetBeansProjects/safearedemo/src/theme.res
File has not changed since last compile.
CSS file successfully compiled.  /Users/user/NetBeansProjects/safearedemo/src/theme.res
Compile is forcing compliance to the supported API's/features for maximum device compatibility. This allows smaller
        code size and wider device support
compile:
run:
Adding CEF to classpath
Found theme.css file.  Watching for changes...
CSS> Retina Scale: 2.0
CSS> Using stateful mode. Use -help flag to see options for new stateless mode.
CSS> Looks like this CSS file needs CEF on classpath... adding it now, and retrying...
CSS> Adding CEF to classpath
Retina Scale: 2.0
Failed loading the skin file: /iPhoneX.skin
java.lang.NullPointerException
    at com.codename1.impl.javase.JavaSEPort.initializeCoordinates(JavaSEPort.java:2270)
    at com.codename1.impl.javase.JavaSEPort.loadSkinFile(JavaSEPort.java:2491)
    at com.codename1.impl.javase.JavaSEPort.loadSkinFile(JavaSEPort.java:4400)
    at com.codename1.impl.javase.JavaSEPort.init(JavaSEPort.java:4612)
    at com.codename1.impl.CodenameOneImplementation.initImpl(CodenameOneImplementation.java:178)
    at com.codename1.ui.Display.init(Display.java:500)
    at com.codename1.impl.javase.Executor$3.run(Executor.java:242)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
CSS> Retina Scale: 2.0
CSS> Using stateful mode. Use -help flag to see options for new stateless mode.
CSS> Updating merge file /Users/user/NetBeansProjects/safearedemo/css/theme.css.merged
CSS> Starting watch thread to watch [/Users/user/NetBeansProjects/safearedemo/css/theme.css]
CSS> Compiling /Users/user/NetBeansProjects/safearedemo/css/theme.css.merged to /Users/user/NetBeansProjects/safearedemo/src/theme.res
CSS> File has not changed since last compile.
CSS> CSS file successfully compiled.  /Users/user/NetBeansProjects/safearedemo/src/theme.res
java.lang.reflect.InvocationTargetException
    at java.awt.EventQueue.invokeAndWait(EventQueue.java:1321)
    at java.awt.EventQueue.invokeAndWait(EventQueue.java:1296)
    at javax.swing.SwingUtilities.invokeAndWait(SwingUtilities.java:1348)
    at com.codename1.impl.javase.JavaSEPort$C.blit(JavaSEPort.java:1392)
    at com.codename1.impl.javase.JavaSEPort.flushGraphics(JavaSEPort.java:5613)
    at com.codename1.impl.javase.JavaSEPort$C$3.run(JavaSEPort.java:1557)
    at com.codename1.ui.Display.processSerialCalls(Display.java:1338)
    at com.codename1.ui.Display.mainEDTLoop(Display.java:1125)
    at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
    at com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)
Caused by: java.lang.NullPointerException
    at com.codename1.impl.javase.JavaSEPort$C.drawScreenBuffer(JavaSEPort.java:1467)
    at com.codename1.impl.javase.JavaSEPort$C.access$600(JavaSEPort.java:1189)
    at com.codename1.impl.javase.JavaSEPort$C$1.run(JavaSEPort.java:1358)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:301)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Rendering frame took too long 6473 milliseconds
java.lang.reflect.InvocationTargetException
    at java.awt.EventQueue.invokeAndWait(EventQueue.java:1321)
    at java.awt.EventQueue.invokeAndWait(EventQueue.java:1296)
    at javax.swing.SwingUtilities.invokeAndWait(SwingUtilities.java:1348)
    at com.codename1.impl.javase.JavaSEPort$C.blit(JavaSEPort.java:1392)
    at com.codename1.impl.javase.JavaSEPort$C.blit(JavaSEPort.java:1400)
    at com.codename1.impl.javase.JavaSEPort.flushGraphics(JavaSEPort.java:5602)
    at com.codename1.impl.CodenameOneImplementation.paintDirty(CodenameOneImplementation.java:644)
    at com.codename1.impl.javase.JavaSEPort.paintDirty(JavaSEPort.java:2247)
    at com.codename1.ui.Display.edtLoopImpl(Display.java:1259)
    at com.codename1.ui.Display.mainEDTLoop(Display.java:1162)
    at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
    at com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)
Caused by: java.lang.NullPointerException
    at com.codename1.impl.javase.JavaSEPort$C.drawScreenBuffer(JavaSEPort.java:1467)
    at com.codename1.impl.javase.JavaSEPort$C.access$600(JavaSEPort.java:1189)
    at com.codename1.impl.javase.JavaSEPort$C$1.run(JavaSEPort.java:1358)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:301)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
user1246562
  • 825
  • 5
  • 7

1 Answers1

0

If you're working from sources then the skin file for iPhoneX needs to be in the JavaSEPort/src. Normally the build script copies it but we've undergone some changes in our build process and it's possible this is no longer seamless.

Shai Almog
  • 51,749
  • 5
  • 35
  • 65
  • The skin file is there, I've tried reloading the CN settings and the CN1 libs. Still same problem. I updated the CN1 sources yesterday - can that be the reason? Sorry about this, I probably did something wrong, but I really can't figure out how to fix it and make the Simulator execute again. – user1246562 Mar 17 '21 at 21:54
  • Tried updating the CN1 sources again to make sure I have the right skin. Still same result, I don't understand why I get the "Failed loading the skin file: /iPhoneX.skin" error? I noticed Steve made some changes to css file handling, any chance it's not working yet? – user1246562 Mar 17 '21 at 22:26
  • It isn't in the version control: https://github.com/codenameone/CodenameOne/tree/master/Ports/JavaSE/src Is it physically there? – Shai Almog Mar 18 '21 at 03:00
  • Yes, as I noted above, the skin file is there (in CN1/ports/JavaSe/src/, and it gets recreated if I delete it). I noticed all my other examples crash in the same way, so seems its either my environment or CN1. – user1246562 Mar 18 '21 at 06:25
  • Check if the skin file is good. Compare it to the skin file in the JavaSE.jar downloaded from our servers. There's probably a broken or missing file there. – Shai Almog Mar 19 '21 at 06:58
  • Thanks ! It *was* the skin file as suggested, not sure how I got things so mixed up, but replacing the skin file everywhere did the trick – user1246562 Mar 21 '21 at 11:19