[Bug] "Out of memory" exception after migration to 6.99.14.3

Discuss how to use the Ren'Py engine to create visual novels and story-based games. New releases are announced in this section.
Forum rules
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
Post Reply
Message
Author
Regis
Newbie
Posts: 16
Joined: Tue Jan 10, 2017 6:31 pm
Contact:

[Bug] "Out of memory" exception after migration to 6.99.14.3

#1 Post by Regis » Sun May 06, 2018 3:57 am

After switch to RenPy 6.99.14.3.3347 one of game developers started to get regular "Out of memory" exceptions.
  • Rollback to RenPy 6.99.13 resolves the problem.
  • The issue does not reproduce for everybody. I can't reproduce the issue (I use Windows 7, 64 bit). The developer that gets the issue has Windows 10 (RenPy says that it's WIn8) and 128GB RAM.
  • The issue appears very close to game start. Usually after few interactions with tooltips (old style).
Any ideas how we can debug the cause?

Traceback:
I'm sorry, but an uncaught exception occurred.

While loading <'Image' u'Scene/Tutorial/Interact3.png'>:
File "game/locations/loc_kitchen.rpy", line 166, in script call
call mainscreen_tutorial from _call_mainscreen_tutorial
File "game/content/content_tutorial.rpy", line 23, in script
tut "These are some of your resources you use in this game. At the top is Money, used to buy things in the game."
error: Out of memory

-- Full Traceback ------------------------------------------------------------

Full traceback:
File "D:\Renpy\renpy-6.99.14.3-sdk\renpy\bootstrap.py", line 306, in bootstrap
renpy.main.main()
File "D:\Renpy\renpy-6.99.14.3-sdk\renpy\main.py", line 513, in main
run(restart)
File "D:\Renpy\renpy-6.99.14.3-sdk\renpy\main.py", line 139, in run
renpy.execution.run_context(True)
File "D:\Renpy\renpy-6.99.14.3-sdk\renpy\execution.py", line 846, in run_context
context.run()
File "game/locations/loc_kitchen.rpy", line 166, in script call
call mainscreen_tutorial from _call_mainscreen_tutorial
File "game/content/content_tutorial.rpy", line 23, in script
tut "These are some of your resources you use in this game. At the top is Money, used to buy things in the game."
File "D:\Renpy\renpy-6.99.14.3-sdk\renpy\ast.py", line 652, in execute
renpy.exports.say(who, what, interact=self.interact, *args, **kwargs)
File "D:\Renpy\renpy-6.99.14.3-sdk\renpy\exports.py", line 1180, in say
who(what, *args, **kwargs)
File "D:\Renpy\renpy-6.99.14.3-sdk\renpy\character.py", line 1016, in __call__
self.do_display(who, what, cb_args=self.cb_args, **display_args)
File "D:\Renpy\renpy-6.99.14.3-sdk\renpy\character.py", line 817, in do_display
**display_args)
File "D:\Renpy\renpy-6.99.14.3-sdk\renpy\character.py", line 566, in display_say
rv = renpy.ui.interact(mouse='say', type=type, roll_forward=roll_forward)
File "D:\Renpy\renpy-6.99.14.3-sdk\renpy\ui.py", line 287, in interact
rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
File "D:\Renpy\renpy-6.99.14.3-sdk\renpy\display\core.py", line 2635, in interact
repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, **kwargs)
File "D:\Renpy\renpy-6.99.14.3-sdk\renpy\display\core.py", line 3118, in interact_core
self.draw_screen(root_widget, fullscreen_video, (not fullscreen_video) or video_frame_drawn)
File "D:\Renpy\renpy-6.99.14.3-sdk\renpy\display\core.py", line 2041, in draw_screen
renpy.config.screen_height,
File "render.pyx", line 485, in renpy.display.render.render_screen
File "render.pyx", line 233, in renpy.display.render.render
File "D:\Renpy\renpy-6.99.14.3-sdk\renpy\display\layout.py", line 717, in render
surf = render(child, width, height, cst, cat)
File "render.pyx", line 145, in renpy.display.render.render
File "render.pyx", line 233, in renpy.display.render.render
File "D:\Renpy\renpy-6.99.14.3-sdk\renpy\display\layout.py", line 717, in render
surf = render(child, width, height, cst, cat)
File "render.pyx", line 145, in renpy.display.render.render
File "render.pyx", line 233, in renpy.display.render.render
File "D:\Renpy\renpy-6.99.14.3-sdk\renpy\display\layout.py", line 717, in render
surf = render(child, width, height, cst, cat)
File "render.pyx", line 145, in renpy.display.render.render
File "render.pyx", line 233, in renpy.display.render.render
File "accelerator.pyx", line 108, in renpy.display.accelerator.transform_render
File "render.pyx", line 233, in renpy.display.render.render
File "D:\Renpy\renpy-6.99.14.3-sdk\renpy\display\image.py", line 414, in render
return wrap_render(self.target, width, height, st, at)
File "D:\Renpy\renpy-6.99.14.3-sdk\renpy\display\image.py", line 229, in wrap_render
rend = render(child, w, h, st, at)
File "render.pyx", line 145, in renpy.display.render.render
File "render.pyx", line 233, in renpy.display.render.render
File "D:\Renpy\renpy-6.99.14.3-sdk\renpy\display\image.py", line 626, in render
return wrap_render(self.target, width, height, st, at)
File "D:\Renpy\renpy-6.99.14.3-sdk\renpy\display\image.py", line 229, in wrap_render
rend = render(child, w, h, st, at)
File "render.pyx", line 145, in renpy.display.render.render
File "render.pyx", line 233, in renpy.display.render.render
File "D:\Renpy\renpy-6.99.14.3-sdk\renpy\display\im.py", line 580, in render
return cache.get(self, render=True)
File "D:\Renpy\renpy-6.99.14.3-sdk\renpy\display\im.py", line 266, in get
surf = image.load()
File "D:\Renpy\renpy-6.99.14.3-sdk\renpy\display\im.py", line 625, in load
surf = renpy.display.pgrender.load_image(renpy.loader.load(self.filename), self.filename)
File "D:\Renpy\renpy-6.99.14.3-sdk\renpy\display\pgrender.py", line 162, in load_image
rv = copy_surface_unscaled(surf)
File "D:\Renpy\renpy-6.99.14.3-sdk\renpy\display\pgrender.py", line 127, in copy_surface
rv = surface_unscaled(surf.get_size(), alpha)
File "D:\Renpy\renpy-6.99.14.3-sdk\renpy\display\pgrender.py", line 116, in surface
surf = Surface((width + 4, height + 4), 0, sample)
File "src/pygame_sdl2/surface.pyx", line 164, in pygame_sdl2.surface.Surface.__init__ (gen\pygame_sdl2.surface.c:2738)
error: Out of memory

Windows-8-6.2.9200
Ren'Py 6.99.14.3.3347
Redacted 0.10.10
Sat May 05 13:08:19 2018

Regis
Newbie
Posts: 16
Joined: Tue Jan 10, 2017 6:31 pm
Contact:

Re: [Bug] "Out of memory" exception after migration to 6.99.14.3

#2 Post by Regis » Sun May 06, 2018 4:00 am

Upd: the issue is reproducible by at least 2 users. All have Windows 10.

kivik
Miko-Class Veteran
Posts: 786
Joined: Fri Jun 24, 2016 5:58 pm
Contact:

Re: [Bug] "Out of memory" exception after migration to 6.99.14.3

#3 Post by kivik » Sun May 06, 2018 5:29 am

Interesting, someone else had the same problem previously, not sure if related:

viewtopic.php?t=4887

Although they were using a bitmap - but png are also raster graphics so I wonder if it's a similar issue? Perhaps open and resave it in your image editor to see if issue continues?

Post Reply

Who is online

Users browsing this forum: Bing [Bot], Google [Bot]