Opened 5 days ago

Closed 5 days ago

#16768 closed defect (fixed)

NANCY: Regression: null VideoDecoder on Second Chance

Reported by: tunnelsociety Owned by: Filippos Karapetis <bluegr@…>
Priority: high Component: Engine: Nancy
Version: Keywords:
Cc: Game: Nancy Drew: Message in a Haunted Mansion

Description

The scene should be culprit bagging the gold. (I ran up the squeaky stairs 🤦‍♂️ but great, discovered this issue!)

Attached is the Second Chance save (*.008). (It was created with master but loads in v2026.2.0.)

ScummVM 2026.2.1git4703-gc12b658bfc8 (May 6 2026 17:59:35)

Loading new scene 4470: description "End Game Fill Bag ", frame 0, vertical scroll 0, kLoadSceneSound
engines/nancy/action/secondarymovie.cpp:140:12: runtime error: member call on null pointer of type 'Video::VideoDecoder'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior engines/nancy/action/secondarymovie.cpp:140:12
AddressSanitizer:DEADLYSIGNAL
=================================================================
==31984==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x55bb1f5d6fcc bp 0x7fff1671ee70 sp 0x7fff1671ee30 T0)
==31984==The signal is caused by a READ memory access.
==31984==Hint: address points to the zero page.
    #0 in Video::VideoDecoder::pauseVideo(bool) video/video_decoder.cpp
    #1 in Nancy::Action::PlaySecondaryMovie::onPause(bool) engines/nancy/action/secondarymovie.cpp:140:12
    #2 in Nancy::Action::ActionManager::onPause(bool) engines/nancy/action/actionmanager.cpp:601:7
    #3 in Nancy::State::Scene::onStateExit(Nancy::NancyState::NancyState) engines/nancy/state/scene.cpp:217:17
    #4 in Nancy::NancyEngine::run() engines/nancy/nancy.cpp:337:12

Looks like it loads fine in release 2026.2.0. Bisecting...

$ git bisect good
b10ffc5ad50fc067ddb11cad5313c847b85cdf38 is the first bad commit

commit b10ffc5ad50fc067ddb11cad5313c847b85cdf38
Date:   Wed Apr 29 23:18:43 2026 +0300

    NANCY: Show the scene directly after loading from launcher or the GMM

    Fix #16717

 engines/nancy/state/scene.cpp | 1 +
 1 file changed, 1 insertion(+)

Attachments (1)

nancy3.008 (18.8 KB ) - added by tunnelsociety 5 days ago.

Download all attachments as: .zip

Change History (4)

by tunnelsociety, 5 days ago

Attachment: nancy3.008 added

comment:1 by tunnelsociety, 5 days ago

huh, surely that's not right. that added line is no longer in master; did i bisect wrongly? trying again...

comment:2 by tunnelsociety, 5 days ago

ah, from #16717,

commit 292de85ba8d87aef211936d85e4660c419fdfec7
Date:   Fri May 1 01:51:17 2026 +0300

    NANCY: Always return to the game scene after loading
    
    Fix #16717

comment:3 by Filippos Karapetis <bluegr@…>, 5 days ago

Owner: set to Filippos Karapetis <bluegr@…>
Resolution: fixed
Status: newclosed

In 1a8d9ceb:

NANCY: Make sure that SecondayMovie video decoder is always initialized

It may not be initialized when onPause() is called after loading.

Fix #16768

Note: See TracTickets for help on using tickets.