From: SourceForge.net <no...@so...> - 2004-10-07 18:49:54
|
Bugs item #1033849, was opened at 2004-09-24 09:24 Message generated for change (Comment added) made by m9710797 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=421861&aid=1033849&group_id=38274 Category: Graphics Group: None Status: Open >Resolution: Fixed >Priority: 1 Submitted By: Joost Yervante Damad (andete) Assigned to: Maarten ter Huurne (mthuurne) Summary: screenshot functionality not working Initial Comment: Version: openMSX 0.4.0-dev1.1402 When I press the screenshot button or do "screenshot" in the console, openMSX crashes. Fatal signal: Segmentation Fault (SDL Parachute Deployed) DeleteInterpProc called with active evals Aborted Sorry, no stacktrace, my load wasn't a debug load, but I guess this is easy to reproduce, if not, please ask and I will make a debug load and create a stacktrace. ---------------------------------------------------------------------- >Comment By: Wouter Vermaelen (m9710797) Date: 2004-10-07 20:49 Message: Logged In: YES user_id=356949 There was a bug in the 16bpp -> 32bpp conversion routine. (See ChangeLog for more details). Fixed now. Andete, can you confirm the bug is solved on your system? ---------------------------------------------------------------------- Comment By: Joost Yervante Damad (andete) Date: 2004-09-26 17:50 Message: Logged In: YES user_id=6190 Bug only happens with SDLHi, with SDLGL a screenshot is created correctly. ---------------------------------------------------------------------- Comment By: Joost Yervante Damad (andete) Date: 2004-09-24 22:48 Message: Logged In: YES user_id=6190 #0 0x081e112c in openmsx::ScreenShotSaver::save (surface=0x83f7938, filename=@0xbffff010) at src/video/ScreenShotSaver.cc:104 pixel = 1572888 temp = 138377528 fmt = (SDL_PixelFormat *) 0x8406988 row_pointers = (png_bytep *) 0x84303f0 result = false #1 0x081dda1f in openmsx::SDLVideoSystem::takeScreenShot (this=0x8413028, filename=@0x4fe) at src/video/SDLVideoSystem.cc:145 No locals. #2 0x081b8c98 in openmsx::Display::ScreenShotCmd::execute (this=0x840f104, tokens=@0x4fe) at memory:82 filename = {static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = {<No data fields>}, _M_p = 0x840060c "/home/andete/.openMSX/screenshots/openmsx0001.png"}, static _S_empty_rep_storage = {0, 0, 0, 0}} #3 0x0807fe9f in openmsx::SimpleCommand::execute (this=0x840f104, tokens=@0xbffff090, result=@0x4fe) at src/commands/Command.cc:17 it = {<std::iterator<std::random_access_iterator_tag, openmsx::CommandArgument, int,openmsx::CommandArgument const*, openmsx::CommandArgument const&>> = {<No data fields>}, _M_current = 0x8410730} strings = {<std::_Vector_base<std::string, std::allocator<std::string> >> = {<std::_Vector_alloc_base<std::string, std::allocator<std::string>, true>> = {_M_start = 0x857c658, _M_finish = 0x857c65c, _M_end_of_storage = 0x857c65c}, <No data fields>}, <No data fields>} #4 0x08088679 in openmsx::Interpreter::commandProc (clientData=0x840f104, interp=0x83d4b70, objc=-1073745808, objv=0xbffff150) at src/commands/Interpreter.cc:119 i = 1 tokens = {<std::_Vector_base<openmsx::CommandArgument, std::allocator<openmsx::CommandArgument> >> = {<std::_Vector_alloc_base<openmsx::CommandArgument, std::allocator<openmsx::CommandArgument>, true>> = {_M_start = 0x8410728, _M_finish = 0x8410730, _M_end_of_storage = 0x8410730}, <No data fields>}, <No data fields>} result = {<openmsx::CommandArgument> = {interp = 0x83d4b70, obj = 0x83d92f8}, <No data fields>} #5 0x4018e614 in TclEvalObjvInternal () from /usr/lib/libtcl8.4.so.0 No symbol table info available. #6 0x4018f1c4 in Tcl_EvalEx () from /usr/lib/libtcl8.4.so.0 No symbol table info available. #7 0x4018f64b in Tcl_Eval () from /usr/lib/libtcl8.4.so.0 No symbol table info available. #8 0x080889f8 in openmsx::Interpreter::execute (this=0x40218e3c, command=@0x41651000) at basic_string.h:717 success = 138234736 result = {static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = {<No data fields>}, _M_p = 0x85fa850 "\001"}, static _S_empty_rep_storage = {0, 0, 0, 0}} #9 0x08082305 in openmsx::CommandController::executeCommand (this=0x4fe, cmd=@0x4fe) at src/commands/CommandController.cc:219 No locals. #10 0x0811e714 in openmsx::HotKey::HotKeyCmd::execute (this=0x4fe) at src/events/HotKey.cc:107 No locals. #11 0x0811e673 in openmsx::HotKey::signalEvent (this=0xbffff730, event=@0x8451ac0) at stl_tree.h:202 key = K_PRINT it = {<std::_Rb_tree_base_iterator> = {_M_node = 0x85fa850}, <No data fields>} #12 0x0811c025 in openmsx::EventDistributor::distributeEvent (this=0x82a1d40, event=0x8451ac0) at stl_tree.h:202 it = {<std::_Rb_tree_base_iterator> = {_M_node = 0x840da20}, <No data fields>} cont = true bounds = {first = {<std::_Rb_tree_base_iterator> = { _M_node = 0x840da20}, <No data fields>}, second = {<std::_Rb_tree_base_iterator> = { _M_node = 0x840db10}, <No data fields>}} bounds2 = {first = {<std::_Rb_tree_base_iterator> = { _M_node = 0x10}, <No data fields>}, second = {<std::_Rb_tree_base_iterator> = { _M_node = 0x83eda00}, <No data fields>}} #13 0x0811fb07 in openmsx::InputEventGenerator::poll (this=0x82a1e20) at src/events/InputEventGenerator.cc:56 event = {type = 2 '\002', active = {type = 2 '\002', gain = 0 '\0', state = 1 '\001'}, key = {type = 2 '\002', which = 0 '\0', state = 1 '\001', keysym = { scancode = 111 'o', sym = SDLK_PRINT, mod = KMOD_NONE, unicode = 0}}, motion = { type = 2 '\002', which = 0 '\0', state = 1 '\001', x = 111, y = 0, xrel = 316, yrel = 0}, button = {type = 2 '\002', which = 0 '\0', button = 1 '\001', state = 0 '\0', x = 111, y = 0}, jaxis = {type = 2 '\002', which = 0 '\0', axis = 1 '\001', value = 111}, jball = {type = 2 '\002', which = 0 '\0', ball = 1 '\001', xrel = 111, yrel = 0}, jhat = {type = 2 '\002', which = 0 '\0', hat = 1 '\001', value = 0 '\0'}, jbutton = {type = 2 '\002', which = 0 '\0', button = 1 '\001', state = 0 '\0'}, resize = {type = 2 '\002', w = 111, h = 316}, expose = {type = 2 '\002'}, quit = {type = 2 '\002'}, user = {type = 2 '\002', code = 111, data1 = 0x13c, data2 = 0x0}, syswm = {type = 2 '\002', msg = 0x6f}} #14 0x08074c2b in openmsx::Scheduler::scheduleHelper (this=0x829d8a8, limit=@0x82a050c) at src/Scheduler.cc:78 No locals. #15 0x080e08fc in openmsx::Z80::execute (this=0x82a04d4) at Scheduler.hh:95 No locals. #16 0x0809e837 in openmsx::MSXCPU::execute (this=0x4fe) at src/cpu/MSXCPU.cc:92 No locals. #17 0x08066b20 in openmsx::MSXMotherBoard::run (this=0xbffff6e0, power=true) at src/MSXMotherBoard.cc:147 No locals. #18 0x0807601b in main (argc=1278, argv=0x1) at src/main.cc:69 cliCommInput = {_M_ptr = 0x0} hotkey = {<openmsx::EventListener> = {_vptr.EventListener = 0x8219138}, bindCmd = {<openmsx::SimpleCommand> = {<openmsx::Command> = {<openmsx::CommandCompleter> ={_vptr.CommandCompleter = 0x8219120}, <No data fields>}, <No data fields>}, parent = @0xbffff730}, unbindCmd = {<openmsx::SimpleCommand> = {<openmsx::Command> = {<openmsx::CommandCompleter>= {_vptr.CommandCompleter = 0x8219108}, <No data fields>}, <No data fields>}, parent = @0xbffff730}, cmdMap = { _M_t = {<std::_Rb_tree_base<std::pair<openmsx::Keys::KeyCode const, openmsx::HotKey::HotKeyCmd*>, std::allocator<std::pair<openmsx::Keys::KeyCode const, openmsx::HotKey::HotKeyCmd*>> >> = {<std::_Rb_tree_alloc_base<std::pair<openmsx::Keys::KeyCode const, openmsx::HotKey::HotKeyCmd*>, std::allocator<std::pair<openmsx::Keys::KeyCode const, openmsx::HotKey::HotKeyCmd*> >, true>> = {_M_header = 0x840d3d8}, <No data fields>}, _M_node_count = 8, _M_key_compare = {<std::binary_function<openmsx::Keys::KeyCode, openmsx::Keys::KeyCode, bool>> = {<No data fields>}, <No data fields>}}}, bindingsElement = @0x840fcb8} afterCommand = <incomplete type> motherboard = {<openmsx::SettingListener> = { _vptr.SettingListener = 0x8209588}, <openmsx::EventListener> = { _vptr.EventListener = 0x82095a0}, availableDevices = {<std::_Vector_base<openmsx::MSXDevice*, std::allocator<openmsx::MSXDevice*> >> = {<std::_Vector_alloc_base<openmsx::MSXDevice*, std::allocator<openmsx::MSXDevice*>, true>> = {_M_start = 0x84005c0, _M_finish = 0x84005e4, _M_end_of_storage = 0x8400600}, <No data fields>}, <No data fields>}, paused = false, powered = true, needReset = false, needReInit = false, blockedCounter = 0, emulationRunning = true, pauseSetting = @0x827d060, powerSetting = @0x827d090, leds = @0x827d118, output = @0x82a1ce8, quitCommand = {<openmsx::SimpleCommand> = {<openmsx::Command> = {<openmsx::CommandCompleter> = {_vptr.CommandCompleter = 0x8209568}, <No data fields>}, <No data fields>}, parent = @0xbffff6e0}, resetCommand = {<openmsx::SimpleCommand> = {<openmsx::Command> = {<openmsx::CommandCompleter> = {_vptr.CommandCompleter = 0x8209550}, <No data fields>}, <No data fields>}, parent = @0xbffff6e0}} parser = (openmsx::CommandLineParser &) @0x827cea0: {optionMap = { _M_t = {<std::_Rb_tree_base<std::pair<std::string const, openmsx::OptionData>, std::allocator<std::pair<std::string const, openmsx::OptionData> > >> = {<std::_Rb_tree_alloc_base<std::pair<std::string const, openmsx::OptionData>, std::allocator<std::pair<std::string const, openmsx::OptionData> >, true>> = {_M_header = 0x83cbc10}, <No data fields>}, _M_node_count = 18, _M_key_compare = {<std::binary_function<std::string, std::string, bool>> = {<No data fields>}, <No data fields>}}}, fileTypeMap = { _M_t = {<std::_Rb_tree_base<std::pair<std::string const, openmsx::CLIFileType*>, std::allocator<std::pair<std::string const, openmsx::CLIFileType*> > >> = {<std::_Rb_tree_alloc_base<std::pair<std::string const, openmsx::CLIFileType*>, std::allocator<std::pair<std::string const, openmsx::CLIFileType*> >, true>> = {_M_header = 0x83e51b8}, <No data fields>}, _M_node_count = 8, _M_key_compare = {<No data fields>}}}, fileClassMap = { _M_t = {<std::_Rb_tree_base<std::pair<std::string const, openmsx::CLIFileType*>, std::allocator<std::pair<std::string const, openmsx::CLIFileType*> > >> = {<std::_Rb_tree_alloc_base<std::pair<std::string const, openmsx::CLIFileType*>, std::allocator<std::pair<std::string const, openmsx::CLIFileType*> >, true>> = {_M_header = 0x83e51d0}, <No data fields>}, _M_node_count = 4, _M_key_compare = {<No data fields>}}}, haveConfig = true, haveSettings = true, issuedHelp = false, parseStatus = RUN, sound = true, hardwareConfig = @0x829db00, settingsConfig = @0x829db60, output = @0x82a1ce8, helpOption = {<openmsx::CLIOption> = {_vptr.CLIOption = 0x8207f00}, parent = @0x827cea0}, versionOption = {<openmsx::CLIOption> = {_vptr.CLIOption = 0x8207ee8}, parent = @0x827cea0}, controlOption = {<openmsx::CLIOption> = { _vptr.CLIOption = 0x8207f18}, type = IO_STD, arguments = {static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = {<No data fields>}, _M_p = 0x827cd8c ""}, static _S_empty_rep_storage = {0, 0, 0, 0}}, parent = @0x827cea0}, machineOption = {<openmsx::CLIOption> = {_vptr.CLIOption = 0x8207ed0}, parent = @0x827cea0}, settingOption = {<openmsx::CLIOption> = { _vptr.CLIOption = 0x8207eb8}, parent = @0x827cea0}, noSoundOption = {<openmsx::CLIOption> = {_vptr.CLIOption = 0x8207ea0}, parent = @0x827cea0}, msxRomCLI = {_M_ptr = 0x83ff908}, cliExtension = { _M_ptr = 0x83ff918}, cassettePlayerCLI = {_M_ptr = 0x83ff928}, casCLI = { _M_ptr = 0x83ff938}, diskImageCLI = {_M_ptr = 0x83ff948}, machineSetting = { _M_ptr = 0x840ac20}} parseStatus = RUN err = 0 #19 0x0807635b in main (argc=1278, argv=0x4fe) at src/main.cc:94 No locals. Or condensed stacktrace: #0 0x081e112c in openmsx::ScreenShotSaver::save (surface=0x83f7938, filename=@0xbffff010) at src/video/ScreenShotSaver.cc:104 #1 0x081dda1f in openmsx::SDLVideoSystem::takeScreenShot (this=0x8413028, filename=@0x4fe) at src/video/SDLVideoSystem.cc:145 #2 0x081b8c98 in openmsx::Display::ScreenShotCmd::execute (this=0x840f104, tokens=@0x4fe) at memory:82 #3 0x0807fe9f in openmsx::SimpleCommand::execute (this=0x840f104, tokens=@0xbffff090, result=@0x4fe) at src/commands/Command.cc:17 #4 0x08088679 in openmsx::Interpreter::commandProc (clientData=0x840f104, interp=0x83d4b70, objc=-1073745808, objv=0xbffff150) at src/commands/Interpreter.cc:119 #5 0x4018e614 in TclEvalObjvInternal () from /usr/lib/libtcl8.4.so.0 #6 0x4018f1c4 in Tcl_EvalEx () from /usr/lib/libtcl8.4.so.0 #7 0x4018f64b in Tcl_Eval () from /usr/lib/libtcl8.4.so.0 #8 0x080889f8 in openmsx::Interpreter::execute (this=0x40218e3c, command=@0x41651000) at basic_string.h:717 #9 0x08082305 in openmsx::CommandController::executeCommand (this=0x4fe, cmd=@0x4fe) at src/commands/CommandController.cc:219 #10 0x0811e714 in openmsx::HotKey::HotKeyCmd::execute (this=0x4fe) at src/events/HotKey.cc:107 #11 0x0811e673 in openmsx::HotKey::signalEvent (this=0xbffff730, event=@0x8451ac0) at stl_tree.h:202 #12 0x0811c025 in openmsx::EventDistributor::distributeEvent (this=0x82a1d40, event=0x8451ac0) at stl_tree.h:202 #13 0x0811fb07 in openmsx::InputEventGenerator::poll (this=0x82a1e20) at src/events/InputEventGenerator.cc:56 #14 0x08074c2b in openmsx::Scheduler::scheduleHelper (this=0x829d8a8, limit=@0x82a050c) at src/Scheduler.cc:78 #15 0x080e08fc in openmsx::Z80::execute (this=0x82a04d4) at Scheduler.hh:95 #16 0x0809e837 in openmsx::MSXCPU::execute (this=0x4fe) at src/cpu/MSXCPU.cc:92 #17 0x08066b20 in openmsx::MSXMotherBoard::run (this=0xbffff6e0, power=true) at src/MSXMotherBoard.cc:147 #18 0x0807601b in main (argc=1278, argv=0x1) at src/main.cc:69 #19 0x0807635b in main (argc=1278, argv=0x4fe) at src/main.cc:94 ---------------------------------------------------------------------- Comment By: Joost Yervante Damad (andete) Date: 2004-09-24 21:21 Message: Logged In: YES user_id=6190 Any screen causes it. I've been mainly doing screen 1&2 MSX1 I guess. I'll rebuild with debug enabled. ---------------------------------------------------------------------- Comment By: Manuel Bilderbeek (manuelbi) Date: 2004-09-24 18:43 Message: Logged In: YES user_id=78178 Please give a stack trace... I can't reproduce this problem. In what situation do you issue the screenshot? I tried MSX Basic. (And loads of other ones, lately...) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=421861&aid=1033849&group_id=38274 |