omz:forum

    • Register
    • Login
    • Search
    • Recent
    • Popular

    Welcome!

    This is the community forum for my apps Pythonista and Editorial.

    For individual support questions, you can also send an email. If you have a very short question or just want to say hello — I'm @olemoritz on Twitter.


    v2.0 vs v2.1 : hard crash using "reserved" var names ?

    Pythonista
    variable 2.1 crash
    4
    7
    5742
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • BillBaroude
      BillBaroude last edited by

      Hi there,

      Going forward to 2.1 from 2.0, I have a bunch of "hard crashes" (direct go back to ios, no error, no message) when using certain var names in my scripts (working on 2.0)

      I had tracked the issue and discovered that vars names like "self.target" in scene produce 100% the crash, but using "self.Target" works.
      It's probably a deep exception.

      Any fix possible ?

      Thanks

      1 Reply Last reply Reply Quote 0
      • BillBaroude
        BillBaroude last edited by

        More info, going deeper in my searches :

        • It looks like to crash only if files had been created with 2.0 using the Game/Animation template. If the file is created with 2.1 with the template it works.
        • If the file is edited using Sublime Text on Mac, it works after transfer (via drop box) on iPhone

        It looks like a text formatting issue...

        Here is the code (but should probably not produce the crash because of text copy/past from the .py file to this page):

        #This guy produces an hard crash on v2.1
        	
        from scene import *
        import sound
        import random
        import math
        #import photos
        
        class MyScene (Scene):
        	def setup(self):
        		self.background_color = '#ffffff'
        		
        		self.target = SpriteNode('iob:ionic_256')
        		
        		self.add_child(self.target)
        		
        		pass
        		
        	def did_change_size(self):
        		pass
        	
        	def update(self):
        		
        		pass
        	
        	def touch_began(self, touch):
        		pass
        	
        	def touch_moved(self, touch):
        		pass
        	
        	def touch_ended(self, touch):
        		pass
        
        if __name__ == '__main__':
        	run(MyScene(), PORTRAIT, show_fps=True)
        

        Do other people are facing this ?
        Thanks

        1 Reply Last reply Reply Quote 0
        • BillBaroude
          BillBaroude last edited by

          and at least : after verification ,code copied from this page produces the crash too.

          1 Reply Last reply Reply Quote 0
          • ccc
            ccc last edited by ccc

            Minimal example that also crashes 2.1:

            import scene
            
            class MyScene(scene.Scene):
                def setup(self):
                    self.target = scene.SpriteNode('iob:alert_circled_256', parent=self)
            
            if __name__ == '__main__':
                scene.run(MyScene(), show_fps=False)
            
            1 Reply Last reply Reply Quote 0
            • omz
              omz last edited by

              I've created an issue in the new bugtracker for this: https://github.com/omz/Pythonista-Issues/issues/19

              1 Reply Last reply Reply Quote 0
              • Oscar
                Oscar last edited by

                I don't know if it is related, but I am encountering a crash with a very similar piece of code, but not for code completion. This crashes when it is run:

                # coding: utf-8
                
                from scene import *
                import sound
                import random
                import math
                A = Action
                
                class MyScene (Scene):
                    def setup(self):
                                #Does not crash 
                	    SpriteNode('emj:Airplane', position=self.size/2, parent=self)
                                # Will crash
                	    SpriteNode('iow:alert_256', position=self.size/2, parent=self)
                
                if __name__ == '__main__':
                    run(MyScene(), show_fps=False)
                

                It's always crashing for me on Python 2.1, but not on Python 3.0. I assumed it had to do with some of the built-in image collections somehow.

                1 Reply Last reply Reply Quote 0
                • omz
                  omz last edited by omz

                  It seems like this is a problem with some of the built-in image collections being compressed too aggressively in 2.1, which apparently leads to issues with loading OpenGL textures. I'm not exactly sure why this is, but the problem seems to go away entirely when I replace the image collections in 2.1 with those from 3.0 – the content is the same, but the size of the app will go up very slightly as a result of the fix.

                  I haven't always been able to reproduce the crash; it sometimes worked, and when it worked, it usually did until restarting the app (as loaded images/textures are cached). So I think the initial suspicion about certain variable names or text formatting issues might have been a red herring.

                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post
                  Powered by NodeBB Forums | Contributors