On 2021/04/13 17:40, Stuart Henderson wrote:
> On 2021/04/13 18:28, Marcus MERIGHI wrote:
> > Hello!
> > 
> > After pkg_add'ing games/supertux and starting it I get:
> > 
> > $ supertux2 
> > [FATAL]
> > /usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/src/supertux/main.cpp:601
> > Unexpected exception: boost::filesystem::status: Permission denied:
> > "/usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/data/credits.stxt"
> > 
> > Do I miss something? Or have I found a breakage?
> > 
> > Marcus
> > 
> 
> Looks like PREFIX in games/supertux/patches/patch-src_supertux_main_cpp
> should really be TRUEPREFIX.
> 
> Here's a diff but I can't check if it fixes things because I don't hit
> this error, just an immediate segfault at startup (backtrace for that
> below).

Marcus, you can fetch a pre-built package at
https://junkpile.org/supertux-0.6.0p3.tgz if that's easier to test.


Better trace from my crash with symbols. I tried another sdl2 program
(neverball) and that worked ok.

(gdb) bt
#0  SDL_memcpySSE (dst=0x85343a82fa0 "", src=0x852c7332fa0 "", len=128)
    at /usr/obj/ports/sdl2-2.0.14/SDL2-2.0.14/src/video/SDL_blit_copy.c:40
#1  SDL_BlitCopy (info=<optimized out>) at 
/usr/obj/ports/sdl2-2.0.14/SDL2-2.0.14/src/video/SDL_blit_copy.c:135
#2  0x000008534606b78a in SDL_SoftBlit (src=0x852cb6e7600, srcrect=<optimized 
out>, dst=0x852cb6f5780, 
    dstrect=0x7f7ffffe5b50) at 
/usr/obj/ports/sdl2-2.0.14/SDL2-2.0.14/src/video/SDL_blit.c:88
#3  0x00000853460a5e9b in SDL_LowerBlit_REAL (src=0x852cb6e7600, 
srcrect=<optimized out>, dst=0x852cb6f5780, 
    dstrect=0x7f7ffffe5b50) at 
/usr/obj/ports/sdl2-2.0.14/SDL2-2.0.14/src/video/SDL_surface.c:642
#4  SDL_UpperBlit_REAL (src=0x852cb6e7600, srcrect=<optimized out>, 
dst=0x852cb6f5780, dstrect=0x7f7ffffe5b50)
    at /usr/obj/ports/sdl2-2.0.14/SDL2-2.0.14/src/video/SDL_surface.c:739
#5  0x000008506842a5f8 in GLTexture::GLTexture (this=0x852cb6e7100, image=..., 
sampler=...)
    at 
/usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/src/video/gl/gl_texture.cpp:92
#6  0x000008506842612e in GLVideoSystem::new_texture (this=<optimized out>, 
image=..., sampler=...)
    at 
/usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/src/video/gl/gl_video_system.cpp:282
#7  0x000008506842091a in TextureManager::create_image_texture_raw 
(this=<optimized out>, filename=..., rect=..., 
    sampler=...) at 
/usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/src/video/texture_manager.cpp:324
#8  0x00000850684204ec in TextureManager::create_image_texture 
(this=0x852f7decc00, filename=..., rect=..., 
    sampler=...) at 
/usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/src/video/texture_manager.cpp:261
#9  0x000008506841fda4 in TextureManager::get (this=<optimized out>, 
_filename=..., rect=..., sampler=...)
    at 
/usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/src/video/texture_manager.cpp:228
#10 0x000008506841dabf in Surface::from_file (filename=..., rect=...)
    at 
/usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/src/video/surface.cpp:78
#11 0x00000850683fe793 in TileSetParser::parse_imagespecs (this=<optimized 
out>, images_mapping=..., 
    surface_region=...) at 
/usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/src/supertux/tile_set_parser.cpp:333
#12 0x00000850683fd142 in TileSetParser::parse_tiles (this=<optimized out>, 
reader=...)
    at 
/usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/src/supertux/tile_set_parser.cpp:297
#13 0x00000850683fc079 in TileSetParser::parse (this=<optimized out>)
    at 
/usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/src/supertux/tile_set_parser.cpp:72
#14 0x00000850683fada1 in TileSet::from_file (filename=...)
    at 
/usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/src/supertux/tile_set.cpp:41
#15 0x00000850683fa87c in TileManager::get_tileset (this=<optimized out>, 
filename=...)
    at 
/usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/src/supertux/tile_manager.cpp:38
#16 0x00000850682ef550 in 
GameObjectFactory::init_factories()::$_0::operator()(ReaderMapping const&) 
const (
    this=<optimized out>, reader=...)
    at 
/usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/src/supertux/game_object_factory.cpp:262
#17 std::__1::__invoke<GameObjectFactory::init_factories()::$_0&, ReaderMapping 
const&> (__f=..., __args=...)
    at /usr/include/c++/v1/type_traits:3539
#18 std::__1::__invoke_void_return_wrapper<std::__1::unique_ptr<GameObject, 
std::__1::default_delete<GameObject> > 
>::__call<GameObjectFactory::init_factories()::$_0&, ReaderMapping 
const&>(GameObjectFactory::init_factories()::$_0&, ReaderMapping const&) 
(__args=..., __args=...) at /usr/include/c++/v1/__functional_base:317
---Type <return> to continue, or q <return> to quit---
#19 
std::__1::__function::__alloc_func<GameObjectFactory::init_factories()::$_0, 
std::__1::allocator<GameObjectFactory::init_factories()::$_0>, 
std::__1::unique_ptr<GameObject, std::__1::default_delete<GameObject> > 
(ReaderMapping const&)>::operator()(ReaderMapping const&) (this=<optimized 
out>, __arg=...) at /usr/include/c++/v1/functional:1540
#20 std::__1::__function::__func<GameObjectFactory::init_factories()::$_0, 
std::__1::allocator<GameObjectFactory::init_factories()::$_0>, 
std::__1::unique_ptr<GameObject, std::__1::default_delete<GameObject> > 
(ReaderMapping const&)>::operator()(ReaderMapping const&) (this=<optimized 
out>, __arg=...) at /usr/include/c++/v1/functional:1714
#21 0x00000850683ded70 in 
std::__1::__function::__value_func<std::__1::unique_ptr<GameObject, 
std::__1::default_delete<GameObject> > (ReaderMapping 
const&)>::operator()(ReaderMapping const&) const (this=<optimized out>, 
__args=...)
    at /usr/include/c++/v1/functional:1867
#22 std::__1::function<std::__1::unique_ptr<GameObject, 
std::__1::default_delete<GameObject> > (ReaderMapping 
const&)>::operator()(ReaderMapping const&) const (this=<optimized out>, 
__arg=...) at /usr/include/c++/v1/functional:2473
#23 ObjectFactory::create (this=<optimized out>, name=..., reader=...)
    at 
/usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/src/supertux/object_factory.cpp:42
#24 0x00000850683f445d in SectorParser::parse_object (this=<optimized out>, 
name_=..., reader=...)
    at 
/usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/src/supertux/sector_parser.cpp:89
#25 0x00000850683f233b in SectorParser::parse (this=0x7f7ffffe67c0, sector=...)
    at 
/usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/src/supertux/sector_parser.cpp:141
#26 0x00000850683f1d09 in SectorParser::from_reader (level=..., reader=..., 
editable=2)
    at 
/usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/src/supertux/sector_parser.cpp:52
#27 0x00000850682af9ad in LevelParser::load (this=0x7f7ffffe6a50, doc=...)
    at 
/usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/src/supertux/level_parser.cpp:173
#28 0x00000850682ae999 in LevelParser::load (this=0x7f7ffffe6a50, filepath=...)
    at 
/usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/src/supertux/level_parser.cpp:138
#29 0x00000850682ae8da in LevelParser::from_file (filename=..., worldmap=false, 
editable=false)
    at 
/usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/src/supertux/level_parser.cpp:70
#30 0x00000850682617ea in GameSession::restart_level (this=0x8527ca46600, 
after_death=<optimized out>)
    at 
/usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/src/supertux/game_session.cpp:119
#31 0x000008506826149a in GameSession::GameSession (this=0x8527ca46600, 
levelfile_=..., savegame=..., statistics=0x0)
    at 
/usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/src/supertux/game_session.cpp:75
#32 0x00000850683ff291 in TitleScreen::TitleScreen (this=0x852b7e09e80, 
savegame=...)
    at 
/usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/src/supertux/title_screen.cpp:41
#33 0x0000085068259527 in std::__1::make_unique<TitleScreen, Savegame&> 
(__args=...)
    at /usr/include/c++/v1/memory:3028
#34 Main::launch_game (this=<optimized out>, args=...)
    at 
/usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/src/supertux/main.cpp:521
#35 0x0000085068259e8a in Main::run (this=<optimized out>, argc=<optimized 
out>, argv=0x7f7ffffe7588)
    at 
/usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/src/supertux/main.cpp:595
#36 0x00000850682576cb in main (argc=-952946784, argv=0x100)
    at /usr/obj/ports/supertux-0.6.0/SuperTux-v0.6.0-Source/src/main.cpp:23

Reply via email to